24_TPLinkHS110.pm: Support für TPLink HS100/HS110 v1/2/3 Steckdosen

Begonnen von Volker Kettenbach, 25 August 2016, 18:03:57

Vorheriges Thema - Nächstes Thema

TheTrumpeter

Zitat von: viegener am 22 Mai 2019, 14:32:22
Nein ich hatte andere Meldungen --> das hängt aber vielleicht auch damit zusammen, das die Fehlermeldungen von Dir nicht zur aktuellen Version des Moduls in FHEM passt. Hast Du mal ein update gemacht?
Habe ich gestern Abend dann gemacht, heut' ist schon wieder so ein Eintrag da:

2019.05.23 06:35:37 1: TPLinkHS110: LBE250.Steckdose: Received zero bytes of realtime data. Cannot process realtime data

Zitat von: viegener am 22 Mai 2019, 14:32:22
Generell sollten auch ähnliche Fehler nicht mehr auftreten, ich habe dazu nochmal eine aktualisierte Version oben eingespielt, da ist auch ein Fehler ausgemerzt.
Werd' ich mal ausprobieren...
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

WhyTea

Zitat von: WhyTea am 20 Mai 2019, 13:33:52
Hallo
Ich habe aktuell fünf HS110. Bei vier von den fünf habe ich das Problem das die daily und monthly Werte nicht mehr aktualisiert werden.
Nach dem was ich in meinem Log sehe seit dem ersten April. Bzw. seit der letzten Firmwareaktualisierung und dem darauf folgenden Monatswechsel.
...
Hat noch jemand das Problem oder weis vielleicht sogar wie ich es beheben kann?

Inzwischen habe ich selbst die Lösung gefunden. Danke für die Hilfe.
Für alle die das Gleiche oder ein ähnliches Problem haben...

Man muss die betreffenden HS110 in Werkseinstellung zurücksetzen (RESET-Knopf am Gerät 20 Sek. gedrückt halten) und per KASA-App komplett neu einrichten.

Gruß
Daniel

viegener

@Volker Kettenbach: Macht es Sinn die Änderungen in die offizielle Version zu übernehmen?

Ich habe die aktuellste Version hier hinterlegt: https://forum.fhem.de/index.php/topic,57068.msg942121.html#msg942121

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Volker Kettenbach

Grundsätzlich schon.
Ich habe mal kurz den Code angeschaut und bin selbst ein bisschen raus aus dem Thema.
Wenn ich das richtig sehe, dann hast Du:

- den Code für das viermalige Abrufen in eine Methode gepackt (=> don't repeat yourself)
- Du liest am Anfang 4 Bytes und dann ermittelst damit die länge des Pakets und liest dann genau dieses Länge - richtig!?

Lichti

Bisher hatte ich mit der aktuellen Version immer das Problem, das nach einigen Tagen FHEM abgestürzt ist.
Eine ältere Version läuft hingegen.

Seit ca. einer Woche habe ich die obige Version im Einsatz.
Hiermit bisher keine Probleme.

viegener

Zitat von: Volker Kettenbach am 29 Mai 2019, 17:21:01
Grundsätzlich schon.
Ich habe mal kurz den Code angeschaut und bin selbst ein bisschen raus aus dem Thema.
Wenn ich das richtig sehe, dann hast Du:

- den Code für das viermalige Abrufen in eine Methode gepackt (=> don't repeat yourself)
- Du liest am Anfang 4 Bytes und dann ermittelst damit die länge des Pakets und liest dann genau dieses Länge - richtig!?

Ja, genau, das sind die wesentlichen Änderungen. Beim Abrufenhabe ich noch einen Teil eingebaut, der weiter vom Socket liest, wenn die Daten in mehreren Abschnitten kommen (bei mir kamen zum Beispiel im ersten Schritt maximal 1024 Bytes an).


Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Volker Kettenbach

Okay, ich werde die Änderungen checken und in die offizielle Version einbauen.

Ich habe übrigens jetzt eine HW Version und stelle fest, dass die sich in der Tat anders verhält als die Version 1.
Insbesondere dauert das Abrufen der Daten mit der alten Version des Moduls deutlich länger.
Mit der Version 1 und der Originalfirmware geht es vollkommen ohne Verzögerung.
Die Version 2 legt immer ca. 3-4 "Gedenksekunden" ein, während denen FHEM blockiert ist.

Volker Kettenbach

So, der Patch ist gemerged und im Master-Branch vorhanden:

https://gitlab.com/volkerkettenbach/FHEM-TPLink-Kasa

Am SVN bin ich dran. Habe da gerade Probleme mit dem Zugriff.

Volker Kettenbach


TheTrumpeter

Seit dem Update haben sich die Fehlermeldungen verändert, weg sind sie nicht:

2019.06.16 18:14:04 1: TPLinkHS110: LBE250.Steckdose Get failed - Couldn't connect to 10.0.0.16:9999: IO::Socket::INET: connect: timeout

2019.06.16 20:11:11 1: TPLinkHS110: LBE250.Steckdose Get daily stats failed - Couldn't connect to 10.0.0.16:9999: IO::Socket::INET: connect: timeout


Die Meldungen kommen mal sporadisch, mal im Minutentakt.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

derFunk

Zitat von: STING333 am 01 Dezember 2018, 20:20:16
Moin,

mal eine Frage, habe von TP-Link RE270K (Steckdose wie HS100 mit Repeater + LAN Port) würde die auch gerne über FHEM schalten. Hatte die Hoffnung das würde mit deinem Modul klappen....

Einbinden geht auch aber es kommt dann die folgende Meldung:

,,Couldn't connect to 192.168.2.250:9999: IO::Socket::INET: connect: timeout"
...

Ich habe bei mir die gleiche Situation. Das tritt bei mir nach einem Neustart von FHEM auf. Erst nachdem ich einmal mit der Kasa App (bei mir iOS) die Steckdose getoggelt habe, kann ich sie auch über FHEM steuern. Warum das so ist weiss ich leider auch nicht.

Meine Versionen:

HS110:
hw_ver: 1.0
sw_ver: 1.1.4 Build 170417 Rel.145118

TPlinkHS110 Modul:
Latest Revision: 19661
24_TPLinkHS110.pm     19532 2019-06-02 06:38:05Z vk



Übrigens erhält man ziemlich viele Logausgaben bei verbose/loglevel 3 im Log, alle 5 Minuten by default:


...
2019.06.01 00:15:09 3: TPLinkHS110: CouchLicht Get called. Relay state: 1, RSSI: -73
2019.06.01 00:15:10 2: TPLinkHS110: CouchLicht Realtime data updated
2019.06.01 00:15:10 3: TPLinkHS110: CouchLicht Device is an HS110. Got extra realtime data: 10.121952 Watt, 234.379034 Volt, 0.078238 Ampere
2019.06.01 00:15:10 3: TPLinkHS110: CouchLicht Updating daystat. Data: {"emeter":{"get_daystat":{"day_list":[{"year":2019,"month":6,"day":1,"energy":0.003000}],"err_code":0}}}
2019.06.01 00:15:10 2: TPLinkHS110: CouchLicht Daystat updated
2019.06.01 00:15:10 3: TPLinkHS110: CouchLicht Updating readings
2019.06.01 00:15:10 3: TPLinkHS110: CouchLicht Get end
2019.06.01 00:20:09 3: TPLinkHS110: CouchLicht Get called. Relay state: 1, RSSI: -73
2019.06.01 00:20:10 2: TPLinkHS110: CouchLicht Realtime data updated
2019.06.01 00:20:10 3: TPLinkHS110: CouchLicht Device is an HS110. Got extra realtime data: 10.338583 Watt, 237.788829 Volt, 0.079619 Ampere
2019.06.01 00:20:10 3: TPLinkHS110: CouchLicht Updating daystat. Data: {"emeter":{"get_daystat":{"day_list":[{"year":2019,"month":6,"day":1,"energy":0.004000}],"err_code":0}}}
2019.06.01 00:20:10 2: TPLinkHS110: CouchLicht Daystat updated
2019.06.01 00:20:10 3: TPLinkHS110: CouchLicht Updating readings
2019.06.01 00:20:10 3: TPLinkHS110: CouchLicht Get end
...


Ich denke da könnte man einige Zeilen auf Loglevel 4 oder sogar 5 setzen.

Pauline

Hallo,

ich habe mehrere HS110 im Einsatz und soweit funktioniert alles wunderbar.
Außer, wenn ich mal einen HS110 aus der Steckdose ziehe oder einer sonstwie W-Lan-Offline ist!
Habe diesen Fall mit PRESENCE abgefangen und setzte, wenn absent, den entsprechenden HS110 auf disable=1 und vergrößere das Intervall für den PING-Test. Das funktioniert.
Wenn der HS110 aber wieder online ist, setzt PRESENCE das Gerät wieder auf disable=0. Das funktioniert, aber die Readings-Abfrage starten nicht mehr automatisch. Erst wenn ich auf den Anzeigetext im WEB-Fenster klicke oder das Relai schalte werden die Readings wieder kontinuierlich aktualisiert.

(Ich weiß nicht, wie man an dieser Stelle einen Screenshot einfügen kann...)

Das Problem müsste doch eigentlich bekannt sein, ich finde im Netz aber keine Lösung. Die Readings-Abfrage soll wieder aktiviert werden ohne Benutzereingriff.
Ein  fhem ('trigger WEB JS:location.reload(true)');  hilft nicht, die Readings bleiben unverändert.
Der Parameter (set) NEXTUPDATE:Tue Jul 2 07:30:35 2019  ist und bleibt hinter dem aktuellen Datum und ich weiß nicht, wie ich ihn ändern könnte.
Bei disable=1 ändert sich die Textfarbe im WEB-Fenster von rot auf schwarz und bei disable=0 wieder von schwarz auf rot, aber die Readings ändern sich nicht.

Kann mir da jemand weiter helfen?

Viele Grüße

viegener

Zitat von: Pauline am 02 Juli 2019, 07:42:08
Hallo,

ich habe mehrere HS110 im Einsatz und soweit funktioniert alles wunderbar.
Außer, wenn ich mal einen HS110 aus der Steckdose ziehe oder einer sonstwie W-Lan-Offline ist!
Habe diesen Fall mit PRESENCE abgefangen und setzte, wenn absent, den entsprechenden HS110 auf disable=1 und vergrößere das Intervall für den PING-Test. Das funktioniert.
Wenn der HS110 aber wieder online ist, setzt PRESENCE das Gerät wieder auf disable=0. Das funktioniert, aber die Readings-Abfrage starten nicht mehr automatisch. Erst wenn ich auf den Anzeigetext im WEB-Fenster klicke oder das Relai schalte werden die Readings wieder kontinuierlich aktualisiert.

(Ich weiß nicht, wie man an dieser Stelle einen Screenshot einfügen kann...)

Das Problem müsste doch eigentlich bekannt sein, ich finde im Netz aber keine Lösung. Die Readings-Abfrage soll wieder aktiviert werden ohne Benutzereingriff.
Ein  fhem ('trigger WEB JS:location.reload(true)');  hilft nicht, die Readings bleiben unverändert.
Der Parameter (set) NEXTUPDATE:Tue Jul 2 07:30:35 2019  ist und bleibt hinter dem aktuellen Datum und ich weiß nicht, wie ich ihn ändern könnte.
Bei disable=1 ändert sich die Textfarbe im WEB-Fenster von rot auf schwarz und bei disable=0 wieder von schwarz auf rot, aber die Readings ändern sich nicht.

Kann mir da jemand weiter helfen?

Viele Grüße

Das Problem ist einfach, dass im Code bei einem disable=0 die regelmässigen Anfragen nicht wieder automatisch starten.

Ich denke ein möglicher Workaround wäre NACH dem Setzen von "disable=0" noch ein get auf dem TPLink device auszuführen, damit sollte auch der automatische Zyklus  von updates wieder getriggert
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tobiwan

Zitat von: TheTrumpeter am 16 Juni 2019, 20:18:59
Seit dem Update haben sich die Fehlermeldungen verändert, weg sind sie nicht:

2019.06.16 18:14:04 1: TPLinkHS110: LBE250.Steckdose Get failed - Couldn't connect to 10.0.0.16:9999: IO::Socket::INET: connect: timeout

2019.06.16 20:11:11 1: TPLinkHS110: LBE250.Steckdose Get daily stats failed - Couldn't connect to 10.0.0.16:9999: IO::Socket::INET: connect: timeout


Die Meldungen kommen mal sporadisch, mal im Minutentakt.

Hallo zusammen,

ich habe die gleichen Fehlermeldungen. Bisher ist FHEM aber nicht (wie zuvor) komplett abgestürzt. Läuft denn bei jemandem mittlerweile die HS110 Version 2 stabil (also mehrere Tage oder gar Wochen) ?

Viele Grüße

Lichti

Hatte vorher auch alle paar Tage einen Absturz.
Mit der aktuellen Version seit ca. 3 Wochen kein Absturz und keine Fehlermeldungen.