Befehl wird bei at nicht ausgeführt, execNow funktioniert aber

Begonnen von crossbike0815, 29 November 2017, 10:33:22

Vorheriges Thema - Nächstes Thema

crossbike0815

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?

Thorsten Pferdekaemper

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
FUIP

crossbike0815

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.

automatisierer


crossbike0815

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.

automatisierer

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.




crossbike0815

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.

automatisierer

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?

rudolfkoenig

Ich wuerde kurz vor der erwarteten Ausfuehrung (das Wann steht auf der at Detailseite) "attr global verbose 5" setzen, und danach es wieder entfernen.

automatisierer

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)