Kein timeout bei client.connect?

Meine Sensebox bleibt immer “stehen”, wenn mein WiFi mal kurzzeitig ausfällt. Das passiert leider recht häufig.

Inzwischen konnte ich m.E. klar reproduzieren, dass die Sensebox bei der Ausführung der von Blockly generierten Zeile

connected = client.connect(_server, 443);

stehen bleibt, und zumindest in mehreren Stunden ab hier nicht mehr weiterläuft.

Wie kann ich dieses Problem beseitigen?

Bei mir auch, 1…2 mal am Tag. Hatte die Wifi-Bee Firmware auf die Version 19.5.4 geflasht.
Sonderbar: Während der Stromverbrauch im Normalbetrieb 0,15 A beträgt, zieht die “hängende” Bock nur noch 0,04 A. Deutet darauf hin, dass eine Komponente abgestürzt ist, ich tippe mal auf das WiFi-Bee…

Bei mir kommt erst gar nicht eine Verbindung zustande. Nach dem Einloggen ins lokale WiFI bleibt das Programm in der Endlosschleife "connecting hängen.
Ob das an Blockly hängt?

@altprog Das ist vermutlich ein anderes Problem. Die Wifi-Bee wird inzwischen mit FW 19.6.1 ausgeliefert und die macht gerne Probleme. Schau Dir mal diesen Beitrag an: https://forum.sensebox.de/t/sensebox-home-v2-upload-zu-opensensemap-funzt-nicht/757

@Pitti. Habe Deinen Tipp ausprobiert. War ganz hoffnungsvoll, aber leider das Gleiche wie zuvor, bleibt in der Schleife "connecting " hängen. Kann es sein das auch die Firmwareversion von 19,6,1 downgegraded werden muss?

Hallo @altprog,

ja versuche bitte einmal die Firmware Version auf Version 19.5.4 downzugraden.

@Pitti @fmaertin
Der reconnect ist in Blockly aktuell nicht implementiert, da durch den reconnect auch der BME680 neugestartet wird und sich dann erst wieder komplett neu kalibrieren muss. Wir sind zurzeit dabei zu schauen an welcher Stelle die Probleme auftreten.

Ich baue gerade eine Option für Blockly die Daten nicht über SSL zu senden, was zumindest das Problems der Zertifikate behebt allerdings keine gute Lösung ist. Ich kann gleichzeitig auch ein Feld für einen Reconnect einbauen.

Beste Grüße

Mario

1 Like

Hast Du die zwei Domains wirklich ergänzt?

Bei mir geht es sowohl mit Downgrade auf 19.5.4, also auch mit der 19.6.1. Mit der 19.6.1 geht es aber nur, wenn ich die beiden Domains ergänzt habe.

@Pitti. Ja habe ich, bin im Moment etwas ratlos. Kontrolliere später noch mal alles. Auch dei senseBox ID usw.

@altprog Bei meiner zweiten Sensebox ist es mir passiert, dass die Ergänzung der zwei Domains beim ersten Versuch offenbar schiefgegangen ist - wie auch immer. Ich habe es zunächst nicht gemerkt und das dann später überprüft. Die zwei Domains waren doch nicht drauf. Erneut ergänzt und alles war gut!

@mario Super, danke!

Ich habe übrigens festgestellt, dass die Sensebox bei temporärem WiFi-Ausfall nicht hängen bleibt, wenn ich das Script aus der OpenSenseMap nehme statt dem Blockly-Code. Vermutlich weisst Du das. Das wäre aber natürlich keine so schöne Lösung für Leute, die sich mit Blockly einfacher tun.

Mir wäre es aber auch lieber der BME680 macht einen Neustart, als das die ganze Sensebox hängt.

@mario Gibt es zum reconnect eigentlich inzwischen Fortschritte? Ohne reconnect macht das wenig Sinn.

Hi @Pitti,

sorry! Ich habe den Restart nun als Checkbox zum Block hinzugefügt.

Ich habe das ganze nur kurz getestet, aber da es die gleiche Funktion wie beim Code der openSenseMap ist sollte es ohne Probleme funktionieren. Falls nicht melde dich bitte nochmal kurz bei mir :slight_smile:

Beste Grüße

Mario