FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: roedert am 04 Mai 2017, 10:40:20

Titel: Support für Broadlink SP3 WLAN-Steckdose
Beitrag 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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: JoWiemann am 04 Mai 2017, 10:53:59
Hallo,

ich habe das hier gefunden: https://blog.ipsumdomus.com/broadlink-smart-home-devices-complete-protocol-hack-bc0b4b397af1

Grüße Jörg
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 10 Mai 2017, 07:56:03
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 10 Mai 2017, 07:58:50
gerne  :)
Hab mir mal die genannten Dokus durchgelesen ... das ist ja schon ganz schön wüst was die da als "Protokoll" einsetzen
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 10 Mai 2017, 09:58:06
und ganz fies ist die AES Verschlüsselung für das Dingen, aber das liegt eher an Perl ;)
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 00:10:20
So habe etwas programmiert, kann es aber leider natürlich nicht wirklich testen. Kann ich dir das Modul mal so zukommen lassen?
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 07:35:02
Gerne doch ... kannst das Modul doch einfach hier anhängen :-)
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 08:57:11
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
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 11:00:04
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 12:34:40
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 13:05:22
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 13:52:52
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
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 15:15:27
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 16:00:24
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.
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 16:04:45
dann bitte mal in Zeile 279 ein "eq" anstatt == machen...

if (substr($decodedData, 4, 1) eq 0) {
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 16:07:58
Oder wahrscheinlich noch besser, wenn es nicht klappt


if (unpack("C*", substr($decodedData, 4, 1)) eq 0) {
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 14 Mai 2017, 16:11:44
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 :-)
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 14 Mai 2017, 16:18:06
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
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: roedert am 22 Mai 2017, 12:34:09
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?
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 22 Mai 2017, 12:47:07
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;)
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 25 Mai 2017, 11:34:48
Das Modul befindet sich jetzt im SVN
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: Jojocra am 15 November 2017, 19:51:53
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?
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 15 November 2017, 20:27:27
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
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: Jojocra am 05 Dezember 2017, 19:48:44
Cool, meine ist jetzt auch da. Ich schau mal, was man da so auslesen kann...
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: Stoanze01 am 16 Juli 2018, 07:56:22
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
Titel: Antw:Support für Broadlink SP3 WLAN-Steckdose
Beitrag von: daniel2311 am 17 Juli 2018, 12:23:49
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