Slik styrer du Philips Hue Lights med tastaturgenveier
Å være i stand til å slå lysene dine på og av med stemmen din er en av de beste tingene med å ha et smart hjem. Hvis du ikke har et Amazon Echo eller Google Home, kan du - eller bare foretrekke tastatursnarveier - du kan bruke et AutoHotkey-skript for å kontrollere Philips Hue-lysene fra datamaskinen din.
For denne veiledningen skal vi bruke AutoHotkey, et utrolig lite program som lar deg skrive tilpassede automatiseringsskript og til og med omformingsnøkler på tastaturet. Hvis du ikke er kjent med AutoHotkey eller trenger å laste den ned til Windows-maskinen, kan du se vår nybegynners guide her.
Hva du trenger
Vi skal vise deg et grunnleggende skript som du kan bruke til å slå et sett med lys av og på (som du kan tilpasse senere). Før vi gjør det, trenger du noen få ting.
- En Windows-maskin med AutoHotkey installert: Hvis du ikke allerede har det, kan du laste ned AutoHotkey her. Det er dessverre bare tilgjengelig for Windows-maskiner. Programmet vil kjøre i bakgrunnen og tolke skriptene du lager (vanligvis i et program som Notisblokk).
- IP-adressen til Philips Hue Bridge: Du må angi Bridges IP-adresse i skriptet for at det skal fungere. Vi vil gå gjennom hvordan du finner denne informasjonen nedenfor.
- Et Philips Hue Developer API brukernavn: Skriptet vi bruker bruker også utvikler-API. For å kunne benytte seg av det, må du ha en konto og kjenne brukernavnet til utviklerens API. Igjen, vi viser deg hvordan du får en konto og finner din ID nedenfor.
- AutoHotkey-skriptet: I neste store avsnitt nedenfor har vi skriptet som vi baserer denne håndboken av. Reddit bruker tarrosjon opprettet en mal som vi vil basere oss ut av her hvis du vil dykke litt dypere. Vi har imidlertid tweaked dette skriptet for å forenkle det. Kopier skriptet fra delen nedenfor, lim det inn i et tomt Notisblokk dokument, og lagre det med et navn som
hueshortcut.ahk
.
Hvis du allerede kjenner bro-IP-adressen og API-brukernavnet ditt, kan du hoppe videre.
Slik finner du Bridge IP-adressen din
Din bro IP-adresse er relativt enkel å finne. Gå til denne linken og logg inn på din Philips Hue-konto.
Langs toppen av siden klikker du på Bridge.
Klikk på knappen "Vis flere brodetaljer".
Legg merke til din interne IP-adresse. Du trenger det senere.
Hang videre til dette for neste avsnitt.
Slik får du en Tone Developer API-konto
Hvis du ikke allerede har en Hue Developer-konto, eller hvis du har glemt ditt API-brukernavn, må du få en nå. Denne delen er litt mer komplisert, men hvis du er komfortabel med å bruke noen få tekstkommandoer, bør det være greit. Start med å gå her og opprette en ny utvikler konto med Hue.
Du får en e-post som ber deg om å bekrefte kontoen din og opprette et passord. Når det er gjort, gå til følgende nettadresse, erstatt med IP-adressen du tok fra forrige del.
http: ///debug/clip.html
Her ser du et verktøy som lar deg manuelt sende kommandoer til Hue-broen din. Hvis du ikke forstår alt på denne siden, er det greit. Du trenger bare å bruke dette verktøyet for å få ditt API-brukernavn. For å gjøre det, skriv inn / Api /
i URL-boksen. Under Melding Kropp, skriv inn "devicetype": "my_hue_app # iphone peter"
erstatte iphone peter
med hvilken som helst deskriptor du vil ha, helst en som beskriver enheten du bruker den på.
Når du har skrevet inn all informasjon, klikker du på koblingsknappen på Hue-broen. Dette er et sikkerhetstrinn for å sikre at bare deg eller noen i ditt hjem kan lage programmer for å kontrollere lysene dine. Når du har trykket på koblingsknappen på broen din, klikker du på POST.
I kommandobeskyttelsesboksen bør du se et resultat som ser ut som det nedenfor (minus censur uskarphet, naturlig). Du får et langt, randomisert brukernavn. Kopier dette ned et sted og lagre det. Du trenger den til skriptet senere.
Nå som du har disse to brikkene, er du klar til å sette opp skriptet ditt!
Slik setter du opp AutoHotkey Script
Som nevnt tidligere, bruker vi denne versjonen en modifisert versjon av dette skriptet fra redditor tarrosion. Vi har tweaked den for å legge til snarveier, slik at du kan slå en gruppe lys på og av samtidig i stedet for hvert lys i huset ditt. Her er følgende hurtigtaster du kan bruke med dette skriptet:
- Ctrl + Alt + L: Slå alle lysene på eller av.
- Ctrl + Alt + I: Slå av alle lysene.
- Ctrl + Alt + O: Slå den nåværende lysgruppen på.
- Ctrl + Alt + I: Slå av den nåværende lysgruppen.
- Ctrl + Alt + 1: Bytt til gruppe 1.
- Ctrl + Alt + 2: Bytt til gruppe 2.
- Ctrl + Alt + Opp: Øk varmen av nåværende gruppe lys (krever farge- eller atmosfærepærer).
- Ctrl + Alt + Ned: Reduser varmen av gjeldende gruppe lys (krever farge- eller atmosfærepærer).
- Ctrl + Alt + Venstre: Øk lysstyrken på gjeldende gruppe lys.
- Ctrl + Alt + Høyre: Reduser lysstyrken på gjeldende gruppe lys.
Du kan opprette eller endre så mange lysgrupper som du trenger. For dette eksempelet har jeg opprettet to grupper med to lys hver: en for et kontor og en for stuen. Du kan endre navnene på disse som du finner passende. Du må kanskje også endre verdiene for hver gruppe, avhengig av hvor mange lys du har.
Først kopierer du skriptet nedenfor til et Notisblokkdokument og lagrer det som noe som "huelights.ahk", og sørger for at du erstatter .txt-utvidelsen med .ahk. Uten det vil Notisblokk lagre det som en .txt-fil, og AutoHotkey vil ikke kunne kjøre den.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 kontor: = [1,2] stue: = [3,4] curgroup: = kontor
Lightoff (Light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": false WinHTTP.Send (bodytext) return lighton (lys, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on" true WinHTTP.Send (bodytext) return setlightct (light, newct, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state" bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifylightct (lys, mengde, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". . "/ state", 0) bodytext = "ct_inc":% amount%, "overgangstid": 2 WinHTTP.Send (bodytext) modifylightbrightness (lys, mengde, ByRef WinHTTP) WinHTTP.Open ("PUT" "http: /// api // lights /". light. "/ state", 0) bodytext = "bri_inc":% mengde%, "overgangstid": 2 WinHTTP.Send (bodytext); ctrl-alt -1: bytt til gruppe 1 ^! 1 :: curgroup: = kontor tilbake; ctrl-alt-2: bytt til gruppe 2 ^! 2 :: curgroup: = oppholdsrom tilbake; ctrl l-alt-o: vri gruppelys på ^! o :: for _, lys i curgroup lighton (lys, WinHTTP) tilbake; ctrl-alt-i: Slå gruppelysene av ^! i :: for _ lys i curgroup ctrl-alt-l: bytt alle lysene ^! l :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) hvis lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: alle lysene av ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP .Send (bodytext) lightsOn: = 0 return; ctrl-alt-Up: øk varmen til dagens lysgruppe ^! Opp :: for _, lys i curgroup modifylightct (light, 43, WinHTTP) tilbake; ctrl-alt-Down: redusere varmen til gjeldende lysgruppe ^! Ned :: for _, lys i curgroup modifylightct (lys, -43, WinHTTP) tilbake; ctrl-alt-Venstre: øk lysstyrken på lysgruppen ^! Venstre :: for _ lys i curgroup modifylightbrightness (light, -32, WinHTTP) tilbake; ctrl-alt-Right: redusere lysstyrken av lysgruppen ^! Høyre :: for _, lys i curgroup modifylightbrightness (light, 32, WinHTTP) retur
Nå må du gjøre noen justeringer. Først i skriptet, forandre alle forekomster av til IP-adressen du fikk fra din bro tidligere. Neste, erstatt
med ditt Hue API brukernavn. Det skal være sju forekomster av hver i skriptet ovenfor.
Deretter ser du en del øverst som definerer gruppene du kan kontrollere. Den delen ser slik ut:
kontor: = [1,2] stue: = [3,4]
De to første linjene definerer dine grupper av lys. Hver pære er tildelt et nummer, men det er ikke alltid klart hvilket nummer hver av lysene tilsvarer. Den enkleste måten å sjekke på er å åpne Hue-appen din og trykke på Innstillinger, og deretter trykke på Lysoppsett.
Her ser du en liste over alle lysene dine. Telle hver ned for å finne ut hvilket nummer lysene dine er. For eksempel er de to lysene på kontoret mitt øverst, så de ville være 1 og 2. Under det er stuen min, så skal de være 3 og 4. Hvis du har fjernet og lagt til nye lys fra oppsettet ditt , disse tallene kan skifte litt, så test skriptene dine og bruk en liten prøve og feil for å sikre at du bruker de riktige lysene.
Når du har funnet tallene som samsvarer med lysene dine, endrer du dem i de to linjene over. Du kan også endre navnet til hver av gruppene hvis du vil. Bare vær sikker på å endre hvert tilfelle av det gruppenavnet i skriptet. Hvis du vil legge til en tredje gruppe (eller mer), oppretter du en ny linje under de to første ved hjelp av følgende format, erstatter X, Y med tallene til lysene du vil legge til i gruppen:
roomname : = [X, Y]
Du må også legge til en ny snarvei for å kunne bytte til den tredje gruppen. Velg den følgende tekstblokken i skriptet ovenfor og lag en kopi av den under denne tekstblokken, endre alle 2s til 3s og endre "stue" (eller hvilket navn du gav den andre gruppen din) til navnet på den tredje gruppen:
; ctrl-alt-2: bytt til gruppe 2 ^! 2 :: curgroup: = oppholdsrom retur
Hvis du er kjent med AutoHotkey, kan du tilpasse dette skriptet enda mer for å legge til nye snarveier eller kontrollere lysene dine på forskjellige måter. Sjekk ut dokumentasjonen for AutoHotkey hvis du trenger hjelp. Du kan også sjekke Philips Hue API her for flere kommandoer du kan integrere i skriptet.