98_myStrom.pm - myStrom WLAN Energy Control Switch

Begonnen von arallon, 11 August 2015, 23:46:25

Vorheriges Thema - Nächstes Thema

rcaspar

Salut zäme

Bin etwas am Verzweifeln...

Ich hatte eine FHEM am Laufen und konnte die myStrom Switches V1 problemlos einbinden. Nun musst ich das Ganze neu machen und bringe sie nicht mehr zum Laufen  >:(
Das anlegen des Devices funzt, aber den Stats liest es nicht aus  - hier steht immer nur n/a

Ich bin aber auch nicht sicher, ob ich wirklich die aktuellste Version der 98_myStrom.pm habe - Kann mir da jemand aus der Patsche helfen.

btw. in der APP sehe ich die Switches (habe 2) einwandfrei und kann sie auch bedienen.

Merci
René

eppi

Hallo René
Ich hänge dir mal meine mit V1+V2 funktioniere Version an.
Viel Erfolg & lg Eppi

rcaspar

Salut eppi

Super herzlichen Dank - nun geht's auch bei mir (wieder)

René


Speedy

Hallo zusammen,


hab ja vor 2,5 Jahren schon die Pferde scheu gemacht mit der Ankündigung, dass ich das Modul etwas erweitern wollte... Nun ja, jetzt hatte ich endlich mal Zeit und habe dieses Modul auch für mich als Training in der FHEM Modul-Entwicklung genutzt. Es ist sicher nicht der beste Code und Elemente habe ich von überall abgekupfert - ich habe versucht viel in-line Doku zu machen, so dass jeder auch selbst Hand anlegen kann. Zeit für andere Dokumentation hatte ich bislang nicht, es sollte aber selbsterklärend sein.


Ich habe meine Version angehängt, jeder darf gerne testen, Vorschläge machen, oder auch selbst weiterentwickeln. Getestet habe ich diese Version mit dem Switch, dem LED Controller, dem Bewegungsmelder, dem Button, dem Button+ und der LED-Birne. Es sollten die meisten Features unterstützt werden, auch die (negativen) Temperaturen und ein disable Attribut (zur Vermeidung der Log-Zumüllung) gibt es.


Warnung: vermutlich müsst Ihr Eure Devices entweder nochmal neu anlegen, oder das define überarbeiten, auf Abwärtskompatibilität zum alten Modul habe ich nicht geachtet!


Viel Spass!


VG - Speedy



P.S. Ich bin zeitlich etwas eingeschränkt und mache das wirklich nur wenn Zeit über ist - seht mir also nach, wenn ich nicht immer schnell antworten kann.
FHEM auf Intel NUC mit Proxmox, Grafana, DbLog mit MariaDB, ZWave-/EnOcean-/HomeMatic-USB-Dongle, KNX IP-Bridge, HUE Bridge, Sonos, Avanta Gastherme, Presence via Unifi, Rolladensteuerung, Raumtemperatur-/Fussbodenheizung-Steuerung

ric91

Hallo Speedy

Herzlichen Dank für Deine Arbeit. Auf das disable habe ich seit Ewigkeiten gewartet :-)

Leider tut das neue Modul bei mir nicht (richtig). Wenn ich ein Device anlege (define Akt_myStrom_Name myStrom 192.168.10.38) wirft FHEM Fehler:

: Akt_myStrom_Name: new/changed device definition, call info report to get data from device using default URL
: Akt_myStrom_Name: myStrom_Get calling URL: [http://192.168.10.38/api/v1/info]
: Akt_myStrom_Name: myStrom_sendUrl_ReceiveData_Blocking, call executed in 60ms, error: []
: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_myStrom.pm line 1195.
: Akt_myStrom_Name: myStrom_decodeJSON, error: [malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html>\n<ht...") at ./FHEM/98_myStrom.pm line 1249.
]
: Akt_myStrom_Name: myStrom_Get calling URL: [http://192.168.10.38/api/v1/device]
: Akt_myStrom_Name: myStrom_sendUrl_ReceiveData_Blocking, call executed in 45ms, error: []
: Akt_myStrom_Name: myStrom_decodeJSON, error: [malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html>\n<ht...") at ./FHEM/98_myStrom.pm line 1249.
]
2023.01.12 17:44:24 1: define Akt_myStrom_Name myStrom 192.168.10.38: Error decoding response from adapter - not JSON! Wrong IP address?? Error:malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<!DOCTYPE html>\n<ht...") at ./FHEM/98_myStrom.pm line 1249.


Was ich merkwürdig finde, wenn ich das Gerät direkt mit curl befrage, kommt tatsächlich kein JSON zurück, sondern HTML, also die Webseite:

curl --location -g --request GET 'http://192.168.10.38/api/v1/device' -H 'Accept: application/json' -H 'Content-Type: application/json'
<!DOCTYPE html>
<html lang="en">...


Hingegen sind manche Abrufe richtig formatiert:

curl --location -g --request GET 'http://192.168.10.38/info'
{
"version": "2.68.10",
"mac": "XXXXXXXXXX",
"ssid": "SSID",
"ip": "192.168.10.38",
"mask": "255.255.255.0",
"gateway": "192.168.10.1",
"dns": "192.168.10.1",
"static": true,
"connected": true,
"connectionStatus": {
"ntp": true,
"dns": true,
"connection": true,
"handshake": true,
"login": true
}


Ist es denkbar, dass die alten V1-Switches nicht unterstützt werden?

Ein Switch V2 funktioniert aber auch nicht, dort erhalte ich die Fehlemeldung:

: Akt_myStrom_Test: new/changed device definition, call info report to get data from device using default URL
: Akt_myStrom_Test: myStrom_Get calling URL: [http://192.168.10.60/api/v1/info]
: Akt_myStrom_Test: myStrom_sendUrl_ReceiveData_Blocking, call executed in 43ms, error: []
: define Akt_myStrom_Test myStrom 192.168.10.60: define failed: myStrom adapter/device type unknown OR device unreachable


Hier liefert curl aber richtig:

curl --location -g --request GET 'http://192.168.10.60/info'
{"version":"4.0.4","mac":"XXXXXXXX","ssid":"SSID","ip":"192.168.10.60","mask":"255.255.255.0","gw":"192.168.10.1","dns":"192.168.10.1","static":true,"connected":true,"type":"WS2","name":"WiFi Switch v2 CH","connectionStatus":{"ntp":true,"dns":true,"connection":true,"handshake":true,"login":true}}


Danke vorab für Deine Hilfe. Viele Grüsse, Ric.
FHEM auf Raspberry Pi 2 B - Homematic - Philips Hue - Z-Wave - EnOcean - MyStrom - deCONZ

thburkhart

Zitat von: arallon am 11 August 2015, 23:46:25


ich habe mir vor kurzem erst mein FHEM Server aufgesetzt und mal ganz langsam angefangen ein paar Devices einzubinden. Gestern habe ich mir dann ein WLAN Energy Control Switch von myStrom gekauft. Neben einer Möglichkeit diesen über die Swisscom Internet-Box (besitze ich nicht) gibt es auch die Möglichkeit diesen über eine App von myStrom zu steuern. Zusätzlich gibt es aber ein REST-Interface mit den Funktionen:

- Einschalten
- Ausschalten
- Report abrufen


ich Habe eine Frage zum Produkt "WLAN Energy Control Switch".
Sieht ja aus wie eines der zigtausend TUYA-Devices..
Misst es den Strom einigermassen präziser?Grüße

Thomas
Die entsprechenden TUYA Schaltsteckdosen kosten ja nur ca. 11 €

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200