EDIMAx EDIPlug 2101 - WiFi Schaltsteckdose mit Verbrauchszähler

Begonnen von ternst, 24 November 2014, 13:23:53

Vorheriges Thema - Nächstes Thema

ternst

Hallo,
bei mir hat sich diese Schaltsteckdose verirrt.
Hat die jemand schon im Einsatz?

Die technischen Eigenschaften sind vielversprechend.

Für knapp 40 € eine Wifi-fähigen Schaltsteckdose mit Verbrauchsmessung ist schon interressant.
Produktlink: http://www.pollin.de/shop/dt/MzQ3ODQ0OTk-/Haustechnik/Installationsmaterial/Schalter_Steckdosen/EDIMAX_SP_2101W_WLAN_Schaltsteckdose.html
Aber nichts ohne Nachteile.
Es werden lediglich Android und iOS mit einer App unterstützt.
Nach dem Setup mit Android oder iOS ist die Steckdose jedoch auch mit einem URL erreichbar und schaltbar.
Auch die Verbrauchsmessungen konnte ich erhalten.
Die Steckdoee erwartet und liefert ein XML-Datagram

Theoretisch könnte man da etwas programmieren, Ich habe jedoch bislang nur wenig bis keine Erfahrung mit Perl
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

rudolfkoenig


ternst

Hi,
die wichtigste frage war, ob damit schon jemand was gemacht hat und das im FHEM schon drin hat.

HTTPMod ist nicht so ganz passend.

Der URL-Aufruf hat 2 Typen
Einmal das reine Schalten (ON, OFF, Status)
Zum anderen die Verbrauchswerte.

Rückgabe ist immer ein XML, das müsste man nur durch nen Parser schicken.
ich bin gerade noch dabei die Schaltbefehle zu entschlüsseln.
Einen Ansatz hab ich im ELV-Forum gefunden.

Die restlichen Funktionen (Budget-Warnung per Email, Schaltzeiten) sind besser im FHEM gelöst.
Man braucht nciht wirklich noch zusätzliche Datenhaltung.
Ansonsten würde ich mich nicht scheuen da mal was Modulartiges hinzuscheiben.
Mal sehen wie weit ich komme.
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

rudolfkoenig

ZitatHTTPMod ist nicht so ganz passend.

Und warum nicht? Hat doch gerade das Schalten gelernt. Das Parsen von XML wird haeufig ueberbewertet, ist doch "nur ein String". Aber wenn du ein Modul schreiben willst, will ich dich davon nicht abhalten, mit einem spezifischen Modul haben weitere Benutzer es deutlich einfacher.

Herjemine

Hallo,

wann willst Du denn loslegen?
Wollte auch gerade meine 2101 und 1101 einbinden
und dachte ich mach das genauso wie in dem AutoHotkey Scribt mit curl ..

Gruß Hermann

ternst

#5
Hallo Herman,
ich bin da grad dran.
Mittlerweile hab ich wahrscheinlich baugleiche Steckdosen von LogiLink gesehen. Hab den Support mal angeschrieben, vielleicht erhalten wir da auch Hilfe.

Bis jetzt bekomme ich den richtigen Status von der Edimax zurück.

Nächster Schritt ist das setzen der Steckdose.
dann kommt die Verbrauchsauswertung der 2101.

Was mir noch fehlt ist die Antwort auf die Frage:
Woran erkennt man den Unterschied zwischen der 1101 und der 2101?

Kannst du mit bitte die Datagramme der 1101 per PN senden?

Ich bin noch unglücklich über die curl-Lösung.
Sie funktioniert grundlegend, dürfte aber bei mehrfachen Steckdosen zuviel Resourcen verschwenden.


Viele Grüße
Tom
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

ternst

Hallo,
eine kleine Vorversion ist fertig.
Da ich mit dem Curl unzufrieden war, wird HttpUtils_Nonblocking verwendet.

Getestet mit EDIMax SP2101W
Ich habe identisch aussehende Steckdosen von LogiLink gesehen. Falls jemand sowas bei sich findet, würde ich gerne wissen ob das Modul dazu auch passt.

Features:

  • Schalten
  • Erkennen des Systems

    • Hersteller - Run.Cus
    • Modell - Run.Model
    • Softwareversion - Run.FW.Version
  • Abfragen der Verbrauchswerte (nur 2101)
Noch in der Todo:
- Einschränken der Abfragen bei Steckdosen ohne Verbrauchswerte
- Auswerten der Schaltzeiten.
- Verhaltensoptimierung bei mehreren Steckdosen




Zur Installation der Steckdosen wird immer ein Android oder IOS-System benötigt, da das Grundsetup ausschlieslich damit funktioniert.
Nach dem Einbinden in das Wlan und Vergabe des Namens sowie User / Pwd kann das System angesprochen werden.

Einrichten:
define <name> EdiPlug <IP> <interval> <adminname> <password>
Als Intervall ist 60 s voreingestellt
Adminname und Password vergebt ihr bei der Installation
Als Voreinstellung ist "admin" mit pw "1234" (Werkseinstellung!) voreingestellt.

define Plug001 EdiPlug 192.168.1.200


Es gilt bei Fragen fragen
Bei Anregungen auch, da dies mein erster Versuch ist

Grüße Tom.
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

Herjemine

Hallo Tom,

hatte inzwischen an der cURL  Version gebastelt,
aber Deine httputils Version gefällt mir besser!

Anregungen:
Wenn keine Verbindung vorhanden, habe ich den state auf Error  gesetzt, damit man nicht meint der Plug ist off, obwohl er vielleicht noch on ist.

ich habe zusätzlich zu on/off noch den Status als 1/0 gelogt, damit ich den Verlauf leicht in der Grafik/Plot anzeigen lassen kann
(bin Anfänger: wie wandelt man on/off im SVG Plot in 1/0 um, so spart man sich logs?)

Wenn du noch einen use SetExtensions; machst, kann man auch noch die darin enthaltenen
    "on-for-timer"
    "off-for-timer"
    "on-till"     
    "off-till"     
    "blink"         
    "intervals"   
    "toggle"       
verwenden.

Ein setzten der EdiPlug Timers über fhem wäre irgendwann noch nice  ;)

Danke und Gruß Hermann

Herjemine

Hallo Tom,

was mir aufgefallen ist, wenn es zu einem connect timeout kommt, stürzt perl und damit fhem bei mir ab ...

2014.12.02 11:26:06 3: MyEdiPlug: got error in callback: connect to http://192.168.x.xxx:10000 timed out
2014.12.02 12:51:51 1: starting in console mode

schön wäre es noch wenn gleich nach dem setzen eines neuen Status dieser auch ausgelesen und angezeigt wird, nicht erst einen Interval später ...

Gruß Hermann

ternst

Hi Hermann,
wir scheinen die beiden einzigen zusein, die die EdiPlugs verwenden.

Das Problem mit de Timing liegtmit an der verwendung der httputils.
Es kann nur einen Aufruf geben.
Bei den Setup-Befehlen gibt es nur ein OK zurück. Danach muß ein erneuter Aufruf erfolgen um den Status abzufragen.
Der zweite Punkt ist beim Fehlen des Ziels das es nur eine Httpfehler gibt
Hier müsste man ein portknocking machen, das jedoch auf die Performance von FHEM geht, gerade bei mehreren Plugs.
Danach noch parallele Abfragen. Hier will ich noch mal nach alternativen Kontaktmöglichkeiten forschen.

Die Einrichtung von Timern ist grenzwertig.
Sobald das Scheduling aktiv ist, ist ein Eeinschalten mittels Set nur für max 4 Minuten möglich.
Die eingerichteten Zeiten hab Vorrang gegenüber den Handeingaben.

Abhilfe bringt nur dieGenerelle Verwendung der Zeitplanung im Plug selbst oder die ausschliesliche Konfiguration im FHEM.
Mir fällt derzeit kein Vorteil ein der die Schedule im Plug bevorzugen

bin im Suchen

VG Tom
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

ewu75

Hallo Hermann, hallo Tom
Könntet Ihr mal bitte angeben zum StandBy Stromverbrauch nennen falls Ihr die Möglichkeit zum messen habt. In dem bei Pollin verlinkten Datenblatt habe ich dort leider nichts gefunden.

Gruß & Dank Uwe

Herjemine

Hallo Uwe,

also Stromverbrauch müssten wir mal messen, hab jetzt auch nichts davon im Datenblatt gefunden...

Hallo Tom,

ja schaut so aus  ;D
Das mit den Abstürzen hab ich jetzt mal nachgeschaut, nachdem der ein Plug im mom abgeschaltet ist ...
unter Win funktioniert der ping -c nicht, da brauchts ein -n
und die Abfrage ob er active ist mochte dann auch nicht bei mir  >:(
sowohl
if ($hash->{active} eq "off") als auch
if(AttrVal($name, "disable", undef) || $hash->{active} eq "off")

ich hab dann hier erst mal noch die Ping Abfrage auf 100% da mit rein genommen, damit er mitkriegt dass das Offline ist und fhem perl nicht ständig abschmiert .

Gruß Hermann

Wzut

Zitat von: ewu75 am 03 Dezember 2014, 08:45:27
Könntet Ihr mal bitte angeben zum StandBy Stromverbrauch nennen

Ein EdiPlug 1101 auf einen EMT7110 gesteckt , dann meint der 7110 :
Verbrauch 1 W  bzw. einem Strom von 12  - 20 mA
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ternst

Hi,
leider kann ich den wirklichen Standby verbrauch nicht messen.
Die Angabe von < 1 Watt dürfte passen. LogiLink gibt für seine baugleichen Steckdosen genau diesen Wert an.

http://www.logilink.com/Produkte_LogiLink/Aktive_Netzwerkkomponenten/LogiSmart/LogiSmart_Plug_Switch_LogiLink.htm
1 Raspberry Pi B, fhem.pl 5.7
1 Max!, 5 Max! HT, 5 Max! FK, 1 x BC-PB-2-WM
1 x HM-CFG-LAN, 4 x HM-LC-Bl1PBU-FM, 1 x HM-LC-Sw1PBU-FM, 3 x HM-PB-6-WM55, 2 x HM-LC-Sw4-DR
3 x SqueezeBox

ewu75

Danke für die Werte. Das es die LogiLink gibt und das sie baugleich sind wusste ich auch noch nicht.

Gruß Uwe