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

tobiwan


viegener

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.

ich habe jetzt mal unabsichtlich für ein paar Tage eine meiner V2-Steckdosen vom Netz getrennt gehabt und bekomme dieselben Fehlermeldungen - ganz wie zu erwarten. Beim Wiederverbinden mit dem Strom hat sich das sofort gegeben.

Wenn die Fehlermeldungen stören - müsste man per presence das Gerät dann wirklich deaktivieren - wie oben gesagt aber mindestens einmal den get beim Aktivieren wieder einfügen.

Also Fazit:
- Die Fehlermeldungen bei Verbindungsproblemen sind aus meiner Sicht völlig richtig
- Durch etwas Aufwand (presence/notify) lässt sich das aber auch lösen

Wunschliste:
- Automatisches Aktivieren der Abfrage beim enable
- Eingebauter Präsentstatus, der das im Device auch anzeigt (wie bei anderen Geräten ebenfalls)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

TheTrumpeter

Zitat von: viegener am 08 Juli 2019, 16:57:32
ich habe jetzt mal unabsichtlich für ein paar Tage eine meiner V2-Steckdosen vom Netz getrennt gehabt und bekomme dieselben Fehlermeldungen - ganz wie zu erwarten. Beim Wiederverbinden mit dem Strom hat sich das sofort gegeben.
Mit dem Unterschied, dass die Steckdose bei mir nicht vom Netz getrennt ist, sondern ständig eingesteckt und auch eingeschaltet ist.
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

viegener

Zitat von: TheTrumpeter am 09 Juli 2019, 06:39:18
Mit dem Unterschied, dass die Steckdose bei mir nicht vom Netz getrennt ist, sondern ständig eingesteckt und auch eingeschaltet ist.

Dann beschreibt die Meldung aber auf ein Netzwerkproblem zwischen FHEM und TPLink-Steckdose hin, hast Du mal ein regelemässiges ping auf das device gemacht (per presence)? Ich sehe das Problem bei mir nur sehr selten.

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

Pauline

Gelegentliche W-Lan-Unterbrechungen habe ich auch immer mal wieder. Deshalb fange ich die Abfrage im HS110-Modul mit disable 0/1 eben ab.

Zitat von: viegener am 03 Juli 2019, 09:29:10
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

Ja, die regelmäßige automatische Abfrage startet nach disable 1 auf 0 nicht mehr.
Ein "get <device name> power" ergibt:  "No get implemented for <device name>"
Demnach kann das TPLinkHS110 das nicht, oder?

Hat noch jemand eine Idee?

viegener

@Pauline: Sorry, Du hast recht, ich habe mich durch die Funktion _get im COde verwirren lassen, diese wird aber nicht an einen Get-Befehl gebunden. Ohne Code-änderung sehe ich da moment keine einfache Möglichkeit. Die regelmässige Abfrage lässt sich momentan nur über einen Schaltbefehl oder einen redefine wieder aktivieren.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

TheTrumpeter

Zitat von: Pauline am 09 Juli 2019, 17:28:21
Gelegentliche W-Lan-Unterbrechungen habe ich auch immer mal wieder. Deshalb fange ich die Abfrage im HS110-Modul mit disable 0/1 eben ab.
Verstehe ich grad nicht...

Du kannst die WLAN-Unterbrechung vorhersehen und daher rechtzeitig die FHEM-Anfrage an die Steckdose ausschalten, um keine Fehlermeldungen zu erhalten?  :-\
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

TheTrumpeter

Zitat von: TheTrumpeter am 10 Juli 2019, 09:09:46
Verstehe ich grad nicht...

Du kannst die WLAN-Unterbrechung vorhersehen und daher rechtzeitig die FHEM-Anfrage an die Steckdose ausschalten, um keine Fehlermeldungen zu erhalten?  :-\
Machst Du das per PRESENCE?
Hab' dieses Modul bisher nicht genutzt, weil ich keinen Anwendungsfall dafür hatte... hab's jetzt mal eingerichtet um die Steckdose zu überprüfen, wahrscheinlich schaltest Du die HS110-Abfrage ab, wenn die Steckdose auf "abwesend" geht und gleich wieder ein, wenn sie auf "anwesend" geht? Werde das 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

Pauline

Ja, genau so mache ich das. Hat den Vorteil, dass PRESENCE bei absent die PING-Rate hoch setzt (also nur z.B. alle 30 oder 60 Sekunden testet ob das Gerät sich wieder meldet). Und das entsprechende HS110-Modul schweigt. Der Traffic und eventuelle Wartezeiten in FHEM werden enorm reduziert.
Ich stecke meine Geräte immer mal wieder um oder schalte eine Steckdosenleiste, in der ein HS110 steckt, über Nacht komplett aus.

Zitat von: Pauline am 09 Juli 2019, 17:28:21
Gelegentliche W-Lan-Unterbrechungen habe ich auch immer mal wieder. Deshalb fange ich die Abfrage im HS110-Modul mit disable 0/1 eben ab.

Genauer: Deshalb fange ich die Abfrage des HS110-Moduls mit disable 0 bzw. 1 eben ab....

Derzeit speichere ich laufend den Zustand des Relais und setzte den Status, wenn der HS110 sich wieder meldet, mit set auf den letzten Zustand. Damit startet die automatische Abfrage der Readings wieder!
Geht soweit ganz gut, hat aber ein kleines Fenster (kurz vor dem Ausstecken/Abschalten und bis W-Lan wieder connect ist nach dem Einstecken/Einschalten, dass manuelle Schaltzustandswechsel am Gerät evt. vom letzten Status überschrieben werden.... Naja, kann ich mit leben.

TheTrumpeter

Zitat von: Pauline am 11 Juli 2019, 21:10:26
Derzeit speichere ich laufend den Zustand des Relais und setzte den Status, wenn der HS110 sich wieder meldet, mit set auf den letzten Zustand. Damit startet die automatische Abfrage der Readings wieder!
Geht soweit ganz gut, hat aber ein kleines Fenster (kurz vor dem Ausstecken/Abschalten und bis W-Lan wieder connect ist nach dem Einstecken/Einschalten, dass manuelle Schaltzustandswechsel am Gerät evt. vom letzten Status überschrieben werden.... Naja, kann ich mit leben.
Teilst Du den Code hier? Dann brauch' ich nicht selbst basteln...
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

jnewton957

Hallo,

kann bitte jemand seine .cfg für die HS110 posten.

Vielleicht mit Filelog und schöner Grafik.

Ich suche nach einer .cfg, die eben täglich den daily_total um 23:59 ausliest und dann grafisch darstellt. Gleiches für monthly_total.

Danke
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

Humpelpumpel

Hallo zusammen, ich bekomme seit einigen Tagen im ca. 15 Minutentakt folgende Fehlermeldung:

2019.10.19 10:10:31 1: TPLinkHS110: BUT_TPLink_3D_Drucker Get failed - Couldn't connect to 192.168.178.37:9999: IO::Socket::INET: connect: timeout

IO::Socket::INET ist installiert und aktuell.

Internals:
   CHANGED   
   DEF        192.168.178.37
   FUUID      5d741eeb-f33f-2e6c-d074-9e1d6d04cb69acdb
   FVERSION   24_TPLinkHS110.pm:0.195320/2019-06-02
   HOST       192.168.178.37
   INTERVAL   300
   NAME       BUT_TPLink_3D_Drucker
   NR         27
   STATE      off
   TIMEOUT    1
   TYPE       TPLinkHS110
   READINGS:
     2019-10-19 10:15:30   active_mode     none
     2019-10-19 10:15:30   alias           Steckdose Drucker
     2019-10-19 10:15:30   decode_json     ok
     2019-10-19 10:15:30   dev_name        Wi-Fi Smart Plug
     2019-10-19 10:15:30   deviceId        80067BD603E4D06F234C5D1B767FD625196BEC10
     2019-10-19 10:15:30   err_code        0
     2019-10-19 10:15:30   feature         TIM
     2019-10-19 10:15:30   fwId            00000000000000000000000000000000
     2019-10-19 10:15:30   hwId            22603EA5E716DEAEA6642A30BE87AFCA
     2019-10-19 10:15:30   hw_ver          1.0
     2019-10-19 10:15:30   icon_hash       
     2019-10-19 10:15:30   latitude        48.407936
     2019-10-19 10:15:30   led_off         0
     2019-10-19 10:15:30   longitude       10.963076
     2019-10-19 10:15:30   mac             B0:4E:26:17:88:1B
     2019-10-19 10:15:30   model           HS100(EU)
     2019-10-19 10:15:30   oemId           812A90EB2FCF306A993FAD8748024B07
     2019-10-19 10:15:30   on_time         0
     2019-10-19 10:15:30   relay_state     0
     2019-10-19 10:15:30   rssi            -72
     2019-10-19 10:15:30   state           off
     2019-10-19 10:15:30   sw_ver          1.2.5 Build 171213 Rel.101415
     2019-10-19 10:15:30   type            IOT.SMARTPLUGSWITCH
     2019-10-19 10:15:30   updating        0
Attributes:
   DbLogExclude .*
   alexaName  Drucker
   alexaRoom  Büro Thomas
   alias      Steckdose 3D Drucker
   devStateIcon on:ios-on-green off:ios-off toggle:rc_BLUE
   disable    0
   event-on-change-reading .*
   group      Geräte
   icon       hue_filled_outlet
   room       Büro Thomas,Geräte,Homekit
   verbose    2
   webCmd     :

Humpelpumpel


Volker Kettenbach

Die Fehlermeldung ist ja recht klar: Deine Steckdose ist über das Netz nicht erreichbar.
Also:
1. Prüfen, ob die Steckdose noch die angegebene IP hat. Falls nein: IP ändern
2. Prüfen, ob ie IP von anderen Geräten pingbar ist
Falls nein: Fehlerquelle ist Steckose
Falls ja: Fehlerquelle ist FHEM
3. Falls Fehlerquelle Steckdose (wahrscheinlich)
- Steckdose rebooten
- Steckdose resetten
Falls nicht erfolgreich, nochmal melden
4. Falls Fehlerquelle FHEM: noch mal melden

Humpelpumpel

Zitat von: Volker Kettenbach am 28 Oktober 2019, 12:32:58
- Steckdose resetten

Hätte ich eigentlich selbst drauf kommen können... :D
Läuft jetzt seit 2 Stunden ohne Fehlermeldung, mal hoffen das es so bleibt.
Mich hatte es halt nur gewundert, weil die Dose trotz Fehlermeldung ganz normal geschalten hat...

Danke! :)