Max: Automatically from Manual back to Auto - why?

Hi all,

i implemented a rule which sets my heater (eq3 max) via an ON OFF switch to mode Manual and 4.5 degrees (OFF) or to mode Automatic (ON).

Problem: When i click OFF the heater first gets to Manual, then 1 sec later to 4.5 and Auto at the same time. A click on ON just changes the temperature back. Where is my mistake?

Items:
Group gMAX “MAX Heating” [ “home-group” ]
Switch maxKellerBattery “Battery Low” (gMAX) {channel=“max:thermostatplus:KEQ0536422:MEQ1293208:battery_low”}
String maxKellerMode “Thermostat Modus” (gMAX) {channel=“max:thermostatplus:KEQ0536422:MEQ1293208:mode”}
Number maxKellerActual “Actual measured room temperature [%.1f °C]” (gMAX) {channel=“max:thermostatplus:KEQ0536422:MEQ1293208:actual_temp”}
Number maxKellerSetTemp “Thermostat temperature setpoint [%.1f °C]” (gMAX) {channel=“max:thermostatplus:KEQ0536422:MEQ1293208:set_temp”}
Number maxKellerValve “Valve opening in %” (gMAX) {channel=“max:thermostatplus:KEQ0536422:MEQ1293208:valve”}
Switch maxKellerOff “ON / OFF”

Rules:
rule “ON / OFF”
when
Item maxKellerOff changed
then
if ( maxKellerOff.state == OFF ) {
sendCommand ( maxKellerMode , “MANUAL” )
sendCommand ( maxKellerSetTemp , 4.5 )
} else {
sendCommand ( maxKellerMode , “AUTOMATIC” )
}
end

No idea about that device.
Many devices like a pause between being sent commands, though.

Thanks, seemed to be a good idea. I tried it with a 2 second delay. At the time i set the temperature the heater goes back to Automatic mode…

Update: Seems to be a general problem. I used the example in the Max!Binding documentation an even if i change the mode to Manual and then change the temperature the mode goes back to Automatic.

Sounds like a feature of the device. Does temperature setting have any meaning in Manual mode? Otherwise, would set temp then set manual do what you want?

These devices communicate slowly.
For some of the command (mode) the current state is send along.
Hence if you wait between the command. This may with.not the waiting time may be quite long approx 1-2 minutes. (+/- 1 min for the command to be processed at the thermostat + The next refresh)

Btw, if I remember well, you can send an off directly to the device

I just know Manual + 4.5 degrees to send OFF. Do you know a better way?

I’ve run into the same problem and it seems it’s due to the communication protocol and how the binding works. In short: The protocol requires that temperature and control mode are set in one command. However, when you set the temperature, the binding still uses the old value because it hasn’t yet got an update back about the changed mode. So it inadvertently sets back the mode when sending the command for the new temperature value.

I’ve opened an issue for it with my findings and proposals.

A not-so-elegant work-around would be to wait 45-60 seconds between sending the new control mode and the the new temperature. This should usually be enough time for the new control mode to be reflected back to the openHAB item.

Thanks for your reply. My cube always forgot the rooms after some weeks and i had to programm it again.

So i flashed it and use it as a cul today. Homegear Server for communication between max thermostats and cul, homematic binding, no more max binding and no more problems anymore.

Sorry, Off Topic, but everybody with problems in this case should use Max like this.

Thanks for the feedback. I have in fact tried out the Homematic binding with Homegear before I used the MAX binding. With Homematic/Homegear, I had the problem that updates from the device to openHAB took so long, and I couldn’t figure out why. That’s why I eventually switched to the MAX binding.