Hi guys. It’s been a while.
My company wants to set up 20 temp/humidity sensors in our building and we’re looking for a technical solution. I’d like to use OpenEnergyMonitor, at least EmonTH and EmonHub. I saw you’ve been expanding EmonHub after I left oem_gateway. Great ! I’ve been peeking into EmonHub code to see how I could adapt it (create needed interfaces) and I found no blocker.
I’m confident with the software stack along the chain. My only concern is RF reliability. We’ll probably be using several bases to ensure no EmonTH is out of reach, so the only issue left I can think of is collisions, especially due to the number of sensors.
As far as I can remember, and tell from EmonTH code, there is no ACK and packets are lost on collisions. Is this correct?
The collision likelihood depends on the length of the frames (I’m talking about EmonTH so that would be relatively short) and the frequency (temp and humidity are low frequency variables, so a period of 10 or 15 minutes is fine). Such a period is much greater than the frame time length, so if send times were random, collisions would be very unlikely. In practice, if I put the batteries in each device with few seconds or tens of seconds delay (like would naturally happen), and since the period is the same on each device, there should be no collision. Unless some clock drifts and two devices become perfectly synchronized, maybe?
I might be overthinking it but there could be solutions to this, like randomizing sending time a bit to at least ensure two devices don’t become synchronized. Or maybe using an acknowledged protocol in the first place?
I suppose if this was a real issue, it would have been addressed already. How come it is not? Is it just because people generally use much less sensors?
Is there something I’m missing?