Notify mit at, wo ist mein Fehler?

Begonnen von Jogi, 31 August 2019, 09:11:09

Vorheriges Thema - Nächstes Thema

Jogi

Hallo,
ich habe folgendes at, dass mein FHEM jeden Samstag um 08:00 Uhr neu starten soll.
Es funktioniert aber nicht. Ich habe schon gesucht, finde den Fehler aber nicht. Was mache ich falsch? Ein Tipp wäre super. Danke.
define FhemRestart at *08:00:00 { if ($wday == 6) { fhem ("shutdown restart") } }

Gruß,
Jogi

kumue

hm, Syntax sieht doch gut aus.
wüsste jetzt nicht, warum es nicht funktionen sollte.
kannst ja mal testweise shutdown restart durch zb. update check ersetzen... dann solle auch das im log auftauchen... nur rein um jetzt festzustellen, daß das at tut...

für mich ist es aber ein reines at,.
wie meinst du das in der überschrift "Notify mit at..." ?

Otto123

Hallo Jogi,

dein at leicht abgewandelt:
define FhemRestart at 11:37:00 { if ($wday == 6) { fhem ("shutdown restart") } }
funktioniert. Also da ist kein Fehler außer im Betreff :)
2019.08.31 11:37:00 0: Server shutdown
2019.08.31 11:37:00 1: Including fhem.cfg
2019.08.31 11:37:00 3: WEB: port 8083 opened


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

fiedel

Bei solchen Problemfällen gebe ich den Befehlsteil direkt in die Eingabezeile ein und spiele damit herum.
Wenn das dann geht, kann die gesamte Funktion zusammengebaut werden.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Jogi

Hallo zusammen,
Asche auf mein Haupt. Ihr habt natürlich recht:
1. Der Begriff "notify" in der Kopfzeile ist Schwachsinn. Keine Ahnung, warum ich das geschrieben habe. Es ist ein eindeutiges "at".
2. Das at funktioniert und hat auch immer funktioniert. Ein Blick ins Logfile hat mir das bestätigt. Hätte ich auch schon vorher sehen können. Mein Fehler!
Sorry für die Mühe.

Warum habe ich dann trotzdem die Frage gestellt?!
Ich war dadurch in die Irre geführt, weil ich normalerweise nach einem "shutdown restart" eine Telegram-Meldung bekomme:
define notify_fhem_reload notify global:INITIALIZED set teleBot message FHEM ist gerade neu gestartet! # FHEM Neustart

Dies Meldung bekomme ich aber nicht, wenn der shutdown restart über das at ausgelöst wurde.

Gebe ich in die Befehlszeile "shutdown restart" ein, startet das System und die Telegram Nachricht wird verschickt.

Warum ist das so, oder stehe ich da wieder irgendwo blind auf dem Schlauch?

kumue

Zitat von: Jogi am 31 August 2019, 09:11:09
Hallo,
ich habe folgendes at, dass mein FHEM jeden Samstag um 08:00 Uhr neu starten soll.
Es funktioniert aber nicht. .....
um mal auf den anfang zurückzukommen...
mit Es funktioniert aber nicht. meinst du also die telegram message... ?
der shutsown um 8 wird ausgeführt oder ?

Jogi

Zitat von: kumue am 01 September 2019, 23:43:20
um mal auf den anfang zurückzukommen...
mit Es funktioniert aber nicht. meinst du also die telegram message... ?
der shutsown um 8 wird ausgeführt oder ?
Ja genau.
Shutdown funktioniert, aber die Message kommt nicht.
Gebe ich shutdown restart in die Startzeile ein wird auch ein shutdown durchgeführt, aber die Message kommt. Ich verstehe den Unterschied nicht.

kumue

und wohl auch keine fehlermeldung im log... ?
hm, ich denke grad in die richtung:

Neustart => Event global:INITIALIZED => teleBot noch nicht initialisiert/geladen etc... => demzufolge keine message
aber ob das in die richtige richtung geht.... ?

Jogi

Zitat von: kumue am 02 September 2019, 14:35:54
und wohl auch keine fehlermeldung im log... ?
hm, ich denke grad in die richtung:

Neustart => Event global:INITIALIZED => teleBot noch nicht initialisiert/geladen etc... => demzufolge keine message
aber ob das in die richtige richtung geht.... ?

Nein, ich habe keine Fhelermeldung im Log gesehen. Was ich nicht verstehe:
Das hier
define FhemRestart at *08:00:00 { if ($wday == 6) { fhem ("shutdown restart") } }
müsste doch dasselbe sein, wie wenn ich am Samstag um 08:00 Uhr
shutdown restart
in die Befehlszeile eingebe.
Oder gibt es da einen Unterschied?

Wie schon beschrieben: Bei erstem bekomme ich keine TelegramBot Meldung über einen Neustart, bei zweitem immer.

Ich gucke mir morgen aber das Logfile noch mal genau an. Und ich habe mein at für morgen jetzt mal testweise definiert:
defmod FhemRestart at *08:00:00 { if ($wday == 2) { fhem ("shutdown restart") } }





Otto123

Hallo Jogi,

ich habe jetzt noch beides probiert. Dieses notify löst sowohl als auch aus.
defmod FhemRestart at *21:45:00 { if ($wday == 1) { fhem ("shutdown restart") } }
defmod notify_fhem_reload notify global:INITIALIZED {Log 1, "Das Notify n_test hat ausgeloest."}

Muss also entweder an Dir oder am teleBot liegen :)
Zitat2019.09.02 21:45:01 1: Das Notify n_test hat ausgeloest.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

kumue

@Otto123
Ist an meiner Überlegung was dran oder eher unwahrscheinlich ?
Neustart => Event global:INITIALIZED => teleBot noch nicht initialisiert/geladen etc... => demzufolge keine message

Wenn ja, könnte man ein sleep einbauen...

Jogi

Zitat von: Otto123 am 02 September 2019, 21:52:23

Muss also entweder an Dir oder am teleBot liegen :)
Gruß Otto

Otto hat recht. Es war eine Kombination von beidem.
Heute morgen um 08:00 Uhr hat alles wunderbar funktioniert. FHEM ist neu gestartet und die Meldung wurde via TelegramBot versendet.
Am Samstag hat es nicht funktioniert, weil die FritzBox kurz vorher auch neu gestartet ist und um 08:00 Uhr noch keine Internetverbindung hatte. Da konnte FHEM dann natürlich auch nichts senden.  :-\

Sorry, tut mir leid für den Aufwand, aber ich wäre alleine wahrscheinlich nicht darauf gekommen.

Euch einen schönen Tag,
Jogi

kumue

Zitat von: Jogi am 03 September 2019, 09:27:30
Heute morgen um 08:00 Uhr hat alles wunderbar funktioniert.

oh, ist schon wieder Samstag...  ;D


Otto123

@kumue Zu deinem Vorschlag: In der Doku steht: INITIALIZED after initialization is finished.
Ich würde mich jetzt mal drauf verlassen: FHEM läuft zu dem Zeitpunkt! Wenn das Modul noch etwas braucht sollte das einfach eine Verzögerung geben und ein sleep ist nicht von Nöten.

ZitatAm Samstag hat es nicht funktioniert, weil die FritzBox kurz vorher auch neu gestartet ist und um 08:00 Uhr noch keine Internetverbindung hatte. Da konnte FHEM dann natürlich auch nichts senden.
Da sollte es doch dann einen Log Eintrag geben?
Und wenn man für die "Informationssucht" ganz sicher gehen will, sollte eine ausgefallene Internet Verbindung über einen alternativen Kanal signalisiert werden :)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz