[gelöst] Status mehrerer Devices zusammenfassen

Begonnen von Muschelpuster, 18 September 2016, 11:58:04

Vorheriges Thema - Nächstes Thema

Muschelpuster

Moin zusammen,

Ich habe 4 Devices, deren State (on/off) ich logisch zu einem State zusammenfassen möchte um dort mit einem Notify drauf zu reagieren.
Hier bin ich der Meinung, ist das Modul readingsGroup geeignet. Doch nach dem Studium komplexer Anwendungsfälle bin ich so schlau wie vorher. Kann ich dem Modul beibringen, dass der State auf on geht, wenn eines der gruppierten Readings auf on geht und es auf off geht, wenn alle Readings off sind? Oder kann ich da ein userReadings anlegen?

gruppierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

mw77

HM, HMIP, Shelly, und anderes

Muschelpuster

Ah Danke - auf structure wäre ich sicher selbst beim Lesen nicht so schnell gekommen, da es ja primär um's Schalten geht. Ich habe aber schon nach scene gesucht, aber so heißt das ja auf meiner alten Büchse, die ich gerade entsorge.

erledigte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

#3
So, wie immer kommen nach einer einfachen Antwort die Zusatzfragen  8) :
Kann ich den state von structure bereits auf on bekommen, wenn nur 1 Device auf on steht? 'undefinied' lässt sich so schlecht als $EVENT im Notify verwenden ;-)

[edit] Das habe ich im 2. Anlauf dann doch selber lösen können:attr my_structure clientstate_behavior relative
attr my_structure clientstate_priority on off

[/edit]

nachgelesene Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

DeeSPe

Du könntest aber im notify z.B.:
if (...... ne "on")
verwenden.
Das benutze ich so und es klappt bisher einwandfrei.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Muschelpuster

Jo, Danke - das hatte ich irgendwo schon mal gelesen, aber wieder erfolgreich verdrängt.
Ich habe das Notify jetzt aber wieder gegen ein DoIf ersetzt, da Structure bei jeder Statusänderung eines Mitgliedes ein Event auslöst und das Notify so unnötig Funktelegramme erzeugt. DoIf reagiert ja von Hause aus nur bei einer Änderung der Bedingung und nicht bei erneuten Events mit dem gleichen Status. Zudem habe ich hier eine Verzögerung eingebaut, was der Homematic-Welt auch gut tut. Vermutlich geht das mit Notify auch, aber beim DoIf weiß ich wie ;-)

geänderte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

DeeSPe

Für structure gibt es auch FILTER, die kommen da allerdings in eckige Klammern. Durch Setzen des richtigen FILTERs werden auch entsprechend die Funktelegramme minimiert bzw. komplett unterdrückt.

Jeder wie es ihm am Besten liegt...

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe