Seite 1 von 1

Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 19. Jan 2019 13:02
von Caddy
Hallo zusammen,

ich schalte eine Gruppe mit
gSetMode.sendCommand("MANUAL")

das geht schon mal :-)

Ich möchte aber

gSetMode.sendCommand("MANUAL") nur machen wenn das einzelne Item nicht "MANUAL" ist um den sendetraffic zu reduzieren.

das geht vermutlich mit
for each Item ...
if (aktuelles.item != "MANUAL") {aktuelles.Item.sendcommand("MANUAL")}

wer kann mir die Syntax geben ?

Danke

Caddy

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 19. Jan 2019 20:56
von udo1toni

Code: Alles auswählen

if(gSetMode.state.toString != "MANUAL") gSetMode.sendCommand("MANUAL")
Allerdings bezieht sich das ja auf die Gruppe. Wenn das Kommando an die Gruppe geht, kannst Du nicht verhindern, dass jedes Item der Gruppe den Befehl empfängt. das kannst Du nur vermeiden, indem Du den Befehl nicht an die Gruppe schickst.

Code: Alles auswählen

rule "resend command"
when
    Item vSetMode received command
then
    gSetMode.members.filter[m|m.state.toString != receivedCommand.toString ].forEach[i|i.sendCommand(receivedCommand.toString)]
end
Die Gruppenmember werden nach Status gefiltert. Diejenigen, deren Status nicht zum Kommando passt, empfangen das Kommando. Das eigentliche Kommando wird aber hier an das Item vSetMode gesendet, nicht an gSetMode!

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 21. Jan 2019 12:33
von Caddy
Ich habe es noch anders gelöst:

wie findest Du das hier ?

Code: Alles auswählen

rule "<gSetMode_Change_Mode>"
when
    Member of gSetMode changed to AUTOMATIC
then
	if (triggeringItem.state != MANUAL) {	triggeringItem.sendCommand("MANUAL") }
end

caddy

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 21. Jan 2019 13:03
von seppy
Coole Lösung!

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 21. Jan 2019 17:04
von Caddy
Danke …. alles hier im Forum gelernt :-)

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 21. Jan 2019 22:22
von udo1toni
Also wenn eines der Items der Gruppe auf AUTOMATIC wechselt, soll es umgehend auf MANUAL wechseln?

Re: Gruppe schalten nur wenn nicht = neuer Wert

Verfasst: 24. Jan 2019 17:20
von Caddy
Ja genau ...
ich steuere die Zeiten über regeln deswegen müssen die Thermostate auf manuell stehen