Główna » jak » Jak kontrolować swoje światła Philips Hue za pomocą skrótów klawiaturowych

    Jak kontrolować swoje światła Philips Hue za pomocą skrótów klawiaturowych

    Możliwość włączania i wyłączania światła za pomocą głosu jest jedną z najlepszych rzeczy na temat posiadania inteligentnego domu. Jeśli jednak nie masz Amazon Echo ani Google Home, lub wolisz skróty klawiszowe, możesz użyć skryptu AutoHotkey do sterowania światłami Philips Hue z komputera.

    W tym przewodniku będziemy używać AutoHotkey, niesamowitego programu, który pozwala pisać niestandardowe skrypty automatyzacji, a nawet mapować klawisze na klawiaturze. Jeśli nie znasz funkcji AutoHotkey lub musisz pobrać ją na komputer z systemem Windows, zapoznaj się z naszym przewodnikiem dla początkujących tutaj.

    Co będziesz potrzebował

    Pokażemy Ci podstawowy skrypt, za pomocą którego możesz włączać i wyłączać światła (które możesz później dostosować). Zanim to zrobimy, będziesz potrzebować kilku rzeczy.

    • Maszyna Windows z zainstalowanym AutoHotkey: Jeśli jeszcze tego nie zrobiłeś, możesz pobrać AutoHotkey tutaj. Jest dostępny tylko na komputerach z systemem Windows, niestety. Aplikacja uruchomi się w tle i zinterpretuje utworzone skrypty (zazwyczaj w programie takim jak Notatnik).
    • Twój adres IP Philips Hue Bridge: Aby to zadziałało, musisz wprowadzić adres IP swojego mostu w skrypcie. Omówimy, jak znaleźć te informacje poniżej.
    • Nazwa użytkownika interfejsu API Philips Hue Developer: Skrypt, którego używamy, korzysta również z interfejsu API programisty. Aby z niego skorzystać, musisz mieć konto i znać nazwę użytkownika API programisty. Ponownie pokażemy Ci, jak zdobyć konto i znaleźć swój identyfikator poniżej.
    • Skrypt AutoHotkey: W następnej dużej sekcji poniżej otrzymamy skrypt, z którego opieramy ten przewodnik. Reddit, użytkownik, tarroja, utworzył szablon, który opieramy na naszym punkcie, jeśli chcesz zanurkować trochę głębiej. Jednak ulepszyliśmy ten skrypt, aby go uprościć. Skopiuj skrypt z poniższej sekcji, wklej go w pustym dokumencie Notatnika, a następnie zapisz go pod taką nazwą hueshortcut.ahk .

    Jeśli znasz już swój adres IP mostu i nazwę użytkownika API, możesz pominąć.

    Jak znaleźć swój adres IP mostu

    Twój adres IP mostu jest stosunkowo prosty do znalezienia. Wejdź na ten link i zaloguj się na swoje konto Philips Hue.

    W górnej części strony kliknij Bridge.

    Kliknij przycisk "Pokaż więcej szczegółów mostu".

    Zanotuj swój wewnętrzny adres IP. Będziesz go potrzebować później.

    Trzymaj się tego w następnej sekcji.

    Jak zdobyć konto API programisty odcień

    Jeśli nie masz jeszcze konta programisty Hue lub zapomniałeś nazwy użytkownika interfejsu API, musisz je teraz uzyskać. Ta część jest nieco bardziej skomplikowana, ale jeśli czujesz się komfortowo przy użyciu kilku poleceń tekstowych, powinna być prosta. Zacznij od pozycji tutaj i utworzenia nowego konta programisty w Hue.

    Otrzymasz wiadomość e-mail z prośbą o potwierdzenie konta i utworzenie hasła. Po zakończeniu przejdź do następującego adresu URL, zastępując adres IP pobrany z poprzedniej sekcji.

    http: ///debug/clip.html

    Tutaj zobaczysz narzędzie, które pozwala ręcznie wysyłać polecenia do twojego mostu Hue. Jeśli nie rozumiesz wszystkiego na tej stronie, wszystko w porządku. Trzeba tylko użyć tego narzędzia, aby uzyskać nazwę użytkownika API. Aby to zrobić, wprowadź / api / w polu adresu URL. W sekcji Treść wiadomości wprowadź "devicetype": "my_hue_app # iphone peter"  zastępowanie iphone peter z dowolnym deskryptorem, najlepiej takim, który opisuje urządzenie, na którym go używasz.

    Po wprowadzeniu wszystkich informacji naciśnij przycisk łącza na swoim moście Hue. Jest to krok bezpieczeństwa, aby upewnić się, że tylko Ty lub ktoś z twojego domu może tworzyć aplikacje do sterowania oświetleniem. Po naciśnięciu przycisku łącza na moście kliknij POST.

    W polu Odpowiedź na komendę powinieneś zobaczyć wynik podobny do poniższego (bez naturalnej rozmazania cenzury). Otrzymasz długą, losową nazwę użytkownika. Skopiuj to gdzieś i zapisz. Będziesz go potrzebować do późniejszego skryptu.

    Teraz, gdy masz już te dwie informacje, jesteś gotowy do skonfigurowania swojego skryptu!

    Jak skonfigurować skrypt AutoHotkey Script

    Jak wspomniałem wcześniej, w tym przewodniku używamy zmodyfikowanej wersji tego skryptu z redditor tarro. Zmieniliśmy go, dodając skróty, dzięki czemu możesz włączyć lub wyłączyć grupę świateł zamiast każdego światła w domu. Oto następujące skróty klawiszowe, których będziesz mógł użyć w tym skrypcie:

    • Ctrl + Alt + L: Włącz lub wyłącz wszystkie światła.
    • Ctrl + Alt + I: Wyłącz wszystkie światła.
    • Ctrl + Alt + O: Włącz obecną grupę świateł.
    • Ctrl + Alt + I: Wyłącz bieżącą grupę świateł.
    • Ctrl + Alt + 1: Przejdź do grupy 1.
    • Ctrl + Alt + 2: Przejdź do grupy 2.
    • Ctrl + Alt + Up: Zwiększ ciepło obecnej grupy lamp (wymaga żarówek kolorowych lub ambiance).
    • Ctrl + Alt + Dół: Zmniejszenie ciepła obecnej grupy lamp (wymaga żarówek kolorowych lub ambiance).
    • Ctrl + Alt + Left: Zwiększ jasność aktualnej grupy świateł.
    • Ctrl + Alt + prawo: Zmniejsz jasność aktualnej grupy świateł.

    Możesz tworzyć lub modyfikować tyle grup świateł, ile potrzebujesz. W tym przykładzie utworzyłem dwie grupy po dwa światła: jeden dla biura i jeden dla salonu. Możesz zmienić nazwy tych, które uznasz za stosowne. Konieczna może być również zmiana wartości każdej grupy w zależności od tego, ile masz świateł.

    Najpierw skopiuj poniższy skrypt do dokumentu Notatnika i zapisz go jako coś takiego jak "huelights.ahk", pamiętając o zastąpieniu rozszerzenia .txt przez .ahk. Bez tego Notatnik zapisze go jako plik .txt, a AutoHotkey nie będzie mógł go uruchomić.

    WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 biuro: = [1,2] salon: = [3,4] curgroup: = biuro lightoff (light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // światła /". 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 (light, amount, 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: zmień na grupę 1 ^! 1 :: curgroup: = powróć do biura; ctrl-alt-2: zmień na grupę 2 ^! 2 :: curgroup: = powrót do pokoju gościnnego; ctr l-alt-o: włącza światełka grupowe na ^! o :: dla _, światło w świetle grupowym lighton (światło, WinHTTP) powrót; ctrl-alt-i: wyłącza światła grupowe ^! i :: dla _, światło w curgroup lightoff (światło, WinHTTP) powrót; ctrl-alt-l: przełącz wszystkie światła ^! l :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) jeśli lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: wszystkie światła wyłączone ^! k :: WinHTTP.Open ("PUT", "http: /// api // groups / 0 / action", 0) bodytext = "on": false WinHTTP .Send (bodytext) lightsOn: = 0 return; ctrl-alt-Up: zwiększenie ciepła aktualnej grupy światła ^! W górę :: dla _, światło w grupie modifylightct (światło, 43, WinHTTP) powrót; ctrl-alt-Down: Zmniejszenie ciepła aktualnej grupy światła ^! Dół :: dla _, światło w zamian modifylight (światło, -43, WinHTTP) powrót, ctrl-alt-Left: zwiększenie jasności grupy światła ^! Left :: for _, light in curgroup modifylightszybkość (światło, -32, WinHTTP) powrót; ctrl-alt-Right: zmniejszenie jasności grupy świetlnej ^! Prawe :: dla _, światło w curgroup modifylightbrightness (światło, 32, WinHTTP) powrót

    Teraz musisz wprowadzić kilka poprawek. Po pierwsze, w skrypcie zmień wszystkie wystąpienia na adres IP, który otrzymałeś wcześniej ze swojego mostu. Następnie wymień z nazwą użytkownika interfejsu API Hue. W powyższym skrypcie powinno być siedem wystąpień każdego z nich.

    Następnie zobaczysz sekcję u góry, która definiuje grupy, które możesz kontrolować. Ta sekcja wygląda następująco:

    biuro: = [1,2] salon: = [3,4]

    Pierwsze dwie linie definiują grupy świateł. Każda żarówka ma przypisany numer, choć nie zawsze wiadomo, do której liczby odpowiada każde z twoich świateł. Najprostszym sposobem sprawdzenia jest otwarcie aplikacji Hue i dotknięcie opcji Ustawienia, a następnie dotknij opcji Ustawienia światła.

     

    Tutaj zobaczysz listę wszystkich twoich świateł. Policz każdy z nich, aby dowiedzieć się, jaki numer mają twoje światła. Na przykład dwa światła w moim biurze znajdują się na górze, więc będą to 1 i 2. Poniżej moje światła w salonie, więc powinny to być 3 i 4. Jeśli usunąłeś i dodano nowe światła z konfiguracji Te liczby mogą nieco się przesunąć, przetestuj więc swoje skrypty i wykorzystaj małą próbę i błąd, aby upewnić się, że używasz właściwych świateł.

    Po znalezieniu liczb odpowiadających twoim światłom, zmień je w dwóch liniach powyżej. Możesz także zmienić nazwę każdej grupy, jeśli chcesz. Tylko pamiętaj, aby zmienić każde wystąpienie tej nazwy grupy w skrypcie. Jeśli chcesz dodać trzecią grupę (lub więcej), utwórz nową linię poniżej dwóch pierwszych, używając następującego formatu, zastępując X, Y liczbami świateł, które chcesz dodać do tej grupy:

    Nazwa pokoju : = [X, Y]

    Będziesz także musiał dodać inny skrót, aby móc przejść do trzeciej grupy. Wybierz poniższy blok tekstu w powyższym skrypcie i utwórz jego kopię poniżej tego bloku tekstu, zmieniając wszystkie 2s na 3s i zmieniając "livingroom" (lub dowolne inne nazwisko, które nadałeś swojej drugiej grupie) na nazwę trzeciej grupy:

    ; ctrl-alt-2: zmiana na grupę 2 ^! 2 :: curgroup: = powrót do pokoju gościnnego

    Jeśli znasz już AutoHotkey, możesz ulepszyć ten skrypt jeszcze bardziej, aby dodać nowe skróty lub kontrolować światła na różne sposoby. Zapoznaj się z dokumentacją AutoHotkey, jeśli potrzebujesz pomocy. Możesz również zapoznać się z interfejsem API Philips Hue, aby uzyskać więcej poleceń, które możesz zintegrować ze swoim skryptem.