FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: AB1970 am 08 November 2016, 14:58:18

Titel: Durch alle Geräte enumerieren
Beitrag von: AB1970 am 08 November 2016, 14:58:18
Hallo,
ich würde gerne von allen Geräten:
a) Kontrollieren ob Dead oder Alive
b) Den Batteriestand abfragen

Wie kann man das am einfachsten umsetzen ?
Habe gesucht aber keinen Thread gefunden, hab ich was übersehen ?

Danke !!
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: CBSnake am 08 November 2016, 15:05:04
Hi,
such mal anstatt Batteriestand, nach batteriewarnung ;-)
Grüße
Achim

Gesendet von meinem SM-P605 mit Tapatalk

Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: sumsum am 08 November 2016, 15:15:35
In der Befehlsbox

list Activity=dead
list Activity=alive

Für den Anfang bei der Batterie,
list battery=\w+
Das bringt aber auch einige virtuelle Geräte. Vielleicht kann da auch unter Gross- und Kleinschreibung unterschieden sein.
Wenn du die dann weiterverarbeiten willst in Perl, dann schau mal unter devspec2array().
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: Otto123 am 08 November 2016, 15:22:21
Hi,

ist aus dem Wiki glaube ich, die DEF für ein notify :
.*:[Bb]attery:.* { if ($EVENT !~ m/ok/) {
{ DebianMail('name@domain.de', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)};\
Log 3, "$NAME : Batteriewarnung $EVENT";
} \ 
}
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: Benni am 10 November 2016, 11:25:08
Falls es sich ausschließlich um Homematic-Geräte handelt, leistet hminfo (http://fhem.de/commandref_DE.html#HMinfo) gute Dienste :)
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: ralfix am 11 November 2016, 00:31:40
oder noch einfacher:
define battStatus readingsGroup .*:[Bb]attery

Gruß Ralf
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: AB1970 am 12 November 2016, 13:43:46
Super vielen dank!
list Activity=dead
scheint mir nicht ganz verlässlich zu sein, daher würde ich gerne checken, wie lange sich das Gerät nicht mehr gemeldet hat. Geht das auch ?
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: AB1970 am 06 Januar 2017, 13:32:50
Die Antwort habe ich inzwischen herausgefunden:


my $time = ReadingsTimestamp($dev, "Activity", 0);


Ist der Befehl der Wahl.
Titel: Antw:Durch alle Geräte enumerieren
Beitrag von: AB1970 am 06 Januar 2017, 13:48:16
Das fertige Script findet ihr unter:
https://forum.fhem.de/index.php/topic,64218.0.html