Autor Thema: 98_myStrom.pm - myStrom WLAN Energy Control Switch  (Gelesen 6355 mal)

Offline arallon

  • New Member
  • *
  • Beiträge: 18
98_myStrom.pm - myStrom WLAN Energy Control Switch
« 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 zu initiieren:

set mySwitch1 on
set mySwitch1 off
set mySwitch1 update
 

Hier ist mal ein erster Wurf falls jemand aus der Schweiz auch solche Steckdosen im Einsatz hat oder über eine Anschaffung nachdenkt. Was definitiv noch fehlt sind Log-Einträge bzw. ein eigenes Log File um sich z.B ein SVG zu erstellen für den Stromverbrauch. Und die Umstellung auf HTTPNonBlocking.


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

Grüsse

mike

package main;
use strict;
use warnings;
use JSON qw( decode_json );
use HttpUtils;
 
sub myStrom_Initialize($) {
       
    my ($hash) = @_;
   
    $hash->{DefFn}      = 'myStrom_Define';
    $hash->{SetFn}    = "myStrom_Set";
    $hash->{UndefFn}    = "myStrom_Undef";
    $hash->{AttrList}= $readingFnAttributes;
}

sub myStrom_Define($$) {
    my ($hash, $def) = @_;
    my @param = split("[ \t][ \t]*", $def);
   
    if(int(@param) < 3) {
        return "too few parameters: define <name> myStrom <ip-address> [interval]";
    }
    my $interval = '15';
    if(int(@param)>=4) {$interval = $param[3]; }
    $hash->{NAME}  = $param[0];
    $hash->{ip} = $param[2];
    $hash->{INTERVAL} = $interval;
   
    myStrom_getData($hash,1);
    InternalTimer(gettimeofday()+$hash->{INTERVAL}, "myStrom_GetUpdateTimer", $hash, 0);   
    return undef;
}

sub myStrom_getData($$){

  my ($hash, $blocking) = @_;
  my $myurl = "http://" .$hash->{ip} . "/report";
  my $name = $hash->{name};
   # Blocking nur nehmen, für die Lokal aufgerufene Funktion also direkt aus dem GUI für den Timer die nicht wartende verwenden bzw nur beim Define . Auswerten der Daten in eigene Funktion übernehmen
   # trigger für Init und nicht Init bei der FUnktion mitgeben für neuen Timer
  if ($blocking) {
    my ($err,$response) = HttpUtils_BlockingGet(
{
  url        => $myurl,
  timeout    => 5,
}
);
   
    if( defined($err) && $err ) {
      Log3 $name, 3, "Error while getting data from myStrom adapter: ".$err;     
      return;
    }

    if (defined($response) && $response ne '') {   
      my $decode = decode_json($response);     
      readingsSingleUpdate($hash, "power", $decode->{'power'}, 1);         
      my $relay = $decode->{'relay'};     
      if ( $relay eq '1' ) {       
        readingsSingleUpdate($hash, "relay", 'On', 1);
        $hash->{STATE} = 'On';
      } else {
        readingsSingleUpdate($hash, "relay", 'Off', 1);
        $hash->{STATE} = 'Off';
      }
    } 
  }
}

sub myStrom_GetUpdateTimer($)

  my ($hash) = @_;
  my $name = $hash->{NAME};
  myStrom_getData($hash,1); 
  InternalTimer(gettimeofday()+$hash->{INTERVAL}, "myStrom_GetUpdateTimer", $hash, 1);
  return 1;
}

sub myStrom_Set($@) {
  my ($hash, @a) = @_;
  my $cmd= $a[1];
  my $cList = "On:noArg Off:noArg Update:noArg";
  # usage check
  if((@a == 2) && ($a[1] eq "Update")) {
    RemoveInternalTimer($hash);
    myStrom_GetUpdateTimer($hash);
    return undef;
    } elsif ($a[1] eq "On") {
    RemoveInternalTimer($hash);
    GetFileFromURLQuiet("http://".$hash->{ip}."/relay?state=1", 3, undef, undef, undef);
    myStrom_getData($hash,1);
    myStrom_GetUpdateTimer($hash);
    return undef;
  } elsif ($a[1] eq "Off"){
    RemoveInternalTimer($hash);
    GetFileFromURLQuiet("http://".$hash->{ip}."/relay?state=0", 3, undef, undef, undef);
    myStrom_getData($hash,1);
    myStrom_GetUpdateTimer($hash);
     return undef;
  } else {
    return "Unknown argument $cmd, choose one of $cList";
  }
}

sub myStrom_Undef($$) {

  my ($hash, $arg) = @_;

  RemoveInternalTimer($hash);
  return undef;
}
1;
[/code]

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #1 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #2 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

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #3 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #4 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 ?

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #5 am: 13 August 2015, 20:59:57 »
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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #6 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.

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #7 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #8 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 :)

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #9 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #10 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.


Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #11 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...
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #12 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!
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #13 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.
« Letzte Änderung: 14 August 2015, 01:48:01 von arallon »

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #14 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline arallon

  • New Member
  • *
  • Beiträge: 18
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #15 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

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #16 am: 15 August 2015, 06:51:56 »
Du hast eine PM.
Viele Grüße aus Schwyz, Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline Damu

  • Sr. Member
  • ****
  • Beiträge: 529
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #17 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?


Offline Mumpitz

  • Full Member
  • ***
  • Beiträge: 199
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #18 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)

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1456
  • FHEMonaut
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #19 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
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

oxidizer

  • Gast
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #20 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?

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #21 am: 15 September 2015, 18:02:46 »
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
Gruss Dani
« Letzte Änderung: 17 September 2015, 19:07:46 von eppi »
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #22 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1456
  • FHEMonaut
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #23 am: 15 September 2015, 19:19:12 »
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
Gruss Dani
Hallo Dani
Der Link klappt nicht
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1456
  • FHEMonaut
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #25 am: 16 September 2015, 21:25:43 »
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Offline gosteli

  • New Member
  • *
  • Beiträge: 7
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #26 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?

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #27 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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline gosteli

  • New Member
  • *
  • Beiträge: 7
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #28 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)

Offline Michel G.

  • New Member
  • *
  • Beiträge: 14
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #29 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

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #30 am: 26 August 2017, 07:39:54 »
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/
Wenn du zum Beispielset Panik on encodierst, dann erhältst du set%20Panik%20onJedoch, 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

« Letzte Änderung: 26 August 2017, 07:43:02 von eppi »
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline Gigafix

  • Full Member
  • ***
  • Beiträge: 128
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #31 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
CubieTruck |2x HMLAN V 0.965| MAX-Cube -> a-culfw V 1.23.04 | nanoCUL V 1.66 nanoCUL433 | ZWDongle |

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #32 am: 13 September 2017, 19:22:23 »
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
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline gosteli

  • New Member
  • *
  • Beiträge: 7
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #33 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

Offline eppi

  • Full Member
  • ***
  • Beiträge: 296
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #34 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%3DeodGruass Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline gosteli

  • New Member
  • *
  • Beiträge: 7
Antw:98_myStrom.pm - myStrom WLAN Energy Control Switch
« Antwort #35 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

 

decade-submarginal