Kako kontrolirati Philips Hue svjetla pomoću tipkovničkih prečaca
Biti u stanju uključiti i ugasiti svjetla svojim glasom jedna je od najboljih stvari oko pametnog doma. Ako nemate Amazon Echo ili Google Home, ipak - ili jednostavno preferirate tipkovničke prečace - možete koristiti skriptu AutoHotkey za upravljanje Philips Hue svjetlima s računala.
Za ovaj vodič koristit ćemo AutoHotkey, nevjerojatan mali program koji vam omogućuje pisanje prilagođenih skripti za automatizaciju, pa čak i preslikavanje tipki na tipkovnici. Ako niste upoznati s AutoHotkey ili ga trebate preuzeti na svoj Windows stroj, pogledajte vodič za početnike ovdje.
Što ćete trebati
Pokazat ćemo vam osnovnu skriptu koju možete upotrijebiti za uključivanje i isključivanje skupa svjetala (koje kasnije možete prilagoditi). Prije nego što to učinimo, trebat će vam nekoliko stvari.
- Windows stroj s instaliranom AutoHotkey: Ako to već niste učinili, AutoHotkey možete preuzeti ovdje. Nažalost, dostupan je samo za strojeve sa sustavom Windows. Aplikacija će se izvoditi u pozadini i interpretirati skripte koje stvorite (obično u programu kao što je Notepad).
- Vaša IP adresa tvrtke Philips Hue Bridge: Da biste mogli raditi, morate u skriptu unijeti IP adresu vašeg mosta. Pronaći ćemo vas kako pronaći ove informacije u nastavku.
- Korisničko ime API-ja tvrtke Philips Hue: Skripta koju koristimo također koristi API razvojnog programera. Da biste ga koristili, morate imati račun i znati korisničko ime za razvojnog API-ja. Još jednom ćemo vam pokazati kako dobiti račun i pronaći svoj ID u nastavku.
- Skripta AutoHotkey: U sljedećem velikom odjeljku u nastavku imat ćemo skriptu s koje smo ovaj vodič isključili. Reddit user tarrosion stvorio je predložak koji ćemo zasnivati odavde ako želite zaroniti malo dublje. Međutim, skriptu smo prilagodili kako bismo je pojednostavili. Kopirajte skriptu iz donjeg odjeljka, zalijepite ga u prazan dokument Notepada, a zatim spremite s imenom sličnim
hueshortcut.ahk
.
Ako već znate svoju IP adresu i korisničko ime API-ja, možete preskočiti.
Kako pronaći IP adresu vašeg mosta
IP adresu vašeg mosta je relativno jednostavno pronaći. Idite na ovu vezu i prijavite se na svoj Philips Hue račun.
Na vrhu stranice kliknite Most.
Kliknite gumb "Prikaži više detalja mosta".
Zabilježite svoju internu IP adresu. Trebat će vam kasnije.
Držite ovo za sljedeći odjeljak.
Kako dobiti Hue Developer API račun
Ako još nemate račun razvojnog programera ili ako ste zaboravili svoje korisničko ime za API, morate ga odmah dobiti. Ovaj dio je malo složeniji, ali ako vam je ugodno koristiti nekoliko tekstualnih naredbi, to bi trebalo biti jednostavno. Počnite tako što ćete krenuti ovdje i stvoriti novi račun razvojnog programera s Hue.
Dobit ćete poruku e-pošte u kojoj ćete tražiti da potvrdite svoj račun i izradite zaporku. Kada to učinite, idite na sljedeći URL i zamijenite IP adresu koju ste preuzeli iz prethodnog odjeljka.
http: ///debug/clip.html
Ovdje ćete vidjeti alat koji vam omogućuje ručno slanje naredbi na Hue most. Ako ne razumijete sve na ovoj stranici, to je u redu. Potrebno je samo upotrijebiti ovaj alat da biste dobili svoje API korisničko ime. Da biste to učinili, uđite / API /
u okviru URL. U odjeljku Tijelo poruke unesite "devicetype": "my_hue_app # iphone peter"
zamjena iphone peter
s bilo kojim deskriptorom koji želite, po mogućnosti onaj koji opisuje uređaj na kojem ga koristite.
Kada unesete sve informacije, dodirnite gumb veze na Hue mostu. Ovo je sigurnosni korak kako biste bili sigurni da samo vi ili netko u vašem domu može stvoriti aplikacije za upravljanje svjetlima. Nakon što pritisnete gumb veze na mostu, kliknite POST.
U okviru Command Response trebali biste vidjeti rezultat koji izgleda kao niže (naravno, bez cenzure). Imat ćete dugačko, randomizirano korisničko ime. Kopiraj ovo negdje i spasi ga. Kasnije će vam trebati za skriptu.
Sada kada imate te dvije informacije, spremni ste postaviti svoju skriptu!
Kako postaviti AutoHotkey skriptu
Kao što sam ranije spomenuo, za ovaj vodič koristimo modificiranu verziju ove skripte iz redditorske tarzije. Podesili smo ga da dodamo prečace tako da možete uključiti i isključiti grupu svjetala umjesto svakog svjetla u kući. Ovo su sljedeći hotkeovi koje ćete moći koristiti s ovom skriptom:
- Ctrl + Alt + L: Uključite ili isključite sva svjetla.
- Ctrl + Alt + I: Isključite sva svjetla.
- Ctrl + Alt + O: Uključite trenutnu skupinu svjetala.
- Ctrl + Alt + I: Isključite trenutnu skupinu svjetala.
- Ctrl + Alt + 1: Prebaci se na grupu 1.
- Ctrl + Alt + 2: Prebaci se na grupu 2.
- Ctrl + Alt + up: Povećajte toplinu trenutne grupe svjetala (zahtijeva žarulje u boji ili ambijentu).
- Ctrl + Alt + dolje: Smanjite toplinu trenutne grupe svjetala (zahtijeva žarulje u boji ili ambijentu).
- Ctrl + Alt + lijevo: Povećajte svjetlinu trenutne skupine svjetala.
- Ctrl + Alt + Desno: Smanjite svjetlinu trenutne grupe svjetala.
Možete stvoriti ili izmijeniti onoliko grupa svjetala koliko vam je potrebno. Za ovaj primjer, stvorio sam dvije skupine po dvije svjetiljke: jednu za ured i jednu za dnevnu sobu. Možete promijeniti nazive tih imena kako vam odgovara. Također ćete možda trebati promijeniti vrijednosti svake grupe ovisno o tome koliko svjetala imate.
Prvo, kopirajte skriptu ispod u dokument Notepad i spremite je kao nešto poput "huelights.ahk" pazeći pritom da zamijenite .txt ekstenziju s .ahk. Bez toga, Notepad će ga spremiti kao .txt datoteku, a AutoHotkey ga neće moći pokrenuti.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 ured: = [1,2] dnevni boravak: = [3,4] grupa: = ured
lightoff (svjetlo, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // rasvjeta /". svjetlo. "/ state", 0) bodytext = "on": false WinHTTP.Send (bodytext) return lighton (svjetlo, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // svjetla /". svjetlo. "/ stanje", 0) bodytext = "on": true WinHTTP.Send (bodytext) povratak setlightct (light, newct, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // rasvjeta /". svjetlo. "/ stanje", 0) bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifilightct (svjetlo, iznos, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // rasvjeta /". svjetlo . "/ state", 0) bodytext = "ct_inc":% amount%, "vrijeme tranzicije": 2 WinHTTP.Send (bodytext) modifilightbrightness (svjetlo, iznos, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // rasvjeta /". svjetlo. "/ state", 0) bodytext = "bri_inc":% amount%, "transitiontime": 2 WinHTTP.Pošalji (bodytext); ctrl-alt -1: promjena u grupu 1 ^! 1 :: curgroup: = uredski povratak; ctrl-alt-2: promjena u grupu 2 ^! 2 :: curgroup: = dnevni boravak povratak; ctr l-alt-o: uključite osvjetljenje grupe na ^! o :: for _, svjetlo u curgroup lighton (light, WinHTTP) povratak; ctrl-alt-i: isključite grupna svjetla ^! i :: za _, svjetlo u grupi lightoff (light, WinHTTP) return; ctrl-alt-l: uključi sva svjetla ^! l :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) > 0 bodytext = "on": false drugo bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: sva svjetla isključena ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP .Send (bodytext) lightsOn: = 0 return; ctrl-alt-Up: povećava toplinu trenutne skupine svjetla ^! Up :: za _, svjetlo u grupi modifylightct (svjetlo, 43, WinHTTP) povratak; ctrl-alt-Dolje: smanjiti toplinu trenutne grupe svjetla ^! Down :: za _, svjetlo u curgroup modifylightct (svjetlo, -43, WinHTTP) povratak; ctrl-alt-lijevo: povećanje svjetline grupe ^! Left :: za _, svjetlo u grupi modifylightbrightness (svjetlo, -32, WinHTTP) povratak; ctrl-alt-desno: smanjenje svjetline grupe ^! Right :: za _, svjetlo u curgroup modifylightbrightness (svjetlo, 32, WinHTTP) povratak
Sada ćete morati napraviti nekoliko prilagodbi. Prvo, u skripti, promijenite svaku instancu na IP adresu koju ste ranije dobili s mosta. Sljedeće, zamijenite
s korisničkim imenom API-ja Hue. U gornjoj skripti trebalo bi biti po sedam primjeraka.
Zatim ćete na vrhu vidjeti odjeljak koji definira grupe koje možete kontrolirati. Taj odjeljak izgleda ovako:
ured: = [1,2] dnevni boravak: = [3,4]
Prve dvije linije definiraju grupe svjetala. Svakoj je žarulji dodijeljen broj, iako nije uvijek očito na koji broj odgovara svako vaše svjetlo. Najlakši način za provjeru je da otvorite Hue aplikaciju i dodirnete Postavke, a zatim dodirnite Postavljanje svjetla.
Ovdje ćete vidjeti popis svih svjetala. Brojajte svakog od njih kako biste shvatili koji je broj vaših svjetala. Na primjer, dva svjetla u mom uredu su na vrhu, tako da će biti 1 i 2. Ispod toga su svjetla moje dnevne sobe, tako da bi to trebalo biti 3 i 4. Ako ste uklonili i dodali nova svjetla iz vašeg postavljanja , ovi brojevi se mogu pomaknuti, pa testirajte svoje skripte i koristite malo pokušaja i pogrešaka kako biste bili sigurni da koristite prava svjetla.
Kada pronađete brojeve koji odgovaraju vašim svjetlima, promijenite ih u dva gornja retka. Također možete promijeniti ime svake grupe ako to želite. Samo se pobrini za promjenu svaki slučaj tog imena grupe u skripti. Ako želite dodati treću grupu (ili više njih), izradite novi redak ispod prva dva pomoću sljedećeg formata, zamjenjujući X, Y brojevima svjetala koje želite dodati toj grupi:
roomname : = [X, Y]
Morat ćete dodati još jedan prečac da biste mogli promijeniti treću grupu. Odaberite sljedeći blok teksta u gornjoj skripti i napravite kopiju ispod tog tekstualnog bloka, mijenjajući sve 2s do 3s i promijenite "dnevni boravak" (ili bilo koje ime koje ste dali svojoj drugoj grupi) na ime treće grupe:
; ctrl-alt-2: promjena u grupu 2 ^! 2 :: curgroup: = povratak u dnevni boravak
Ako ste upoznati s AutoHotkey, možete ga još više podesiti da biste dodali nove prečace ili kontrolirali svjetla na različite načine. Pogledajte dokumentaciju AutoHotkey ako vam je potrebna pomoć. Ovdje možete provjeriti i Philips Hue API za više naredbi koje možete integrirati u svoju skriptu.