Hab mit mal testweise günstig so ein Teil besorgt - Einbindung ins WLAN und Steuerung per Handy-App klappte problemlos.
Nun die Suche danach, wie man die Steckdose evtl. aus FHEM heraus ansprechen könnte. Doch das Internet liefert da ziemlich wenig Ergebnisse - alles was es zu Broadlink und evtl. FHEM gab, bezog sich auf die Bridge bzw. IR-Sender/Empfänger.
Daher hier nochmal die Frage ob wer Erfahrung bzgl. der SP3-Steckdose hat?
Webinterface oder ssh hat das Teil nicht - ein tcp-Portscan lieferte mir lediglich Port 7681 als offen.
Hallo,
ich habe das hier gefunden: https://blog.ipsumdomus.com/broadlink-smart-home-devices-complete-protocol-hack-bc0b4b397af1
Grüße Jörg
Zitat von: roedert am 04 Mai 2017, 10:40:20
Hab mit mal testweise günstig so ein Teil besorgt - Einbindung ins WLAN und Steuerung per Handy-App klappte problemlos.
Nun die Suche danach, wie man die Steckdose evtl. aus FHEM heraus ansprechen könnte. Doch das Internet liefert da ziemlich wenig Ergebnisse - alles was es zu Broadlink und evtl. FHEM gab, bezog sich auf die Bridge bzw. IR-Sender/Empfänger.
Daher hier nochmal die Frage ob wer Erfahrung bzgl. der SP3-Steckdose hat?
Webinterface oder ssh hat das Teil nicht - ein tcp-Portscan lieferte mir lediglich Port 7681 als offen.
Ich habe ja für das Broadlink RM Pro ein Modul geschrieben. Das ursprüngliche Python Skript hatte eine Implementierung für die Steckdosen. Wenn du magst, kann ich da mal reinschauen und etwas implementieren. Nur testen kann ich es leider nicht.
gerne :)
Hab mir mal die genannten Dokus durchgelesen ... das ist ja schon ganz schön wüst was die da als "Protokoll" einsetzen
und ganz fies ist die AES Verschlüsselung für das Dingen, aber das liegt eher an Perl ;)
So habe etwas programmiert, kann es aber leider natürlich nicht wirklich testen. Kann ich dir das Modul mal so zukommen lassen?
Gerne doch ... kannst das Modul doch einfach hier anhängen :-)
ich wollte eh noch einen neuen Thread aufmachen, wo offiziell das Modul drin ist und es gibt hier schon einiges zu:
https://forum.fhem.de/index.php/topic,38231.135
nicht, dass ich überall verschiedene Versionen dranhänge...
Aber ich habe es mal angehangen
edit: Modul im SVN
Erstmal großes Danke!
Habs getestet ... on und off funktioniert schonmal prima.
Alerding stürtzt FHEM beim Aufruf des "getStatus" sofort ab (WebGUI ist nicht mehr erreichbar.)
Im Logfile steht dazu
When using no padding, plaintext size must be a multiple of 16 at /opt/fhem/FHEM/38_Broadlink.pm line 278.
Kannst du mal Zeile 274 und 275 auf folgendes ändern:
my $msg = "sp3 receiving status - data length: " . length($data);
Log3 $hash->{NAME}, 1, $msg;
Mich würde interessieren, wie lange die Antwort ist. Letztlich sagt er, er möchte nicht die Daten entschlüsseln, weil zu wenig Daten zurück übertragen wurden. Leider kann ich das gerade ja nur schwer testen... laut Python Skript sollte es aber laufen und so entschlüssel ich eigentlich auch die anderen Daten vom RMPro... seltsam.
2017.05.14 13:03:58 1: sp3 receiving status - data length: 512
When using no padding, plaintext size must be a multiple of 16 at /opt/fhem/FHEM/38_Broadlink.pm line 278.
Gibt jetzt mehrere Dinge, die wir tun können. Wäre super, wenn du mir sagen könntest, was zum Erfolg geführt hat.
1. Zeile 500: Könntest du da mal die 512 auf 1024 setzen.
Ggf. hilft das schon und erledigt das Problem, denn im Original steht hier auch eine 1024, warum auch immer ich das runter gesetzt habe.
2. Zeile 405:
Hier steht aktuell: -padding => 'none'
Bitte ändern in : -padding => 'null'
Bin gespannt ob es klappt. Leider muss ich dich da ein wenig testen lassen, weil ich das Gerät leider (noch) nicht habe. Sorry
Zitat von: daniel2311 am 14 Mai 2017, 13:52:52
Leider muss ich dich da ein wenig testen lassen, weil ich das Gerät leider (noch) nicht habe. Sorry
Wenn du schon für mich arbeitest, kann ich auch für dich testen ;D
Probiere es nachher aus und melde mich.
Danke nochmal für die schnelle Umsetzung.
Nach den Änderungen stürzt FHEM beim getStatus zumindest nicht mehr ab :)
Allerdings wird der Status auch nicht wirklich gelesen, es kommt immer noch ein Fehler:
2017.05.14 15:58:28 1: sp3 receiving status - data length: 568
Argument "^A" isn't numeric in integer eq (==) at /opt/fhem/FHEM/38_Broadlink.pm line 279.
oder auch
Argument "\0" isn't numeric in integer eq (==) at /opt/fhem/FHEM/38_Broadlink.pm line 279.
dann bitte mal in Zeile 279 ein "eq" anstatt == machen...
if (substr($decodedData, 4, 1) eq 0) {
Oder wahrscheinlich noch besser, wenn es nicht klappt
if (unpack("C*", substr($decodedData, 4, 1)) eq 0) {
if (substr($decodedData, 4, 1) eq 0) { funktioniert nicht ....
if (substr($decodedData, 4, 1) eq "\0") { funktioniert....
if (unpack("C*", substr($decodedData, 4, 1)) eq 0) { funktioniert auch :-)
Das hört sich gut an. Ich habe jetzt noch eingebaut, dass beim Starten vom FHEM einmal der Status vom Gerät geholt wird. Was ich mir auch noch vorstellen könnte, dass ich etwas baue, womit er regelmäßig einstellbar den Status neu vom Gerät holt, damit man sieht, ob es an oder aus ist ;)
edit: Modul im SVN
Habe noch einen "Bug" gefunden:
Bei der Definition - und noch viel schlimmer, bei jedem Neustart von FHEM werden die definierten SP3's eingeschaltet.
Wäre prima, wenn du das noch abstellen kannst.
Und spricht eigentlich was gegen die "Veröffentlichung" des Modul ins normale FHEM-Repository?
Tja, habe ich Unsinn gebaut. Warum keine Ahnung.
Ich wollte, eigentlich nicht den Power einschalten, sondern den Status vom Gerät holen, damit beim Start vom FHEM der richtige Status angezeigt wird, falls man sie so schaltet. Zeile 72 mit Broadlink_sp3_getStatus($hash); ersetzen. Habe ich das falsche kopiert gehabt.
Naja, eigentlich spricht da aus meiner Sicht nichts mehr gegen. Ich hatte noch einen Hinweis bekommen, ich soll das über DevIo machen, aber das habe ich mir noch nicht angeschaut und deshalb noch nicht gemacht. Letztlich habe ich aber auch schon ein SVN-User. Also eigentlich spricht nichts dagegen;)
Das Modul befindet sich jetzt im SVN
Cool, hört sich super an! Es gibt anscheinend eine neue Version, die sp3s. Soweit ich das sehen kann, hat sie ein "power meter"
https://www.amazon.de/Broadlink-Überwachung-intelligente-Stromverbrauch-Automation/dp/B074X9KY33
Ich habe mir die Steckdose auf aliexpress.com bestellt. Hast du eine Idee, wie die Abfrage nach dem Stromverbrauch laufen könnte und kann ich dich um Hilfe bitten, sobald sie da ist?
Hi Jojocra,
ich habe auch eine, aber bisher noch nichts weiter gemacht. An und aus geht sie über das Modul, aber der Powermeter schien mir erst einmal nur über die "cloud" ansprechbar zu sein... aber mal gucken;)
LG
Daniel
Cool, meine ist jetzt auch da. Ich schau mal, was man da so auslesen kann...
Hallo,
hat sich im Bezug auf die sp3s und deren Abfrage nach dem Stromverbrauch schon was herausfinden lassen?
Würde mich auch sehr interessieren diese als "Powermeter" einzusetzen!
Gruß
Stefan
Hi Stefan,
nein, leider nicht. Ich habe den Herrsteller angeschrieben, aber da kam nichts. Abgesehen vom aktuellen Verbrauch gibt es da leider nichts. Sonst müsste man wohl die Cloud auslesen, vermute ich.
LG
Daniel