Hi Patrik
A few weeks before i had the same problems with my Max!Thermostats. I have to implement more than 15 of these.
Now with help from another guy of the community it all works perfect…
here some examples of my codes… i will explain it here it only for my bedroom…
items.file
Group:Number:AVG gTemperature "akt. Temperatur ansehen" <temperature> (Home)
Group:String:EQUAL gHeatingMode "Modus" (Home)
Number F2_Bedroom_HeatingG "Heizung Gross" <heating> (gHeating) {channel="max:thermostat:KEQ0538054:OEQ1133869:set_temp"}
Number F2_Bedroom_TemperatureG "Temperatur Schlafzimmer Gross" <temperature> (F2_Bedroom, gTemperature) {channel="max:thermostat:KEQ0538054:OEQ1133869:actual_temp"}
String F2_Bedroom_ModeG "Modus Schlafzimmer gross [MAP(maxcubeMode.map):%s]" <heating> (gHeatingMode) {channel="max:thermostat:KEQ0538054:OEQ1133869:mode"}
Number F2_Bedroom_HeatingK "Heizung Klein" <heating> (gHeating) {channel="max:thermostat:KEQ0538054:OEQ1137726:set_temp"}
Number F2_Bedroom_TemperatureK "Temperatur Schlafzimmer Klein" <temperature> (F2_Bedroom, gTemperature) {channel="max:thermostat:KEQ0538054:OEQ1137726:actual_temp"}
String F2_Bedroom_ModeK "Modus Schlafzimmer klein [MAP(maxcubeMode.map):%s]" <heating> (gHeatingMode) {channel="max:thermostat:KEQ0538054:OEQ1137726:mode"}
For the control with alexa I added some more lines in the items.file
Group gSchlafGThermostat "Heizung Schlafzimmer Gross" ["Thermostat"]
Number SchlafGThermostatCurrentTemp "Heizung Schlafzimmer Gross Aktuelle Temperatur" (gSchlafGThermostat) [ "CurrentTemperature" ] {channel="max:thermostat:KEQ0538054:OEQ1133869:actual_temp"}
Number SchlafGThermostatTargetTemperature "Heizung Schlafzimmer Gross Soll Temperatur" (gSchlafGThermostat) [ "TargetTemperature" ] {channel="max:thermostat:KEQ0538054:OEQ1133869:set_temp"}
Group gSchlafKThermostat "Heizung Schlafzimmer Klein" ["Thermostat"]
Number SchlafKThermostatCurrentTemp "Heizung Schlafzimmer Klein Aktuelle Temperatur" (gSchlafKThermostat) [ "CurrentTemperature" ] {channel="max:thermostat:KEQ0538054:OEQ1137726:actual_temp"}
Number SchlafKThermostatTargetTemperature "Heizung Schlafzimmer Klein Soll Temperatur" (gSchlafKThermostat) [ "TargetTemperature" ] {channel="max:thermostat:KEQ0538054:OEQ1137726:set_temp"}
Then i build the following lines in sitemap for example of one room
Default item=F2_Bedroom_TemperatureG
Setpoint item=F2_Bedroom_HeatingG label="Schlafzimmer gross" step=0.5 minValue=4.5 maxValue=30.0
Selection item=F2_Bedroom_ModeG mappings=[AUTOMATIC="Auto", MANUAL="Manuell", BOOST="Boost"]
Default item=F2_Bedroom_TemperatureG
Setpoint item=F2_Bedroom_HeatingK label="Schlafzimmer klein" step=0.5 minValue=4.5 maxValue=30.0
Selection item=F2_Bedroom_ModeK mappings=[AUTOMATIC="Auto", MANUAL="Manuell", BOOST="Boost"]
The mapping file…
AUTOMATIC=AUTO
MANUAL=Manuell
BOOST=BOOST
And for last I use a rule to trigger the change of the heating mode…
rule HeatingChangeMode //Heizung einstellen
when
Item FF_Dining_Mode changed or
Item FF_LivingRoom_ModeW changed or
Item FF_LivingRoom_ModeK changed or
Item FF_Kitchen_Mode changed or
Item FF_Bathroom_Mode changed or
Item F2_Bedroom_ModeG changed or
Item F2_Bedroom_ModeK changed or
Item F2_JoelRoom_Mode changed or
Item F2_FabiRoom_ModeS changed or
Item F2_FabiRoom_ModeW changed or
Item F2_Bathroom_Mode changed
then
switch (triggeringItem.name) {
case 0 : sendCommand(triggeringItem.name, "AUTOMATIC")
case 1 : sendCommand(triggeringItem.name, "MANUAL")
case 2 : sendCommand(triggeringItem.name, "BOOST")
}
end
I think the rule could be write a lttle bit easier, simple to look which of this heating item was changed… but at the moment it will also works in this way.
Pherhaps the example will help you…
And sorry for my english