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