Lidl WI-FI Steckdose SWS-A1 SilverCrest IAN 103043

Begonnen von ext23, 14 Juni 2015, 09:22:22

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: SebiM am 20 November 2016, 10:09:06
Hahahah! :)

Okay. Meine Güte, manche Dinge ändern sich wohl nie, diese ewige Klugscheißerei... Ich dachte, das wäre mit dem IRC einigermaßen ausgestorben.

Ja gut, danke erstmal soweit CoolTux, ich schaue mal wie weit ich komme. Mittlerweile kam ne Antwort vom Original-Autor des Moduls, und wenn ich ihn richtig verstanden habe, hat er da keine besonderen Ambitionen mehr. Ich muss mich halt noch ein bisserl einarbeiten, aber wird schon...

Du kannst Dich bei Fragen gerne an mich wenden. Natürlich hilft Dir auch jeder andere Entwickler.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SebiM

Zitat von: CoolTux am 20 November 2016, 13:03:31
Du kannst Dich bei Fragen gerne an mich wenden. Natürlich hilft Dir auch jeder andere Entwickler.

Danke, gerne. Es sind wenndann ja eher organisatorische Fragen, mit Perl und FHEM werde ich schon irgendwie fertig...


Also an alle! Anbei mal eine erste gepatchte Version, gerade getestet mit Aldi und Lidl.
Achtung, die Registrierung ist nun anders:
<IP-Adresse> <MAC-Adresse> <Code>
Wobei Code 4 Bytes sind bestehend aus Hersteller-Code, Geräte-Code und 2B Auth-Code, bei mir z.B. C21192DD (Aldi) oder C1117150 (Lidl). Am Einfachsten ist es, wie im Wiki beschrieben die automatische Registierung zu verwenden, dann geht alles von ganz alleine...
Was noch nicht geht: Die RF-Dosen... das wäre dann der nächste Schritt.

SebiM

#197
Update!

Nun gehen auch die RF-Dosen.

Bitte alle testen, ich habe von allen Dosen nur ein Exemplar, nicht dass es da Fehler mit mehreren Dosen gibt.

Wie lege ich in FHEM eine RF-Dose an? Am Besten definiert man erstmal eine Master-Dose (WiFi) und guckt sich die Definition an, wie z.B.
192.168.0.123 00:95:69:A6:C3:75 C21192DD

und definiert dann die RF-Dose genauso, nur mit der 6-stelligen RF-Adresse hintendran:

define MeineSlaveDose 192.168.0.123 00:95:69:A6:C3:75 C21192DD F24DEE

Ich habe den Netzwerkcode auch entsprechend angepasst, damit er den Schaltzustand dem richtigen Gerät zuordnen kann.

Viel Spaß damit, und Fehler/Probleme sofort her zu mir! ;)

- Sebastian

P.S.: Jetzt nur noch auf dem Zettel hätte ich eine Status-Abfrage, wenn das Modul neu initialisiert wird. Sonst noch jemand ne Idee...?

ext23

Man könnte sich die MAC noch sparen wenn du eine ARP Abfrage machst. Dann braucht man nur die IP. Oder anders rum...
Aber eigentlich isses auch egal, so oft legt man ja keine neue Dose an.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

SebiM

Zitat von: ext23 am 20 November 2016, 19:02:57
Man könnte sich die MAC noch sparen wenn du eine ARP Abfrage machst. Dann braucht man nur die IP. Oder anders rum...
Aber eigentlich isses auch egal, so oft legt man ja keine neue Dose an.

Naja lassen wir das mal offen mit der MAC-Adresse, das ist ja das was die Dose (Firmware) meint zu sein. Abgesehen davon, mit der AutoCreate-Funktion ist's doch eh wurscht, einmal kurz Taster drücken und schwupps ist die Dose in FHEM registriert.
NEBENBEI: Mir fiel vorhin auf, dass dieser Mechanismus manchmal Dosen neu anlegt, obwohl sie schon vorhanden sind, speziell dann wenn sie umbenannt worden sind. Das Schema dahinter konnte ich aber noch nicht erkennen; passiert manchmal, aber nicht immer.

ext23

Ich habe mit eben mal das Wiki angesehen, wusste gar nicht, dass es das gibt und das mit der auto Erkennung war mir auch gar nicht bewusst. Da ist wohl einiges an mir vorüber gegangen.

Ich habe nur die Lidl Dosen. Aber ich werde nächstes WE den Stand auch mal testen. Ich bin die Woche in München, daher komme ich da leider nicht zu.

Wie sieht es denn mit den Timern in den Dosen aus, werden die auch unterstützt? Aber eigentlich braucht man das ganze ja nicht. Der Status ist ja jederzeit abrufbar, von daher kann man das ja auch "sicher" mit FHEM schalten.

Eventuell sollte man den Modulnamen noch anpassen. Klingt auf jeden Fall alles sehr gut.
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

SebiM

Zitat von: ext23 am 20 November 2016, 19:23:23
Ich habe mit eben mal das Wiki angesehen, wusste gar nicht, dass es das gibt und das mit der auto Erkennung war mir auch gar nicht bewusst. Da ist wohl einiges an mir vorüber gegangen.

...kenne ich...

ZitatIch habe nur die Lidl Dosen. Aber ich werde nächstes WE den Stand auch mal testen. Ich bin die Woche in München, daher komme ich da leider nicht zu.

Aber hier gibt's genug Aldi-Süd-Filialen ;)

ZitatWie sieht es denn mit den Timern in den Dosen aus, werden die auch unterstützt? Aber eigentlich braucht man das ganze ja nicht. Der Status ist ja jederzeit abrufbar, von daher kann man das ja auch "sicher" mit FHEM schalten.

Eben, könnte man machen, aber wo in FHEM einbauen, und warum?

ZitatEventuell sollte man den Modulnamen noch anpassen.

Ja das habe ich mir auch schon gedacht. Aber, in was? "Aldi_Lidl_WifiPlug", na nicht dass es da Ärger gibt  8)

technyj

#202
Hallo SebiM,

super Arbeit. Mein aktuelles Inventar.
2x Aldi
1 x Medion
Ich habe hier leider noch ein paar Themen die noch nicht so rund sind. Die erste Aldi Dose habe ich ueber die von Dir beschriebene Prozedur eingebucht. Das funktioniert auch direkt.
Danach habe ich die App angeschmissen um meine MedionDose zu schalten. Mit Initialisierung der App, hat Autocreate alle drei Dosen angelegt, da diese nach dem Start von der App um ein Status Update gefragt wurde.
Natuerlich mit der IP der App (Smartphone), aber das kann man ja anpassen.
Wenn ich nun eine der Dosen ueber die App schalte, dann veraendert sich der Schaltstatus aller Lampen in FHEM.

Ich glaube, das Verhalten des Schaltstatus, bestand vorher schon. Was brauchst du von mir zum troubleshooten?

Gruesse technyj

SebiM

Zitat von: technyj am 21 November 2016, 00:05:04

Danach habe ich die App angeschmissen um meine MedionDose zu schalten. Mit Initialisierung der App, hat Autocreate alle drei Dosen angelegt, da diese nach dem Start von der App um ein Status Update gefragt wurde.

Uh ja, im FHEM-Modul gab es bislang so gut wie keinen Filter. Ich habe bislang erst nur einen dazugebastelt, um das händische Schalten direkt an der Dose richtig zuordnen zu können. Aber bei der automatischen Registrierung habe ich auch noch nichts verändert, das gibt natürlich mit der App eine mittlere Katastrophe...
Bevor ich da stundenlang experimentieren muss, hast Du zufällig im FHEM-Logfile irgendwas nach diesem Schema?
2016.11.20 18:09:27 5: autoCreateDosen: received with 01:40 mac: 00:95:69:A6:C2:72 mid: 10 dec: 00:0C:00:C2:11:92:DD:06:00:00:00:FF:04:04:04:04
2016.11.20 18:09:27 4: autoCreateDosen: received with 01:40 mac: 00:95:69:A6:C2:72 mid: 10 packet: 0C:00 companyCode: C2 deviceType: 1authCode: 92:DD data2: 00 data3: FF rest: 06:00:00:00:FF:04:04:04:04


(also Beispieldaten natürlich von mir, das war was anderes, aber irgendwelche Daten halt. V.a. welchen Befehl die App da versendet. Vielleicht einfach suchen & filtern nach "received with")

mkh

Hallo SebiM,

das Modul funktioniert für die Hauptdose SUPER! :-)

Bei den RF Dosen kann ich folgendes beobachten:
1) Sie werden bei AutoCreate angelegt.
2) Jedoch mit einer völlig anderen IP als die Hauptdose.
3) Sie wird als eine weitere Hauptdose mit eigener MAC Adresse angelegt.

Woher bekomme ich die 6 stellige RF ID?

Ansonsten: Klasse Arbeit!

Mit freundlichen Grüßen,

Markus

SebiM

Zitat von: mkh am 22 November 2016, 23:15:55
Hallo SebiM,

das Modul funktioniert für die Hauptdose SUPER! :-)

Bei den RF Dosen kann ich folgendes beobachten:
1) Sie werden bei AutoCreate angelegt.
2) Jedoch mit einer völlig anderen IP als die Hauptdose.

Vermutlich ist das dann die IP-Adresse des Smartphones (oder Tablets, weiß ich ja nicht)

Das muss ich mir bei Gelegenheit noch genauer anschauen, was da exakt passiert. Dass der (alte) Code da nicht ganz korrekt funktioniert, ist mir schon grob klar.

ZitatWoher bekomme ich die 6 stellige RF ID?

Beispielsweise aus der internen SQLite-Datenbank der App, ich hatte das vor ein paar Wochen mal beschrieben. Alternativ kann man sich händisch in der Cloud anmelden, das habe ich aber noch nicht ausprobiert, und auch keinen Code o.ä. da.
Die dritte Möglichkeit wäre, selbst einen Code zu vergeben, dazu müsste man im FHEM-Modul den entsprechenden Befehl einbauen. Dann geht allerdings die App nicht mehr -- außer, man registriert den Code dann wieder von Hand in der Cloud.
(4. Möglichkeit: Wenn man zufällig gerade irgendeinen 433MHz-Empfänger zur Hand hat...)
Also, der Weg über ein gerootetes Android-Gerät ist zunächst mal der Einfachste.

SebiM

Hallo Markus (mkh),

ich frage nochmal schnell direkt zurück, eildieweil ich hier im Moment nichts bezüglich der App nachvollziehen kann. Und mal öffentlich, könnte andere ja auch interessieren.

Wichtigste Frage: Neueste Modul-Version auch wirklich im Einsatz? Dateigröße 19899 Bytes, von Sonntag Abend.

Ansonsten _könnte_ es noch Problemchen mit der App geben, abhängig vom Netzwerk-Aufbau. Mein Smartphone ist normalerweise im 5GHz-WLAN drin, während FHEM auf einem Raspi 3 mit LAN-Kabel läuft. Allerdings sieht er die Broadcasts der Dosen ja auch. Wenn ich z.B. mit der App auf dem Handy schalte, sieht FHEM die Statusänderung auch und zeigt's sofort an.
Wenn es weiterhin Probleme geben sollte, bitte mal das Logging auf Stufe 5 stellen und im Logfile schauen. Da sollte er reinschreiben, wieso und weshalb er via Autocreate Dosen neu angelegt hat. Das Anknipsen des Debug-Logs müsste hiermit gehen: "attr global verbose 5".

Grüße,
Sebastian

SebiM

Juhuuu liebe Freunde der günstigen WiFi-Dosen.... ;)

Es gibt nun wieder was Neues!

Zur leidigen Frage nach den Adressen und sonstigen Codes, anbei eine kleine Komplettlösung. Ein einfaches PHP-Script, welches mal eben alle Daten vom Cloud-Server abruft.
Ich hab's jetzt nur unter Raspbian getestet, mit PHP 5.6, aber alles ab PHP 5 sollte gehen. Besondere Voraussetzungen sind nicht zu beachten; auf manchen Systemen kann es nur sein, dass der Handler für HTTP-Adressen nicht aktiv ist, dann bitte selbständig googlen.

Also der läuft einfach auf der Kommandozeile (Benutzername und Kennwort der App als Parameter angeben!) und dumpt direkt alle JSON-Daten. Ich denke, so wie's jetzt ist, ist es für alle lesbar.
Er liest aus: Die "Szenen", so wie sie auch in der Aldi-App (smart2connect) stehen, und dann alle definierten WiFi- sowie (!!) RF-Dosen. Die berühmte 6-stellige RF-Adresse steht dann direkt ablesbar drin, z.B. "[addressCode] => F24DEE".

Damit sollten nun auch wirklich die letzten Probleme mit der Registrierung in FHEM lösbar sein.
Sollte jemand kein PHP zur Hand haben oder zum Laufen bringen... ne Online-Version ist machbar, wie immer persönliche Nachricht in so einem Fall.

ACHJA wichtig: Das Login funktioniert zwar im Prinzip unabhängig, welche Variante der App verwendet wird (also auch mit Lidl/Silvercrest), aber die Silvercrest-App kennt ja keine Szenen.
Wer die Aldi-App nicht verwenden will, für den habe ich einen entsprechend Block auskommentiert reingeschrieben.

Viel Spaß,
Sebi

mkh


technyj

Hallo zusammen, ich habe eine kleinen Bug um Script entdeckt. Ich nutze die Medion Dosen, diese nutzen den SilverCrest Company Code. Bei Autocreate wurde das Device folgendermassen definiert:

   
192.168.143.51 AC:CF:23:38:B6:4A C1117150

das script ist aber case sensitive und mit Aenderung in
   
192.168.143.51 AC:CF:23:38:B6:4A c1117150

funktioniert es nun.

Eigentlich total easy!

Vielen Dank