FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: arallon am 11 August 2015, 23:46:25

Titel: 98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 11 August 2015, 23:46:25
Hallo zusammen

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

Der Report kommt im Json Format zurück und sieht beispielsweise so aus:
{
  "power":  9.310672,
  "relay":  true
}



Zuerst wollte ich die Steckdose via HTTPMOD Modul ansprechen und konfigurieren. Obwohl mir Perl und FHEM neu sind habe ich mich aber dazu entschlossen den Versuch zu wagen ein "Modul" zu schreiben.

Ein Device wird folgendermassen definiert. Wobei das Setzen eines Intervals optional ist. Default sind 15 Sekunden.

define <name> myStrom <ip-address> [interval]

Beispiel:
define mySwitch1 myStrom 192.168.0.12 10


Je nach Interval wird der JSON-Report angefordert und in readings geschrieben. Hier gibt es analog der zurück gelieferten Daten die readings: power und relay. relay wird mit on für true und off für false belegt.

Als Set-Funktionen gibt es die Möglichkeit die Steckdose ein- und auszuschalten, sowie ein Update des Reports anzufordern oder die Totaldaten zu reseten :

set mySwitch1 on
set mySwitch1 off
set mySwitch1 update
set mySwitch1 resetTotal


Für Anregungen und Erweiterungen bin ich natürlich offen.

Grüsse

mike

Edit 21.03.2018:
Aktuelle Version angefügt. Readings für total powor Wh und kWh integriert. Fehlerbehandlung nach Feedback im Forum integriert, kleinere BugFixes.


Offen:
- gem. Antworten hier im Forum gibt es Rev2 mit Temperaturdaten, die man noch einbinden kann bzw. die Rev2 führt scheinbar noch zu Problemen. Hier wäre ich auf Unterstützung angewiesen, da ich nur die "alten" Geräte besitze.
- Umbau auf NonBlocking HTTP Requests (nach hinten geschoben, da nicht wirklich ein Problem, analysiert mit Freezemon)
- ggf. Wochen / Monatsverbrauch einfügen.
- neuere Firmware kann anscheinend auch "toggle" - Wäre hier Bedarf? Grundsätzlich wäre das ja auch ohne den Api Aufruf easy umzusetzen. Bzw. ich selbst habe einfach ein generelles toggle in MyUtils
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 12 August 2015, 20:16:24
Hallo Mike
Cool, ich habe mir auch eine bestellt bei Swisscom und erwarte sie morgen. Ich werde berichten...
Gruess Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 10:23:08
Hoi Dani

Dann bin ich gespannt. Wenn ich das richtig gesehen habe, gibt es auch noch eine API für das Portal von myStrom, wenn man seine Steckdose dorthin verbunden hat (min, max werte etc. abrufbar).
Ich habe meine Steckdose jedoch nicht mit dem Portal verbunden und auch sichergestellt, dass diese keine Verbindung zum Internet hat.

Falls du deine verknüpft mit dem Portal würde mich mal interessieren, welche Daten dort abgelegt warden und ob ersichtlich ist, ob diese regelmässig abgerufen werden oder ob die Steckdose diese Daten vorhält aber nicht über das REST-Interface zur Verfügung stellt.

Merci und Gruss

mike
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 20:48:41
Hoi Mike
Mein Adapter ist heute angekommen. Ich habe ihn über das Webiface angemeldet, da ich wie du auch keine Internet-Box besitze (ich habe die FritzBox7390 in Betrieb). Die Integration ist sehr einfach gegangen als nächstes habe ich dein Modul geladen, jedoch kommt immer die Meldung:
Cannot load module myStrom

Die Berechtigungen des Moduls habe ich überprüft, die sind gleich wie bei den anderen (fhem/dialout).
Hast du eine Idee, ansonsten werde ich versuchen, ihn über HTTPMOD einzubinden.

Viele Grüsse Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 20:50:18
Hast du JSON installiert bei dir? Das wäre mal so der erste Anhaltspunkt. Gibt es sonst noch etwas im Log ?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 20:59:57
Zitat von: arallon am 13 August 2015, 20:50:18
Hast du JSON installiert bei dir?
Genau, das war es!!! Danke jetzt hat das define geklappt  :D

Funktioniert einwandfrei - Danke vielmals für deine Hilfe und das tolle Modul, werde mir noch weitere zulegen.

Viele Grüsse Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 21:13:12
Hast du dich bei myStrom angemeldet?

Ich hatte heute Kontakt mit íhnen für ein Firmware Upgrade. Zukünftig kann man das auch selber, wenn man einmal die neue hat. Registrieren musste ich mich dafür nicht, nur die Steckdose kurz ins Internet lassen und die Mac Adresse mitteilen.

Habe auch nachgefragt, wie das mit dem Portal so funktioniert. Die Steckdose meldet ca alle 30 Sekunden die Daten an die Cloud. Wenn hohe Stromschwankungen sind im Verbrauch, dann auch öfter.
Das bedeutet für mich, dass die Daten dort eigentlich auch mehr Durchschnittsberechnungen sind, als wirklich effektive Verbrauchsdaten. Wenn ich alle 10 Sekunden abrufe, bin ich da nicht schlechter in der Datenerhebung ohne Cloud.

Auf die toDo Liste für nächste Woche kommt auf jeden Fall mal readings einfügen für Maximum Wert, TagesMax, und evtl Durchschnitt und Gesamtverbrauch. Nur mal überlegen wie man hier die Daten so ablegen und wieder verwerten kann ohne dauernd das Log auswerten zu müssen.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 21:24:35
Nein, ich habe mich bei myStrom über meinen Facebook angemeldet.
Kannst du mir sagen, wie du den Firmware Update gemacht hast?

Auf die neuen Features freue ich mich, dann muss ich keine Perl berechnungen schreiben :)
Gruess Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 21:28:47
Ich habe den Support kontaktiert. Wenn du dich allerdings angemeldet hast, könnte es evtl. auch über das Webinterface gehen?
Ansonsten Support anschreiben, Mac Adresse der Steckdose mitteilen und die Dose muss Zugang zum Internet haben. Dann machen die das und schicken dir eine Mail wenn erledigt.
Support hat sehr schnell geantwortet und mir um 19:20 noch die Dose aktualisiert. Also echt nett.

Wie hättest du vor gehabt die Berechnungen zu machen? Bin gerade etwas am überlegen wie man das am schlausten und "Ressourcenschonend" umsetzen könnte. Bin absoluter FHEM Neuling :)
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 21:41:12
Hoi Mike
Ich hätte bei meinem EW nachgeschaut, wann Niedertarif und Hochtarifzeiten sind und die ensprechenden Kosten pro kwh.
Dann du den Zeiten pro Tag einen at definiert, der mir den aktuellen Stand in der Steckdose holt, den Wert vom alten subtrahiert und das ganze wieder in ein Reading eines Dummy geschrieben.
Am Ende des Tages (23:59:59) alle werte (hochtarif, niedertarif) multipliziert mit den Tarifen und Summe / Vebrauch in ein Log geschrieben...

In der Theorie sollte das irgendwie funktionieren, aber es wäre sicherlich ein Aufwand (für mich) von ein paar Stunden..

Viele Grüsse Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 21:50:32
Entweder ich stehe auf dem Schlauch gerade oder das funktioniert so nicht ganz, oder wie oft willst du das aufrufen? Die Steckdose liefert dir ja den aktuellen Verbrauch nicht den Gesamtverbrauch.

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 21:59:20
Stimmt! Ich habe mir das noch zuwenig angeschaut, deshalb voll hineingefallen. Du hast recht, das ist nicht so einfach wenn nur der aktuelle Verbrauch angezeit wird....
Ich werde mir das mal noch überlegen...
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2015, 22:21:06
Hätte noch einen kleinen Verbesserungsvorschlag:
Könntest du bei den Set Befehlen on und off klein schreiben, anstelle von On und Off?

Danke!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 13 August 2015, 23:48:12
Das ist natürlich kein Problem. Habe es mal konsequenterweise überall klein geschrieben.

Zusätzlich liest diese Version nun noch ein paar Infos mehr raus z.B softwareversion, ssid, Network mode, macaddress. Diese Infos werden alle 5 Minuten geholt und nur bei Änderung aktualisiert. Hier denke ich aber noch darüber nach, dass nur ein bei einem Abbruch der Verbindung wieder geprüft wird und zusätzlich 1 mal pro Tag oder so. Ein set update löst immer aus.

Es wird neu nun auch ein 5 Minuten Timer statt dem normalen Interval gesetzt, falls die Dose nicht erreichbar ist. So wird nicht dauern ein Error ins Log geschrieben. Ich denke der Log Eintrag ist wohl auch hinfällig, da ich einen Connection Status hinzugefügt habe.

Einfach mal testen. Feedback ist natürlich super. Danke dir.


Edit: Direkt noch einmal nachgebessert. Ich nehme an du wolltest das gerne, damit man direkt das Birnchen sieht und on / off schalten kann im Interface. Der Status wurde aber nicht direkt gesetzt, da ich den erst nach erneutem Aufruf der API gesetzt habe. Das habe ich nun geändert und setzte bei Klick auf "on" einfach mal STATE = on. Sollte die Dose nicht erreichbar sein, korrigiert sich der Status ein paar Sekunden später direkt wieder auf off.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 14 August 2015, 20:13:13
Hoi Mike
Danke für die neue Version. Ich habe sie getestet funktioniert einwandfrei!
Auch die Infos (SW Version, SSID, ect) in den Internals sichtbar.

Mit dem mystrom Support bin ich immer noch daran, diesen in mein mystrom-konto zu verschieben, da der facebook Login über den PC nicht funktioniert!
Ich bin gespannt auf deine weiteren Features  ;)
Viele Grüsse Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 14 August 2015, 22:47:01
Hoi Dani

freut mich, dass es soweit schon mal funktioniert. Ich hoffe das es bald mal eine Firmware zum Download gibt, so dass man diese mal genauer analysieren kann um diese evtl. anzupassen. Bis dahin denke ich, dass ich nächste Woche Log Files umsetzen werde, die man dann auswerten kann. Wie man Durchschnittswerte und Jahreswerte etc sinnvoll auswerten kann ohne Unmengen an Variablen abzulegen muss ich mal noch überlegen.

Vielleicht liest das ja noch jemand der hier schon mehr Erfahrung hat als ich und etwas unterstützen mag. Falls du eine Idee hast, nur her damit ;)

Viele Grüsse aus Bern
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 15 August 2015, 06:51:56
Du hast eine PM.
Viele Grüße aus Schwyz, Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Damu am 16 August 2015, 10:39:39
Hallo

Geht das nur mit den neuen MyStrom Adapter mit WLAN?
Mit den älteren MyStrom Adapter die über Powerline gehen, ist das auch möglich?

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Mumpitz am 21 August 2015, 23:16:07
Besten Dank für das coole Modul! Funktioniert bestens! Freue mich schon darauf bis ich den Stromverbrauch pro Waschgang darstellen und meiner Frau unter die Nase halten kann  8)
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: kvo1 am 25 August 2015, 12:32:37
Hallo Arallon,

coole Sache und der Preis ist okay.

warum muß man sich da Anmelden bei myStrom ???

Ich dachte..
WLAN Energy Control Switch kaufen
dein Modul installieren
fertig ?
gruss
kvo1
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: oxidizer am 15 September 2015, 12:18:03
Das interessiert mich jetzt aber auch. Muss man sich da bei mystrom anmelden? Oder kann man die IP des Switches am Router blockieren und trotzdem die Werte über dein Modul auslesen lassen?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 15 September 2015, 18:02:46
Zitat von: oxidizer am 15 September 2015, 12:18:03
Das interessiert mich jetzt aber auch. Muss man sich da bei mystrom anmelden? Oder kann man die IP des Switches am Router blockieren und trotzdem die Werte über dein Modul auslesen lassen?
Nein, du musst dich dafür nicht anmelden bei mystrom.ch. Du kannst den Adapter direkt connecten mit der Adapter-eigenen SSID und ihn konfigurieren. Siehe hier (https://mystrom.ch/wp-content/uploads/connect_manually_d.pdf)
Gruss Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 15 September 2015, 18:08:54
Hallo Mike
Bin heute nach Hause gekommen und mein FHEM war zum zweiten mal tot, resp nicht mehr erreichbar.
Im Log (Verbose 3) stand jedesmal als letzte Zeile vor dem Absturz
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "<HTML><HEAD>\n<TITLE...") at ./FHEM/98_myStrom.pm line 65.
Mir ist bewusst, dass diese Fehlermeldung etwas unqualifiziert ist, aber mehr habe ich nicht.
Sagt dir die Meldung was? Die LED der Adapter leuchten wie üblich weiss und funktionieren....

Danke und Gruess Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: kvo1 am 15 September 2015, 19:19:12
Zitat von: eppi am 15 September 2015, 18:02:46
Nein, du musst dich dafür nicht anmelden bei mystrom.ch. Du kannst den Adapter direkt connecten mit der Adapter-eigenen SSID und ihn konfigurieren. Siehe hier (http://siehe%20https://mystrom.ch/wp-content/uploads/connect_manually_d.pdf)
Gruss Dani
Hallo Dani
Der Link klappt nicht
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 15 September 2015, 19:36:50
Zitat von: kvo1 am 15 September 2015, 19:19:12
Hallo Dani
Der Link klappt nicht
Probiers mal so: https://mystrom.ch/wp-content/uploads/connect_manually_d.pdf
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: kvo1 am 16 September 2015, 21:25:43
ZitatProbiers mal so: https://mystrom.ch/wp-content/uploads/connect_manually_d.pdf
paßt, danke !
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gosteli am 08 Juni 2017, 14:46:50
Tolles Modul! Klappt wirklich sehr gut.
Hast du ev. auch den Button integriert? Damit man via REST auch gleich andere Geräte steuern kann?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 08 Juni 2017, 15:59:20
Kannte die myStrom Buttons noch gar nicht. Welchen hast du im Einsatz, den Plus oder den normalen?
Meines Wissens hat Arallon das Modul für den Switch geschrieben, die Buttons gab es zu diesem Zeitpunkt noch nicht. Traust du dir zu, ein Modul für den Button zu schreiben?
Gruass us Schwyz, eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gosteli am 09 Juni 2017, 10:03:35
Ich habe den normalen im Einsatz. Möchte damit auch den Rasenroboter nach Hause schicken :)
Würde es mir ev. schon zutrauen... habe aber leider neben Job, Familie und Haus nicht genug Zeit dafür.
Falls ich doch mal Zeit finde, werde ich es aber sicher probieren. Sollte ja eigentlich nicht allzu schwierig sein.
Merci u glichfaus  8)
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Michel G. am 25 August 2017, 19:57:45
Hat alles einwandfrei funktioniert, vielen Dank. gruss aus Solothurn

P.s. Hat jemand eine Lösung für die neuen Buttons von myStrom
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 26 August 2017, 07:39:54
Zitat von: Michel G. am 25 August 2017, 19:57:45
P.s. Hat jemand eine Lösung für die neuen Buttons von myStrom
Ich habe mir ein Wifi Button Plus gekauft, welchen ich als Panik-Button verwende. Die Einrichtung war etwas tricki, aber schlussendlich habe ich es geschafft.

Du brauchst einen URL Encoder, ich habe diesen verwendet: https://meyerweb.com/eric/tools/dencoder/ (https://meyerweb.com/eric/tools/dencoder/)
Wenn du zum Beispielset Panik on encodierst, dann erhältst du set%20Panik%20on
Jedoch, erwartet der Wifi-Button für ein Leerzeichen kein %20 sondern %2520. Das ist das einzige Zeichen, dass bei meiner Anwendung nicht richtig encodiert wurde. Somit sieht es dann so aus:
set%2520Panik%2520on.
Um nun das ganze zu konfigurieren, musst du die IP kennen deines Wifi Button. Als erstes musst du den Wifi Button mittels MyStrom App in dein WLAN einbinden. Wenn du die IP-Adresse ermittelt hast, kannst du in deinem Browser folgendes eingeben:
http://192.168.1.24/api/v1/device/5CCF7F0CE368
Wobei du die rote IP-Adresse durch jene des Wifi-Button ersetzen musst, die grüne MAC Adresse durch jene welche aufgedruckt ist auf deinem Button.
Im Browser siehst du nun die JSON mit den gespeicherten Daten, bei mir:
type "wheel"
battery true
reachable true
meshroot false
charge false
voltage 4.342
fw_version "2.56"
single "get://192.168.1.2:8088/fhem?cmd=set%20Panik%20on"
double "get://192.168.1.2:8088/fhem?cmd=set%20Panik%20on"
long "<url>"
touch "<url>"


Die URL's setzen kannst du mit CURL.
curl -v -d "single=get://192.168.1.2:8088/fhem?cmd%3Dset%2520Panik%2520on&double=get://192.168.1.2:8088/fhem?cmd%3Dset%2520Panik%2520on&long=<url>&touch=<url>" http://192.168.1.24/api/v1/device/5CCF7F0CE368

FERTIG!
Viel Erfolg - LG us Schwyz, Dani

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Gigafix am 10 September 2017, 23:06:18
Hallo eppi

Ich habe das mal so probiert, wie Du geschrieben hast. Funktioniert auch soweit, bis auf das er beim setzen der Adresse im letzten Schritt immer ein\ vor jeden / setzt. das sieht dann so aus:
"single": "get:\/\/192.168.1.2:8088\/fhem?cmd=set%20Panik%20on",
"double": "get:\/\/192.168.1.2:8088\/fhem?cmd=set%20Panik%20on",
"long": "<url>",
"touch": "<url>"

Ich habe jetzt schon getestet das "/" mit "%2F" zu schreiben - aber mit dem gleichen Ergebnis. Was muss ich anders machen?

Viele Grüße sendet Gigafix
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 September 2017, 19:22:23
Zitat von: Gigafix am 10 September 2017, 23:06:18
Was muss ich anders machen?
Hi Gigafix
Das kenne ich. Bei mir hat ein paar mal rebooten geholfen, Batterie raus, rein... dazwischen mal wieder probieren die CURL zu setzen..
Viel Erfolg
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gosteli am 05 Oktober 2017, 10:26:43
Hallo zusammen
Vielen Dank für all die Hinweise. Jetzt komme auch ich weiter :)

Leider habe ich noch ein Problem mit dem absetzen des Befehls für unsern Rasenroboter.
Ich möchte für Double dies hinterlegen:
double=http://192.168.1.133/xml?user=xxx&pass=xxx&cmd=mode&mode=eod

Leider wird nur dies hinterlegt:
"double": "http:\/\/192.168.1.133\/xml?user"

Alles hinter dem zweiten = wird nicht hinterlegt. Hat mir ev. Jemand einen Tipp?

Viele Grüsse
Stef
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 07 Oktober 2017, 18:53:42
Hi gosteli
Bei der Curl Rückmeldung sieht es bei mir auch so aus wie bei dir, jedoch wenn ich nach einem reboot des Button die JSON aufrufe, sieht es korrekt aus. Deshalb nehme ich an, dass es so funktioniert:
&double=get://192.168.1.133/xml%3Fuser%3Dxxx%26pass%3Dxxx%26cmd%3Dmode%26mode%3Deod
Gruass Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gosteli am 08 Oktober 2017, 09:57:54
Hi Dani
Vielen Dank! So habe ich es zum laufen gekriegt: get://192.168.1.133/xml?user%3Dxxx%26pass%3Dxxx%26cmd%3Dmode%26mode%3Deod
Jetzt habe ich endlich für alle drei Schaltzustände ne vernünftige Belegung :)
Gruess Stef
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: alen am 27 Oktober 2017, 11:41:52
Hallo zusammen, bzw Hoi zämme

Wird dieses Modul noch weiterentwickelt, gibt  eine neuere Version als die auf der ersten Seite?
@Mike?
Was mich mich vor allem interessieren würde wäre der Tages/Monatsverbraucht etc.?

Gruss
Alen
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 27 Oktober 2017, 18:51:06
Zitat von: alen am 27 Oktober 2017, 11:41:52
Wird dieses Modul noch weiterentwickelt, gibt  eine neuere Version als die auf der ersten Seite?
Im Beitrag 13 ist die aktuelle Version angehängt:
https://forum.fhem.de/index.php?topic=39933.msg322366#msg322366
Gruss Dani
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: mikka1 am 02 Januar 2018, 19:47:07
Guten Abend

Funktioniert das Modul nur mit dem WiFi Switch oder auch mit den vormaligen ECO LAN Adaptern?
Habe seit Heute ein paar davon und der Eintrag in der fhem.cfg bringt immer den FHEM zum erliegen, wie das hier schon dem einen oder anderen ergangen ist, ein Fehler in der Netzwerkkonfiguration denke ich, ist es eher nicht, wüsste zumindest nicht wo.
Besten Dank bereits jetzt schon.

Gruss Stephan
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Damu am 02 Januar 2018, 22:41:42
Hallo

Nein diese Adapter gehen so nicht.
Die Adapter erhalten aber vom Router eine IP Adresse und sind dann mit dem Browser Schaltbar.
Benutzer Admin, Password welcome (bin mir aber nicht sicher)
Steht hier:
https://forum.fhem.de/index.php/topic,54995.msg466232.html#msg466232 (https://forum.fhem.de/index.php/topic,54995.msg466232.html#msg466232)
Da hatte aber jemand Probleme mit dem Beitrag sehe ich gerade????
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: mikka1 am 04 Januar 2018, 16:57:38
Besten Dank, das mit dem user und passwort habe ich so gesehen, leider sind so nur die über LAN angeschossenen Adapter erreichbar, die reinen Switch/Energiemesser nicht...

So, habe über HTTPMOD zumindest geschafft, die Verbrauchsdaten im FHEM einzubinden, jetzt fehlt nur noch das schalten, sollte laut https://www.mystrom.ch/mobile/ (https://www.mystrom.ch/mobile/) aber auch möglich sein...
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: rcaspar am 19 Februar 2018, 23:10:35
Hi mikka1

Wie hast du die Leistungsdaten eingebunden?

Ich kann die myStrom Switches einwandfrei schalten. ich sehe dann auch den aktuellen Verbrauch.

Leider bin ich ein absoluter FHEM Neuling und was ich noch vermisse ist eine Funktion die Leistungsdaten periodisch zu loggen und dann wieder auszulesen und als Diagramm darzustellen. Hast du dazu evtl eine Lösung?

Merci

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 15 März 2018, 15:24:26
Hat jemand eine Lösung für die neuen myStrom Switches mit Temperaturanzeige (Rev.2)? Die lassen sich momentan nicht in FHEM einbinden.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 17 März 2018, 10:43:52
Zitat von: chaot4ever am 15 März 2018, 15:24:26
Hat jemand eine Lösung für die neuen myStrom Switches mit Temperaturanzeige (Rev.2)? Die lassen sich momentan nicht in FHEM einbinden.
Ich war heute im Fust in der Hoffnung, dass sie die Rev2 verkaufen. Leider ist es immer noch die Rev1 ohne Temperatur-Sensor.
Kannst du mal das JSON posten? http://192.168.x.x/report

Danke!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 17 März 2018, 11:27:00
Hier das JSON (Rohdaten):
Zitat{
   "power":   5.247104,
   "relay":   true
}
und noch die Kopfzeilen:
ZitatCache-Control: no-store, no-cache
Connection: close
Content-Length: 38
Content-Type: application/json
Pragma: no-cache

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: de,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Host: 192.168.2.116
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:58.0) Gecko/20100101 Firefox/58.0

Ich habe die Rev2 bei https://shop.swiss-domotique.ch/fr/prises/691-mystrom-energy-control-switch.html (https://shop.swiss-domotique.ch/fr/prises/691-mystrom-energy-control-switch.html) bestellt gehabt.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 17 März 2018, 11:34:57
Hmm, da fehlen im JSON die Temperaturdaten... Ev kann es die installierte Firmware noch nicht....
Ansonsten sollte das eigentlich kein Problem sein, in das Modul zu integrieren.

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 18 März 2018, 17:04:22
Hallo chaot4ever
Konntest du den Rev2 Switch einrichten in FHEM, dass nur schalten möglich ist? Bei mir stürzt sofort beim "define" FHEM ab....

Übrigens die Temperaturdaten bekommst du mit http://192.168.x.x/temp
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 18 März 2018, 17:27:57
Konnte es nicht einrichten, nicht mit define ... und auch nicht mit der Editierung der fhem.cfg. Hatte wie Du sofort einen Totalabsturz!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 18 März 2018, 17:30:03
Zitat von: chaot4ever am 18 März 2018, 17:27:57
Konnte es nicht einrichten, nicht mit define ... und auch nicht mit der Editierung der fhem.cfg. Hatte wie Du sofort einen Totalabsturz!
alles klar, Danke. Werde mal schauen und mich wieder melden.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: ric91 am 19 März 2018, 21:08:35
Hallo mike

Ich hatte mehrfach mit Problemen zu kämpfen, wenn die IP-Adresse eines MyStrom-Adapters kein JSON zurückliefert. Bei mir war das Problem, dass auf der IP-Adresse ein anderes Gerät geantwortet hat. Der Fehler lag klar in der Netzwerk-Konfiguration (IP-Adresse doppelt vergeben).

Folge war aber jedesmal ein komplett abgestürztes FHEM.

Der Fehler tritt in der Zeile 57 auf, bei

my $decode = decode_json($response)

Steht in response etwas anderes als JSON, reisst das das ganze FHEM in den Abgrund.

Ich habe die Zeile ersetzt mit

my $decode = eval {
  decode_json($response);
  } or do {
  Log3 $name, 3, "Error while getting data from myStrom adater: The answer does not contain valid JSON from address " . $hash->{ip};
  return;
};


Das wirft einen Logeintrag und springt aus der Sub-Routine, damit läuft FHEM im Fehlerfall weiter.

Evtl könntest Du die 98_mystrom.pm dahingehend anpassen.

Grüsse
Ric
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 21 März 2018, 23:29:29
Oh man Mega fettes Sorry von meiner Seite. Irgendwie muss die Benachrichtigung dass es hier Aktivität gab total unter gegangen sein :(
Dachte das Ding verwendet kein Mensch. Ich habe zufälligerweise heute mal wieder etwas an dem Modul gearbeitet und es etwas erweitert.

Was habe ich gemacht:

- Code etwas strukturierter und bereinigt
- Reading für Total Wattstunden eingebaut
- Reading für Total Kilowattstunden eingebaut
- Reading für Total since (datum)
- Hardware Infos weniger oft auslesen
- Standard Timeout reduziert
- Reset Funktion eingebaut für die Total Timer
- Anpassung von ric91 aufgenommen

Totalwerte bestimmen funktioniert wie folgt. Sofern der vorherig gemessene Wert nicht 0 ist (interval ist durchgelaufen) dann wird der aktuelle Wert auf Wattstunden umgerechnet in Abhängigkeit zum konfigurierten Interval.

Nutzt man Update oder schält man die Steckdose ab via FHEM, dann wird der aktuell laufende Timer ermittelt und die Berechnung korrigiert, da das Interval in diesem Fall ja kürzer ist.

Da noch Rundungen eingebaut sind, kann es bei sehr kurzem Interval und sehr niedrigem Verbrauch dazu führen, dass der berechnete Wert 0 ergibt. Da werde ich noch ein wenig experimentieren.
Grundsätzlich wäre ein Verbauch z.b lastWeek, lastMonth sicherlich denkbar. Mit den jetzt hinzugefügten Werten und ein paar At oder DoIf etc. kann man sich die aber vorerst auch anderweitig generieren.

Bezüglich Temperaturdaten, ich habe zum einen Rev1 und habe eine uralte Firmware, da ich noch nie etwas via App gemacht habe. Ich müsste die mal von mystrom updaten lassen, da ich noch nicht mal das manuelle Uploaden aktiv habe bei meiner Version.
Kann mir hier einer den Aufruf und die Rohdaten zur Verfügung stellen, dann kann ich das gerne aufnehmen.

Nochmals sorry dass ich mich hier nie gemeldet habe. Aktuelle Version angehängt. Sollte hoffentlich soweit funktionieren.

Aktuelle Version auf Seite1!!!

grüsse

mike

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 21 März 2018, 23:36:23
Zitat von: eppi am 18 März 2018, 17:30:03
alles klar, Danke. Werde mal schauen und mich wieder melden.

@eppi: Kannst du mir mal die Json Antwort von
http://deineIP/info
zukommen lassen?


Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 22 März 2018, 06:14:08
Hallo arallon
welcome back  ;)
Danke für die neue Version, welche ich eingesprielt habe. FHEM schaltet damit die alten V1 Adapter, die neuen V2 jedoch nicht. Im Log finde ich folgendes beim schalten des neuen V2 Adapters:
2018.03.22 05:59:23 3: Error while getting data from myStrom adater: The answer does not contain valid JSON from address 192.168.2.128

Die JSON Antwort des neuen V2 Adapters für http://192.168.2.128/info sieht wie folgt aus:
version "3.60"
mac "xxxxxxxxxxxx"
ssid "technet"
ip "192.168.2.128"
mask "255.255.255.0"
gateway "192.168.2.1"
dns "192.168.2.1"
static true
connected true


Die JSON Antwort des neuen V2 Adapters für http://192.168.2.128/temp gibt folgendes zurück:
measured 42.25
compensation 21
compensated 21.25

Die JSON Antwort des neuen V2 Adapters für http://192.168.2.128/report gibt folgendes zurück:
power 0
relay false


Danke dir!
Viele Grüsse Eppi



Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 22 März 2018, 09:13:07
Die v2 hat also keine validen Json Antworten. Laufen damit in das gleiche Problem das ric91 aufgezeigt hatte wenn die Steckdose nicht erreichbar ist.
Schade das myStrom hier scheinbar unterschiedliche APIs einsetzt und dann auch noch entgegen der zugänglichen Dokumentation.

Hast du zufällig auf einer V1 eine aktuelle Firmware und funktioniert damit das Modul? Müsste mal versuchen heute Abend eine zu updaten.

Müsste mal versuchen die Antwort aus V2 zu mocken, damit ich das irgendwie einbauen könnte.

Ansonsten wäre mal noch dailyConsumption und weekly / monthly geplant und eine Kostenberechnung.


Edit: Ich habe mal den myStrom Support kontaktiert.

Noch eine andere Frage, nutzt ihr eigentlich das myStrom Portal/App. Das ganze hat auch eine offene API wo man auf alles zugreifen könnte. Theoretisch könnte man ähnlich einem HUE Modul oder so auch alles via Portal einbinden. Ich selbst nutze es allerdings nicht.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 22 März 2018, 12:02:42
Hallo arallon
Habe mit deinem neuen Modul das Folgende getestet:
Bei der V1 mit aktueller Software 2.31 läuft alles bestens.
Bei der V2 lassen sich die Schalter nun anlegen, aber ein Schalten geht nicht, ebenso kommen keine Daten rein, im Log die gleichen Angaben wie von eppi beschrieben.
Grüsse Richi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 22 März 2018, 12:45:51
Werde heute Abend mal ein Workaround einbauen, dass man die nicht valide Antwort verarbeiten kann. Und dann mal warten was der Support antwortet.
Wäre super wenn es dann einer prüfen könnte ob es läuft.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 22 März 2018, 18:41:45
Zitat von: chaot4ever am 22 März 2018, 12:02:42
Habe mit deinem neuen Modul das Folgende getestet:
Bei der V1 mit aktueller Software 2.31 läuft alles bestens.
Bei der V2 lassen sich die Schalter nun anlegen, aber ein Schalten geht nicht, ebenso kommen keine Daten rein, im Log die gleichen Angaben wie von eppi beschrieben.
Kann ich bestätigen: Bei V1 mit FW 2.31 alles i.o, bei V2 kommen keine Readings und das schalten funktioniert nicht.
Zitat von: arallon am 22 März 2018, 12:45:51
Werde heute Abend mal ein Workaround einbauen, dass man die nicht valide Antwort verarbeiten kann.
Danke!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 22 März 2018, 21:00:00
So wer könnte das mal testen ?

Ich habe es versucht so gut es geht zu mocken und dagegen zu testen.

Der Versuch sieht wie folgt aus. Ich zerlege die Antworten die eppi gepostet hatte und baue daraus eine valide json antwort. Sofern die Antwort wirklich so ankommt, könnte es funktionieren. Aktuell gehe ich davon aus das es keine {} in euren Antworten von der Rev2 gibt.

Ich hänge die Version mal nur hier an nicht in den ersten Beitrag, damit eine funktionierende dort noch vorhanden ist. Feedback wäre mega.

Bin auch noch eine Weile on, sollte es nicht gehen kann man es ggf. zusammen noch flicken.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 23 März 2018, 06:06:28
Danke
Beim Start von FHEM erhalte ich im Log (Verbose 3) folgende Meldung:
2018.03.23 06:02:00 1: PERL WARNING: Scalar value @line[1] better written as $line[1] at ./FHEM/98_myStrom.pm line 267, <$fh> line 1793.
2018.03.23 06:02:00 1: PERL WARNING: Scalar value @line[0] better written as $line[0] at ./FHEM/98_myStrom.pm line 267, <$fh> line 1793.
2018.03.23 06:02:00 1: PERL WARNING: Scalar value @resp[$i] better written as $resp[$i] at ./FHEM/98_myStrom.pm line 264, <$fh> line 1793.


V1 Adapter funktionieren wie geohnt, der V2 jedoch nicht (kein schalten möglich und keine Reading). Folgendes habe ich nach dem Anlegen eines V2 im Log:
2018.03.23 06:05:07 3: Error while getting data from myStrom adapter: The answer does not contain valid JSON from address 192.168.2.128

Danke und Gruss Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 23 März 2018, 10:35:04
Ja die Warnings sind kein Problem.

Ich vermute in der Antwort des Switchs sind vielleicht doch geschweifte Klammern vorhanden? Baue sonst mal ein paar Log Einträge ein, damit man ggf. etwas mehr sehen kann.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 23 März 2018, 20:16:05
hab mal 3 Log einträge eingefügt. Da wird die wirkliche Antwort vom Server mal geloggt. Und der JSON String den ich versuche zu erstellen.
Version hier angehängt.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 24 März 2018, 12:37:35
Benötigst du noch spezielle verbuse Einträge?
Hier mal die ersten Log-Einträge:
Zitat2018.03.24 12:38:17 1: {
   "power":   2.181167,
   "relay":   true
}
2018.03.24 12:38:18 1: {
   "power":   4.343541,
   "relay":   true
}
2018.03.24 12:38:20 1: <html><head><title>Error</title></head><body><h1>500 Internal Server Error</h1></body></html>
2018.03.24 12:38:20 1: { "<html><head><title>Error</title></head><body><h1>500": Internal }
2018.03.24 12:38:20 3: Error while getting data from myStrom adapter: The answer does not contain valid JSON from address 192.168.2.116

Die ersten 2 sind die V1 und der letzte die V2 Version.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 25 März 2018, 07:56:51
Kann ich so bestätigen, bei mir siehts genauso aus mit dem V2 Adapter:
2018.03.25 07:52:51 3: Error while getting data from myStrom adapter: The answer does not contain valid JSON from address 192.168.2.128
2018.03.25 07:52:51 1: { "<html><head><title>Error</title></head><body><h1>500": Internal }
2018.03.25 07:52:51 1: <html><head><title>Error</title></head><body><h1>500 Internal Server Error</h1></body></html>
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 25 März 2018, 12:11:42
Seltsam dass da ein Internal Server Error kommt. Wenn ihr die URLs im Browser aufruft kommt ja eine Antwort. Das ist natürlich schwierig nachzustellen.
Muss mir wohl mal eine Rev2 besorgen.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 25 März 2018, 13:44:37
Habe sogar meinen NUC upgedated und JSON kontrolliert, ist auf dem neuesten Stand!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 25 März 2018, 13:51:32
Es sieht ja so aus als ob der myStrom Switch gar nicht korrekt antwortetauf den Call aus dem Modul.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 25 März 2018, 16:44:06
Wird bei revision 2 evtl via https umgeleitet ? Wäre evtl noch etwas woran es zumindest vom Code her liegen könnte. Wobei der Call dann evtl auch umgeleitet werden sollte.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 25 März 2018, 19:48:30
Zitat von: arallon am 25 März 2018, 16:44:06
Wird bei revision 2 evtl via https umgeleitet ?
Hilft dir das?
{
  "log": {
    "version": "1.1",
    "creator": {
      "name": "Firefox",
      "version": "59.0.1"
    },
    "browser": {
      "name": "Firefox",
      "version": "59.0.1"
    },
    "pages": [
      {
        "startedDateTime": "2018-03-25T19:35:14.029+02:00",
        "id": "page_1",
        "title": "myStrom",
        "pageTimings": {
          "onContentLoad": -1,
          "onLoad": -1
        }
      }
    ],
    "entries": [
      {
        "pageref": "page_1",
        "startedDateTime": "2018-03-25T19:35:14.029+02:00",
        "time": null,
        "request": {
          "bodySize": 0,
          "method": "GET",
          "url": "http://192.168.2.128/report",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "de,en-US;q=0.7,en;q=0.3"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Host",
              "value": "192.168.2.128"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
            }
          ],
          "cookies": [],
          "queryString": [],
          "headersSize": 338
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Cache-Control",
              "value": "no-store, no-cache"
            },
            {
              "name": "Connection",
              "value": "close"
            },
            {
              "name": "Content-Length",
              "value": "32"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            }
          ],
          "cookies": [],
          "content": {
            "mimeType": "application/vnd.mozilla.json.view",
            "size": 32,
            "encoding": "base64",
            "text": "ewoJInBvd2VyIjoJMCwKCSJyZWxheSI6CWZhbHNlCn0="
          },
          "redirectURL": "",
          "headersSize": 143,
          "bodySize": 175
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "ssl": 0,
          "send": 0,
          "wait": 32,
          "receive": 0
        },
        "serverIPAddress": "192.168.2.128",
        "connection": "80"
      },
      {
        "pageref": "page_1",
        "startedDateTime": "2018-03-25T19:35:52.842+02:00",
        "time": null,
        "request": {
          "bodySize": 0,
          "method": "GET",
          "url": "http://192.168.2.128/report",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "de,en-US;q=0.7,en;q=0.3"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Host",
              "value": "192.168.2.128"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
            }
          ],
          "cookies": [],
          "queryString": [],
          "headersSize": 381
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Cache-Control",
              "value": "no-store, no-cache"
            },
            {
              "name": "Connection",
              "value": "close"
            },
            {
              "name": "Content-Length",
              "value": "32"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            }
          ],
          "cookies": [],
          "content": {
            "mimeType": "application/json",
            "size": 32,
            "text": "{\n\t\"power\":\t0,\n\t\"relay\":\tfalse\n}"
          },
          "redirectURL": "",
          "headersSize": 143,
          "bodySize": 175
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "ssl": 0,
          "send": 0,
          "wait": 62,
          "receive": 0
        },
        "serverIPAddress": "192.168.2.128",
        "connection": "80"
      },
      {
        "pageref": "page_1",
        "startedDateTime": "2018-03-25T19:37:25.827+02:00",
        "time": null,
        "request": {
          "bodySize": 0,
          "method": "GET",
          "url": "http://192.168.2.128/report",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate"
            },
            {
              "name": "Accept-Language",
              "value": "de,en-US;q=0.7,en;q=0.3"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Host",
              "value": "192.168.2.128"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
            }
          ],
          "cookies": [],
          "queryString": [],
          "headersSize": 381
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Cache-Control",
              "value": "no-store, no-cache"
            },
            {
              "name": "Connection",
              "value": "close"
            },
            {
              "name": "Content-Length",
              "value": "32"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            }
          ],
          "cookies": [],
          "content": {
            "mimeType": "application/json",
            "size": 32,
            "text": "{\n\t\"power\":\t0,\n\t\"relay\":\tfalse\n}"
          },
          "redirectURL": "",
          "headersSize": 143,
          "bodySize": 175
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "ssl": 0,
          "send": 0,
          "wait": 31,
          "receive": 0
        },
        "serverIPAddress": "192.168.2.128",
        "connection": "80"
      }
    ]
  }
}

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 26 März 2018, 08:58:49
hier sehe ich noch, dass httpversion 1.1 bei der Abfrage genutzt wird. Der Aufruf im Modul nutzt standardmässig 1.0. Das könnte man noch versuchen.
Ansonsten muss ich wohl mal so ein Teil kaufen.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 26 März 2018, 19:49:35
Also ich habe mal noch die httpversion auf 1.1 gesetzt. aber ich kann mir nicht vorstellen, dass das einen unterschied macht.
Seltsam wieso das einen 500 Error wirft. Wenn es im Browser problemlos klappt...

Gibt es die korrekte antwort wenn ihr:
{GetFileFromURL("http://192.168.x.x/info")} im FHEM command line im GUI ausführt?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 26 März 2018, 20:43:28
Zitat von: arallon am 26 März 2018, 19:49:35
{GetFileFromURL("http://192.168.x.x/info")} im FHEM command line im GUI ausführt?
Ich kann gerade nicht testen, bin erst am Wochenende wieder zu Hause. Ich hoffe, dass chaot4ever das machen kann..
Gruss Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 27 März 2018, 09:20:05
Hallo arallon
Habs getestet: Dir Readings kommen bei V1 und V2 nun perfekt an und erneuern sich, die internals sind ebenfalls korrekt. Das log zeigt nun keinen Fehler mehr, aber fehlende Einträge:
Zitat2018.03.27 09:01:46 1: {
   "version":   "3.60",
   "mac":   "xxxxxxxxxxxx",
   "ssid":   "RCB",
   "ip":   "",
   "mask":   "",
   "gateway":   "",
   "dns":   "",
   "static":   false,
   "connected":   true
}
Internals:
ZitatDEF 192.168.2.117 60
INTERVAL 60
NAME Test
NR 3222
STATE on
TYPE myStrom
ip 192.168.2.117
mac xx:xx:xx:xx:xx:xx
mode DHCP
ssid RCB
swversion 3.60
aber leider lässt sich die V2 nicht schalten, die V1 hingegen schon.
Dein Befehl{GetFileFromURL("http://192.168.x.x/info")} ergibt leider: 500 Internal Server Error
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 27 März 2018, 09:51:44
Ok perfekt. Wir kommen weiter :)

Dann ist die Ursache für die Fehler der call mit httpversion 1.0. Dann ist auch klar wieso das schalten nicht funktioniert. Das ist noch ein Call der auf 1.0 basiert.

Ich würde meine aktuellere Version nun aktualisieren auf die anderen Calls, dann sollte auch das schalten endlich funktionieren für eure V2. Hoffe ich zumindest.

Neuere Version wäre noch wie folgt angepasst:

Attribute für tarifDay, tarifNight, TarifNightInterval
Readings umbenannt: totalConsumption, totalConsumptionDay, totalConsumptionNight, totalCost

Total in Watt habe ich entfernt, das war hauptsächlich zum testen. Sind nun alles kW Angaben. Man kann nun einen Tarif angeben, dann werden die Kosten berechnet, gibt man noch einen Nachttarif und den Interval an, dann kann man Tag/Nachtstrom Tarife abbilden. Bei der Kostenberechnung wird das dann berücksichtigt. totalCost Readings wird gelöscht, sofern keine Tarife mehr vorhanden sind. Die Kosten werden immer neu berechnet, eine Änderung des Tarifs wirkt sich also auf auch rückwirkend auf den Zähler aus.
Interval wird im Format wie für disableForIntervals angegeben z.b "22:00-24:00 00:00-05:00" würde heissen von 22 Uhr bis 5 Uhr morgens wäre Nachtstrom Tarif aktiv.

die alten Readings müsste man manuell löschen oder das Device neu anlegen.

Readings für totalLastDay, totalLastWeek, totalActualDay, totalLastMonth sind die nächsten Erweiterungen, wenn die aktuelle Version dann stabil ist für die Version2 der Switches.

Danke für das Testen auf jeden Fall von meiner Seite.

Hänge im Laufe des Abends dann eine neue Version an Beitrag 1.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 27 März 2018, 13:07:53
Bitte bei den neuen Versionen die Abfrage der Temperatur integrieren!
(http://192.168.x.x/temp)
Rohdaten:
Zitat{
   "measured":   42.937500,
   "compensation":   28.150000,
   "compensated":   14.787500
}
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 27 März 2018, 13:31:09
Stimmt das hatte ich auch noch vor. Dafür habe ich ein Attribut eingefügt tempInterval.

Vorgesehen wäre es, wenn das gesetzt ist entsprechend in dem Interval die temperatur Info abzufragen. Ich denke das muss evtl nicht so oft geschehen wie den Strom messen. Zudem müsste ich so keine Unterscheidung Rev.1 / 2 einbauen (wäre wohl nur anhand der Firmware Version möglich, aber das wäre recht unsicher).

Muss schauen ob ich das heute eingebaut bekomme, so das es auch verlässlich läuft mit den internen Timern. Aktuell bin ich guter Dinge das es klappen könnte :)
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 27 März 2018, 15:56:59
Perfekt, die Lösung mit dem attr find ich super, denn die Abfrage erfolgt maximal stündlich
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 27 März 2018, 20:27:52
So ich habe mal etwas gebastelt und hoffe das ganze läuft dann auch :)

Bitte den folgenden Post noch beachten:
https://forum.fhem.de/index.php/topic,39933.msg787126.html#msg787126 (https://forum.fhem.de/index.php/topic,39933.msg787126.html#msg787126)

Sind jetzt einige Änderungen enthalten. Neben denen im Post:

- Delete Routine hinzugefügt wenn das Device entfernt wird (Timer entfernen)
- Temperatur auslesen hinzugefügt: Hierfür muss das Attribut tempTimer gesetzt werden. Wert in Sekunden. In diesem Interval wird dann die temperatur abgefragt. Der Timer startet direkt mit dem setzen des Attributs. Beim Löschen werden die Timer wieder entfernt und die Werte auf "-" gesetzt
- Notify Funktion hinzugefügt, damit nach dem Start von fhem der Timer gestartet wird, wenn das Attribut gesetzt ist
- Umstellung aller Calls auf httpversion 1.1, damit sollte auch schalten für V2 möglich sein. V1 funktioniert weiterhin ok.

Wenn es positives Feedback gibt hänge ich die Version in den ersten Post.


Edit: aktuell übernehme ich die Werte noch ungerundet. Evtl wäre auf 2 Kommastellen runden noch brauchbar?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 28 März 2018, 08:08:01
Danke für die perfekte Arbeit! Das Schalten läuft nun auch und die Temperaturanzeige funktioniert.

Folgende Fehler/Verbesserungen habe ich gefunden:
1. Beim FHEM-Start treten noch folgende Meldungen auf im Log:
Zitat2018.03.28 07:32:38 1: PERL WARNING: Scalar value @resp[$i] better written as $resp[$i] at /opt/fhem/FHEM/98_myStrom.pm line 432, <$fh> line 911.
2018.03.28 07:32:38 1: PERL WARNING: Scalar value @line[0] better written as $line[0] at /opt/fhem/FHEM/98_myStrom.pm line 435, <$fh> line 911.
2018.03.28 07:32:38 1: PERL WARNING: Scalar value @line[1] better written as $line[1] at /opt/fhem/FHEM/98_myStrom.pm line 435, <$fh> line 911.

2. Bei der Temperaturanzeige reicht der Eintrag "compensated" als "temperature" definiert und gerundet auf eine Kommastelle, da die beiden anderen Werte belanglos und individuell verschieden sind und nur verwirrend wirken.

Die Einträge totalConsumption, totalConsumptionDay und totalConsumptionNight zeigen noch 0 an, nehme an, dass die sich zu einer bestimmten Zeit füllen werden (20:00h?).

Gruss Richi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 28 März 2018, 08:31:42
Ja die Warnings sind noch etwas doof, spielen aber keine grosse Rolle, wenn ich das änder wie dort geschrieben läuft es nicht mehr. Muss ich mal bei Zeiten noch genauer anschauen, am besten wenn ich auch mal ein Gerät habe.

Das für die Temperatur kann ich anpassen. Habe einfach mal alle Werte übernommen wie die geliefert werden.

TotalConsumption wird eigentlich nach jedem abgelaufenen Interval errechnet, wenn auch die Messung erneut durchgeführt wird. Ein Szenario kann ich mir vorstellen wo das evtl 0 bleibt. Wenn der Verbrauch sehr sehr klein ist der gemessen wird und das Interval sehr kurz. Es wird aktuell auf 6 Stellen gerundet und in kwH angegeben.

Angenommen wir haben 2 Watt Verbrauch und ein 5 Sekunden Interval müsste im Bereich 0.0000003 liegen und wäre dann weiterhin 0. Day/Night wird nur errechnet bei Tag Nachttarif. Kosten nur wenn min. tarifDay gesetzt ist. Wenn es ein solches Szenario ist kann man es natürlich mal auf 8 Nachkommastellen setzen.
Wenn das Interval hoch ist, aber man z.b ständig ein update auslöst wird das Interval gekürzt um die Timer Laufzeit damit man auch nur den relevanten Verbrauch hat. So könnte die 0 zustande kommen. Bei mir funktionieren die Werte eigentlich recht gut.

Zeile 95: $usedPowerInInterval = round($actPowerCalc/3600*($hash->{INTERVAL}-$corr)/1000,6);
Da könntest das sonst testweise anpassen.


Auf jeden Fall bin ich froh dass wir soweit gekommen sind, dass ihr auslesen und schalten könnt :)

Ich passe das heute Abend noch an mit dem temp reading
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: chaot4ever am 30 März 2018, 22:49:32
Hab mir erlaubt, das temp Reading anzupassen.  ;)
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 31 März 2018, 07:27:38
Zitat von: chaot4ever am 30 März 2018, 22:49:32
Hab mir erlaubt, das temp Reading anzupassen.  ;)
Cool, Danke vielmals für die Weiterentwicklung des Moduls!
Gruss Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Grisu am 28 Oktober 2018, 13:33:05
Hallo zusammen.
Erstmals vielen Dank für Euer Engagement.

ich habe die Version von  chaot4ever (30.3.2018) installiert

Positiv: V2 Schaltet  :)
Fehler im Log: Error while getting data from myStrom adapter: The answer does not contain valid JSON from address 192.168.1.108

Meine Konfiguration:
myStrom Switch V2 Firmware 3.82

http://192.168.1.108/info >> liefert Fehler 404
http://192.168.1.108/report >> {"power":0,"relay":true,"temperature":41.640354156494141}
http://192.168.1.108/temp >> {"measured":46.25,"compensation":5.7397313117980957,"compensated":40.510269165039062}

Kann da wer weiterhelfen?
Besten Dank
Dandan


Update 16.1.2019. mein Problem könnte mit einem Reset des MyStorm gelöst werden. Nun funktioniert die Info auch wieder.


Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 31 Oktober 2018, 12:32:19
Hey

So wie es aussieht gibt es die "info" in der Firmware Version nicht (mehr).

Muss es mir mal anschauen, wie man das umgehen könnte, damit es fehlerfrei funktioniert.

Haben andere auch die Firmware Version laufen und das gleiche "problem"?

grüsse
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 31 Oktober 2018, 18:52:15
Hallo zusammen
Bei mir sieht es mit der neusten Firmware (3.82.4) wie folgt aus:

http://192.168.2.128/report
{"power":0,"relay":false,"temperature":18.749046325683594}

http://192.168.2.128/temp
measured 44.25
compensation 23.357219696044922
compensated 20.892780303955078


http://192.168.2.128/info
{"version":"3.82.4","mac":"XXXXXXXXX","ssid":"myWifi","ip":"192.168.2.128","mask":"255.255.255.0","gateway":"192.168.2.1","dns":"192.168.2.1","static":true,"connected":true,"type":"WS2","name":"WiFi Switch v2 CH","connectionStatus":{"ntp":true,"dns":true,"connection":true,"handshake":true,"login":true}}

Wenn ich den Wifi Switch definiere mit:
define Testswitch_v2 192.168.2.128 20
kann ich ihn ganz normal schalten, alles tiptop. Aber sobald ich das attr TempTimer setze, stürzt FHEM komplett ab.

Im Log (verbose 3) finde ich dann folgenden Eintrag:
2018.10.31 18:43:37 1: PERL WARNING: Scalar value @line[1] better written as $line[1] at ./FHEM/98_myStrom.pm line 430, <$fh> line 1757.
2018.10.31 18:43:37 1: PERL WARNING: Scalar value @line[0] better written as $line[0] at ./FHEM/98_myStrom.pm line 430, <$fh> line 1757.
2018.10.31 18:43:37 1: PERL WARNING: Scalar value @resp[...] better written as $resp[...] at ./FHEM/98_myStrom.pm line 427, <$fh> line 1757.


Beste Dank für die Analyse und viele Grüsse Dani


Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 31 Oktober 2018, 22:06:40
Werde es morgen mal testen, mit meiner Version habe ich keinen Absturz, allerdings habe ich auch nur eine V1 und es gibt nie eine "brauchbare" Antwort zurück. Muss meine Version raus suchen bei der ich die Interfaces via Mock zur Verfügung gestellt habe und teste es nochmal damit
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 10 November 2018, 18:19:33
Zitat von: arallon am 31 Oktober 2018, 22:06:40
Werde es morgen mal testen, mit meiner Version habe ich keinen Absturz, allerdings habe ich auch nur eine V1 und es gibt nie eine "brauchbare" Antwort zurück. Muss meine Version raus suchen bei der ich die Interfaces via Mock zur Verfügung gestellt habe und teste es nochmal damit
Hallo arallon
Konntest du das Problem schon nachstellen und hast ev eine Lösung gefunden?
Danke und Gruess Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: iHome am 11 November 2018, 21:45:47
Hallo Arallon
Hab mir auch solche myStrom WIFI Schalter zugelegt und mit Deinem Modul eingebunden.
Schalten funktionierte auf anhieb super.

Habe aber das gleiche Problem wie eppi: Sobald ich einen Wert (z.B. 300) im Attribut TempTimer eingeben möchte, stürzt das FEHM komplett ab.
Habs mehrfach versucht. (meine myStrom-Adapter haben auch die neuste Firmware 3.82.4)

Danke und Gruss
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 11 November 2018, 23:25:04
bestelle mir jetzt auch einen. kann es aktuell nicht nachstellen.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 24 Dezember 2018, 01:04:51
Hallo,

konnte schon jemand rausfinden, wie man die Temperatur ausliest?

Grüsse
Lothar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Fatboy am 12 Januar 2019, 11:00:17
Hallo zusammen

Ich bin neu und absolut begeistert von fhem. Gibt es irgendwo eine Anleitung, wie man den myStrom-Switch mit dem WLAN verbindet ohne App von myStrom? Bis jetzt habe ich noch nichts gefunden.

Gruss Daniel
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: iHome am 20 Januar 2019, 15:51:30
Zitat von: arallon am 27 März 2018, 20:27:52
So ich habe mal etwas gebastelt und hoffe das ganze läuft dann auch :)

Bitte den folgenden Post noch beachten:
https://forum.fhem.de/index.php/topic,39933.msg787126.html#msg787126 (https://forum.fhem.de/index.php/topic,39933.msg787126.html#msg787126)

Sind jetzt einige Änderungen enthalten. Neben denen im Post:

- Delete Routine hinzugefügt wenn das Device entfernt wird (Timer entfernen)
- Temperatur auslesen hinzugefügt: Hierfür muss das Attribut tempTimer gesetzt werden. Wert in Sekunden. In diesem Interval wird dann die temperatur abgefragt. Der Timer startet direkt mit dem setzen des Attributs. Beim Löschen werden die Timer wieder entfernt und die Werte auf "-" gesetzt
- Notify Funktion hinzugefügt, damit nach dem Start von fhem der Timer gestartet wird, wenn das Attribut gesetzt ist
- Umstellung aller Calls auf httpversion 1.1, damit sollte auch schalten für V2 möglich sein. V1 funktioniert weiterhin ok.

Wenn es positives Feedback gibt hänge ich die Version in den ersten Post.


Edit: aktuell übernehme ich die Werte noch ungerundet. Evtl wäre auf 2 Kommastellen runden noch brauchbar?

Hallo zusammen
Versuche bisher vergeblich die Temperatur meiner myStrom-Switche in FHEM einzubinden bzw. Anzeigen zu lassen.
Habe die Switche erfolgreich eingebunden und diese Schalten wie sie müssen.
Da kein Reading für die Temperatur vorhanden ist und ich aus den Posts entnehmen konnte, dass offenbar das Atributt tempTimer gesetzt werden muss, damit die Temperatur angezeigt wird, hab ich das auch probiert.
Leider führt das Setzen des Attributes z.B. mit dem Wert 300 (5minuten) und dem darauffolgenden Versuch die Konfig zu speichern (Save config) bei mit immer zu einem Absturtz vom FHEM. Ein Zugriff über die Weboberfläche ist nicht mehr möglich. Erst ein Neustart des FHEM-Servers (virtueller Ubuntu) lässt alles wieder wie zuvor laufen. Jedoch ohne ein gespeichertes Attribut TempTimer im Switch...

Was mache ich falsch? Denn offenbar geht laut Posts das Abfragen der Temperatur...

Danke für ein Feedback
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 20 Januar 2019, 16:07:17
Zitat von: iHome am 20 Januar 2019, 15:51:30
Was mache ich falsch? Denn offenbar geht laut Posts das Abfragen der Temperatur...
Hallo
Du machst nichts falsch, das Problem habe ich und andere auch (siehe frühere Beiträge).
Da bleibt nur abzuwarten, bis arallon Zeit fndet, das Problem im Module zu fixen, oder du baust es um auf HTTPMOD.
Gruss eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 20 Januar 2019, 17:30:33
hey ho.

Ich sollte diese Woche ein aktuelles Modell bekommen.
Dann sollte das Problem bei mir auch auftreten und ich kann es anschauen.

grüsse
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: z-Bastler am 23 Januar 2019, 15:01:59
Hallo myStrom-User
ich habe von Swisscom 5 neue Adapter rausgelassen. (Version: 3.82.4, "WiFi Switch v2 CH")

/report liefert dort:
{"power":9.4289274215698242,"relay":true,"temperature":20.499792098999023}

Also habe ich im 98_myStrom zwei Zeilen ergänzt:

92: my $actTemp =   round($decode->{'temperature'},2);
102: readingsSingleUpdate($hash, "temperature", $actTemp , 1);


Das ganze läuft sofort einwandfrei. (nach "Reload 98_myStrom")

Gruss
Gunnar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: iHome am 23 Januar 2019, 17:47:39
Zitat von: z-Bastler am 23 Januar 2019, 15:01:59
Hallo myStrom-User
ich habe von Swisscom 5 neue Adapter rausgelassen. (Version: 3.82.4, "WiFi Switch v2 CH")

/report liefert dort:
{"power":9.4289274215698242,"relay":true,"temperature":20.499792098999023}

Also habe ich im 98_myStrom zwei Zeilen ergänzt:

92: my $actTemp =   round($decode->{'temperature'},2);
102: readingsSingleUpdate($hash, "temperature", $actTemp , 1);


Das ganze läuft sofort einwandfrei. (nach "Reload 98_myStrom")

Gruss
Gunnar


Hallo z-Bastler
Besten DANK für die beiden Codezeilen. Habs bei mir gleich ausprobiert ins 98_myStrom.pm eingetragen und funktioniert auch bei mir!
Reading Temperatur wird ausgelesen.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 23 Januar 2019, 17:54:31
Hallo z-Bastler
Super, auch von mir Besten Dank. Ich habe es eingebaut, funktioniert 1A.
Um zu vermeiden, dass das FHEM crasht, wenn das Attribut "TempTimer" gewählt wird, habe ich noch die Zeile 20 gelöscht.
                        "tempTimer ".

Viele Grüsse und nochmals Danke - Eppi

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: z-Bastler am 23 Januar 2019, 18:32:44
@eppi und @iHome, vielen Dank für euer Feedback.

Ich habe noch einen Hinweis zum Attribut: tarifNightInterval, das sich an den Syntax der disabledforintervals hält.

Ich habe folgenden Tarif:
Hochtarif:
Der Rest der Zeit ist Niedrigtarif

Ich konnte das lösen durch
attr tarifNightInterval 0@00-0@24 1@20-1@24 1@00:1@07 2@20-2@24 2@00:2@07 3@20-3@24 3@00:3@07 4@20-4@24 4@00:4@07 5@20-5@24 5@00:5@07 6@00-6@07 6@13-6@00


Nur als Info, falls das jemand brauchen kann.

Da ich den myStrom-Switch in der Version 1 nicht habe und kenne, traue ich mich nicht die Anpassungen zum Timer und der Temperaturauslesung vorzunehmen und eine neue Version des Modus zu erstellen. Für die Benutzung der Version 2 könnte das Modul deutlich verschlankt werden.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 23 Januar 2019, 18:59:40
Zitat von: z-Bastler am 23 Januar 2019, 18:32:44
Ich habe folgenden Tarif:
Hochtarif:

  • Mo.-Fr. von 07:00 - 20:00 Uhr
  • Samstag 07:00 - 13:00 Uhr
Der Rest der Zeit ist Niedrigtarif

Ich konnte das lösen durch
attr tarifNightInterval 0@00-0@24 1@20-1@24 1@00:1@07 2@20-2@24 2@00:2@07 3@20-3@24 3@00:3@07 4@20-4@24 4@00:4@07 5@20-5@24 5@00:5@07 6@00-6@07 6@13-6@00


Nur als Info, falls das jemand brauchen kann.
Ich habe die gleichen Tarifzeiten > übernommen!
Danke dir vielmals!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 06 Februar 2019, 00:02:18
Zitat von: z-Bastler am 23 Januar 2019, 15:01:59
Hallo myStrom-User
ich habe von Swisscom 5 neue Adapter rausgelassen. (Version: 3.82.4, "WiFi Switch v2 CH")

/report liefert dort:
{"power":9.4289274215698242,"relay":true,"temperature":20.499792098999023}

Also habe ich im 98_myStrom zwei Zeilen ergänzt:

92: my $actTemp =   round($decode->{'temperature'},2);
102: readingsSingleUpdate($hash, "temperature", $actTemp , 1);


Das ganze läuft sofort einwandfrei. (nach "Reload 98_myStrom")

Gruss
Gunnar

Hallo,

bei mir werden keine negativen Temperaturen angezeigt. Die mystrom App sagt -2, in fhem erscheint nur 0.00 .

Woran könnte das liegen?

Grüsse
gramels
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: z-Bastler am 06 Februar 2019, 21:06:27
Hallo gramels
kannst du mal den Switch direkt aufrufen. Einmal mit http://IP_ADRESSE/temp und einmal mit http://IP_ADRESSSE/report

bei mir sieht das so aus:
/report: {"power":0,"relay":false,"temperature":20.875}
/temp: {"measured":41.875,"compensation":21,"compensated":20.875}

Hast du dort negative Werte?
Ich verstehe den Wert "measured" nicht, hat nichts mit °C unf °F zu tun. Auf jeden Fall ist compensated aus /temp wohl die temperature im /report.

Gruss
Gunnar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Fatboy am 14 Februar 2019, 07:45:36
Guten Morgen zusammen

Gibt es schon eine Lösung um auch negative Temperaturen anzeigen zu lassen? Die Temperaturen steigen und bald können wir Minustemperaturen nicht mehr testen :-)

Gruss Fatboy
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Michel G. am 14 Februar 2019, 08:44:21
Zitat von: Fatboy am 12 Januar 2019, 11:00:17
Hallo zusammen

Ich bin neu und absolut begeistert von fhem. Gibt es irgendwo eine Anleitung, wie man den myStrom-Switch mit dem WLAN verbindet ohne App von myStrom? Bis jetzt habe ich noch nichts gefunden.

Gruss Daniel
Hi Fatboy.

Du kannst beim Stecker den Knopf paar Sekunden gedrückt halten bis er blinkt , danach WPS taste am Router klicken.
Danach sollte der Stecker im WLAN auftauchen.

LG Michel

Gesendet von meinem SM-G955F mit Tapatalk

Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Consist am 19 März 2019, 20:45:47
Hallo zusammen

Kann mir einer sagen wie ich den myStrom Wifi Button im FHEM definiere?

Danke sehr.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 26 April 2019, 20:34:39
Hallo,

gibt es einen Weg Geräte zu disablen? Wenn man eines aussteckt und es somit nicht erreichbar ist müllt es die logfiles voll. Ein disable attr würde helfen.

Grüsse
Lothar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Grisu am 01 Mai 2019, 09:32:06
Zitat von: Consist am 19 März 2019, 20:45:47
Hallo zusammen

Kann mir einer sagen wie ich den myStrom Wifi Button im FHEM definiere?

Danke sehr.

Verstehe den Sinn deiner Anforderung nicht. Das Gerät ist ohne wifi für Fhem nicht erreichbar.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Fatboy am 19 November 2019, 12:44:49
Hallo zusammen

!!! REMINDER !!!

Gibt es schon eine Lösung um auch negative Temperaturen anzeigen zu lassen? Die Temperaturen sinken wieder und ich habe noch immer keine Lösung :-)

Gruss Fatboy
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 30 November 2019, 12:50:26
Zitat von: z-Bastler am 06 Februar 2019, 21:06:27
Hallo gramels
kannst du mal den Switch direkt aufrufen. Einmal mit http://IP_ADRESSE/temp und einmal mit http://IP_ADRESSSE/report

bei mir sieht das so aus:
/report: {"power":0,"relay":false,"temperature":20.875}
/temp: {"measured":41.875,"compensation":21,"compensated":20.875}

Hast du dort negative Werte?
Ich verstehe den Wert "measured" nicht, hat nichts mit °C unf °F zu tun. Auf jeden Fall ist compensated aus /temp wohl die temperature im /report.

Gruss
Gunnar

Hallo Gunnar

Hier die Wert bei negativen Temperaturen:

http://192.168.121.100/report
{"power":78.831001281738281,"relay":true,"temperature":0}
http://192.168.121.100/temp
{"measured":21.375,"compensation":21.712358474731445,"compensated":-0.33735847473144531}


http://192.168.121.100/report
{"power":42.986473083496094,"relay":true,"temperature":0}
http://192.168.121.100/temp
{"measured":25.5625,"compensation":26.872735977172852,"compensated":-1.3102359771728516}


vermutlich muss man den "compensated" verwenden aus /temp da der andere nicht unter 0 geht.

Grüsse
Lothar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Speedy am 30 Juni 2020, 16:21:35
Hallo zusammen,

ich wollte mal fragen, ob dieses Modul noch weiterentwickelt wird, bzw. ob Interesse an einer Weiterentwicklung besteht?

Ich habe mir den Motion Sensor, sowie je einen Wifi Button und Wifi Button + angeschafft. Die Hardware ist sehr interessant und preislich attraktiv. Daher würde ich das Modul gerne nutzen und weiterentwickeln. Ich hoffe, das ist für den Original-Modulentwickler (arallon, Mike) OK.

Falls jemand Interesse hat, würde ich mich über eine kurze Antwort freuen - vor allem auch mit der Info, welche myStrom-Devices ihr nutzt und welche Features ihr braucht...

VG - Speedy
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 30 Juni 2020, 19:03:44
Zitat von: Speedy am 30 Juni 2020, 16:21:35
Hallo zusammen,

ich wollte mal fragen, ob dieses Modul noch weiterentwickelt wird, bzw. ob Interesse an einer Weiterentwicklung besteht?

Ich habe mir den Motion Sensor, sowie je einen Wifi Button und Wifi Button + angeschafft. Die Hardware ist sehr interessant und preislich attraktiv. Daher würde ich das Modul gerne nutzen und weiterentwickeln. Ich hoffe, das ist für den Original-Modulentwickler (arallon, Mike) OK.

Falls jemand Interesse hat, würde ich mich über eine kurze Antwort freuen - vor allem auch mit der Info, welche myStrom-Devices ihr nutzt und welche Features ihr braucht...

VG - Speedy
Hi Speedy
Ich nutze vor allem die MyStrom Wifi-Plugs, die funktionieren mit dem Modul sehr gut. Ich habe noch einen Wifi-Button Plus, aber zurzeit nicht in Betrieb, da mir die Anwendung dafür noch fehlt. Über eine Weiterentwicklung würde ich mich freuen, da ich wie du die Dinger cool finde. Ich hatte vor ein paar Wochen Kontakt mit dem Support welcher mir mitteilte, dass für den Wifi Plug bis Weihnachten MQTT implementiert wird... Ob das für alle MyStrom Devices gilt, weiss ich nicht, da ich nur den Wifi-Plug angesprochen habe.

Viele Grüsse Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Speedy am 30 Juni 2020, 20:04:01
Zitat von: eppi am 30 Juni 2020, 19:03:44
Hi Speedy
Ich nutze vor allem die MyStrom Wifi-Plugs, die funktionieren mit dem Modul sehr gut. Ich habe noch einen Wifi-Button Plus, aber zurzeit nicht in Betrieb, da mir die Anwendung dafür noch fehlt. Über eine Weiterentwicklung würde ich mich freuen, da ich wie du die Dinger cool finde. Ich hatte vor ein paar Wochen Kontakt mit dem Support welcher mir mitteilte, dass für den Wifi Plug bis Weihnachten MQTT implementiert wird... Ob das für alle MyStrom Devices gilt, weiss ich nicht, da ich nur den Wifi-Plug angesprochen habe.

Viele Grüsse Eppi

Hallo Eppi,

danke für die schnelle Antwort. Den Wifi-Switch werde ich mir auch besorgen und testen. Sobald ich das neue Modul fertig habe, hänge ich es hier an. Die Info mit MQTT ist gut - ich werde den Support anschreiben und fragen, ob sie MQTT Unterstützung für alle Devices planen.

VG - Speedy
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: mheiker am 12 August 2020, 21:22:45
Hallo zusammen,

den myStrom-Button plus finde ich zugegebenermaßen spannend!

Mit curl habe ich meinen single-Befehl auf den Button bekommen:

{
"2C3AE801BEDA":
{"type": "wheel",
"battery": true,
"reachable": true,
"meshroot": false,
"charge": false,
"voltage": 3.841,
"fw_version": "2.74.31",
"single": "get://192.168.178.30:8083/fhem?cmd=set%20WifiButton01%20on",
"double": "<url>",
"long": "<url>",
"touch": "<url>",
"generic": "",
"connectionStatus":
{"ntp": true,
"dns": true,
"connection": true,
"handshake": true,
"login": true},
"name": ""}
}


Der Befehl soll das dummy WifiButton01 schalten...in fhem kommt aber nichts an.
Der Button leuchtet beim Drücken einmal kurz grün, nach einer Sekunde dann kurz rot...

Hat jemand da zufällig eine Idee?

Viele Grüße!
Mathias
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2020, 07:24:51
Zitat von: mheiker am 12 August 2020, 21:22:45

{
"2C3AE801BEDA":
{"type": "wheel",
"battery": true,
"reachable": true,
"meshroot": false,
"charge": false,
"voltage": 3.841,
"fw_version": "2.74.31",
"single": "get://192.168.178.30:8083/fhem?cmd=set%20WifiButton01%20on",
"double": "<url>",
"long": "<url>",
"touch": "<url>",
"generic": "",
"connectionStatus":
{"ntp": true,
"dns": true,
"connection": true,
"handshake": true,
"login": true},
"name": ""}
}


Der Befehl soll das dummy WifiButton01 schalten...in fhem kommt aber nichts an.
Hallo Mathias
Versuche mal anstelle von %20 für einen Space %2520 zu setzen, also in deinemFall:
get://192.168.178.30:8083/fhem?cmd=set%2520WifiButton01%2520on

Viel Erfolg & Grüsse Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2020, 07:43:03
Gerade nochmals angeschaut und sehe, dass dein JSON schon richtig ist. Mit dem %2520 meinte ich das setzen des CURL Strings.
Hast du es so gemacht, wie ich  hier (https://forum.fhem.de/index.php/topic,39933.msg677073.html#msg677073) geschrieben habe (ist schon etwas älter)....? CSRToken ausgeschaltet und kein BasicAuth definiert?
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: mheiker am 13 August 2020, 07:58:16
Hallo eppi,

vielen Dank für deine Antwort!

Den Befehl habe ich mit curl so gesetzt:

curl -v -d "single=get://192.168.178.30:8083/fhem?cmd%3Dset%2520WifiButton01%2520on&double=&long=&touch=" http://192.168.178.65/api/v1/device/2C3AE801BEDA


Das passt also zu dem, wie du es vorher beschrieben hast, in json bekomme ich dies heraus:


single "get://192.168.178.30:8083/fhem?cmd=set%20WifiButton01%20on"


csfrToken habe ich deaktiviert, BasicAuth ist auch deaktiviert, in FHEM kommt aber nichts an...

Ich bin etwas verwirrt...

Viele Grüße!
Mathias


EDIT:

ha, es klappt!  :) keine Ahnung, warum, FHEM neu gestartet, den Button neu gestartet, Raspy neu gestartet...und siehe da, es klappt  8) da scheint sich etwas wohl verschluckt zu haben...

Vielen Dank nochmals für deine Hilfe, eppi!
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 13 August 2020, 08:09:40
Super, freut mich!
LG Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 22 August 2020, 07:57:28
Hallo Eppi,

ja, ich nutze das Modul und freue mich über weiterentwicklung. Was derzeit noch nicht geht ist die Anzeige von negativen Temperaturen. Ich habe einen in einem Aussenraum und würde gerne sehen, wenn da Frost ist. Siehe weiter oben. Falls Du den Code anschaust wäre es super, wenn Du da mal reinguggen könntest.

Grüsse

Lothar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: z-Bastler am 20 November 2020, 20:17:14
Hallo Leute
ich habe mich lange nicht hören lassen ... aber mich dieser Tage mit dem Modul beschäftigt und das mit der negativen Temperatur "gefixed".
Das Modul müsste mal aufgeräumt und aktualisiert werden, das kann ich aber nicht.
Der Timer und Funktionen rund um getMyStromTemp sind überflüssig. Das Attribut tempTimer ebenfalls. (ist zur Sicherheit disabled bei mir)

Meine Lösung: am Anfang von getData, nach Zeile 60, folgendes einfügen:


#Erweiterung für Temperatur
{
my $myurltemp = "http://" .$hash->{ip} . "/temp";
my ($err,$response) = HttpUtils_BlockingGet(
    {
url        => $myurltemp,
timeout     => 3,
        httpversion => "1.1",
});
    if (defined($err) && $err)
    {
$hash->{STATE} = 'n/a';
Log3 $name, 3, $name.": Error while getting data from myStrom adapter: $err";
return 0;
    }
    if (defined($response) && $response ne '')
    {
my $decode = eval {
jsonHelper($response);
        } or do {
$hash->{STATE} = 'n/a';
Log3 $name, 3, $name.": Error while getting data from myStrom adapter: The answer does not contain valid JSON from address " . $hash->{ip}. " Response: ".$response;
return 0;
        };
my $temperature = defined($decode->{'compensated'}) ? $decode->{'compensated'} : "-";
$temperature = round($temperature,2);
readingsSingleUpdate($hash, "temperature", $temperature , 1);
    }
}
#Ende Erweiterung


Bei mir funktioniert es. Mein Modul habe ich angehängt.
Grüsse
Gunnar
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 08 Dezember 2020, 21:22:08
Hab mich auch mal wieder mit fhem auseinandergesetzt und mal wieder hier online.

Die letzten Anpassungen für die Temperatur nur vornehmen, wenn keine V1 der Steckdose im Einsatz ist. Das wird sonst crashen. Der tempTimer wurde aus dem Grund eingefügt, dass man auch weiterhin V1 benutzen kann und Temperatur nur bei Bedarf gelesen wird.

Ggf. könnte man etwas integrieren, damit man die Version einfach als Attribut setzen kann, wenn nicht gesetzt dann V1.

Wenn nur V2 im Einsatz, dann ist das sicherlich überflüssig und könnte schlanker gemacht werden. Wenn das noch im Einsatz ist bei paar Leuten hätte ich aktuell ein bisschen Zeit das aufzuräumen.

@Speedy: Ich hab grundsätzlich gar nichts dagegen, wenn das jemand weiter entwickeln will. ich selbst habe die V2 nicht erhalten und aktuell die V1 eigentlich auch nur noch rumliegen, da die Dinger mittlerweile keine stabile Wlan Verbindung mehr haben bei mir.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: gramels am 04 Januar 2021, 00:36:29
bei mir geht nun auch Temperatur unter 0 Grad. Allerdings gehen meine v1 switches nicht mehr mit dem update...
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: arallon am 23 Januar 2021, 12:08:35
ja das hatte ich ja geschrieben, die Anpassungen die z-Bastler vorgenommen hat sorgen dafür das v1 nicht mehr korrekt funktioniert.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: rcaspar am 24 Februar 2021, 17:48:43
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é
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: eppi am 24 Februar 2021, 18:14:21
Hallo René
Ich hänge dir mal meine mit V1+V2 funktioniere Version an.
Viel Erfolg & lg Eppi
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: rcaspar am 17 März 2021, 22:15:32
Salut eppi

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

René
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: thomasgloor am 07 April 2022, 14:53:24
myStrom WLAN-Switches via httpmod:

https://forum.fhem.de/index.php/topic,127175.0.html
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: Speedy am 06 November 2022, 16:10:41
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.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: ric91 am 12 Januar 2023, 18:55:13
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.
Titel: Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
Beitrag von: thburkhart am 19 Januar 2023, 16:47:19
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 €