Uncategorized

SmartThings + Raspberry Pi & HomeBridge = Siri HomeKit Controlled Smart Home

Här är allt du behöver för att få Siri att kontrollera dina Samsung SmartThings, Philips färgbelysning och Sonos med en Raspberry Pi som kör HomeBridge. Automatiserad hemläsare (och medieproducent) Paul Gale tar oss genom sin steg-för-steg-guide som avslutar med en ganska utmärkt säsongsmässig smart hemmavideo.

“Hej Siri, gör det jul!” Eller hur man får Siri att styra HomeKit och icke-Homekit-enheter genom att använda Samsung SmartThings och en Raspberry Pi för att ställa in en julbelysningsscen på en rad glödlampor och dekorationer och starta den perfekta spellistan (Storbritannien vissa instruktioner).

Jag har automatiserat mitt hem i mycket mer än 15 år nu med system som CBUS-belysning, väggmonterade kontrollpaneler, ett komfortalarmsystem, HomeVision Hardware HA Controller, helhusljud, elektriska gardiner och takljus etc. Listan var lång. Åh, och cirka 8 km CAT5E -kablar!

Vi fattade nyligen ett beslut att steg och nedstora lite men resultatet av det var att jag var tvungen att säga adjö till mycket av mitt charmiga automatiseringssats. Ett resultat av så många års forskning, installation och programmering och chatt med de fantastiska människorna på de automatiserade hemforum och e -postlista. Vi är nu i ett hyrt hus och väntar på att vårt nya hus ska byggas.

Jag kunde bara inte motstå locket av hemautomation ännu en gång eftersom standardhuslamporna bara var sååå 1990 -talet och tråkiga. Utan tvekan är jag ganska begränsad till vad jag kan installera i en hyrd egendom, så jag investerade i några trådlösa Philips färglampor, båda färgpluggen i typen, några nyare Iris Wall Washing Color -lampor och en ganska bra färg utöver skrivbordslampan. Jag har haft de ursprungliga Philips Color Iris -lamporna i några år nu men de nyare versionerna länkar ihop och med andra lampor i färgsystemet med hjälp av ett nav, allt kontrollerbart med hjälp av Color iOS -appen. Ganska coolt va?

Nåväl, nyligen uppdaterade Philips färgnavet till V2 och med detta kom Apple HomeKit -stöd och förmågan att kontrollera lamporna med hjälp av talade kommandon till Siri. Wow, det var roligt och faktiskt förvånansvärt användbart, att hitta att vi nu skulle kontrollera mycket av färgbelysningen på detta sätt eftersom det bara var så mycket snabbare än att låsa upp iPhone, öppna appen och sticka på olika knappar.

Sedan kom Samsung SmartThings -systemet med sitt löfte om enkel integration och kontroll av ett antal mycket kreativa trådlösa sensorer och enheter. Naturligtvis kunde SmartThings Hub också länka till färgsystemet och några andra bitar ‘n’ bobs som jag redan hade som en Logitech Harmony -fjärrkontroll och en Sonos -spel: 1 högtalare. Jag önskade snart Siri -kontrollen över dessa nya enheter eftersom tyvärr inte SmartThings -systemet inte är naturligt kompatibelt. Det visar sig dock att det utan tvekan är möjligt med hjälp av några mycket kreativa samhällsprojekt och kod.

Följande guide inrättades för att hjälpa andra att uppnå HomeKit Nirvana med en blygsam mängd kit och några få appar. Jag måste oroa mig för att det mestadels är baserat på andra människors arbete och guider spridda över många webbplatser och sidor men samlas in i en förhoppningsvis gynnsam guide. Stora kreditpoäng till alla dessa människor i de olika projekten och forumen för den fantastiska arbetet som läggs in för att göra det möjligt för andra (gratis) att uppnå något speciellt. Överväg att donera där det finns ett alternativ. Jag har också djupgående ändringarna som behövs för att driva detta inom Storbritannien (och eventuellt Europa).

Detta kräver en överkomlig mängd ansträngning och viss kunskap om Windows, Linux och iOS men måste vara möjligt i mycket genomsnitt till avancerade användare.

#
Förhandsvisning
Produkt
Betyg
Pris

1
Samsung GP-WOU019BBDWG SmartThings Smart Plug 2019, kompatibel med Amazon Alexa och Google Home, …
972 recensioner
£ 19,50
komma på Amazon

2SmartThings Aeotec Zigbee Motion Sensor – Automatisk kontroll av lätt integrerad temperatursensor, …
34 recensioner
£ 34,99
komma på Amazon

3
SmartThings Aeotec Zigbee Multipurpose Sensor – Window -Door Sensor för inbrottslarmsäkerhet …
16 recensioner
£ 29.99
komma på Amazon

Hårdvara

Nödvändig:

SmartThings Hub (jag har SmartThings Starter Kit plus ett extra plugguttag)

Raspberry Pi (jag använder Raspi 2 Model B Desktop) med SD -kort, PSU och nätverksladd – eller bara få ett Raspberry Pi -startpaket, (plus en mus, tangentbord, monitor och HDMI -sladd för initial installation).

iPhone som kör Siri

Du kan köra detta på en annan Linux -enhet istället, men du kanske måste ändra instruktionerna något.

Frivillig:

Philips Color Hub V2 (fyrkant snarare än den gamla omgången)

Philips färglampor eller lampor som vita och färglökor, färg luxlampor, färg iris, färg bortom lampan etc.

Andra SmartThings -sensorer och enheter som eluttaget.

Andra zigbee- eller z-wave-enheter. Till exempel har jag flera TKB-plug-in-uttag som fungerar mycket bra med SmartThings liksom Aeon Labs Multisensor 6.

En stor, rosa glitter julgran med ljus för att automatisera och göra dina vänner avundsjuk!

programvara

Haspbisk operativsystem

Hembryg

1. Installera NOOBS & RASPBIAN på din Raspberry Pi

Installera din PI genom att följa dessa instruktioner:

När du är klar, se till att du kan logga in på en terminal session på Raspi, antingen genom att köra terminal i Raspi GUI eller genom att använda en terminal -app på Windows/Mac, till exempel den exceptionella kitt.

Du kan logga in och utfärda alla kommandon som visas här under standardkontot på Raspi. Om det ansluter på distans på distans är standardanvändarnamnet ‘PI’ och lösenord ‘Raspberry’, även om lösenordet inte var tvungen att ändra det från Terminal -appen i Raspi GUI med:

passwd

Ange sedan det nya lösenordet två gånger enligt instruktionerna. Mycket mer info här:

2. Installera Node.js på Raspberry Pi

Det finns nu mycket senare versioner av node.js än instruktionerna här:

Så det här var vad jag gjorde. Via ett terminalfönster som kitt på Windows:

Detta är för Raspberry PI 2 -modellen B – Kontrollera den tidigare URL om du har en äldre version eftersom paketet är annorlunda.

wget

TAR -xvf Node-V5.2.0-Linux-Armv7L.tar.gz

CD Node-V5.2.0-Linux-Armv7L

sudo cp -r */usr/local/

För att kontrollera Node.js är på lämpligt sätt installation och du har den perfekta versionen, kör kommandot:

nod –v

Du kanske också vill kontrollera att NPM är den aktuella versionen som på min raspi var det ganska gammalt och jag stötte på några problem med att försöka installera HomeBridge. Detta kommer att installera/uppgradera till den aktuella versionen:

sudo npm installera npm -g

3. Installera HomeBridge på PI

sudo npm install -g homebridge

sudo npm install -g homebridge-legacy-plugins

Nu måste vi göra några ändringar i SmartThings.js -filen för Storbritanniens/EU -servrar:

CD/usr/Local/Lib/Node_Modules/HomeBridge-Legacy-Plugins/Platforms

Nano SmartThings.js

Hitta följande URL i filen:

och ersätt det med:

I min version av filen fanns det bara ett exempel på detta. Ctrl-o och ange för att spara filen, sedan ctrl-x. Den här installationen är inte riktigt fullständig ännu, du måste slutföra följande innan HomeBridge kommer att köras.

4. Installera appen SmartThings på din iPhone

Du måste redan ha SmartThings -appen på din telefon. Om inte, installera och ställ in det nu genom att följa instruktionerna som medföljde SmartThings Kit (eller Hub)

5. Logga in på SmartThings IDE och skapa en JSON API SmartApp

SmartThings IDE (Integrated Development Environment) levererar en uppsättning verktyg för att hantera ett SmartThings-konto och nav, enheter etc. Det är faktiskt ganska fördelaktigt av flera skäl men vi kommer att använda det här för att installera ett skräddarsytt JSON API SmartApp Det är en avgörande part av processen för att få Siri att styra våra icke-hemkitiska enheter.

Logga in med ditt SmartThings -konto som du skapade som en del av SmartThings Kit/Hub Install.

Goto “My SmartApps” -fliken

Klicka på ‘+ New SmartApp’ -knappen till höger till höger

Klicka på “Från kod”

I ett annat webbläsarfönster, gå hit:

Klicka på “Raw” -knappen

Välj all kod (Ctrl-A) och kopiera den (CTRL-C)

Gå tillbaka till SmartThings IDE -fönstret och klistra in koden som du just kopierade i kodfönstret.

Hitta alla fall av

och ersätt dem med

Det måste finnas tre fall på raderna 59, 63 och 87 – detta är rätt i skrivande stund (11/12/15). Naturligtvis kan denna kod förändras i framtiden. Om du har ett amerikanskt konto behöver du inte göra detta eftersom serverns URL kommer att vara rätt för dig.

Klicka på “Skapa”

Klicka på “Appinställningar”

Klicka på ‘Oauth’

Klicka på “Aktivera oauth i Smart App” Lämna alla inställningar som standardvärden

Klicka på “Uppdatering”

SmartThings IDE verkar förlora menyknapparna vid denna tidpunkt, så du kan behöva klicka på “My SmartApps” -fliken igen, klicka på posten “JNewland: JSON API” för att komma tillbaka till en punkt där du kan nu:

Klicka på ‘Publicera’ och ‘för mig’

6. Installera den nya JSON API SmartApp i SmartThings

Ladda SmartThings -appen på din iPhone.

Gå till ‘Marketplace’ genom att knacka på ikonen i det nedre idealet (blå, grön och gul ikon som ser lite ut som en stjärna).

Tryck på “Mina appar”

Tryck på ‘JSON API’

Du kan nu välja någon av Switchar och Philips färglampor som du vill styra med HomeBridge/HomeKit/Siri (Observera att Philips Color V2 Hub nu stöder HomeKit naturligt så att du kanske inte vill välja färgenheter här som de kanske redan vara i HomeKit -databasen och kontrollerbar). Du kan komma tillbaka till den här skärmen i framtiden och ändra dina val, så du kanske bara vill prova en enda enhet för testning. Om du senare ändrar dessa enheter kan du behöva stoppa och starta om HomeBridge -servern för de nya eller ändrade enheterna som ska upptäckas och matas in i HomeKit -databasen.

Tryck på ‘config’

Nästa skärm måste sedan visa den konfiguration som vi behöver använda på HomeBridge -servern. Det måste se ut så här (jag har ersatt de faktiska nycklarna med xxx):

{
“Beskrivning”: “JSON API”,
“Plattformar”: [
{
“Plattform”: “SmartThings”,
“Namn”: “SmartThings”,
“App_id”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,
“Access_Token”: “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”
}
]
}

Kopiera detta eller skicka det med e -post, pushbullet eller vilken annan metod du kan ha för att skicka text från en iPhone till din skrivbordsmaskin. Jag använder Pushbullet -appen och Firefox -plugin som fungerar ganska bra. Tyvärr är detta steg lite besvärligt eftersom SmartThings inte har en app för något annat än en mobil enhet (inte ens en iPad -version tror jag).

Tryck på ‘Done’ och ‘Done’ igen för att lämna SmartApp. SmartThings måste visa ett banner som säger att “JSON API nu är installerat och automatiserat”

7. Sätt en config.json -fil för HomeBridge

Vi kommer nu att använda konfigurationstexten från föregående steg och skapa en config.json -fil för HomeBridge -servern.

Tillbaka i terminalfönstret anslutet till din Raspberry Pi:

cd /home/pi/.homebridge

nano config.json

Klistra nu i konfigurationstexten. Om du använder kitt kan du kopiera konfigurationstexten och idealiska klicka på fönstret för att klistra in det.

Ctrl-o för att skriva filen. Se till att filnamnet är ‘config.json’ och tryck på Enter. Ctrl-X för att lämna Nano-redaktören.

Kontrollera filen nu finns:

ls

Du måste se ‘config.json’ listad.

Nu kan vi starta HomeBridge -servern:

Hembryg

Om allt är framgångsrikt måste du se något som den här utgången (de varna meddelanden verkar inte påverka servern):

pi@raspha: ~/.homebridge $ Homebridge
*** ALERTING *** Programmet ‘Node’ använder Apple Bonjour -kompatibilitetsskiktet av Avahi.
*** Alerting *** Fixa din ansökan för att använda det ursprungliga API för Avahi!
*** Alerting *** För mycket mer information se <>
*** Alerting *** Programmet ‘Node’ kallas ‘DNSSE