Structure: Anzahl selber Zustand zählen

Begonnen von choetzu, 21 November 2017, 17:22:41

Vorheriges Thema - Nächstes Thema

choetzu

Hallo,

ich habe ein structure gemacht, welcher die Zustände meiner Lampen auswertet. Nun möchte ich gerne erreichen, dass es mir errechnet, wieviele Lampen innerhalb der structure auf ON sind.. Also das Ergebnis sollte eine Zahl sein. Geht das?

Lg c
Raspi3, EnOcean, Zwave, Homematic

choetzu

Raspi3, EnOcean, Zwave, Homematic

igami

Guck mal in die deutsche commandref von DOIF, dort gibt es einen Abschnitt aggregieren von Werten oder so ähnlich
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

MadMax-FHEM

Zitat von: choetzu am 21 November 2017, 23:04:20
hab da was gefunden..https://forum.fhem.de/index.php/topic,57091.msg485057.html#msg485057

finde aber die Integration von code in fhem.pl etwas heikel... was meint ihr?

Da wird nichts in fhem.pl integriert, sondern abgekupfert...
...der genannte Code steht vermutlich in myUtils oder direkt im Notify...

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)

choetzu

super, herzlichen Dank. Das hat mich zur Lösung geführt..

Innerhalb DOIF kann dies gelöst werden.. Siehe nebst Command REF auch https://forum.fhem.de/index.php/topic,70624.0.html

bei mir habe ich es wie folgt gemacht:

define Licht_AN_ANZAHL DOIF (leerschlag)
attr state [#""::$STATE eq "on" and $group eq "Licht"]

Somit werden alle "on" in der Gruppe "Licht" gezählt.. As simple as that..

Lg c
Raspi3, EnOcean, Zwave, Homematic

MadMax-FHEM

Na dann...

Bitte noch den Thread als gelöst kennzeichnen, umbenennen z.B. in "[gelöst] Structure: Anzahl selber Zustand zählen"

Gruß und viel Spaß, 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

Wenn du das Event einschränken könntest (statt "", z. B. alle Devices, die mit blabla anfangen oder mit blabla enden o. ä.), würde es weniger dein System belasten. So werden bei jedem! Event alle Systemdevices durchforstet.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

choetzu

Zitat von: Damian am 23 November 2017, 15:03:54
Wenn du das Event einschränken könntest (statt "", z. B. alle Devices, die mit blabla anfangen oder mit blabla enden o. ä.), würde es weniger dein System belasten. So werden bei jedem! Event alle Systemdevices durchforstet.

danke, was muss ich machen, wenn ich die devices nehmen will, die mit FSB61 enden? Bei devices die mit FSB61 anfangen würden, käme ja ein ^FSB61... und was wenns damit endet?

und kann man auch 2 verschiedene Endungen in einem machen? deshalb hab ich eine gruppe gebildet..
Raspi3, EnOcean, Zwave, Homematic

choetzu

und wenn ich noch $TYPE ergänze, wäre das evtl schlanker?

also attr state [#""::$STATE eq "on" and $group eq "Licht" and $TYPE eq "EnOcean"]

Ich habe mehrere Lampen, welche unterschiedlich anfangen und auch unterschiedlich enden, deshalb wird es schwierig beim Device-Namen anzusetzen..
Raspi3, EnOcean, Zwave, Homematic

Damian

Zitat von: choetzu am 24 November 2017, 16:17:47
und wenn ich noch $TYPE ergänze, wäre das evtl schlanker?

also attr state [#""::$STATE eq "on" and $group eq "Licht" and $TYPE eq "EnOcean"]

Ich habe mehrere Lampen, welche unterschiedlich anfangen und auch unterschiedlich enden, deshalb wird es schwierig beim Device-Namen anzusetzen..

Nein.Das Problem ist, dass diese Anweisung ohne spezifischen Trigger auf alles in FHEM reagiert.

Du könntest zumindest auf on reagieren, dann hast du schon viele Events ausgeschlossen:

#":on"....

Wenn irgendeine Systematik bei der Namensgebung der Devices erkennbar wäre, kann man auch passende regex definieren.



Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

choetzu

ZitatDu könntest zumindest auf on reagieren, dann hast du schon viele Events ausgeschlossen:

#":on"....

Wenn irgendeine Systematik bei der Namensgebung der Devices erkennbar wäre, kann man auch passende regex definieren.

super, danke.. das hilft schon sehr. Meine Lampen haben 3 verschiedene verschiedene Teile im Namen. Entweder FUD61 (für Dimmer) oder NodOn (für Schalter) oder dann Poollicht (fürs Pool). Kann man das in einem regex bündeln?
Raspi3, EnOcean, Zwave, Homematic

Damian

Zitat von: choetzu am 24 November 2017, 19:50:38
super, danke.. das hilft schon sehr. Meine Lampen haben 3 verschiedene verschiedene Teile im Namen. Entweder FUD61 (für Dimmer) oder NodOn (für Schalter) oder dann Poollicht (fürs Pool). Kann man das in einem regex bündeln?

klar

[#"FUD61|NodOn|Poollicht:"...
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

choetzu

du bist ne rakete!!! Das funktioniert perfekt.. herzlichen Dank.

darf ich noch was fragen? wie erkenne ich, ob ein DOIF oder sonst ein Modul viel ressourcen benutzt? Ich denke nicht nur anhand der anzahl ausgelöster events, oder??

lg c
Raspi3, EnOcean, Zwave, Homematic

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

choetzu

Hallo

ich muss dieses Thema wieder aufnehmen, weil ich am rumbasteln bin. Ich habe nun folgenden DOIF

[#"_L_|_D_|Licht:"::$STATE eq "on" and $group eq "Dimmer"]

Nun möchte ich auch noch die $group "Licht" mit einbeziehen, also nicht nur "Dimmer". Mit "Licht|Dimmer" gehts nicht. Auch nicht mit "[Licht|Dimmer]".. und

[#"_L_|_D_|Licht:"::$STATE eq "on" and $group eq "Dimmer" or $group eq "Licht"]
spuckt mir logischerweise komplett falsche Werte aus.

Was wäre denn richtig?
Raspi3, EnOcean, Zwave, Homematic