FHEM Forum

FHEM => Automatisierung => Thema gestartet von: crossbike0815 am 29 November 2017, 10:33:22

Titel: Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: crossbike0815 am 29 November 2017, 10:33:22
Hallo,
ich habe folgendes definiert:
define Gartenhaus_Steckdose_an_Winter at *{sunset(-900,"16:00","23:00")} {GetHttpFile('192.168.178.38:80', '/control?cmd=GPIO,5,1&')}
attr Gartenhaus_Steckdose_an_Winter room Garten
attr Gartenhaus_Steckdose_an_Winter verbose 5
attr Gartenhaus_Steckdose_an_Winter webCmd execNow

Dies verwende ich mit einem anderen HTTP-Server schon länger ohne Auffälligkeiten, habe hier als Ziel einen kleinen ESP32 mit ESPeasy. Problem ist aber, dass er zu der at-Zeit nichts tut

2017.11.28 16:23:42 5: exec at command Gartenhaus_Steckdose_an_Winter
2017.11.28 16:23:46 5: redefine at command Gartenhaus_Steckdose_an_Winter as *{sunset(-900,"16:00","23:00")} {GetHttpFile('192.168.178.38:80', '/control?cmd=GPIO,5,1&')}

Wenn ich jetzt kurz danach aber das ganze manuell mit execNow aufrufe, dann macht er genau was er soll:

2017.11.28 16:25:35 3: Gartenhaus_Steckdose_an_Winter: {
"log": "GPIO 5 Set to 1",
"plugin": 1,
"pin": 5,
"mode": "output",
"state": 1
}

Aber warum nicht automatisch?
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: Thorsten Pferdekaemper am 29 November 2017, 10:36:06
Hi,
könntest Du Dir angewöhnen, code-Tags zu verwenden?
...und für das at: Vielleicht war es um 16:23 einfach schon zu spat?
Gruß,
   Thorsten
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: crossbike0815 am 29 November 2017, 10:42:12
Zitat von: Thorsten Pferdekaemper am 29 November 2017, 10:36:06
Hi,
könntest Du Dir angewöhnen, code-Tags zu verwenden?
...und für das at: Vielleicht war es um 16:23 einfach schon zu spat?
Gruß,
   Thorsten
Ähhhm ja, ich gelobe Besserung, bin aber auch kein ständiger Forenuser...
Und was genau meinst Du mit "zu spät"? Die Ausgaben um 16:23.xx zeigen mir doch, dass er zu der Zeit das at ausgeführt hat. Nur hatte es keine Wirkung, denn augenscheinlich wurde das getHTTPFile nicht aufgerufen.
Zwei Minuten später hab ich das at dann manuell mit execNow ausgeführt, was dann auch sofort funktioniert hat.
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: automatisierer am 29 November 2017, 10:51:11
ich wage zu behaupten, dass es nicht an dem at liegt.
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: crossbike0815 am 29 November 2017, 11:57:56
Zitat von: automatisierer am 29 November 2017, 10:51:11
ich wage zu behaupten, dass es nicht an dem at liegt.
Sondern? Immerhin funktioniert es ja durch execNow, so dass es an der Definition eigentlich nicht liegen sollte.
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: automatisierer am 29 November 2017, 13:04:52
ist es schon öfter vorgekommen, dass der Befehl nicht ausgeführt wurde? Oder erst ein Mal?

Ist ja möglich, dass zu dem Zeitpunkt irgend welche andere Umstände dazu geführt haben, dass der Befehl nicht and das Device übertragen werden konnte.



Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: crossbike0815 am 29 November 2017, 16:07:38
Zitat von: automatisierer am 29 November 2017, 13:04:52
ist es schon öfter vorgekommen, dass der Befehl nicht ausgeführt wurde? Oder erst ein Mal?
Ja, automatisch hat es noch nie funktioniert (ist aber erst seit Sonntag aktiviert). Manuell geht, braucht aber manchmal ein zweites execNow.
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: automatisierer am 29 November 2017, 16:13:33
dann würde ich den Fehler eher im dem Bereich suchen:
{GetHttpFile('192.168.178.38:80', '/control?cmd=GPIO,5,1&')}

hat der ESP vielleicht ne schlechte WLan Verbindung?
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: rudolfkoenig am 29 November 2017, 16:54:07
Ich wuerde kurz vor der erwarteten Ausfuehrung (das Wann steht auf der at Detailseite) "attr global verbose 5" setzen, und danach es wieder entfernen.
Titel: Antw:Befehl wird bei at nicht ausgeführt, execNow funktioniert aber
Beitrag von: automatisierer am 29 November 2017, 17:22:59
quasi so:
defmod Gartenhaus_Steckdose_an_Winter_Verb5on at *{sunset(-960,"16:00","23:00")} attr global verbose 5
attr Gartenhaus_Steckdose_an_Winter_Verb5on room test

und so...
defmod Gartenhaus_Steckdose_an_Winter_Verb5off at *{sunset(-840,"16:00","23:00")} attr global verbose 2
attr Gartenhaus_Steckdose_an_Winter_Verb5off room test


macht verbose 5 ne Minute vorher an und ne Minute später wieder aus...  8)