I have some communication issues with my heating control installation.
First of all, the installation is the following equipment and softwares :
- OpenHAB 2.3.0 on Raspberry PI3
- Max! cube binding 2.3.0
- 17 Radiators Thermostats+ (https://www.eq-3.com/products/max/max-radiator-solution/max-radiator-thermostat-173.html)
- 1 Max! Cube Lan Gateway (https://www.eq-3.com/products/max/max-house-solution/max-cube-lan-gateway.html)
As I have a lot of thermostats, I don’t want to send all the commands in the same time, so each command is sent every 2 seconds (I also tried every 5 seconds, it doesn’t change anything)
Here is a part of the rule :
rule "DRAFT: Set up temperatures" when Item TH_MODE received command then var String currentTime = new DateTime(now).toString("dd/MM/yyy HH:mm:ss") var float heatingDesiredTemp = "18.0" logDebug("default.rules", "TH_MODE : Received command (previousMode = " + heatingCurrentMode + ") / (newMode = " + TH_MODE.state + ") --- on : " + currentTime) heatingCurrentMode = new String(TH_MODE.state.toString) HEATING_MODE.members.forEach [s | logDebug("default.rules", "Setting up " + s.name + " to MANUAL") sendCommand(s, "MANUAL") Thread::sleep(2000) ] HEATING_SETTEMP.members.forEach [s | logDebug("default.rules", "Setting up desired temperature (" + heatingDesiredTemp +") to Thermostat (" + s.name + ")") sendCommand(s, heatingDesiredTemp) Thread::sleep(2000) ] end
When the rule is executed, I can see in the Max Cube binding debug logs that everything seems to be correctly executed. No error, and the free memory slots are still 49. So at the gateway level, everything seems to be ok…
The problem is that some (one or two) Thermostats, not each time but often, didn’t effectively received the command from the Gateway (not always the same, so sometimes it works, and sometimes it don’t work )
When I connect directly through Max cube application, the thermostats are all virtually set to the desired temperature… So everything is correct under the application, but not in the real life… It’s like no acknowledgement is sent back from the Thermostat to the Gateway (saying “Ok Gateway, you ask me to set the temperature to 18°C, I took it into account, you can go sleep well”).
As you can imagine, it’s not a great behaviour… the idea is to control my home heating system, and if I think the heating is set to 18°C when I’m away, and that in reality it is still set to 20°C, it’s not good for our planet and for my wallet.
Of course, I unlink, factory reset and paired all thermostats and gateway, but the problem is the same.
I also wondered if the communication was not “stopped/degraded” by the walls, but it happens also for Thermostats which are next to the gateway.
I also saw another instability, slots are not always well released, the counter is 49 at the beginning and decreases to 0 after 49 commands ! In that case I manually reboot the gateway But all that I explained before has been viewed several times in a “stable” way (49 free memory slots)… Maybe there is a link between issues…
Does anyone have this problem ? have a workaround ? a solution ? a clue ?
Thanks in advance for your answer.