STATE des CULs, JeeLink überwachen

Begonnen von Christian1982, 17 April 2016, 17:55:20

Vorheriges Thema - Nächstes Thema

Christian1982

Hallo,
ich würde gerne den STATE meines CULs und JeeLink überwachen, da ich ein kompliziertes Setup zur Anbindung der USB-Geräte nutze (VM in KVM, ser2net). Bei einem Neustart kommt des manchmal vor, dass der CUL bzw. der Jeelink nicht mehr korrekt initialisiert wird.

Ich hab bisher nachfolgenden DOIF in Einsatz, jedoch bekomme ich dann immer nur EINE Meldung und daher habe ich die Meldung wohl beim letzen Neustart der VM übersehen.

INFO: "nitialized" deshalb, weil es beim CUL "initialized" heist und beim JeeLink "initialized".
------------------------------------------------

([CUL_1:state] !~ "nitialized")
    (set pushmsg msg 'CUL_1' 'Nicht Initialized -- State: [CUL_1:state]')
DOELSEIF ([JeeLink_1:state] !~ "nitialized")                             
   (set pushmsg msg 'JeeLink_1' 'Nicht Initialized -- State: [JeeLink_1:state]')


repeatsame 600
------------------------------------------------

FRAGE:
Gibt es eine Möglichkeit die selbe Nachricht "Nicht Initialized" alle 10 Minuten zu wiederholen, damit ich sowas in Zukunft nicht mehr übersehe?
Ich bräuchte etwas, was z.B. alle 10 Minuten überprüft ob der STATE des CUL bzw. Jeelink auf "nitialzed" steht und wenn nicht mir eine Pushover Nachricht schickt.


Per

Zitat von: Christian1982 am 17 April 2016, 17:55:20INFO: "nitialized" deshalb
Wenn du eh zwei Abfragen machst, musst du doch darauf keine Rücksicht nehmen.
Außerdem, wenn CUL und JeeLink Probleme haben, bekommst du nur vom zuletzt eingetroffenen eine mehrfache Info.

Christian1982

Ich hab es leider immer noch nicht hinbekommen den STATE meines CUL bzw. Jeelink zu überwachen.
Wie realisiere ich es in FHEM alle 15 Minuten zu prüfen ob der "state" von CUL oder Jeelink auf initialized bzw. Initialized gesetzt ist.
Wenn dies nicht der Fall ist, möchte ich eine Push Nachricht erhalten.

DoIF bietet zwar die Option "[+:15]", ich verstehe jedoch nicht wie man dies mit der state Überwachung kombiniert.


Dies würde ich gerne Umsetzen:
while True:
   if ([CUL_1:state] !~ "nitialized")
       (set pushmsg msg 'CUL_1' 'Nicht Initialized -- State: [CUL_1:state]')
   if ([JeeLink_1:state] !~ "nitialized")
       (set pushmsg msg 'JeeLink_1' 'Nicht Initialized -- State: [JeeLink_1:state]')
 
   sleep(15 minuten)

ht

Hast Du Dir mal at angesehen? Sowas wie (nur ganz grob geraten)

define at xyzzy +*00:10 IF ([CUL_1:state] !~ "nitialized") (set pushmsg msg 'CUL_1' 'Nicht Initialized -- State: [CUL_1:state]')}

Volker
FHEM 5.7, RasPI 2, HomeMatic über HMUSB, JeeLink Clone, Viessmann Heizung

Christian1982

So funktioniert es, leider ist die Syntax zwischen Doif und at mal wieder unterschiedlich


define at_state_CUL     at +*00:10 { if (ReadingsVal("CUL_1","state","ERROR") ne "Initialized") { fhem("set pushmsg msg 'CUL_1' 'Nicht Initialized' ")} }
define at_state_JeeLink at +*00:10 { if (ReadingsVal("JeeLink_1","state","ERROR") ne "initialized") { fhem("set pushmsg msg 'JeeLink_1' 'Nicht Initialized' ")} }

Damian

Zitat von: Christian1982 am 23 Mai 2016, 22:24:40
So funktioniert es, leider ist die Syntax zwischen Doif und at mal wieder unterschiedlich


define at_state_CUL     at +*00:10 { if (ReadingsVal("CUL_1","state","ERROR") ne "Initialized") { fhem("set pushmsg msg 'CUL_1' 'Nicht Initialized' ")} }
define at_state_JeeLink at +*00:10 { if (ReadingsVal("JeeLink_1","state","ERROR") ne "initialized") { fhem("set pushmsg msg 'JeeLink_1' 'Nicht Initialized' ")} }


Wenn die Statusänderung triggert, dann ist ständiges Abfragen nicht sinnvoll, wenn man die Information auch "zeitgleich" haben kann.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Christian1982

Bei mir ist das Setup etwas komplizierter (VMs mit Kvm und ser2net), daher kann es beim Neustart manchmal dazu kommen das der Cul sich nicht korrekt initialisiert. Da Hilft kein leider kein Trigger.