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.
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
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.
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.
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?
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