1. Wprowadzenie
Czego się nauczysz
- Jak zaprojektować i napisać szablon automatyzacji.
- Jak przetestować szablon automatyzacji w konsoli programisty Google Home.
Czego potrzebujesz
- Telefon z Androidem lub iOS z zainstalowaną aplikacją Google Home.
- Może to być inteligentne oświetlenie przymocowane do Twojego domu lub symulowane urządzenie w Google Home Playground.
Wymagania wstępne
Musisz wiedzieć, jak stworzyć automatyzację Google Home. Jeśli nie tworzysz jeszcze automatyzacji, najpierw wykonaj ćwiczenie z programowania dotyczące tworzenia automatyzacji opartej na skryptach.
2. Szablony i instancje automatyzacji
Deweloperzy tworzą szablony automatyzacji za pomocą edytora szablonów automatyzacji w konsoli programisty Google Home. Szablony automatyzacji zawierają istotę logiki skryptu, odnosząc się do typów urządzeń, ale nie do konkretnych urządzeń.
Korzystając z edytora skryptów automatyzacji w Google Home w przeglądarce, użytkownicy przygotowują szablon automatyzacji i tworzą spersonalizowaną instancję, która będzie działać na określonych urządzeniach w ich domu. Po zapisaniu instancja pojawi się w sekcji Rutyny domowe w aplikacji Google Home (GHA).
3. Planowanie szablonu automatyzacji
Tworząc automatyzację, należy zacząć od zastanowienia się nad problemem, który próbuje rozwiązać, oraz tego, w jaki sposób automatyzacja pomoże go rozwiązać. Są to między innymi:
- Urządzenia, które chcesz zautomatyzować.
- Zdarzenie inicjujące (lub zdarzenie) powinno aktywować wykonanie automatyzacji.
- Dodatkowe warunki decydują o tym, czy po aktywowaniu automatyzacji będzie ona uruchamiana.
- Czynności do wykonania.
Na potrzeby tego ćwiczenia z programowania automatyzacja wykonuje 2 czynności:
- Włącz światło o określonej godzinie.
- Wyłącz to samo światło o określonej godzinie.
Mając to na uwadze, możesz otworzyć edytor szablonów i wpisać automatyzację.
4. Tworzenie szablonu automatyzacji
Automatyzacje są napisane w sposób deklaratywny przy użyciu języka serializacji danych YAML.
Szablon automatyzacji ma 3 główne sekcje:
- Metadane – nazwa automatyzacji, opis jej działania i opcjonalnie niektóre tagi używane do klasyfikowania automatyzacji. Słowa kluczowe to:
- OŚWIETLENIE I WTYCZKI
- KLIMAT I ENERGIA
- BEZPIECZEŃSTWO I ŚWIADOMOŚĆ
- ROZRYWKA
- APLIKACJE I INNE
- Dane wejściowe – określa rodzaj urządzeń, którymi ma być sterowana automatyzacja. Mechanizm automatyzacji wykorzystuje te informacje, aby określić, jakie działania są prawidłowe na danych urządzeniach.
- Reguły automatyzacji – definiuje logikę inicjowania i działanie automatyzacji.
Oto szablon automatyzacji, z którym będziesz korzystać:
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
Przeczytaj szablon i pamiętaj o tych kwestiach:
- Sekcja
metadata
zawiera nazwę i opis tej automatyzacji. - Sekcja
input
definiuje zmienną o nazwiethe_light
, która określa urządzenie typuLIGHT
. Oznacza to, że tego szablonu można używać tylko w przypadku oświetlenia, a nie innych typów urządzeń. Oznacza to, że gdy użytkownik konfigurujący automatyzację w domu zobaczy prośbę o wybranie urządzenia, którego będzie używać$the_light
, wybór urządzenia będzie ograniczony do urządzeń określonego przez Ciebie typu. - W sekcji
input
zdefiniowano również 2 zmienne o nazwachtime_on
itime_off
. Dzięki nim użytkownik może określić, kiedy ma uruchamiać automatyzację.time_on
oznacza czas włączenia światła, atime_off
– czas jego wyłączenia. Jeśli użytkownik nie ustawi wartościtime_on
lubtime_off
, zostaną użyte wartości domyślne. - Sekcja
automations
naszej automatyzacji zawiera 2 reguły automatyzacji. Każda reguła ma 1 polecenie inicjującetime.schedule
, które informuje automatyzację, o której godzinie ma ją zainicjować.
Edytor szablonów
Edytor szablonów automatyzacji to narzędzie służące do pisania szablonów automatyzacji.
- Otwórz konsolę programisty Google Home.
- Zaloguj się na konto skonfigurowane na urządzeniu w aplikacji Google Home.
- Utwórz lub wybierz istniejący projekt.
- W sekcji Automatyzacja kliknij Programuj.
- Kliknij Utwórz szablon.
- Skopiuj „Zaplanowane oświetlenie” szablon automatyzacji.
- Wklej „Zaplanowane oświetlenie”. i szablonu automatyzacji.
- Kliknij Zweryfikuj. Wyeliminuj wszystkie ewentualne błędy, a potem sprawdzaj je i poprawiaj, dopóki nie zostaną zgłoszone żadne błędy.
- Kliknij Zapisz, aby zapisać szablon.
5. Testowanie szablonu
Teraz możesz przetestować szablon w konsoli.
- Sprawdź, czy żarówka jest podłączona do zasilania i widoczna w aplikacji Google Home.
- Jeśli dioda jest włączona, wyłącz ją.
- Otwórz konsolę programisty Google Home.
- Otwórz projekt, w którym został utworzony Twój szablon.
- Kliknij kolejno Automatyzacje i kartę Testowanie.
- Kliknij Otwórz obok opcji „Zaplanowane oświetlenie”. szablon automatyzacji.
- Wybierz strukturę, w której chcesz przetestować szablon, a potem kliknij Dalej.
- W edytorze InputValue podaj nazwę lampy. Jeśli na przykład nazwa Twojego oświetlenia to „Światło biurkowe – Biuro”, wybierz
Desk light - Office
z menu, które wyświetli się po kliknięciu przyciskulights
po prawej stronie. Możesz też wpisać nazwę urządzenia. - Także w edytorze InputValue (Wartość wejściowa) określ czas
time_on
, np. pięć minut w przyszłości, i zmień czastime_off
na czas krótko potime_on
. - Gdy skończysz, edytor InputValue powinien wyglądać mniej więcej tak:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am
- Kliknij Aktywuj test.
- Zaczekaj, aż minie 2 czasy inicjujące. Światło powinno zapalić się i zgasić o określonych porach.
Po pomyślnym przetestowaniu szablonu będziesz wiedzieć, że automatyzacja działa prawidłowo.
6. Gratulacje!
Udało Ci się utworzyć szablon automatyzacji. Świetnie!
Dzięki temu ćwiczeniu w programie omówiliśmy, jak:
- Jak zaprojektować i napisać szablon automatyzacji.
- Jak przetestować tę funkcję w konsoli programisty Google Home
Dalsze kroki
Dzięki temu ćwiczeniu w programowaniu udało Ci się stworzyć bardzo prostą automatyzację. Automatyzacja może zrobić coś więcej niż tylko planowanie włączania oświetlenia. Po zapoznaniu się z podstawami tworzenia i testowania szablonu automatyzacji możesz spróbować tworzyć szablony automatyzacji na urządzeniach innego typu, korzystając z różnych poleceń inicjujących, warunków i działań.
Więcej informacji
Więcej informacji o automatyzacji Google Home znajdziesz w dokumentacji dotyczącej automatyzacji: