Fhem/Perl-Funktion "Zählewenn" gesucht

Begonnen von Marko1976, 27 Juli 2025, 15:47:06

Vorheriges Thema - Nächstes Thema

Marko1976

Hallo, ich wollte mal fragen ob es so etwas wie Zählewenn aus Excel auch in Fhem oder Perl gibt.

Ich möchte verschiede Device zählen wenn ihr STATE oder ein vorgegebenes Reading einen bestimmten Wert enthält.

Prof. Dr. Peter Henning

Perl kennt von sich aus keine FHEM-Geräte. Man kann aber problemlos in einem Perl-Programm einen FHEM-Befehl mit FILTER-Direktive absetzen und die Anzahl der zurückgegebenen Zeilen auswerten.

Allerdings erschließt sich mir der Sinn einer solchen Zählung nicht so ganz.

LG

pah

betateilchen

#2
Zitat von: Marko1976 am 27 Juli 2025, 15:47:06Ich möchte verschiede Device zählen wenn ihr STATE oder ein vorgegebenes Reading einen bestimmten Wert enthält.

im einfachsten Fall:

count state=open
zählt bei mir alle offenen Rollläden und Türen/Fenster.

https://commandref.fhem.de/#count



Zitat von: Prof. Dr. Peter Henning am 27 Juli 2025, 16:43:19Allerdings erschließt sich mir der Sinn einer solchen Zählung nicht so ganz.

Es muss doch nicht alles einen Sinn haben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Marko1976

Zitat von: Prof. Dr. Peter Henning am 27 Juli 2025, 16:43:19Allerdings erschließt sich mir der Sinn einer solchen Zählung nicht so ganz.
Man muss ja auch nicht alles verstehen, oder?

Hintergrund ist aber eigentlich ganz einfach.
Ich habe für verschiedene Aufgaben jeweils ein DOIF als Aufgabe erstellt, zb für Hausarbeiten oder Fahrzeugwartung. Diese werden in Abhängigkeit in verschiedene Stati versetzt None/Alert/Priority. Entsprechend des Status lasse ich Benachrichtigungen per Push und Alexa verteilen.
In miener FTUI3-Startseite habe ich nun eine Kachel die auf diese "Aufgaben" verweist und ich würde ganz gerne anzeigen lassen ob und eventuell wie viele Aufgaben anstehen, sprich das Icon anpassen.

Marko1976

Zitat von: betateilchen am 27 Juli 2025, 18:20:40count state=open
Also so wie ich das verstehe handelt es sich um einen Befehl für die Commandzeile der einmal abgesetzt einen Rückgabewert liefert.

Sollte ich mich da jetzt nicht vertuen kann ich es für meinen Sinn weniger gebrauchen, da ich den Wert ja dauerhaft berechnet und immer im Zugriff haben muss um die Anzeige im FTUI3 entsprechend reagieren zu lassen. Andernfalls müsste ich den Befehle ja immer wieder in regelmäßigen Abständen ausführen.
Oder verstehe ich  die commandref da falsch?

passibe

Ja, du müsstest das dann immer aktualisieren, z.B. mit einem notify mit entsprechender Regex, die dann auf das Event des zu zählenden Readings triggert.

Aber sowas geht wohl auch "aus einer Hand" mit einem DOIF, siehe hier https://fhem.de/commandref_DE.html#DOIF_aggregation bzw. das wurde hier diskutiert: https://forum.fhem.de/index.php?topic=90224.0 und auch hier: https://forum.fhem.de/index.php/topic,87144.msg795823.html

Denke damit solltest du dir was zusammenbauen können; wenn nicht, dann evtl. das Thema in das DOIF-Unterforum verschieben und dort wird dir dann sicherlich auch geholfen. Viel Erfolg!

P.S.: Gefunden habe ich das übrigens über eine Google-Suche nach site:fhem.de readings zählen