Hauptmenü

DOIF - Telegram bei Ausfall

Begonnen von Tungsten, 02 April 2019, 08:34:05

Vorheriges Thema - Nächstes Thema

Tungsten

Hallo Zusammen,

ich will mir ein Teleggram schicken lassen, wenn ein Reading nicht aktualisiert wird, da dann vermutlich die Verbindung ausgefallen ist. Irgendwie klappt das aber nicht. Könnte mich jemand in die richtige Richtung schubsen?

List vom DOIF


Internals:
   DEF        ([Aussen:humidity]) (set telegram message Achtung \nJeeLink Ausfall) DOELSE
   FUUID      5c472d1a-f33f-2776-d4fc-a4458db9dbxxxxx
   MODEL      FHEM
   NAME       JeelinkAusfallDOIF
   NR         112
   NTFY_ORDER 50-JeelinkAusfallDOIF
   STATE      cmd_1
   TYPE       DOIF
   VERSION    18890 2019-03-13 18:56:41
   READINGS:
     2019-03-29 10:52:39   Device          Aussen
     2019-03-17 10:12:15   cmd             1
     2019-03-17 10:12:15   cmd_event       Aussen
     2019-03-17 10:12:15   cmd_nr          1
     2019-03-29 10:51:43   e_Aussen_humidity 68
     2019-01-24 12:52:02   mode            enabled
     2019-03-17 10:12:15   state           cmd_1
     2019-03-29 10:51:43   wait_timer      29.03.2019 11:51:43 cmd_1 Aussen
   Regex:
     accu:
   attr:
     wait:
       0:
         3600
   condition:
     0          ::ReadingValDoIf($hash,'Aussen','humidity')
   devices:
     0           Aussen
     all         Aussen
   do:
     0:
       0          set telegram message Achtung \nJeeLink Ausfall
     1:
       0         
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   perlblock:
   readings:
     0           Aussen:humidity
     all         Aussen:humidity
   uiState:
   uiTable:
Attributes:
   do         resetwait
   room       6_DOIF,Telegram
   wait       3600


List vom Device

Internals:
   DEF        00
   FUUID      5c472d15-f33f-2776-0f6b-375b19fb0xxxxxxx
   IODev      myJeeLink
   NAME       Aussen
   NR         74
   STATE      T: 14.5 H: 68
   TYPE       LaCrosse
   addr       00
   corr1      0
   corr2      0
   READINGS:
     2019-03-29 10:56:03   battery         ok
     2019-03-29 10:56:03   humidity        68
     2019-03-29 10:55:40   state           T: 14.5 H: 68
     2019-03-29 10:56:03   temperature     14.5
     2019-03-12 14:44:38   windDirectionDegree 247.5
     2019-03-12 14:44:38   windDirectionText WSW
     2019-03-12 14:44:38   windGust        80.9
     2019-03-12 14:44:38   windSpeed       48.6
Attributes:
   DbLogExclude state,battery
   DbLogInclude temperature|humidity
   IODev      myJeeLink
   alias      1 Aussen
   event-min-interval temperature:900,humidity:900,state:900,battery:43200
   event-on-change-reading humidity:3,temperature:1
   fp_1_OG    191,875,1,Aussen,
   fp_2_EG    119,290,1,Aussen,
   fp_3_Keller 121,251,1,Aussen,
   icon       icoKLIMA
   room       2_Temperaturen
   suppressReading rain




Per


Tungsten

es wird kein Telegram verschickt. Telegram an sich funktioniert aber mit anderen DOIFs, sollte somit funktionieren.
Somit vermute ich den Fehler im DOIF, das erkennen soll wenn sich das Reading des Sensors nicht geändert hat in einem Zeitraum.

Damian

Zitat von: Tungsten am 02 April 2019, 12:07:17
es wird kein Telegram verschickt. Telegram an sich funktioniert aber mit anderen DOIFs, sollte somit funktionieren.
Somit vermute ich den Fehler im DOIF, das erkennen soll wenn sich das Reading des Sensors nicht geändert hat in einem Zeitraum.

laut list hat DOIF aber die Anweisung um 10:12:15 Uhr ausgeführt:

2019-03-17 10:12:15   cmd             1
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tungsten

ja, aber das war am 17.3.
das Device hat die Readings zuletzt am 29.3. aktualisiert. Da wurde der Pi auch einmal neu gestartet.
Damit hätte am 29.3. das DOIF schalten müssen, hat es aber nicht... :-(

     2019-03-29 10:56:03   humidity        68

Per

Sensor
2019-03-29 10:56:03   humidity        68

DOIF
2019-03-29 10:51:43   wait_timer      29.03.2019 11:51:43 cmd_1 Aussen

Sieht für mich aus, als geht es. War nur noch nicht so weit (11:51:43 sollte Telegram zuschlagen).

Tungsten

ja, aber heute ist der 2.4. und es ist nichts passiert, angekommen. also funktioniert es nicht. weiß aber nicht warum....

Tungsten

wenn ich manuell cmd_1 setze kommt die Nachricht an aber nicht im Live Betrieb.

Per

Setz das DOIF mal zurück und fang von vorn an.

Damian

Zitat von: Tungsten am 02 April 2019, 13:50:12
ja, aber heute ist der 2.4. und es ist nichts passiert, angekommen. also funktioniert es nicht. weiß aber nicht warum....

Du postest heute Lists, die aber schon paar Tage alt sind:

     2019-03-29 10:51:43   wait_timer      29.03.2019 11:51:43 cmd_1 Aussen


Dieser Eintrag wird entweder verlängert mit aktuellem Datum oder verschwindet, wenn er abläuft (nach 3600 Sekunden). Beides passt hier nicht zu heute.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tungsten

#10
nein, beide lists sind heute morgen frisch gezogen. es hätte am 29.3. ein Telegram geschickt werden sollen. Wurde es aber nicht. Seit dem sind die Readings nicht aktualisiert worden, da das Device nicht ansprechbar ist. Genau deshalb soll ja das Telegram geschickt werden, damit ich in den Kellere gehe und es einmal aus und wieder einstecke. Leider hat der Stick am Pi kein FTDI so dass nach Pi Restart der Stick einmal neu eingesteckt werden muss. Da ich dies immer vergesse habe ich das DOIF angelegt. Das scheint aber nicht zu funktionieren.

Ellert

Zitat von: Tungsten am 02 April 2019, 14:49:22
nein, beide lists sind heute morgen frisch gezogen. es hätte am 29.3. ein Telegram geschickt werden sollen. Wurde es aber nicht. Seit dem sind die Readings nicht aktualisiert worden, da das Device nicht ansprechbar ist. Genau deshalb soll ja das Telegram geschickt werden, damit ich in den Kellere gehe und es einmal aus und wieder einstecke. Leider hat der Stick am Pi kein FTDI so dass nach Pi Restart der Stick einmal neu eingesteckt werden muss. Da ich dies immer vergesse habe ich das DOIF angelegt. Das scheint aber nicht zu funktionieren.
wait-Timer überleben keinen Neustart. Mit DOIFtools kannst Du vor einem Neustart abfragen, ob noch wait-Timer laufen, s. https://wiki.fhem.de/wiki/DOIFtools#Laufende_Wait-Timer_anzeigen

Tungsten

hm, dann hab ich ein grundsätzliches design problem. wie löse ich das problem? ich schaue doch vor einem neustart nicht in FHEM nach wait timern, sonst könnte ich ja auch dran denken in den keller zu laufen und den stick raus und reinzustecken. vergesse ich aber immer wieder...

Damian

Zitat von: Tungsten am 02 April 2019, 14:49:22
nein, beide lists sind heute morgen frisch gezogen. es hätte am 29.3. ein Telegram geschickt werden sollen. Wurde es aber nicht. Seit dem sind die Readings nicht aktualisiert worden, da das Device nicht ansprechbar ist. Genau deshalb soll ja das Telegram geschickt werden, damit ich in den Kellere gehe und es einmal aus und wieder einstecke. Leider hat der Stick am Pi kein FTDI so dass nach Pi Restart der Stick einmal neu eingesteckt werden muss. Da ich dies immer vergesse habe ich das DOIF angelegt. Das scheint aber nicht zu funktionieren.

Dann muss auch dein DOIF stehen ;) , denn

dieser Eintrag

    2019-03-29 10:51:43   wait_timer      29.03.2019 11:51:43 cmd_1 Aussen

kann so nicht sein . Ob dein Device etwas sendet oder nicht, es können hier keine Zeiten stehen, die älter als deine gesetzten 3600 Sekunden sind.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Tungsten

was soll ich sagen, so habe ich es heute morgen ausgelesen.... :-(