FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Dieter68 am 05 Juli 2018, 14:08:43

Titel: ESP8266 per gethttpfile rebooten
Beitrag von: Dieter68 am 05 Juli 2018, 14:08:43
Hallo,

ich verwende einige ESP8266 Bausteine die nach einigen Tagen einige Funktionen die über die Rules gesteuert werden nicht mehr ausführen wollen.

Da ich das Problem jetzt nicht weiter eingrenzen kann bleibt mir aktuell nichts anderes übrig wie die Bausteine in regelmäßigen Abständen neu zu starten.

Dazu gibt es in den Bausteine eine Regel "reboot" die ich per http aufrufen kann um eben den Baustein zurück zu setzen.

Das ganze kann ich auch aus FHEM mit folgendem Aufruf direkt in der FHEM Kommandozeile anstoßen:

{ GetHttpFile("192.168.1.105:80", "/control?cmd=event,rebooting") }


Jetzt möchte ich das ganze per Zeitsteuerung aufrufen. Dazu habe ich folgendes gemacht:

define MeineAktion at *06:05:00 { fhem (" {GetHttpFile(\"192.168.1.105:80\", \"/control?cmd=event,rebooting\") ") }


Das Ding wird auch laut Logfile  ausgeführt aber es erfolgt kein Reboot.

Im Logfile steht folgendes:

2018.07.05 13:53:54 3: Login denied by allowedWEB for Dieter via WEB_192.168.1.50_56996
2018.07.05 13:55:00 3:  {GetHttpFile("192.168.1.105:80", "/control?cmd=event,rebooting")  : Unknown command {GetHttpFile("192.168.1.105:80",, try help.
2018.07.05 13:55:00 3: MeineAktion: Unknown command {GetHttpFile("192.168.1.105:80",, try help.



Leider finde ich den Fehler nicht.

Es wäre also schön wenn Ihr mir einen Tipp geben könntet woran das liegt.

Danke und Gruß
Dieter68
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: Frank_Huber am 05 Juli 2018, 14:13:57
evtl so?

define MeineAktion at *06:05:00 {GetHttpFile(\"192.168.1.105:80\", \"/control?cmd=event,rebooting\") }
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: Dieter68 am 05 Juli 2018, 14:21:48
Teste ich sofort .....und melde mich dann.

Danke

Gruß
Dieter68
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: betateilchen am 05 Juli 2018, 14:24:10
Zitat von: Frank_Huber am 05 Juli 2018, 14:13:57
define MeineAktion at *06:05:00 {GetHttpFile(\"192.168.1.105:80\", \"/control?cmd=event,rebooting\") }

Das sollte auch ohne Maskierung funktionieren.

Einfache Regel: Alles was man schon in der FHEM Befehlszeile in geschweiften Klammern ausführt, ist schon perl code und kann 1:1 inklusive der geschweiften Klammern in den Ausführungsteil eines at oder notify übernommen werden.
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: Dieter68 am 05 Juli 2018, 14:25:06
Leider war es das nicht..... :-\

Wenn ich das in die Kommandozeile eingebe bekomme ich sofort folgende Fehlermeldung:

Can't find string terminator '"' anywhere before EOF at (eval 1045714) line 1.

Gruß
Dieter68
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: Dieter68 am 05 Juli 2018, 14:29:23
Zitat von: betateilchen am 05 Juli 2018, 14:24:10
Das sollte auch ohne Maskierung funktionieren.

Einfache Regel: Alles was man schon in der FHEM Befehlszeile in geschweiften Klammern ausführt, ist schon perl code und kann 1:1 inklusive der geschweiften Klammern in den Ausführungsteil eines at oder notify übernommen werden.


Danke für den Hinweis.....

Ich teste das gerade mal - ich melde mich mit dem Ergebnis
Titel: Antw:ESP8266 per gethttpfile rebooten
Beitrag von: Dieter68 am 05 Juli 2018, 14:38:49
Zitat von: betateilchen am 05 Juli 2018, 14:24:10
Das sollte auch ohne Maskierung funktionieren.

Einfache Regel: Alles was man schon in der FHEM Befehlszeile in geschweiften Klammern ausführt, ist schon perl code und kann 1:1 inklusive der geschweiften Klammern in den Ausführungsteil eines at oder notify übernommen werden.


Hallo,

so geht es :

define MeineAktion at *06:05:00 {GetHttpFile("192.168.1.105:80", "/control?cmd=event,rebooting") }


Danke für die schnelle Hilfe. Ja zum Thema Perl muss ich noch eine Menge lernen.

Aber so kann ich die Probleme in meiner Haussteuerung stark minimieren auch wenn es jetzt keine echte Lösung ist.

Also danke an Euch

Gruß
Dieter68