NEWS
Blockly 'http Get' -> "error=socket hang up"
-
Hallo!
Ich sende alle paar Minuten die Messwerte meiner Wetterstation an Weather Underground. Dabei passiert es immer öfter, dass ich folgende Fehlermeldung erhalte:
2024-12-12 23:06:54.233 - error: javascript.0 (261) script.js.Geraete.Weather_Underground: httpGet(url=https://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=ooooooooo&PASSWORD=oooooooo&dateutc=now&tempf=35.42&dewptf=30.74&baromin=30.40714397&humidity=77&winddir=315&windspeedmph=3.0429000000000004&windgustmph=4.968&rainin=0&dailyrainin=0&action=updateraw, error=socket hang up) 2024-12-12 23:06:54.234 - warn: javascript.0 (261) script.js.Geraete.Weather_Underground: Dauer: 5.548 Sekunden - Ergebnis:
Also wird immer so nach 5,5 Sekunden die Verbindung abgebrochen. Ich lasse mir danach noch die Rückmeldung anzeigen, doch die ist leer.
Woran kann das liegen? An mir oder an der Gegenstelle?
-
@dr-bakterius sagte in Blockly 'http Get' -> "error=socket hang up":
Woran kann das liegen?
den timeout erhöhen, wenn ich mich nicht täusche
-
@crunchip sagte in Blockly 'http Get' -> "error=socket hang up":
den timeout erhöhen
Der steht schon auf 10 Sekunden. Die Error-Meldung erfolgt aber schon nach rund 5,5 Sekunden.
-
Ich erhalte ebenfalls häufig diese Meldung beim Abfragen der Sonos-HTTP-API. Bisher habe ich das noch nicht untersucht, war aber auch nicht davon ausgegangen, dass das an iobroker liegen könnte.
-
@Dr-Bakterius @oFbEQnpoLKKl6mbY5e13 erhöht doch mal das Intervall für das übertragen bzw. abrufen der Daten. Wenn das ganze "zu oft" aufeinanderfolgend erfolgt, dann kommt es auch dazu.
Ro75.
-
@ro75 sagte in Blockly 'http Get' -> "error=socket hang up":
erhöht doch mal das Intervall
Das habe ich auch schon versucht. Ursprünglich habe ich jede Änderung der Messwerte übertragen. Das ging eine ganze Weile ohne Probleme. Als sich die Error-Meldungen häuften - und ich bilde mir ein, dass das seit der Umstellung auf http get war - habe ich erst das Timeout erhöht und dann das Script so geändert, dass nach frühestens 3 Minuten wieder eine Übertragung erfolgt. Eine Weile gab es weniger Fehler. Doch seit einiger Zeit stiegen sie wieder stark an.
Meine Internetverbindung kann ich ausschließen. Die läuft recht konstant mit 300/50 Mb/s und einem Ping von 7 ms.
Gestern habe ich den Timeout von 10 Sekunden auf 6000 ms geändert. Seitdem kam keine Fehlermeldung mehr. Kann es sein, dass die Zeit zu lange war oder der Block nicht korrekt mit Sekundenwerten umgeht?
-
@dr-bakterius sagte in Blockly 'http Get' -> "error=socket hang up":
Gestern habe ich den Timeout von 10 Sekunden auf 6000 ms geändert. Seitdem kam keine Fehlermeldung mehr. Kann es sein, dass die Zeit zu lange war oder der Block nicht korrekt mit Sekundenwerten umgeht?
Nein, Timeout ist ja nur dafür da, das spätestens nach diesem Wert, wenn keine Reaktion erfolgt, der Abbruch (mit Fehler) ausgelöst wird.
Ich kann nur meine eigenen Beobachtungen teilen. Und die sind eben so, dass wenn ich zu oft eine Adresse abfrage genau diesen Fehler bekomme.
Mein Tipp. Erhöhe weiter das Intervall oder über gib einen UserAgent. Ändere zufällig diesen UserAgent dann in regelmäßigen Abständen. Für einen zufälligen UserAgent hatte ich hier schon mal ein Beispiel gepostet.
Ro75.
-
@ro75 sagte in Blockly 'http Get' -> "error=socket hang up":
Für einen zufälligen UserAgent hatte ich hier schon mal ein Beispiel gepostet.
Hast du den Link dazu? Mit der Suche habe ich nichts gefunden.
-