Hallo, ich habe mit ein Item angelegt, um 2 Farblampen gleich anzusteuern. Das ganze geht über eine rule, denn mit der Gruppe hab ich das nicht hinbekommen. Doch plötzlich funktioniert es mit der Rule auch nicht mehr. Die Rule sieht folgendermaßen aus:
rule "Treppe Color"
when
Item GF_Stair_light changed
then
GF_Stair_top_Light.sendCommand(GF_Stair_light.state)
GF_Stair_down_Light.sendCommand(GF_Stair_light.state)
end
2021-11-13 18:28:41.335 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'Stair_color-1' failed: An error occurred during the script execution: Could not invoke method: org.openhab.core.model.script.actions.BusEvent.sendCommand(org.openhab.core.items.Item,java.lang.String) on instance: null in Stair_color
rule "Treppe Color"
when
Item GF_Stair_light changed
then
if(!(GF_Stair_light.state instanceof HSBType))
logWarn("stairs","GF_Stair_light.state ist nicht vom Typ HSBType!")
else {
GF_Stair_top_Light.sendCommand(GF_Stair_light.state)
GF_Stair_down_Light.sendCommand(GF_Stair_light.state)
}
end
Damit spuckt die Rule die Warnung aus, statt null anzumeckern.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
Naja, was heißt plötzlich. Ich weiß jetzt nicht genau ab welchem Tag, oder was es sonst noch für Änderungen gab, denn so oft verstelle ich dort die Farbe nicht. Ich weiß aber, dass es früher funktionierte. Ich hab in letzter Zeit schon manchmal neugestartet, und auch mal ältere Konfigurationen aufgespielt.
Ich werde das mit der "neuen" Rule mal heute Abend probieren.
Die Items sind alle vom Typ Color.
Bild_2021-11-15_063132.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
rule "Treppe Color"
when
Item GF_Stair_light changed
then
if(!(GF_Stair_light.state instanceof HSBType))
logWarn("stairs","GF_Stair_light.state ist nicht vom Typ HSBType!")
else {
GF_Stair_top_Light.sendCommand("GF_Stair_light.state")
GF_Stair_down_Light.sendCommand("GF_Stair_light.state")
}
end
rule "Treppe Color"
when
Item GF_Stair_light changed
then
if(!(GF_Stair_light.state instanceof HSBType))
logWarn("stairs","GF_Stair_light.state ist nicht vom Typ HSBType!")
else {
// GF_Stair_top_Light.sendCommand(GF_Stair_light.state)
// GF_Stair_down_Light.sendCommand(GF_Stair_light.state)
logWarn("stairs", "Licht ({})", GF_Stair_light.state)
}
end
rule "Treppe Color"
when
Item GF_Stair_light changed
then
if(!(GF_Stair_light.state instanceof HSBType))
logWarn("stairs","GF_Stair_light.state ist nicht vom Typ HSBType!")
else {
GF_Stair_top_Light.sendCommand(GF_Stair_light.state.toString)
GF_Stair_down_Light.sendCommand(GF_Stair_light.state.toString)
}
end
Ja, das toString erzwingt die Konvertierung zu einem String. Eigentlich sollte das aber nicht notwendig sein, denn der Typ ist ja schon HSBType (sonst wäre die Warnmeldung ausgegeben worden und es hätte kein Versuch stattgefunden, die Color Items anzusprechen).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet