@5iver this would sure trigger when the state is updated.
Then the design is somehow not as i would expect it. On Trigger RECEIVED COMMAND i expect to be able to read out the command which triggered the change. This is solved by the implicite variable, but somehow not intuitiv, IMHO.
-
A different question comes up then: the rule gets executetd multiple times when the group triggers the change of the members. And multiple times as the members updating the group.
-
I would have wished that a group change would just do a
postUpdateof the member. So when usingchangedyou may trigger the rule when members get updated by the group, and usingreceived commandyou may trigger when actually a command was issued.
rule "Single Plug"
when
Item member_1 changed or
Item member_2 changed or
Item member_3 changed or
Item member_4 changed or
Item group changed
then
logInfo("GroupTest", "Member " + triggeringItem.name + " to " + receivedCommand)
end
[INFO ] [smarthome.event.ItemCommandEvent ] - Item 'group' received command ON
[INFO ] [smarthome.event.ItemCommandEvent ] - Item 'member_1' received command ON
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member member_4 to ON
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member member_2 to ON
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member member_1 to ON
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member group to OFF
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member group to OFF
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member group to ON
[INFO ] [ipse.smarthome.model.script.GroupTest] - Member member_3 to ON
[INFO ] [smarthome.event.ItemCommandEvent ] - Item 'member_2' received command ON
[INFO ] [smarthome.event.ItemCommandEvent ] - Item 'member_3' received command ON
[INFO ] [smarthome.event.ItemCommandEvent ] - Item 'member_4' received command ON
[INFO ] [smarthome.event.ItemStateChangedEvent] - member_1 changed from OFF to ON
[INFO ] [home.event.GroupItemStateChangedEvent] - group changed from ON to OFF through member_1
[INFO ] [home.event.GroupItemStateChangedEvent] - group changed from OFF to ON through member_3
[INFO ] [smarthome.event.ItemStateChangedEvent] - member_2 changed from OFF to ON
[INFO ] [smarthome.event.ItemStateChangedEvent] - member_4 changed from OFF to ON
[INFO ] [smarthome.event.ItemStateChangedEvent] - member_3 changed from OFF to ON