Använd Siri för att styra dina fjärrströmbrytare (Homebridge)
Detta är en uppföljning på min guide om att styra sina fjärrströmbrytare med Raspberry Pi. Vi vill nu utöka detta till att kunna styra dem direkt i Apple HomeKit och med hjälp av Apples röststyrda personliga assistent Siri. Detta går lätt att göra om man kan tänka sig att betala många hundralappar per uttag. Men om man som jag gillar utmaningar och att spara pengar så finns det bättre sätt.
Vad är Homebridge?
Homebridge är en NodeJS-server som du kan köra på ditt nätverk i hemmet. Det låter dig använda iOS HomeKit API på saker i ditt hem som egentligen inte har stöd för Apple HomeKit. Det finns mängder av plugins som gör det möjligt att koppla in smarta hem-enheter som inte har stöd för HomeKit till HomeKit.
I denna guiden kommer vi att koppla in fjärrströmbrytare som i vanliga fall styrs av en kontroll med frekvensen 433MHz. De flesta billiga fjärrströmbrytare med fjärrkontroll använder frekvensen 433MHz.
Installera Homebridge på din Raspberry Pi
Börja med att ssh:a in på din Raspberry Pi:
$ ssh pi@ip-till-raspberry-pi
Väl inne uppdaterar vi:
$ sudo apt-get update
$ sudo apt-get upgrade
Är osäker på om det behövs men installera git och make:
$ sudo apt-get install git make
Installera NodeJS:
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
Installera Avahi:
$ sudo apt-get install libavahi-compat-libdnssd-dev
Installera själva Homebridge:
$ sudo npm install -g --unsafe-perm homebridge
Nu bör du kunna starta Homebridge med:
$ homebridge
Du kommer att få ett felmeddelande att det saknas plugins.
Ordna så att Homebridge startar vid uppstart av din Raspberry Pi
Börja med att skapa denna filen:
$ sudo nano /etc/default/homebridge
och klistra in detta:
# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
Sedan skapar vi en till fil:
$ sudo nano /etc/systemd/system/homebridge.service
och klistrar in detta:
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Därefter skapar vi en användare som ska köra homebridge i bakgrunden:
$ sudo useradd --system homebridge
Skapar en ny mapp för Homebridge:
$ sudo mkdir /var/homebridge
Kopierar över denna filen:
$ sudo cp -r ~/.homebridge/persist /var/homebridge
Kör sedan följande kommandon:
$ sudo chmod -R 0777 /var/homebridge
$ sudo systemctl daemon-reload
$ sudo systemctl enable homebridge
$ sudo systemctl start homebridge
Installera Homebridgepluginet cmdswitch2
Använd följande kommando för att installera cmdswitch2:
$ sudo npm install -g homebridge-cmdswitch2
Konfigurera Hombridge config.json
1. Börja med att skapa filen:
$ sudo nano /var/homebridge/config.json
2. Här är ett exempel på hur du kan skriva din config.json:
{
"bridge":{
"name":"Homebridge",
"username":"",
"port":51925,
"pin":"031-45-154"
},
"description":"This is an example configuration file with one fake platforms and two fake switches.",
"accessories":[
],
"platforms":[
{
"platform":"cmdSwitch2",
"switches":[
{
"name":"Lampa",
"on_cmd":"/var/www/html/rfoutlet/codesend ******",
"off_cmd":"/var/www/html/rfoutlet/codesend ******"
},
{
"name":"Lampa2",
"on_cmd":"/var/www/html/rfoutlet/codesend ******",
"off_cmd":"/var/www/html/rfoutlet/codesend ******"
}
]
}
]
}
3. Byt ut var/www/html/rfoutlet/codesend
till adressen där din codesend ligger och byt ut *******
mot dina av- och på-koder från guiden om hur du använder din raspberry pi för att styra fjärrströmbrytare.
4. Du kan lägga till hur många strömbrytare du vill genom att lägga till dem under varandra som i exemplet.
5. Använd ctrl + x
för att stänga och spara ner config.json
6. Starta om homebridge:
$ sudo systemctl restart homebridge
7. Starta Hemappen i din telefon och lägg till ett nytt tillbehör. Välj att du vill lägga till med kod.
8. Skriv kommandot $ systemctl status homebridge
för att se status på Homebridge och få koden du ska skriva in på din telefon.
Grattis! Nu kan du styra dina fjärrströmbrytare med Siri!
Låt säga att man vill dimma lamporna med en 433mhz mottagare-dimmer? Hur konfigurerar jag lamporna då?
Toppenbra guide!
Bra fråga, kan du läsa av signalerna från dimmern?
Hej,
Jag har en dörrklocka med inbyggd kamera från RING (ringdoorbell 3)
Och även verisure larm med smartlås från yale doorman… ingen av dessa är kompatibel med apple homekit och min fråga är om det går att fixa så att dessa läggs in i apple homekit?
Hej,
ursäkta sent svar!
Jag vet på stående fot att du kan koppla verisure med larm och yale doorman till homekit via homebridge.
Kolla in: https://www.npmjs.com/package/homebridge-verisure