NEWS
JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine
-
@haus-automatisierung Bekomme mit 7.9.3 und basic auth URLs immer noch 401 Unauthorized
URL sieht so aus: http://user:pw@IPDas Passwort enthält eine spitze Klammer
>als Sonderzeichen, falls das relevant ist.@diginix Stell das Script mal auf verbose um mehr Infos im Log zu bekommen was genau gesendet wird
-
@diginix Stell das Script mal auf verbose um mehr Infos im Log zu bekommen was genau gesendet wird
@haus-automatisierung Wie schon vermutet ist die spitze Klammer glaube das Problem.
In der Logausgabe ist sie encodiert:"auth":{"username":"user","password":"W4qkVKo%3E"}eigentlich ist es "W4qkVKo>"
-
@haus-automatisierung Wie schon vermutet ist die spitze Klammer glaube das Problem.
In der Logausgabe ist sie encodiert:"auth":{"username":"user","password":"W4qkVKo%3E"}eigentlich ist es "W4qkVKo>"
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
In der Logausgabe ist sie encodiert:
Diese Baustelle macht mich noch fertig :) 7.9.4 ist auf dem Weg
-
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
In der Logausgabe ist sie encodiert:
Diese Baustelle macht mich noch fertig :) 7.9.4 ist auf dem Weg
-
@ralla66 Post Request ohne Daten?
-
@ralla66 Post Request ohne Daten?
-
@ralla66 Pack mal
nullda rein. Also keinen Leerstring. -
@ralla66 Pack mal
nullda rein. Also keinen Leerstring.leider nein,
wird der Body Leer mit gesendet ? -
leider nein,
wird der Body Leer mit gesendet ?@ralla66 sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
leider nein,
Gerade getestet, funktioniert.

-
@ralla66 sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
leider nein,
Gerade getestet, funktioniert.

-
@ralla66 Du wollest einen leeren Post-Request und jetzt kommt die andere Seite damit nicht klar und möchte Werte? :)
Was rufst Du auf? Die ntp config? Die braucht doch Werte für die Konfiguration - laut Doku:
curl -u "admin:password" http://192.168.10.10/api/ntp/config -d 'data={"ntp_server":"my.own.ntp.server.home","ntp_timezone":"CET-1CEST,M3.5.0,M10.5.0/3","ntp_timezone_descr":"Europe/Berlin"}' {"type":"success","message":"Settings saved!"}Ich suche mal nicht weiter, gerne erklären wo der Fehler im JavaScript liegt mit einem funktionierenden Beispiel in curl.
-
@ralla66 Du wollest einen leeren Post-Request und jetzt kommt die andere Seite damit nicht klar und möchte Werte? :)
Was rufst Du auf? Die ntp config? Die braucht doch Werte für die Konfiguration - laut Doku:
curl -u "admin:password" http://192.168.10.10/api/ntp/config -d 'data={"ntp_server":"my.own.ntp.server.home","ntp_timezone":"CET-1CEST,M3.5.0,M10.5.0/3","ntp_timezone_descr":"Europe/Berlin"}' {"type":"success","message":"Settings saved!"}Ich suche mal nicht weiter, gerne erklären wo der Fehler im JavaScript liegt mit einem funktionierenden Beispiel in curl.
Danke soweit,
hatte auch die npt time getestet.
Schaue mal weiter, dann kann nur die Anfrage falsch sein. -
@haus-automatisierung mit 7.9.4 funktioniert basic auth nun
DANKE! -
@haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

09:24:16.358 info javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}}) 09:24:18.604 error javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded -
@haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

09:24:16.358 info javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}}) 09:24:18.604 error javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW
Welche FW Version? Dann kann ich das mal testen.
PS: Warum nicht per MQTT? :)
-
@jwerlsdf sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
wie ich genau den http get block benutzen muss, damit ich keinen timeout Fehler erhalte.
Aktuell ist der Timeout fix auf 2000ms gestellt. Warum dauert es denn so lange bis zum Response? Das ist ja eine halbe Ewigkeit. In der nächsten Version mach ich den Timeout konfigurierbar.
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Wie kann ich denn nun Basic Auth mit http://user:pw@ip im http GET verwenden?
Wie im Ausgangspost beschrieben, kann der Blockly-Baustein das aktuell nicht. Nur per JavaScript. Siehe Doku
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget
Ich muss mal schauen wie ich das alles anbieten kann, ohne den Baustein komplett zu überfrachten.
@haus-automatisierung
Den timeout auf z.b. 4000 zu erhöhen, bringt leider auch nichts. Hast du noch eine andere Idee? -
@haus-automatisierung
Den timeout auf z.b. 4000 zu erhöhen, bringt leider auch nichts. Hast du noch eine andere Idee?@jwerlsdf sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Hast du noch eine andere Idee?
Schauen warum der Request so lange läuft und z.B. mal mit curl testen was zurück kommt (und wann).
-
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW
Welche FW Version? Dann kann ich das mal testen.
PS: Warum nicht per MQTT? :)
@haus-automatisierung FW: 13.4.0(lite) und die Sonoff hängen alle am sonoff Adapter und nicht am mqtt. Hab noch nicht geschaut ob es da auch ein Topic gibt den man für den Reboot schreiben kann.
Konnte auf die Schnelle kein Objekt unter sonoff.0.%device% für reboot finden.
-
@haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

09:24:16.358 info javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}}) 09:24:18.604 error javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung
Sieht so aus als wäre das ein Bug in Axios, wenn die Verbindung einfach geschlossen wird (was scheinbar beim Restart passiert). Das heißt, Tasmota antwortet da nicht sauber. Siehe auch
https://github.com/axios/axios/issues/5286
Wenn ich das mit curl mache, dann wartet der auch ewig auf ein Ergebnis, ohne dass die Verbindung sauber geschlossen wird. Muss ich dann manuell abbrechen.
Kann ich also nicht beheben - muss Tasmota tun.
curl -vvv "http://10.10.9.241/cm?cmnd=Restart%2099" * Trying 10.10.9.241:80... * Connected to 10.10.9.241 (10.10.9.241) port 80 (#0) > GET /cm?cmnd=Restart%2099 HTTP/1.1 > Host: 10.10.9.241 > User-Agent: curl/7.88.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < Server: Tasmota/13.4.0 (ESP8285N08) < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Expires: -1 < Accept-Ranges: none < Transfer-Encoding: chunked < Connection: close < ^C -
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung
Sieht so aus als wäre das ein Bug in Axios, wenn die Verbindung einfach geschlossen wird (was scheinbar beim Restart passiert). Das heißt, Tasmota antwortet da nicht sauber. Siehe auch
https://github.com/axios/axios/issues/5286
Wenn ich das mit curl mache, dann wartet der auch ewig auf ein Ergebnis, ohne dass die Verbindung sauber geschlossen wird. Muss ich dann manuell abbrechen.
Kann ich also nicht beheben - muss Tasmota tun.
curl -vvv "http://10.10.9.241/cm?cmnd=Restart%2099" * Trying 10.10.9.241:80... * Connected to 10.10.9.241 (10.10.9.241) port 80 (#0) > GET /cm?cmnd=Restart%2099 HTTP/1.1 > Host: 10.10.9.241 > User-Agent: curl/7.88.1 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < Server: Tasmota/13.4.0 (ESP8285N08) < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Expires: -1 < Accept-Ranges: none < Transfer-Encoding: chunked < Connection: close < ^CWenn ich
Restart 1(1 = restart device with configuration saved to flash) nutze, klappt das übrigens und ich bekomme auch einen vernünftigen Response:{"Restart":"Restarting"


