Fenstersensor und LED-Gong - DOIF/IF einfacher lösbar?

Begonnen von link611, 07 Januar 2019, 11:52:19

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Je nachdem was du erreichen willst..

Wenn du beispielsweise nichts loggst (also länger keine Änderung egal ist) und dich nur die Änderung eines Readings interessiert ist .* vermutlich was du brauchst...

Ansonsten halt genau setzen oder die Readiings wo dich auch Events interessieren ohne dass sich der Wert ändert durch andere event-on- Attribute wieder "reinholen"...

Je weniger Events durch's System "rasen" desto weniger Last...

Öffne doch einfach mal den Eventmonitor und schau was da alles kommt (und vielleicht überlegen was davon du tatsächlich brauchst aber aufpassen wegen Logging/Plots andere Automatismen wie Notify/DOIF die auf Events angewiesen sind)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Damian

Zitat von: link611 am 08 Januar 2019, 20:49:24
Habe eben feststellen müssen, dass das mit der Structure nicht sauber läuft... anscheinend setzt die irgendwie öfter den state auf closed sodass das Notify das darauf lauscht all 5-10 Minuten mehrmals ausgeführt wird....

Wie würde das Aggregationsbeispiel denn aussehen, wenn ich nicht alle Fenster sondern nur bestimmte überwachen will? also z.B. (BZ|SZ|KiZ).Fenster(1|2)

Entsprechend deiner Regex-Vorgabe:

DOIF ([#"^(BZ|SZ|KiZ).Fenster(1|2)$:closed":state:"open"] == 0)

^ bedeutet Anfang, $ Ende
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat von: Damian am 08 Januar 2019, 21:39:30
Entsprechend deiner Regex-Vorgabe:

DOIF ([#"^(BZ|SZ|KiZ).Fenster(1|2)$:closed":state:"open"] == 0)

^ bedeutet Anfang, $ Ende

Da fällt mir gerade ein, man sollte auch auf open reagieren, damit man mitbekommt, wenn ein Fenster geöffnet wird, daher:

DOIF ([#"^(BZ|SZ|KiZ).Fenster(1|2)$:closed|open":state:"open"] == 0)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF