I have a strange thing going on: an item cannot be resolved in a rule, but can be changed via sitemap?
items:
/* Raum-Thermostate und -Regler */
Number RTR_EG_WoZi_HVAC_mode "Betriebsart Wohnzimmer" <temperature> (RTR, EG_WoZi, gRTR_EG_WoZi) [ "homekit:HeatingCoolingMode" ] { knx="5.005:8/5/1+<5.005:8/5/11" }
Number RTR_OG_Schlafen_HVAC_mode "Betriebsart Schlafzimmer" <temperature> (RTR, OG_Schlafen, gRTR_OG_Schlafen) [ "homekit:HeatingCoolingMode" ] { knx="5.005:8/5/3+<5.005:8/5/13" }
Number RTR_OG_Bad_HVAC_mode "Betriebsart Bad" <temperature> (RTR, OG_Bad, gRTR_OG_Bad) [ "homekit:HeatingCoolingMode" ] { knx="5.005:8/5/2+<5.005:8/5/12" }
Number RTR_OG_KiZiOst_HVAC_mode "Betriebsart Sarah" <temperature> (RTR, OG_KiZiOst, gRTR_OG_KiZiOst) [ "homekit:HeatingCoolingMode" ] { knx="5.005:8/5/4+<5.005:8/5/14" }
Number RTR_OG_KiZiWest_HVAC_mode "Betriebsart David" <temperature> (RTR, OG_KiZiWest, gRTR_OG_KiZiWest) [ "homekit:HeatingCoolingMode" ] { knx="5.005:8/5/5+<5.005:8/5/15" }
sitemap:
Frame label="Heizung" {
Switch item=RTR_EG_WoZi_HVAC_mode mappings=[1="Komfort", 2="Standby", 3="Nacht", 4="Frost"]
Switch item=RTR_OG_Schlafen_HVAC_mode mappings=[1="Komfort", 2="Standby", 3="Nacht", 4="Frost"]
Switch item=RTR_OG_Bad_HVAC_mode mappings=[1="Komfort", 2="Standby", 3="Nacht", 4="Frost"]
Switch item=RTR_OG_KiZiOst_HVAC_mode mappings=[1="Komfort", 2="Standby", 3="Nacht", 4="Frost"]
Switch item=RTR_OG_KiZiWest_HVAC_mode mappings=[1="Komfort", 2="Standby", 3="Nacht", 4="Frost"]
}
rule
if (WoZi == true && RTR_EG_WoZi_HVAC_mode.state != Heizmodus) {
sendCommand(RTR_EG_WoZi_HVAC_mode, Heizmodus)
logInfo("Heizung", "Wohnzimmer Heizung wurde von " + RTR_EG_WoZi_HVAC_mode.state + " auf " + Heizmodus + " gestellt.")
}
if (Bad == true && RTR_OG_Bad_HVAC_mode.state != Heizmodus) {
sendCommand(RTR_OG_Bad_HVAC_mode, Heizmodus)
logInfo("Heizung", "Bad Heizung wurde von " + RTR_OG_Bad_HVAC_mode.state + " auf " + Heizmodus + " gestellt.")
}
if (Schlafen == true && RTR_OG_Schlafen_HVAC_mode.state != Heizmodus) {
sendCommand(RTR_OG_Schlafen_HVAC_mode, Heizmodus)
logInfo("Heizung", "Schlafzimmer Heizung wurde von " + RTR_OG_Schlafen_HVAC_mode.state + " auf " + Heizmodus + " gestellt.")
}
if (KiziOst == true && RTR_OG_KiziOst_HVAC_mode.state != Heizmodus) {
sendCommand(RTR_OG_KiziOst_HVAC_mode, Heizmodus)
logInfo("Heizung", "Kinderzimmer Ost Heizung wurde von " + RTR_OG_KiziOst_HVAC_mode.state + " auf " + Heizmodus + " gestellt.")
}
if (KiziWest == true && RTR_OG_KiziWest_HVAC_mode.state != Heizmodus) {
sendCommand(RTR_OG_KiziWest_HVAC_mode, Heizmodus)
logInfo("Heizung", "Kinderzimmer West Heizung wurde von " + RTR_OG_KiziWest_HVAC_mode.state + " auf " + Heizmodus + " gestellt.")
}
If I change the value via the sitemap, the item changes (17:44:11), the rule throws an error (17:43:00)
openhab.log:
2017-10-04 17:43:00.092 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Binder Status - Heizungsanpassung: An error occurred during the script execution: The name 'RTR_OG_KiziOst_HVAC_mode' cannot be resolved to an item or type.
2017-10-04 17:44:11.405 [ItemCommandEvent ] - Item 'RTR_OG_KiZiOst_HVAC_mode' received command 3
2017-10-04 17:44:11.817 [ItemStateChangedEvent ] - RTR_OG_KiZiOst_HVAC_mode changed from 1 to 3
some hints, what I’m missing? -in the rule all the other items before “RTR_OG_KiZiOst_HVAC_mode” get resolved and are changed as expected - …KiZiOst… and …KiZiWest… are both failing. Are the names of those variables too long? (The Error is thrown at the if-condition already)