Lidl WI-FI Steckdose SWS-A1 SilverCrest IAN 103043

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

Vorheriges Thema - Nächstes Thema

SebiM

#210
Zitat von: technyj am 24 November 2016, 21:29:27
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

Da kann ich aber gerade nicht ganz folgen.
Also bei mir ist alles Uppercase definiert und funktioniert auch.

(Nebenbei: Hatte heute aber auch das Problem mit der Doppelt-Registrierung. Fehlersuche folgt...)

EDIT 25.11. 10:15h: Nein, Letzteres streiche ich, ich habe den Fehler bei mir gefunden, habe mit der Config-Datei Mist gebaut.

SebiM

Und wieder was Neues...
Gegenstück zum Paket-Dekoder. Man gibt MAC, Company-Code, Auth-Code und ggf. eine RF-Funkadresse ein, und hinten kommen die fertigen UDP-Pakete Hex-Strings heraus.
Natürlich jetzt soweit für Niemanden hier was Besonderes, der ein wenig programmieren kann, aber ich wollt's nur sagen.
Nur: Ich habe das erstmal wieder bei mir gehostet, und bekanntlich gibt's die Adressen nicht öffentlich, nur per PN. Oder soll ich das hier als Attachment mal alles posten, wer selbst einen Webserver hat? Z.T. gibt's das alles auch in Form von Shell-Scripts, aber ich denke, da ist hier schon fast jeder mit Lösungen versorgt.

Zum FHEM-Modul ansonsten mal, sollte man ja auch nicht ganz vergessen, sollen wir vielleicht mal wieder dazu zurück? :) Mein Stand der Dinge aktuell: Habe noch den Status-Abfrage-Befehl eingebaut; nur, den beim Start von FHEM auszuführen, klappt noch nicht zuverlässig, ist aber noch work in progress

münster

Moin
Gibt es denn auch eine Möglichkeit die Steckdose per Browser Anzusteuern?
Ich will jetzt wegen einer Steckdose nicht noch ein Pi Kaufen ich glaube das ist Verständlich

SebiM

Zitat von: münster am 30 November 2016, 16:23:34
Moin
Gibt es denn auch eine Möglichkeit die Steckdose per Browser Anzusteuern?
Ich will jetzt wegen einer Steckdose nicht noch ein Pi Kaufen ich glaube das ist Verständlich

Ja verständlich ist das schon, aber das sind jetzt etwas zu wenig Infos. Per Browser im lokalen Netzwerk, oder von unterwegs aus (wofür es ja auch die Apps gäbe)?
Direkt per Browser ansteuern kann man die Dosen nicht so richtig sinnvoll, die haben kein volles Web-Interface. Irgendwas dazwischenschalten muss man also wohl, und wenn's ein lokaler Webserver auf dem PC ist. Ob man das auch in JavaScript per WebSockets-API oder so machen kann, uh, müsste ich mal selbst nachlesen, wie der aktuelle Stand der Dinge ist. Aber bitte erstmal die Anforderung etwas genauer angeben :)

ext23

ZitatGibt es denn auch eine Möglichkeit die Steckdose per Browser Anzusteuern?

Ich denke mal auch das ist dann hier der falsche Thread bzw. sogar das falsche Forum. Hier geht es um FHEM. Da brauchst du auch kein RPi zu, das läuft auch auf einem normalen Rechner. Warum sollte man die Dose also über ein Webinterface schalten wenn man das über FHEM macht ?!?

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

münster

Die Steckdose soll im Lokalen Netzwerk angesteuert werden also einfach nur AN und AUS
Von Unterwegs kann sie gar nicht angesteuert werden und soll auch nicht.

SebiM

OK auch wenn das nicht direkt was mit FHEM zu tun hat, ich habe ein Web-Frontend als Einzeldatei-Lösung geschrieben.
Voraussetzungen: Ein Webserver mit PHP im gleichen Netzwerk wie die Dosen, und ein einigermaßen moderner Browser mit JavaScript (getestet: Firefox und Chrome)
Was es kann: Liste aller Dosen aus der smart2connect-Cloud abholen, geht mit Aldi WiFi & RF sowie Lidl, zu anderen (Medion) kann ich wie gehabt nichts sagen. Und die dann natürlich als einfache Liste mit Buttons zum ein-/ausschalten. Die Daten der Dosen werden dabei im Browser im sog. localStorage gecached.
Das Ganze basiert z.T. auf anderen Scripts; von JavaScript aus kann man nunmal leider weder auf die Cloud zugreifen (da zickt mind. der Firefox wegen der Cross-Domain-Probblematik), noch UDP-Pakete senden. Apropos, dieses Dings jetzt kommt ohne IP-Adressen der Dosen aus, der broadcastet die Schaltbefehle einfach. Funktioniert normalerweise genauso.

Eine 1. Version habe ich mal angehängt. Zur OT-Diskussion: Also erstens sind wir hier doch im Off-Topic-Bereich, und zweitens ist doch alles gut, was man auch als Funktionstest verwenden kann.
Ansonsten würde ich das ganze Sammelsurium, was nun entstanden ist, ja gerne vollständig öffentlich bereitstellen; über meinen privaten Webserver will ich das aber nicht machen. Hat da jemand eine Idee, oder gleich auf GitHub gehen? (...habe ich aber noch nie gemacht, drum frage ich nach einer möglichst einfachen Lösung)

Grüße @ all,
Sebi

mm2knet

Ich habe mal das Skript von oben zum Auslesen vom Webserver für die RF Steckdosen benutzt. Es hat bei mir leider so nicht funktioniert.

Ich habe ein iPhone und komme damit nicht an die internen Daten ran. Um die richtigen IDs auszulesen habe ich dann meinen Entwicklungsproxy genommen und den Traffic vom Telefon da drüber laufen lassen, Fazit: die URLs sind bei mir leicht anders:

statt scene muss es bei mir device heißen. Schon bekomme ich auch die entsprechenden Listen.

SebiM

Zitat von: mm2knet am 04 Dezember 2016, 19:24:11
statt scene muss es bei mir device heißen. Schon bekomme ich auch die entsprechenden Listen.

Nenene, Momentchen... Welche App? Die Lidl/SilverCrest, oder ist die Dose oder sind die Dosen über eine andere Variante, z.B. Aldi (smart2connect) angemeldet?
Und welches Script nun genau. Das PHP-CLI-Shellscript? Da habe ich aber eine Bemerkung für den Lidl-Fall reingeschrieben...

Bei Lidl gibt's nur die Devices, das sind die WiFi-Steckdosen. Bei Aldi gibt es ja auch noch RF-Slave-Steckdosen, aber dort in der App müssen dafür Räume oder "Scenes" definiert werden, und dort werden dann alle entsprechenden Dosen (egal of WiFi direkt oder RF-Slave) hinzugefügt.

Ich habe mittlerweile eine neuere Version dieses Script, nur nicht gepostet... irgendwie gibt's hier noch ein leicht organisatorisches Problem. Ich hänge es mal an; der liest nun alle Listen aus und bildet daraus ein JSON-Array mit den nötigen Daten.

Grüße,
Sebi

mm2knet

Okay, noch mal von vorne ;)

Ich habe die micromaxx MD 16173 (auf der Rückseite mit Medion Logo), dazu habe ich die Icomen App, in der ich alles angelegt habe.
Mein Set beinhaltet 1x Wifi Dose und 3x RF Dosen.

Wie gesagt, die URLS waren bei mir leicht anders http://icomen.yunext.com/api/device/list?accessKey=$accessKey&username=$username&password=$password wäre das richtige Schema.

Wenn ich dein neues Script ausführe, dann zeigt er bei mir die Wifidose an, wenn ich das Script anpasse, dass überall device statt Scene steht, dann alles:


# php wifidose2.php mail@mail.de pwd
{
    "Lichterkette Beamer": {
        "mac": "ACCF233929FA",
        "code": "C1117150"
    }
}
# vim wifidose2.php
# php wifidose2.php mail@mail.de pwd
{
    "Lichterkette Beamer": {
        "mac": "ACCF233929FA",
        "code": "C1117150"
    },
    "Stern": {
        "mac": "ACCF233929FA",
        "code": "C1117150",
        "rfslave": "DBFD54"
    },
    "Dose 2": {
        "mac": "ACCF233929FA",
        "code": "C1117150",
        "rfslave": "AFD8CE"
    },
    "Dose 3": {
        "mac": "ACCF233929FA",
        "code": "C1117150",
        "rfslave": "13BA3E"
    }

mkh

Hallo :-)

Ich habe nun das gleiche Set.
Funktioniert bei mir ohne Probleme, wenn man vorher in WiFi2Connect die Räume einrichtet.
1x Steuerdose - 3x RF Dose :-)

Markus

epek

Hallo Leute!
Danke vielmals für Eure Bemühungen. Das hat mir sehr geholfen!
Ich möchte Euch aber bei der Hardware auf den neuesten Stand bringen:
Äußerlich baugleich mit den Medion-Dosen (Master/MD16173) wäre die auf Amazon vertriebenen "CSL - Wifi Smart Steckdose". Momentan sind sie ausverkauft.
Baugleich zu den RF-Slave-Steckdosen aus dem Medion-Set scheinen folgende von Hama, Art Nr.  00121949, zu sein. Letztere gibt es bei Media-Saturn und auf Amazon (Sie sind mit ~10 Euro/Stück für meinen Geschmack recht teuer). Auf letzterem Marktplatz gibt es auch eine dimmbare Variante, die ich noch nicht habe und daher auch nicht testen konnte.
Die CSL-Dosen funktionieren ebenfalls mit der icomen-App. Das Skript von SebiM (wifiplug-cloudfetch.php) meldet für die CSL-Dosen jeweils C1117150 als Herstellercode. Die Hama RF-Slaves lassen sich mit den CSL-Dosen über die App problemlos anlernen.

@mm2knet: Danke für den Tip mit 'device' anstelle von 'scene'. Ich musste nur Zeile 50 anpassen. Jetzt klappt es auch mit den Slaves.

Ein paar Beiträge vorher haben einige sich gewundert, mit welcher MAC-Adresse die Slaves angesprochen werden sollten. Ich kann nur folgende Beobachtung mit Euch teilen: Mit den 8 Slaves, die ich hier habe, sehe ich, dass es jeweils die MAC-Adresse der Master-Steckdose ist, mit der sie gepaart wurde.

SebiM

Zitat von: epek am 27 Dezember 2016, 01:27:00
Ein paar Beiträge vorher haben einige sich gewundert, mit welcher MAC-Adresse die Slaves angesprochen werden sollten. Ich kann nur folgende Beobachtung mit Euch teilen: Mit den 8 Slaves, die ich hier habe, sehe ich, dass es jeweils die MAC-Adresse der Master-Steckdose ist, mit der sie gepaart wurde.

An sich kann man aber jede WiFi-Master-Dose nehmen, die sind nicht in dem Sinne gepaart, wie z.B. bei Bluetooth... Die App wirft nen Zufallsgenerator an und überlegt sich eine 24-Bit-Adresse, die sie bislang noch nicht in Verwendung hat. Die App sagt dann der Master-Steckdose, dass sie diese Adresse eine Zeit lang in den Äther funken soll, damit eine RF-Dose im Anlern-Modus diesen Code dann aufschnappt und sich merkt.
Man kann's also jederzeit einfach ändern, ohne sie neu anlernen zu müssen, z.B. weil man irgendwas umgebaut hat und dann eine andere WiFi-Dose näher an einem Slave steht.

tuba

#223
Zitat von: SebiM am 03 Dezember 2016, 15:36:54
Voraussetzungen: Ein Webserver mit PHP im gleichen Netzwerk wie die Dosen, und ein einigermaßen moderner Browser mit JavaScript (getestet: Firefox und Chrome)
Was es kann: Liste aller Dosen aus der smart2connect-Cloud abholen, geht mit Aldi WiFi & RF sowie Lidl, zu anderen (Medion) kann ich wie gehabt nichts sagen. Und die dann natürlich als einfache Liste mit Buttons zum ein-/ausschalten. Die Daten der Dosen werden dabei im Browser im sog. localStorage gecached.
Hi,

ich hab bislang nur wenig Ahnung von PHP, FHEM etc. und kann diesem Thread in technischer Hinsicht nur eingeschränkt folgen. Habe es aber innerhalb weniger Minuten geschafft, PHP auf meinem Synology NAS ans laufen zu kriegen und die web2.php funzt wunderbar - bin begeistert. Ich nutze die Aldi WiFi & RF-Boxen.

Wahrscheinlich ist es doch jetzt auch ein leichtes, die Schalter durch den einfachen Aufruf einer URL zu schalten, bzw. das PHP-Skript entsprechend auszuführen, oder? Sowas in der Form wie https://meinserver.de/web2.php?doSwitch(1,0) oder, noch besser, https://meinserver.de/web2.php?SwitchOn=RadioKueche

Sorry, falls die Frage schon weiter oben beantwortet wurde und ich sie nicht als solche erkannt habe....werde mir bei Gelegenheit auch ein "PHP für Dummies" aus der Bibliothek mitnehmen.

Grüße



SebiM

Zitat von: tuba am 28 Dezember 2016, 16:49:28
Hi,

ich hab bislang nur wenig Ahnung von PHP, FHEM etc. und kann diesem Thread in technischer Hinsicht nur eingeschränkt folgen. Habe es aber innerhalb weniger Minuten geschafft, PHP auf meinem Synology NAS ans laufen zu kriegen und die web2.php funzt wunderbar - bin begeistert. Ich nutze die Aldi WiFi & RF-Boxen.

Wahrscheinlich ist es doch jetzt auch ein leichtes, die Schalter durch den einfachen Aufruf einer URL zu schalten, bzw. das PHP-Skript entsprechend auszuführen, oder? Sowas in der Form wie https://meinserver.de/web2.php?doSwitch(1,0) oder, noch besser, https://meinserver.de/web2.php?SwitchOn=RadioKueche

jetzt gibt's gleich wieder Ärger, weil das mit FHEM selbst wieder nix zu tun hat... ;)
Ja, das PHP-Script ist kombiniert Web-Oberfläche und AJAX-Handler, also das geht bereits.
Aufruf ungefähr so:
web2.php?action=switch&state=1&mac=123456789ABC&code=C1117150&rfslave=ABCDEF

state ist dann 0 oder 1, MAC und Code eben die Daten der WiFi-Dose, und wenn eine RF-Dose durchgeschaltet werden soll, eben der rfslave-Parameter noch. Sonst weglassen oder leer lassen.

Die Angabe über den Namen geht mit dem PHP-Script leider nicht, weil er die Daten, die er aus der Cloud abrufen kann, nur im Browser speichert und nicht beim Webserver.
Ich weiß gerade selbst nicht mehr genau, welche Version ich zuletzt öffentlich postete. Die Neueste kann jedenfalls all diese Daten auch im Browser anzeigen, ggf. schicke ich das per PN oder poste es hier nochmal.
Für einen Aufruf über einen Namen müsste man das Script halt etwas umbauen...

Viele Grüße