[solved] Confusing issues with MAX!Cube thermostat target temperatures

Hi, I use openhab 1.8.3 and a Max Cube with the “MAX!Cube” Binding.

I have issues setting the target temperature: when I set the target temperature of the thermostat in the kitchen to e.g. 19°C it also sets the target temperature in the living room to 19°C.

It helps temporally to remove and add the thermostat(s) using the elv MAX!Cube original software. But after a while (some hours/next day) I have the same issue again, but this time it effects the thermostat of bed and living room, as you can see in the log output:

openhab.log looks like that

2016-10-29 17:50:54 - maxSetTemp_bed received command 16.0
2016-10-29 17:50:59 - maxSetTemp_bed state updated to 16
2016-10-29 17:51:09 - maxSetTemp_living state updated to 16

Maybe it helps to have a look at my related items, sitemap and rule files.

heating.items:

Group    thermostat
Group    thermostat_bath            "Thermostat"    (thermostat)
Group    thermostat_bed            "Thermostat"    (thermostat)
Group    thermostat_kitchen        "Thermostat"    (thermostat)
Group    thermostat_living        "Thermostat"    (thermostat)
Group    thermostat_office        "Thermostat"    (thermostat)
Group    thermostat_appartment    "Thermostat"    (thermostat)


Group    switch
Number  period_switch_temp_bath (switch)
Number  period_switch_temp_bed (switch)
Number  period_switch_temp_kitchen (switch)
Number  period_switch_temp_living (switch)
Number  period_switch_temp_office (switch)
Number  period_switch_temp_apartment (switch)


Number appartment_setpoint  "Temperature setpoint for all Thermostats"
String appartment_mode      "Mode setpoint for all Thermostats"


// Battery
Group states
Group battery_group            "Battery States"    (states)
String maxBattery_bath        "Battery Low [%s]"    (battery_group)    { maxcube="MEQ0684366:type=battery" } // Bath
String maxBattery_bed        "Battery Low [%s]"    (battery_group)    { maxcube="MEQ0683472:type=battery" } // Bed Room
String maxBattery_kitchen    "Battery Low [%s]"    (battery_group)    { maxcube="MEQ0682549:type=battery" } // Kitchen
String maxBattery_living    "Battery Low [%s]"    (battery_group)    { maxcube="KEQ0556219:type=battery" } // Living
String maxBattery_office    "Battery Low [%s]"    (battery_group)    { maxcube="MEQ0683339:type=battery" } // Office

// Mode
Group modes_group             "Thermostat Mode States"    (states)
String maxMode_bath            "Thermostat Mode Setting"    (modes_group)        { maxcube="MEQ0684366:type=mode" } // Bath
String maxMode_bed            "Thermostat Mode Setting"    (modes_group)        { maxcube="MEQ0683472:type=mode" } // Bed Room
String maxMode_kitchen        "Thermostat Mode Setting"    (modes_group)        { maxcube="MEQ0682549:type=mode" } // Kitchen
String maxMode_living        "Thermostat Mode Setting"    (modes_group)        { maxcube="KEQ0556219:type=mode" } // Living
String maxMode_office        "Thermostat Mode Setting"    (modes_group)        { maxcube="MEQ0683339:type=mode" } // Office

// Actual temperature
Number maxActual_bath        "Actual measured room temperature 1  [%.1f °C]"    (thermostat_bath)        { maxcube="MEQ0684366:type=actual" } // Bath
Number maxActual_bed        "Actual measured room temperature 2 [%.1f °C]"    (thermostat_bed)        { maxcube="MEQ0683472:type=actual" } // Bed Room
Number maxActual_kitchen    "Actual measured room temperature 3 [%.1f °C]"    (thermostat_kitchen)    { maxcube="MEQ0682549:type=actual" } // Kitchen
Number maxActual_living        "Actual measured room temperature 4 [%.1f °C]"    (thermostat_living)        { maxcube="KEQ0556219:type=actual" } // Living
Number maxActual_office        "Actual measured room temperature  5 [%.1f °C]"    (thermostat_office)        { maxcube="MEQ0683339:type=actual" } // Office

// Temperature setpoint
Group setpoint_group        "Setpoint States"                            (states)
Number maxSetTemp_bath        "Thermostat temperature setpoint [%.1f °C]"    (thermostat_bath, setpoint_group)        { maxcube="MEQ0684366" } // Bath
Number maxSetTemp_bed        "Thermostat temperature setpoint [%.1f °C]"    (thermostat_bed, setpoint_group)        { maxcube="MEQ0683472" } // Bed Room
Number maxSetTemp_kitchen    "Thermostat temperature setpoint [%.1f °C]"    (thermostat_kitchen, setpoint_group)    { maxcube="MEQ0682549" } // Kitchen
Number maxSetTemp_living    "Thermostat temperature setpoint [%.1f °C]"    (thermostat_living, setpoint_group)        { maxcube="KEQ0556219" } // Living
Number maxSetTemp_office    "Thermostat temperature setpoint [%.1f °C]" (thermostat_office, setpoint_group)      { maxcube="MEQ0683339" } // Office


// Valve Postion
Group valve_group            "Valave States"                            (states)
Number maxValve_bath        "Thermostat Valve Position [%.1f %%]"    (valve_group)    { maxcube="MEQ0684366:type=valve" } // Bath
Number maxValve_bed            "Thermostat Valve Position [%.1f %%]"    (valve_group)    { maxcube="MEQ0683472:type=valve" } // Bed Room
Number maxValve_kitchen        "Thermostat Valve Position [%.1f %%]"    (valve_group)    { maxcube="MEQ0682549:type=valve" } // Kitchen
//Number maxValve_living    "Thermostat Valve Position [%.1f %%]"    (valve_group)    { maxcube="KEQ0556219:type=valve" } // Living
Number maxValve_office        "Thermostat Valve Position [%.1f %%]"    (valve_group)    { maxcube="MEQ0683339:type=valve" } // Office

default.sitemap:

sitemap default label="Main Menu" {
    
    
     Frame label="Heating System" {
         
         Group label="Apartment [%.1f °C]" item=appartment_setpoint icon="temperature" {
  
             Selection item=appartment_mode mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL, BOOST=BOOST] label="Mode" icon="heating"
             Selection item=appartment_setpoint mappings=[0.0=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] label="Temperature" icon="temperature"
             //Text item=asdfasdf

            //Text label="Records" {
//                Switch item=period_switch_temp_apartment label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
//                Chart item=thermostat_appartment period=h refresh=30000 visibility=[period_switch_temp_apartment==0]
//                Chart item=thermostat_appartment period=D refresh=30000 visibility=[period_switch_temp_apartment==1]
//                Chart item=thermostat_appartment period=W refresh=30000 visibility=[period_switch_temp_apartment==2]
//            }

             
         }
         
         
    
        Text label="Bathroom [%.1f °C]" item=maxSetTemp_bath icon="bath" {
                Frame label="Status" {
                    Text label="Actual Temperature [%.1f °C]" item=maxActual_bath  icon="temperature"
                    Text item=maxValve_bath icon="chart" visibility=[maxValve_bath>=0]
                    Text item=maxBattery_bath label="Battery Low [%s]" icon="siren-on" visibility=[maxBattery_bath!="ok", maxBattery_bath!="UNKNOWN"]
                }
                
                Frame label=" "
                
                Frame label="Set Operating Mode" {
                    Switch  label="Mode" item=maxMode_bath  icon="settings" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL]
                    Switch  label="Boost" item=maxMode_bath  icon="fire-on" mappings=[BOOST="START"] visibility=[maxMode_bath!="BOOST"]
                }
                
                Frame label=" "
                
                Frame label="Set Temperature" visibility=[maxMode_bath==MANUAL] {
                    Selection label="Predefined Temperature" item=maxSetTemp_bath mappings=[4.5=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] icon="heating"
                    Setpoint label="Exact Temperature [%.1f °C]" item=maxSetTemp_bath minValue=4.5 maxValue=32 step=0.5 icon="temperature"
                }
                
                Frame label=" "
                
                Frame label="Records" {
                    Switch item=period_switch_temp_bath label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
                    Chart item=thermostat_bath period=h refresh=30000 visibility=[period_switch_temp_bath==0]
                    Chart item=thermostat_bath period=D refresh=30000 visibility=[period_switch_temp_bath==1]
                    Chart item=thermostat_bath period=W refresh=30000 visibility=[period_switch_temp_bath==2]
                }
        }
         
        Text label="Bedroom [%.1f °C]" item=maxSetTemp_bed icon="bedroom" {
                Frame label="Status" {
                    Text label="Actual Temperature [%.1f °C]" item=maxActual_bed  icon="temperature"
                    Text item=maxValve_bed icon="chart" visibility=[maxValve_bed>=0]
                    Text item=maxBattery_bed label="Battery Low [%s]" icon="siren-on" visibility=[maxBattery_bed!="ok"]
                }
                
                Frame label=" "
                
                Frame label="Set Operating Mode" {
                    Switch  label="Mode" item=maxMode_bed  icon="settings" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL]
                    Switch  label="Boost" item=maxMode_bed  icon="fire-on" mappings=[BOOST="START"] visibility=[maxMode_bed!="BOOST"]
                }
                
                Frame label=" "
                
                Frame label="Set Temperature" visibility=[maxMode_bed==MANUAL] {
                    Selection label="Predefined Temperature" item=maxSetTemp_bed mappings=[4.5=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] icon="heating"
                    Setpoint label="Exact Temperature [%.1f °C]" item=maxSetTemp_bed minValue=4.5 maxValue=32 step=0.5 icon="temperature"
                }
                
                Frame label=" "
                
                Frame label="Records" {
                    Switch item=period_switch_temp_bed label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
                    Chart item=thermostat_bed period=h refresh=30000 visibility=[period_switch_temp_bed==0]
                    Chart item=thermostat_bed period=D refresh=30000 visibility=[period_switch_temp_bed==1]
                    Chart item=thermostat_bed period=W refresh=30000 visibility=[period_switch_temp_bed==2]
                }
         }
        
        Text label="Kitchen [%.1f °C]" item=maxSetTemp_kitchen icon="kitchen" {
                Frame label="Status" {
                    Text label="Actual Temperature [%.1f °C]" item=maxActual_kitchen  icon="temperature"
                    Text item=maxValve_kitchen icon="chart" visibility=[maxValve_kitchen>=0]
                    Text item=maxBattery_kitchen label="Battery Low [%s]" icon="siren-on" visibility=[maxBattery_kitchen!="ok"]
                }
                
                Frame label=" "
                
                Frame label="Set Operating Mode" {
                    Switch  label="Mode" item=maxMode_kitchen  icon="settings" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL]
                    Switch  label="Boost" item=maxMode_kitchen  icon="fire-on" mappings=[BOOST="START"] visibility=[maxMode_kitchen!="BOOST"]
                }
                
                Frame label=" "
                
                Frame label="Set Temperature" visibility=[maxMode_kitchen==MANUAL] {
                    Selection label="Predefined Temperature" item=maxSetTemp_kitchen mappings=[4.5=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] icon="heating"
                    Setpoint label="Exact Temperature [%.1f °C]" item=maxSetTemp_kitchen minValue=4.5 maxValue=32 step=0.5 icon="temperature"
                }
                
                Frame label=" "
                
                Frame label="Records" {
                    Switch item=period_switch_temp_kitchen label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
                    Chart item=thermostat_kitchen period=h refresh=30000 visibility=[period_switch_temp_kitchen==0]
                    Chart item=thermostat_kitchen period=D refresh=30000 visibility=[period_switch_temp_kitchen==1]
                    Chart item=thermostat_kitchen period=W refresh=30000 visibility=[period_switch_temp_kitchen==2]
                }
            
         }

        Text label="Living Room [%.1f °C]" item=maxSetTemp_living icon="sofa" {
                
                Frame label="Status" {
                    Text label="Actual Temperature [%.1f °C]" item=maxActual_living  icon="temperature"
                    //Text item=maxValve_living icon="chart"
                    Text item=maxBattery_living label="Battery Low [%s]" icon="siren-on" visibility=[maxBattery_living!="ok"]
                }
                
                Frame label=" "
                
                Frame label="Set Operating Mode" {
                    Switch  label="Mode" item=maxMode_living  icon="settings" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL]
                    Switch  label="Boost" item=maxMode_living  icon="fire-on" mappings=[BOOST="START"] visibility=[maxMode_living!="BOOST"]
                }
                
                Frame label=" "
                
                Frame label="Set Temperature" visibility=[maxMode_living==MANUAL] {
                    Selection label="Predefined Temperature" item=maxSetTemp_living mappings=[4.5=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] icon="heating"
                    Setpoint label="Exact Temperature [%.1f °C]" item=maxSetTemp_living minValue=4.5 maxValue=32 step=0.5 icon="temperature"
                }
                
                Frame label=" "
                
                Frame label="Records" {
                    Switch item=period_switch_temp_living label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
                    Chart item=thermostat_living period=h refresh=30000 visibility=[period_switch_temp_living==0]
                    Chart item=thermostat_living period=D refresh=30000 visibility=[period_switch_temp_living==1]
                    Chart item=thermostat_living period=W refresh=30000 visibility=[period_switch_temp_living==2]
                }
                
                
         }

         Text label="Office [%.1f °C]" item=maxSetTemp_office  icon="office" {
                
                Frame label="Status" {
                    Text label="Actual Temperature [%.1f °C]" item=maxActual_office  icon="temperature"
                    Text item=maxValve_office icon="chart" visibility=[maxValve_office>=0]
                    Text item=maxBattery_office label="Battery Low [%s]" icon="siren-on" visibility=[maxBattery_office!="ok"]
                }
                
                Frame label=" "
                
                Frame label="Set Operating Mode" {
                    Switch  label="Mode" item=maxMode_office  icon="settings" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL]
                    Switch  label="Boost" item=maxMode_office  icon="fire-on" mappings=[BOOST="START"] visibility=[maxMode_office!="BOOST"]
                }
                
                Frame label=" "
               
                Frame label="Set Temperature" visibility=[maxMode_office==MANUAL] {
                    Selection label="Predefined Temperature" item=maxSetTemp_office mappings=[4.5=OFF, 16.5="ECO (16.5°C)", 19.0="NORMAL (19°C)", 21.0="COMFORT (21°C)"] icon="heating"
                    Setpoint label="Exact Temperature [%.1f °C]" item=maxSetTemp_office minValue=4.5 maxValue=32 step=0.5 icon="temperature"
                }
                
                Frame label=" "
                
                Frame label="Records" {
                    Switch item=period_switch_temp_office label="Period" icon="line" mappings=[0="Hour", 1="Day", 2="Week"]
                    Chart item=thermostat_office period=h refresh=30000 visibility=[period_switch_temp_office==0]
                    Chart item=thermostat_office period=D refresh=30000 visibility=[period_switch_temp_office==1]
                    Chart item=thermostat_office period=W refresh=30000 visibility=[period_switch_temp_office==2]
                }
        }
        
    }
    
    Frame label='Power Consumption' {
        
        Group label="TV (Bed Room) [%.1f W]" icon="television" item=powerline_power {
            
            Switch label="Switch" item=powerline_switch
            Text label="Current Power [%.1f W]" item=powerline_power
            Text label="Total Energy [%.1f Wh]" item=powerline_energy
            
        }
    }


    Frame label="Weather" {
        
        Group label="Tübingen [%.1f °C]" item=Temperature icon="garden" {
        
            Text item=Temperature icon="temperature" {
                Frame {
                    Switch item=period_switch_temp label="Periode" mappings=[0="Stunde", 1="Tag", 2="Woche"]
                    Chart item=Temperature period=h refresh=30000 visibility=[period_switch_temp==0]
                    Chart item=Temperature period=D refresh=30000 visibility=[period_switch_temp==1]
                    Chart item=Temperature period=W refresh=30000 visibility=[period_switch_temp==2]
                }
            }
            
            Text item=Humidity icon="water"{
                Frame {
                    Switch item=period_switch_humidity label="Periode" mappings=[0="Stunde", 1="Tag", 2="Woche"]
                    Chart item=Humidity period=h refresh=30000 visibility=[period_switch_humidity==0]
                    Chart item=Humidity period=D refresh=30000 visibility=[period_switch_humidity==1]
                    Chart item=Humidity period=W refresh=30000 visibility=[period_switch_humidity==2]
                }
            
            }
            Text item=Rain icon="rain" {
                Frame {
                    Switch item=period_switch_rain label="Periode" mappings=[0="Stunde", 1="Tag", 2="Woche"]
                    Chart item=Rain period=h refresh=30000 visibility=[period_switch_rain==0]
                    Chart item=Rain period=D refresh=30000 visibility=[period_switch_rain==1]
                    Chart item=Rain period=W refresh=30000 visibility=[period_switch_rain==2]
                }
            }
            
            Text label="Forecast" icon="line" {Image url="http://wetterstationen.meteomedia.de/messnetz/vorhersagegrafik/108290.png?ver=1443269408" refresh=10000}
            
            Group label="More ..." item=yahoo icon="info"
        }
        
    }

}   


heating.rules

rule ChangeAllSetpoints
when
    Item appartment_setpoint changed
then
    setpoint_group.members.forEach[item | 
        item.sendCommand(appartment_setpoint.state.toString())
        Thread::sleep(10000)
    ]
end      


rule ChangeAllModes
when
    Item appartment_mode changed
then
     modes_group.members.forEach[item | 
        item.sendCommand(appartment_mode.state.toString())
        Thred::sleep(10000)
    ]
end

This is usually due to the linking of the thermostats to a room.
In your case, can it be that they are both assigned to the same room.

Though it appears that you set a temperature by thermostat, in the background it actually sets it by thermostat group (room)… The issue can happen when on cube the 2 informations (rooms & devices in the room) gets mixed up.

From what I’ve seen the only way to resolve this is by doing a 1) unlink/reset all the thermostats from the cube (as otherwise they may still consider themselfes linked). factory reset the cube, link all the thermostats again

Hi Marcel,

first of all, thank you for developing and maintaining the MAX!Cube addon!

I unlinked/reseted/linked all devices as suggested and fortunately everything works again as expected.

Thank you for your advice,

Marko