NEWS
HS100 Bug
-
Hallo liebes Forum,
der HS100 Adapter zeigt ein merkwürdiges Verhalten: Ich habe 7 Steckdosen (HS100 und HS110) in Betrieb;
Je mehr Steckdosen man im Adapter hat, desto häufiger kommt es vor, dass alle Steckdosen eine zeitlang nicht mehr upgedated werden. Auch das Schalten von Steckdosen funktioniert manchmal nicht. Weiterhin kommt es vor, dass Steckdosen überhaupt nicht mehr upgedated werden, bis man den Adapter neu startet.
Ich bin dem nachgegangen indem ich einen eigenen Dienst auf dem Raspberry implementiert habe, der direkt via TCP/IP mit den Steckdosen spricht.
Es ist so, dass die Steckdosen gelegentlich eingehende Verbindungen ablehnen. Das ist ein Bug in den Steckdosen. Wenn sie die Verbindung annehmen, antworten sie gelegentlich schlicht nicht auf eine Statusanfrage und halten die Verbindung dabei aber beliebig lange offen. Das ist ebenso ein Bug in den Steckdosen.
Der HS100 Adapter scheint darauf nicht allzu stabil zu reagieren: Zunächst scheint er alle Steckdosen nacheinander durchzugehen und nicht in mehreren Threads parallel. Kommt es dazu, dass eine Steckdose die Verbindung annimmt aber die Anfrage nicht beantwortet, so hängt der HS100 Adapter für immer, bis man ihn neu startet.
Zwischenzeitlich läuft auf meinem Raspberry ein selbstgefrickelter C# Dienst (via Mono), der alle Steckdosen parallel handelt. Beantwortet eine Steckdose die Anfrage nicht nach 2 Sekunden wird die Verbindung zur Steckdose beendet und eine neue aufgebaut. In der Regel funktioniert diese Verbindung dann sofort wieder. Die Ergebnisse der Statusanfrage übertrage ich via TCP und REST an den Simple-REST-Api Adapter in den IO Broker. Schaltbefehle für die Steckdose übertrage ich via HTTP-Request vom IO Broker in meinen C# Dienst. Auch hier kann es vorkommen, dass die Steckdose den Schaltbefehl nicht annimmt. Dann wird der Versuch eben so lange wiederholt, bis die Dose den Befehl annimmt, oder es einen neuen Sollzustand vom IO Broker bekommt.
Das ganze funktioniert absolut zuverlässig. Es ist mir bewusst, dass ich auch einen Adapter dafür hätte bauen können (oder den HS100 Adapter-Entwickler hätte anschreiben können, oder den Steckdosenhersteller hätte anschreiben können, oder die Steckdosen gegen eine andere Hardware hätte tauschen können, oder hätte weinen können, etc.), aber diese Zwischenlösung konnte ich zumindest in einer Abendsession zusammenbraten - einen Adapter habe ich noch nie entwickelt, das hätte aber vermutlich länger gedauert als mein Gebastel.
Viele Grüße
Mark(falls wer Bock auf mein Gebasteltes Zeug hat, bitte Bescheid geben)
-
@kitzelblitze
Würde mich mit den Adapterentwickler zusammen tun. -
@sigi234 ich versuchs - er scheint ja sogar hier im Forum zu sein.
-
@kitzelblitze isser
das Problem ist ich nutze die tplink-smarthome-api früher gabs keine Möglichkeit ein timeout abzufragen...bzw zu setzten..
muss ich mir mal anschauen.. oder du guckst dir das an und stellst ein PR auf GIT...
Das die Dosen ein Problem haben wusste ich aber dass die nicht antworten . das ist mir neu.. ich hab 5 stück hier im Einsatz..
es hängt aber auch von deinem WLAN ab.. und da reagieren die Dosen sehr sehr komisch...dein "gefrickel" schau ich mir gerne an.. vielleicht könte man sich in discord mal treffen..
-
@arteck hi! ja wir können mal quatschen - ich lade mir discord mal runter. (muss ich dich hinzufügen irgendwie?)
ich spreche direkt mit den Dosen - über deren tcp Schnittstelle und deren dusseliger Verschlüsselung.
Das WLAN denke ich nicht, dass das Schuld ist - es passiert bei allen Dosen - egal ob sie 5m entfernt sind oder an Orten, wo ich nichtmal daran dachte, dass da überhaupt noch WLAN ankommt.
-
@kitzelblitze https://discord.com/invite/HwUCwsH
bin so gegen 18 uhr da..Nahchtrag: heute wird das nix sry... hab mich mit dem Tag verhauen.. morgen..Samstag ..18 Uhr
-
@arteck ich versuche da zu sein.
-
@kitzelblitze moin, habt ihr eine Lösung gefunden? hab das gleiche Problem.
-
@arctic63 Hey bisher nicht, wir habens noch nicht zusammenbekommen uns auszutauschen - ich bin momentan recht stark eingespannt. Ich habe immer noch meine Bastellösung in C# in Betrieb.