Hello,
while optimizing my already working rule I realy get desperate with the new code.
I have a dropdown on my sitemap to select a program for my heating system.
It workes fine with the “old version” but not with the one with the “case”. Does anyone have a solution for me?
OLD VERSION:
when
Item Heizung_Status received command
// 5="5°C Frostschutz", 17="17°C Absenkbetrieb", 21="21°C Komfort", 15="15°C Urlaub" --> s. heating.sitemap
then
val HeizungTemp = (Heizung_Status.state as Number).intValue
WohnThermostatTargetTemperature.sendCommand(HeizungTemp) //Wohnzimmer
BadThermostatTargetTemperature.sendCommand(HeizungTemp) //Badezimmer
KindThermostatTargetTemperature.sendCommand(HeizungTemp) //Kinderzimmer
BuegelThermostatTargetTemperature.sendCommand(HeizungTemp) //Bügelzimmer
SchlafThermostatTargetTemperature.sendCommand(HeizungTemp) //Schlafzimmer
logInfo("Heizung", "Änderung")
sendBroadcastNotification("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
Echo_Living_Room_Talk.sendCommand("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
end```
NEW ONE:
```php
when
Item Heizung_Status received update
// 5="5°C Frostschutz", 17="17°C Absenkbetrieb", 21="21°C Komfort", 15="15°C Urlaub" --> s. heating.sitemap
then
val HeizungTemp = (Heizung_Status.state as Number).intValue
switch HeizungTemp {
case 5:{ // Frostschutz für alle
WohnThermostatTargetTemperature.sendCommand(HeizungTemp) //Wohnzimmer
BadThermostatTargetTemperature.sendCommand(HeizungTemp) //Badezimmer
KindThermostatTargetTemperature.sendCommand(HeizungTemp) //Kinderzimmer
BuegelThermostatTargetTemperature.sendCommand(HeizungTemp) //Bügelzimmer
SchlafThermostatTargetTemperature.sendCommand(HeizungTemp) //Schlafzimmer
logInfo("Heizung", "Änderung")
sendBroadcastNotification("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
Echo_Living_Room_Talk.sendCommand("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
}
case 15:{ //Urlaub für alle
WohnThermostatTargetTemperature.sendCommand(HeizungTemp) //Wohnzimmer
BadThermostatTargetTemperature.sendCommand(HeizungTemp) //Badezimmer
KindThermostatTargetTemperature.sendCommand(HeizungTemp) //Kinderzimmer
BuegelThermostatTargetTemperature.sendCommand(HeizungTemp) //Bügelzimmer
SchlafThermostatTargetTemperature.sendCommand(HeizungTemp) //Schlafzimmer
logInfo("Heizung", "Änderung")
sendBroadcastNotification("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
Echo_Living_Room_Talk.sendCommand("Die Heizung wurde in allen Zimmern auf " +HeizungTemp + "Grad gestellt!")
}
case 17: { //Absenkbetrieb für alle außer schlafzimmer
WohnThermostatTargetTemperature.sendCommand(HeizungTemp) //Wohnzimmer
BadThermostatTargetTemperature.sendCommand(HeizungTemp) //Badezimmer
KindThermostatTargetTemperature.sendCommand(HeizungTemp) //Kinderzimmer
BuegelThermostatTargetTemperature.sendCommand(HeizungTemp) //Bügelzimmer
logInfo("Heizung", "Änderung")
sendBroadcastNotification("Die Heizung wurde in allen Zimmern, außer dem Schlafzimmer auf " +HeizungTemp + "Grad gestellt!")
Echo_Living_Room_Talk.sendCommand("Die Heizung wurde in allen Zimmern, außer im Schlafzimmer auf " +HeizungTemp + "Grad gestellt!")
}
case 21: { //Komfortbetrieb nur für Wohnzimmer
WohnThermostatTargetTemperature.sendCommand(HeizungTemp) //Wohnzimmer
logInfo("Heizung", "Änderung")
sendBroadcastNotification("Die Heizung wurde im Wohnzimmer auf " +HeizungTemp + "Grad gestellt!")
Echo_Living_Room_Talk.sendCommand("Die Heizung wurde im Wohnzimmer auf " +HeizungTemp + "Grad gestellt!")
}
HeizungTemp.postUpdate(0)
}
end```
salu2
Stefano