Clas Ohlsson wifi strömbrytare i Easyhome
Posted: Fri Mar 17, 2023 9:45 am
Hej,
köpte en Clas wifi väggplugg https://www.clasohlson.com/se/WiFi-Smar ... me/38-8192 för att testa.
Den är prisvärd och har wifi stöd så jag tänkte den vore perfekt att hacka in i Easyhome. Det visar sig att den egentligen är en Broadlink SP3 enhet. Efter ett antal sökningar på nätet hittade jag till slut ett par Python bibliotek som jag vågade testa i min Raspberry.
Följande har jag gjort:
1. Installera Clasströmbrýtaren så att den fungerar med deras app.
2. Du ska ha python installerat i raspberryn (2.7 kör jag)
3. Öppnade ett terminalfönster och installerade från https://github.com/mjg59/python-broadlink
i bibliotektet python-broadlink körde jag kommandot
4. Nu ska det gå att testa strömbrytaren i python (se https://github.com/mjg59/python-broadlink)
Starta python i terminalfönstret och skriv följande kommandon, så ska den slå till strömbrytaren (med False i sista kommandot så stänger den) :
5. Jag hittade ytterliggare ett python program som gör att man kan använda enhetens ip-adress och mac-adress för att nå den.
https://github.com/NightRang3r/Broadlink-NodeSP2
Installera med:
6.kopiera sp2.py från bibliotektet Broadlink-NodeSP2 och lägg i ditt nexahomebibliotek.
Redigera sp2.py där radenska ändras till7. Du kan nu använda sp2.py för att anropa din enhet med hjälp av dess ip-adress och mac-adress (dessa hittar du i din router, enheten har ett namn som börjar med Broadlink-Outlet).
8. Jag har skapat en sh-fil som anropar python filen samt bsh-filer för varje device som ska användas.
Skript fil blink.sh
En bashfil (där jag hackat in IP och MAC adresserna) för min device 36 som är strömbrytaren i Easyhome:
36.bsh
Det fungerar bra, dock tar det 5 sekunder att aktivera/deaktivera enheten, det finns lite fördröjningar i pythonskripten.
Det roliga är att jag nu kan styra alla olika produkter (nexa, ikea, clas) från Easyhome och från samma hemsida.
Har även Google home mini så jag kan röststyra alla devicer (via IFTTT). Dock får jag än så länge ha engelska enhetsnamn.
Hoppas det här kan vara lite starthjälp för den som vill testa.
köpte en Clas wifi väggplugg https://www.clasohlson.com/se/WiFi-Smar ... me/38-8192 för att testa.
Den är prisvärd och har wifi stöd så jag tänkte den vore perfekt att hacka in i Easyhome. Det visar sig att den egentligen är en Broadlink SP3 enhet. Efter ett antal sökningar på nätet hittade jag till slut ett par Python bibliotek som jag vågade testa i min Raspberry.
Följande har jag gjort:
1. Installera Clasströmbrýtaren så att den fungerar med deras app.
2. Du ska ha python installerat i raspberryn (2.7 kör jag)
3. Öppnade ett terminalfönster och installerade från https://github.com/mjg59/python-broadlink
Code: Select all
git clone https://github.com/mjg59/python-broadlink.git
Code: Select all
sudo python setup.py install
Starta python i terminalfönstret och skriv följande kommandon, så ska den slå till strömbrytaren (med False i sista kommandot så stänger den) :
Code: Select all
import broadlink
devices = broadlink.discover(timeout=5)
devices[0].auth()
devices[0].set_power(True)
https://github.com/NightRang3r/Broadlink-NodeSP2
Installera med:
Code: Select all
git clone https://github.com/NightRang3r/Broadlink-NodeSP2
Redigera sp2.py där raden
Code: Select all
device = broadlink.sp2(host=(ip,80), mac=bytearray.fromhex(macaddr))
Code: Select all
device = broadlink.sp2(host=(ip,80), mac=bytearray.fromhex(macaddr), devtype=0x753e)
8. Jag har skapat en sh-fil som anropar python filen samt bsh-filer för varje device som ska användas.
Skript fil blink.sh
Code: Select all
#!/bin/bash
python sp2.py $1 $2 $3
36.bsh
Code: Select all
execFile("/home/pi/nexahome/blink.sh");
execParam("192.168.1.161");
execParam("34ea3458ee65");
if (getDeviceStatus("36") == "On") {
execParam("1");
} else {
execParam("0");
}
hideOutput();
Det roliga är att jag nu kan styra alla olika produkter (nexa, ikea, clas) från Easyhome och från samma hemsida.
Har även Google home mini så jag kan röststyra alla devicer (via IFTTT). Dock får jag än så länge ha engelska enhetsnamn.
Hoppas det här kan vara lite starthjälp för den som vill testa.