Hoe u uw Philips Hue Lights kunt bedienen met sneltoetsen op het toetsenbord
Je lichten aan en uit kunnen zetten met je stem is een van de beste dingen om een slimme woning te hebben. Als je echter geen Amazon Echo of Google Home hebt, of liever gewoon sneltoetsen hebt, kun je een AutoHotkey-script gebruiken om je Philips Hue-lampen vanaf je computer te bedienen..
Voor deze handleiding gebruiken we AutoHotkey, een verbazingwekkend klein programma waarmee je aangepaste automatiseringsscripts kunt schrijven en zelfs toetsen opnieuw kunt toewijzen op je toetsenbord. Als u niet bekend bent met AutoHotkey of het moet downloaden naar uw Windows-computer, bekijk dan hier onze beginnershandleiding.
Wat je nodig hebt
We zullen je een basisscript laten zien dat je kunt gebruiken om een reeks lichten in en uit te schakelen (die je later kunt aanpassen). Voordat we dat doen, heb je een paar dingen nodig.
- Een Windows-machine met AutoHotkey geïnstalleerd: Als je dat nog niet hebt gedaan, kun je hier AutoHotkey downloaden. Het is helaas alleen beschikbaar voor Windows-machines. De applicatie wordt op de achtergrond uitgevoerd en interpreteert de scripts die u maakt (meestal in een programma zoals Notepad).
- Uw Philips Hue Bridge IP-adres: U moet het IP-adres van uw bridge invoeren in het script om het te laten werken. We zullen u helpen om deze informatie hieronder te vinden.
- Een Philips Hue Developer API-gebruikersnaam: Het script dat we gebruiken maakt ook gebruik van de ontwikkelaar API. Als u hiervan gebruik wilt maken, moet u een account hebben en weet u uw ontwikkelaar API-gebruikersnaam. Nogmaals, we laten u zien hoe u een account kunt krijgen en hieronder uw ID kunt vinden.
- Het AutoHotkey-script: In het volgende grote gedeelte hieronder hebben we het script waarop we deze handleiding baseren. Reddit user tarrosion heeft een sjabloon gemaakt waar we ons hier op baseren als je een beetje dieper wilt duiken. We hebben dit script echter aangepast om het te vereenvoudigen. Kopieer het script uit de onderstaande sectie, plak het in een leeg Kladblok-document en sla het op met een naam zoals
hueshortcut.ahk
.
Als u het IP-adres en de API-gebruikersnaam van uw bridge al weet, kunt u doorgaan.
Hoe u uw Bridge IP-adres kunt vinden
Het IP-adres van uw bridge is relatief eenvoudig te vinden. Ga naar deze link en log in op uw Philips Hue-account.
Klik bovenaan de pagina op Bridge.
Klik op de knop 'Meer bridge-details weergeven'.
Noteer uw interne IP-adres. Je hebt het later nodig.
Wacht hier even op voor het volgende gedeelte.
Hoe een Hue Developer API-account te krijgen
Als u nog geen Hue-ontwikkelaarsaccount heeft of als u uw API-gebruikersnaam bent vergeten, moet u er nu een downloaden. Dit onderdeel is een beetje ingewikkelder, maar als je het prettig vindt om een paar tekstcommando's te gebruiken, zou het eenvoudig moeten zijn. Begin door hier naartoe te gaan en een nieuw ontwikkelaarsaccount te maken met Hue.
U ontvangt een e-mail waarin u wordt gevraagd om uw account te bevestigen en een wachtwoord te maken. Zodra dat is gebeurd, gaat u naar de volgende URL, die wordt vervangen door het IP-adres dat u uit de vorige sectie hebt gehaald.
http: ///debug/clip.html
Hier zie je een tool waarmee je opdrachten handmatig naar je Hue-bridge kunt sturen. Als je niet alles op deze pagina begrijpt, is dat goed. U hoeft deze tool alleen te gebruiken om uw API-gebruikersnaam te krijgen. Om dat te doen, voert u in / Api /
in het vak URL. Typ onder Berichttekst "devicetype": "my_hue_app # iphone peter"
vervangen iphone peter
met welke descriptor je maar wilt, bij voorkeur eentje die het apparaat beschrijft waarop je het gebruikt.
Tik als je alle informatie hebt ingevoerd op de linkknop op je Hue-bridge. Dit is een beveiligingsstap om ervoor te zorgen dat alleen jij of iemand in je huis apps kan maken om je lichten te besturen. Nadat je op de linkknop op je bridge hebt gedrukt, klik je op POST.
In het vak Opdrachtantwoord moet u een resultaat zien dat er als volgt uitziet (minus de censuurwaas, natuurlijk). Je krijgt een lange, willekeurige gebruikersnaam. Kopieer dit ergens naar beneden en sla het op. Je hebt het later nodig voor het script.
Nu je die twee stukjes informatie hebt, ben je klaar om je script in te stellen!
Hoe het AutoHotkey-script in te stellen
Zoals ik eerder al zei, gebruiken we voor deze handleiding een aangepaste versie van dit script van redditor-tarrosion. We hebben het aangepast om snelkoppelingen toe te voegen, zodat je een groep lichten tegelijk kunt in- en uitschakelen in plaats van elk licht in je huis. Hier zijn de volgende sneltoetsen die u met dit script kunt gebruiken:
- Ctrl + Alt + L: Schakel al uw lichten in of uit.
- Ctrl + Alt + I: Schakel alle lichten uit.
- Ctrl + Alt + O: Schakel de huidige groep lampen in.
- Ctrl + Alt + I: Schakel de huidige groep lichten uit.
- Ctrl + Alt + 1: Schakel over naar groep 1.
- Ctrl + Alt + 2: Schakel over naar groep 2.
- Ctrl + Alt + Up: Verhoog de warmte van de huidige groep lampen (vereist kleur- of sfeerlampen).
- Ctrl + Alt + Down: Verlaag de warmte van de huidige groep lampen (vereist kleur- of sfeerlampen).
- Ctrl + Alt + Links: Verhoog de helderheid van de huidige groep lichten.
- Ctrl + Alt + Rechts: Verlaag de helderheid van de huidige groep lichten.
U kunt zoveel lichtgroepen maken of aanpassen als u nodig heeft. Voor dit voorbeeld heb ik twee groepen van elk twee lampen gemaakt: een voor een kantoor en een voor de woonkamer. U kunt de namen hiervan naar eigen inzicht wijzigen. Je moet misschien ook de waarden van elke groep veranderen, afhankelijk van hoeveel lichten je hebt.
Kopieer eerst het onderstaande script in een Kladblok-document en sla het op als "huelights.ahk". Zorg ervoor dat u de extensie .txt vervangt door .ahk. Zonder dit zal Notepad het opslaan als een .txt-bestand en AutoHotkey zal het niet kunnen uitvoeren.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 office: = [1,2] woonkamer: = [3,4] curgroup: = office
lightoff (light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": false WinHTTP.Send (bodytext) return lighton (light, 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", 0) bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifylightct (licht, hoeveelheid, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light . "/ state", 0) bodytext = "ct_inc":% amount%, "transitiontime": 2 WinHTTP.Send (bodytext) modifylightbrightness (light, amount, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "bri_inc":% amount%, "transitiontime": 2 WinHTTP.Send (bodytext); ctrl-alt -1: verander in groep 1 ^! 1 :: curgroup: = office return; ctrl-alt-2: verander in groep 2 ^! 2 :: curgroup: = livingroom return; ctr l-alt-o: groep lichten aanzetten op!! :: voor _, licht in curgroup lighton (licht, WinHTTP) terug; ctrl-alt-i: groep lichten uitschakelen ^! i :: voor _, licht in curgroup lightoff (light, WinHTTP) return; ctrl-alt-l: schakel alle lichten uit ^! l :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) if lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: alle lampjes uit ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP . Verstuur (bodytext) lightsOn: = 0 return; ctrl-alt-Up: verhoog de warmte van de huidige lichtgroep ^! Up :: for _, light in curgroup modifylightct (light, 43, WinHTTP) return; ctrl-alt-Down: verlaag de warmte van de huidige lichtgroep ^! Omlaag :: voor _, licht in curgroup modifylightct (licht, -43, WinHTTP) terug; ctrl-alt-Links: verhoog de helderheid van de lichtgroep ^! Links: voor _, licht in curgroup modifylightbrightness (light, -32, WinHTTP) return; ctrl-alt-Right: verlaag de helderheid van de lichtgroep ^! Rechts :: voor _, licht in curgroup modifylightbrightness (light, 32, WinHTTP) retourneer
Nu moet u een paar aanpassingen aanbrengen. Wijzig eerst elke instantie van het script in het script naar het IP-adres dat je eerder van je bridge hebt gekregen. Vervang vervolgens
met je Hue API-gebruikersnaam. Er moeten zeven voorbeelden van elk in het bovenstaande script zijn.
Vervolgens zie je een sectie bovenaan die de groepen definieert die je kunt besturen. Die sectie ziet er als volgt uit:
kantoor: = [1,2] woonkamer: = [3,4]
De eerste twee regels definiëren je lichtgroepen. Elke lamp krijgt een nummer toegewezen, maar het is niet altijd duidelijk met welk nummer elk licht overeenkomt. De gemakkelijkste manier om dit te controleren, is door je Hue-app te openen, op Instellingen te tikken en vervolgens op Lichtinstellingen te tikken.
Hier zie je een lijst met al je lichten. Tel ze allemaal op om erachter te komen welk aantal je lichten zijn. Bijvoorbeeld, de twee lichten in mijn kantoor staan bovenaan, dus ze zouden 1 en 2 zijn. Daaronder zijn mijn woonkamerverlichting, dus die moeten 3 en 4 zijn. Als je nieuwe lichten uit je opstelling hebt verwijderd en toegevoegd , deze getallen kunnen een beetje verschuiven, dus test je scripts en gebruik een klein beetje vallen en opstaan om er zeker van te zijn dat je de juiste lampjes gebruikt.
Zodra je de nummers hebt gevonden die overeenkomen met je lichten, verander ze dan in de twee bovenstaande regels. U kunt ook de naam van elk van de groepen wijzigen als u dat wilt. Zorg ervoor dat je verandert elk exemplaar van die groepsnaam in het script. Als u een derde groep (of meer) wilt toevoegen, maakt u een nieuwe regel onder de eerste twee met behulp van de volgende indeling, waarbij u X, Y vervangt door de nummers van de lichten die u aan die groep wilt toevoegen:
Kamer naam : = [X, Y]
U moet ook een andere snelkoppeling toevoegen om naar de derde groep te kunnen gaan. Selecteer het volgende tekstblok in het bovenstaande script en maak er een kopie van onder dit tekstblok, verander alle 2s in 3s en verander "woonkamer" (of welke naam u ook aan uw tweede groep hebt gegeven) aan de naam van de derde groep:
; ctrl-alt-2: verander in groep 2 ^! 2 :: curgroup: = woonkamer retour
Als u bekend bent met AutoHotkey, kunt u dit script nog meer aanpassen om nieuwe snelkoppelingen toe te voegen of uw lichten op verschillende manieren te bedienen. Bekijk de AutoHotkey-documentatie als u hulp nodig hebt. Je kunt hier ook de Philips Hue API bekijken voor meer opdrachten die je in je script kunt integreren.