Thanks for the update, Robert. As you say, Gareth only has emonTHs so he shouldn’t have any problems with two LPL receivers.
However my system had emonTX3s and emonTX4s, and with two LPL receivers the LPL acknowledgement / retry mechanism did seem to get confused. When I removed one of the LPL receivers, the lock up problems went away. This information may be useful for other users converting to LPL, and who have emonTXs as well as emonTHs.
Having two distinct networks of emonTHs would only be a temporary solution whilst I migrate everything to use the LPL protocol. I have too many sensors for me to do it big-bang without risking either losing data (which would result in loss of control of the CH system) or running out of time.
Examine each emonTH to see if I have any RFM12 senders (I’m pretty sure I haven’t as I recall holding off purchase of the first one because there was a hardware update in progress)
Set up a temporary Pi running the LPL protocol and connected to my MQTT broker.
Migrate sensors one at a time from the old Pi to the new.
Once all are done, move the LPL board to the original Pi (because that boots from an SSD and has a LifePO4wered-UPS).
The last page of this document https://JeeLib Radios RFM69 Native.pdf (859.5 KB) (which Rupert has probably used in his forum posts) gives detail of the radio packet formats. When you study and compare them, all the problems arise from JeeLabs choosing a different position in the packet for the length of the message payload, compared to Hope when they designed the RFM69. If they had been the same, the compatibility problem would have been significantly reduced. I can’t blame JeeLabs, they got there first, with the RFM12B library; and Hope probably neither knew nor cared. But either way, it made it a pain for the users.
Thanks for that, Robert
All but one emonTH have now been migrated to use the LPL protocol and are operating normally. The one that isn’t just won’t work after being re-flashed.
It is an emonTH2, but it now does nothing with either protocol. I’ve set it to one side for now. I’ll revisit it tomorrow to try and find out what’s happened.
I got to the bottom of the non-working emonTH. All of the other units retained their assigned node number when I re-flashed them. This one adopted node 23 even though it had been configured to be 22.
I realized because the CH kept coming on in the night. When I looked at the sensor for the room demanding heat (each has its own virtual thermostat in Home Assistant), I noticed the temp was fluctuating between two levels every 30s or so. As the TH sensor only send every 60s I reasoned that two sensors were using the same node number. This was confirmed by removing the battery from one of them.
I’ve just re-configured the offending node and now all is well again.
Good to hear that it’s all working now after the LPL update. Hopefully this should give reliable radio communication, especially assuming that you still have the same very good RSSI numbers that you had before.
I wonder if you will still have lock-ups and need your script?