Auslesen aller Geräte mit einem Reading

Begonnen von subseven, 13 Juni 2019, 15:37:40

Vorheriges Thema - Nächstes Thema

subseven

Hallo zusammen,

seit ein paar Stunden probier ich nun mit ein AT einzurichten was mir meine Geräte auf Handy schickt, bei denen die Batterie leer ist. Die Lösung über Notify ist nicht so richtig elegant, da man entweder Einschränkungen in der Zeit oder beim Zeitpunkt gibt.
Lieber wäre mir ein Bericht/Zusammenfassung, der/die einmal am Tag kommt.
Lösen ließe sich das, indem man von jedem Gerät (manuell) per ReadingsVal den Status auswertet und dann weiter verarbeitet, was aber statisch und unflexibel ist.

Ich habe mich mit devspec2array versucht bin aber nicht zum Ziel gekommen. Das devspec2array liefert mir immer nur die Anzahl statt eine Liste. Ich weis auch nicht so genau, wie ich das Array dann sinnvoll ausgeben kann.

Falls mir jemand hier unter die Arme greifen könnte wäre sehr nett.

DeeSPe

Hier ein möglicher Code für ein at:

fhem "msg Auszutauschende Batterien: ".join(", ",devspec2array("battery<=50"));


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

subseven

Danke für die Antwort.
Das erfüllt genau die Anforderung.
Meiner nicht funktionierende Lösung sah etwa so aus:
{foreach my $devicename(devspec2array("FILTER=battery=.*")){return $devicename}}

Ich denke ich hab noch einiges zu lernen :-)