FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: eiten am 15 Januar 2018, 15:31:36

Titel: [Gelöst] Ohne Script prüfen, ob Device existiert
Beitrag von: eiten am 15 Januar 2018, 15:31:36
Hallo zusammen,

gibts in FHEM ne Möglichkeit zu prüfen, ob ein Device existiert? Ich habe einen (experimentellen) Aussenklimasensor, der an einem ESP8266 hängt der meistens schläft und alle 5 Minuten die Temperatur, Luftfeuchtigkeit und Batteriespannung sendet. Da ich momentan die Batterie leerlaufen lassen will ich alarmiert werden, sobald der ESP 10 Minuten nichts mehr von sich hat hören lassen. Das geht wunderbar damit:
define aussensensorPruefen notify AussenKlima:temperature:.* {\
fhem("defmod aussenSensorWarnung at +00:10 teleBot message Der Aussensensor hat seit 10 Minuten keine Daten mehr gesendet. Bitte Batterie prüfen!");;\
fhem("attr aussenSensorWarnung room Klima");;\
}


Nun gibts manchmal den Fall, dass der ESP kein Netz bekommt und sich wieder schlafen legt, aber nach 15 Minuten wieder sendet. Da würde ich gerne hinterherreichen, dass nun wieder etwas eingetroffen ist. Dies wollte ich so machen, dass ich prüfe, ob aussenSensorWarnung existiert (dieser wird ja gelöscht, wenn er auslöst). Ich hab's mitdefine aussensensorPruefen notify AussenKlima:temperature:.* { if (!defined($defs("aussenSensorWarnung"))){... probiert, aber das geht nicht, da fhem $defs nicht kennt. Hat jemand eine Idee?

Danke und Gruss, Edi
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: KernSani am 15 Januar 2018, 15:56:03
Es gibt das monitoring Modul (https://fhem.de/commandref.html#monitoring) das im Prinzip genau das macht, was du willst... ist aber vielleicht ein bisschen viel für deinen Zweck...

Ansonsten würde mir spontan einfallen die devspec2array Funktion zu nutzen...
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: marvin78 am 15 Januar 2018, 16:05:21
Probiere es mal mit

$defs{"aussenSensorWarnung"}
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: herrmannj am 15 Januar 2018, 16:17:57
für die Überwachung existiert "watchdog", genau für den beschriebenen Fall.  https://fhem.de/commandref_DE.html#watchdog
Zitat
Nun gibts manchmal den Fall, dass der ESP kein Netz bekommt und sich wieder schlafen legt, aber nach 15 Minuten wieder sendet. Da würde ich gerne hinterherreichen, dass nun wieder etwas eingetroffen ist. Dies wollte ich so machen, dass ich prüfe, ob aussenSensorWarnung existiert (dieser wird ja gelöscht, wenn er auslöst).
Kann man so machen. Man kann aber auch den Intervall auf zb 60min setzen, dann kannst Du sechs Nachrichten verpassen bevor der watchdog auslöst. Batterielaufzeit ist dann x minus 60 min. ...
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: eiten am 15 Januar 2018, 17:47:49
Hallo zusammen,

herzlichen Dank, das mit $defs{"aussenSensorWarnung"} hat perfekt geklappt. Monitoring schaut mir ein wenig kompliziert aus, aber interessant. Da werde ich mich auf jeden Fall mal einarbeiten! Und den watchdog kannte ich auch noch nicht. Mal schauen, was sich damit anstellen lässt.

Schönen Abend zusammen,
Gruss, Edi
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: igami am 15 Januar 2018, 18:18:30
Monitoring ist im Prinzip auch nur ein aufgebohrter, globaler watchdog für eine Gruppe von Geräten.
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: KernSani am 15 Januar 2018, 19:41:27
Können wir dann auf gelöst setzen, oder? (Subject des ersten Posts ändern und [Gelöst] vorne dran schreiben)
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: eiten am 15 Januar 2018, 19:44:18
Zitat von: KernSani am 15 Januar 2018, 19:41:27
Können wir dann auf gelöst setzen, oder? (Subject des ersten Posts ändern und [Gelöst] vorne dran schreiben)
Aber sicher. Und danke für die Anleitung. Ich habe nach nem Button gesucht  :o ::) :P
Titel: Antw:Ohne Script prüfen, ob Device existiert
Beitrag von: DeeSPe am 15 Januar 2018, 19:46:20
Zitat von: eiten am 15 Januar 2018, 17:47:49
Hallo zusammen,

herzlichen Dank, das mit $defs{"aussenSensorWarnung"} hat perfekt geklappt. Monitoring schaut mir ein wenig kompliziert aus, aber interessant. Da werde ich mich auf jeden Fall mal einarbeiten! Und den watchdog kannte ich auch noch nicht. Mal schauen, was sich damit anstellen lässt.

Schönen Abend zusammen,
Gruss, Edi

Noch einfacher und "sicherer" geht es mit der Funktion:
IsDevice("aussenSensorWarnung")

Gruß
Dan