I’ve got one group of temps with an average on it, and it’s working fine, in that everytime one of them updates a rule fires based on the group name. As a concept it was cool.
So I tried to apply it to a bunch of controls relating the a morning heating plan, there’s a couple of set points that all relate to time on, time off and a max temp. Because it wasn’t very nice to look at, I made a new item that converted these 3 fields into a text descroption, triggered on any of the items changing. But I can’t get it firing.
> Group g_heating "Heating Control" <temperature>
> Group g_heating_morning "Morning Heating Control" <temperature> (g_heating)
>
> Number heating_morning_maximum_setpoint "Max Temp [%.1f °C]" (g_heating_morning,g_switchpersist)
> Number heating_morning_maximum_offset "Temp offset [%.1f °C]" (g_heating_morning,g_switchpersist)
> Number heating_morning_time_on "Time On [%d]" (g_heating_morning,g_switchpersist)
> Number heating_morning_time_off "Time Off [%d]" (g_heating_morning,g_switchpersist)
These heating items I did have in the g_heating group also, but just removed them in case being this the parent and child group caused problems. But it hasn’t changed anything.
Heres the rule for completeness:
rule "Morning Central Heating Rules Update description" when Item g_heating_morning received update or Item check_temperature_min changed then logInfo("Morning Heating Item","Command Called") if (heating_morning_time_on.state != NULL && heating_morning_maximum_setpoint.state != NULL && heating_morning_maximum_offset.state != NULL && heating_morning_time_off.state != NULL) { var Number max = ((heating_morning_maximum_setpoint.state) as DecimalType).floatValue heating_morning_description.postUpdate(String::format("On:%s Off:%s Max Temp: %.1f °C",heating_morning_time_on.state, heating_morning_time_off.state,max)) } else heating_morning_description.postUpdate("Undefined") end