Gruppe schalten nur wenn nicht = neuer Wert

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Gruppe schalten nur wenn nicht = neuer Wert

Beitrag 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

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag 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!
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag 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

Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag von seppy »

Coole Lösung!
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag von Caddy »

Danke …. alles hier im Forum gelernt :-)

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag von udo1toni »

Also wenn eines der Items der Gruppe auf AUTOMATIC wechselt, soll es umgehend auf MANUAL wechseln?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Re: Gruppe schalten nur wenn nicht = neuer Wert

Beitrag von Caddy »

Ja genau ...
ich steuere die Zeiten über regeln deswegen müssen die Thermostate auf manuell stehen

Antworten