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?
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
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.
ich wage zu behaupten, dass es nicht an dem at liegt.
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.
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.
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.
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?
Ich wuerde kurz vor der erwarteten Ausfuehrung (das Wann steht auf der at Detailseite) "attr global verbose 5" setzen, und danach es wieder entfernen.
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)