NEWS
Hilfe bei Skripte von request auf httpGet umbauen
-
@rushmed Probiere mal
/cm?cmnd=Restart%201
Die
%20
maskieren das Leerzeichen (URL-Encoding), vielleicht liegt es daran -
@bananajoe sagte in Hilfe bei Skripte von request auf httpGet umbauen:
%20
Hat leider nicht geholfen. Die Meldung kommt dennoch.
Ich verstehe wiklich nicht warum die Meldung bei:
auftritt, aber bei:
nicht. -
Hier evtl eine zusatzinformation zum Problem
https://github.com/axios/axios/issues/5753Eine Lösung dafür hab ich allerdings nicht gesehen und gesucht
-
@oliverio Danke aber Logindaten sind für den Befehl nicht notwendig.
-
Shit falscher thread
-
bei tasmota mit dem httpget baustein bekomme ich öfters bei 2000ms einen fehler - verhindern kann ich das nur mit 4000ms timeout einstellung
das wurde schon mal diskutiert und keine lösung gefunden - meine vermutung ist eher, das die esp's irgendwie beschäftigt sind, bevor sie eine antwort senden, da 2 sek eine ewigkeit im netztraffik sind und kein thema sein sollte
ich würde auch evtl einen pause block in deine schleife einfügen - wenn man zu schnell mehrere esp' s anspricht, habe ich schon immer probleme gehabt
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
bei tasmota mit dem httpget baustein bekomme ich öfters bei 2000ms einen fehler
ist bei mir auch so, aber erst gekommen mit dem neuen Get Baustein. Bei Request deprecated
war auch noch Ruhe im Log. Das scheint aber nicht an Tasmota zu liegen da ich die Json auch von
Esp zu Esp abhole und da läuft alles sauber.
Es sollte der Wert auf 0 gesetzt werden können für Aus. -
@rushmed der Sonoff-Adapter hat keine Funktion um beliebige Befehle zu senden, oder?
Ich nutze Tasmota nativ mit einem MQTT-Broker, da würde ich einfach unter dem Topic/cmd/gerätename/Restart
eine1
senden ... Da gibt es dann auch keine Timeoutprobleme weil der Tasmota das abonniert hat und vom Broker benachrichtigt wird -
@liv-in-sky Das Timeout zu erhöhen brigt bei mir nichts.
Wie gesagt der ESP regaiert auf den Befehl und sendet eine Antwort. Die Antwort kommt 60 ms nach Scriptstart, siehe unten.@rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen:
Hallo meine Herren,
ich muss nochmal nach dem Thema:
timeout of 2000ms exceeded
fragen.
Wenn ich diesen Block ausführe:
bekomme ich diese Antwort:javascript.0 19:17:46.172 info Start JavaScript script.js.Matrix_Displays (Blockly) javascript.0 19:17:46.207 info script.js.Matrix_Displays: registered 69 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:17:46.267 info script.js.Matrix_Displays: {"Restart":"Restarting"} javascript.0 19:17:50.287 error script.js.Matrix_Displays: timeout of 2000ms exceeded
Der Befehl wird auf dem (Tasmota) Gerät ausgeführt und die Antwort kommt ja augenscheinlich auch im ioBroker an. Warum kommt dann hier der Error und kann ich etwas dagegen tun?
Danke vorab.
-
@ralla66 sagte in Hilfe bei Skripte von request auf httpGet umbauen:
Bei Request deprecated
war auch noch Ruhe im Logbei mir selbes Verhalten.
@liv-in-sky
bei mir noch immer das mit dem Timeout.
Immer zur 10. Minute und zur 61. Minute.iobroker, [03.06.2024 06:00] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:01] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:10] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:20] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:30] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:40] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 06:50] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 07:00] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 07:01] VZ Script-Timeout über 2 Sekunden iobroker, [03.06.2024 07:10] VZ Script-Timeout über 2 Sekunden
-
Kann jemand zuverlässig die Timeouts zu Tasmota reproduzieren?
Wenn ja, bitte ich um ein Script und um die genaue Angabe der Tasmota-Version.
Am Ende läuft unter httpGet aktuell auch nur axios und es wird alles 1:1 so weitergegeben. -
@negalein bei dir wird ein pi abefragt und ich glaube du fragst im sekunden bereich - alle 10 oder so - daher ist dein fehler eher auf dem pi zu suchen - wir vermuten doch, der arbeitet da etwas ab und läßt keine verbindung zu
allein, dass das alle 10 minuten kommt, obwohl du öfters abfrägst, weißt für mich eher auf die gegenstelle hin und nicht httpget - zusätzlich nutzen wir direkt axios im script
oder täusche ich mich ?
-
Ich polle mir per javascript script den Server meiner PV Anlage und parse da Informationen runter. Das habe ich per "request" jetzt seit Jahren am Laufen, ohne jemals einen Fehler oder eine fehlerhafte Rückmeldung zu sehen. Seit Umstellung auf Get kamen regelmäßig timeouts.
Mit
httpGet(URL, {timeout: 4000}, function(error, response) {
kommen die timeouts nicht mehr einzeln, sondern nach ca. einem Tag scheinen sich die requests anzuhäufen und der Server schmiert ab.Ich baue jetzt erst mal wieder zurück auf request.
-
@pefau sagte in Hilfe bei Skripte von request auf httpGet umbauen:
sondern nach ca. einem Tag scheinen sich die requests anzuhäufen und der Server schmiert ab.
ist das wichtigste Wort!
und wie sind die Fakten?bitte zeigen.
-
@pefau Öffentliche IP, also dein Server oder irgendwo im Internet? Was sagt den der "response.statusCode"?
Ro75.