1. Wprowadzenie
Czego się nauczysz
- Jak zaprojektować i napisać szablon automatyzacji
- Jak przetestować szablon automatyzacji za pomocą Konsoli programisty Google Home.
Czego potrzebujesz
- Telefon z Androidem lub iOS z aplikacją Google Home.
- Może to być inteligentne oświetlenie, które zostało dodane do Twojego domu, lub symulowane urządzenie w Google Home Playground.
Wymagania wstępne
Musisz wiedzieć, jak napisać automatykę domową Google Home. Jeśli nigdy nie tworzyłeś(-aś) automatyzacji, przed rozpoczęciem tego samouczka zapoznaj się z samouczkiem Tworzenie automatyzacji za pomocą skryptu.
2. Szablony i instancje automatyzacji
Programiści tworzą szablony automatyzacji za pomocą edytora szablonów automatyzacji w Konsoli programisty Google Home. Szablony automatyzacji zawierają istotę logiki skryptu, odwołując się do typów urządzeń, ale nie do konkretnych urządzeń.
Korzystając z edytora skryptów automatyzacji w przeglądarkowej wersji Google Home, użytkownicy końcowi mogą wziąć szablon automatyzacji i utworzyć spersonalizowaną instancję, która będzie działać na konkretnych urządzeniach w ich domu. Po zapisaniu instancja pojawi się w sekcji Rutyny domowe w aplikacji Google Home (GHA).
3. Planowanie szablonu automatyzacji
Tworzenie automatyzacji zaczyna się od zastanowienia się nad problemem, który chcesz rozwiązać, i nad tym, co automatyzacja zrobi, aby go rozwiązać. Obejmuje to takie kwestie jak:
- które urządzenia chcesz zautomatyzować;
- Jakie polecenie inicjujące (lub zdarzenie) powinno wywołać wykonanie automatyzacji.
- Jakie dodatkowe warunki, jeśli takie istnieją, decydują o tym, czy automatyzacja zostanie uruchomiona po aktywowaniu.
- Jakie działania mają zostać wykonane.
W tym ćwiczeniu automatyzacja będzie wykonywać 2 czynności:
- włączać światło o określonej godzinie;
- wyłączyć to samo światło o określonej godzinie;
W tym momencie możesz otworzyć edytor szablonów i napisać automatyzację.
4. Tworzenie szablonu automatyzacji
Automatyzacje są pisane w sposób deklaratywny przy użyciu języka serializacji danych YAML.
Szablon automatyzacji składa się z 3 głównych sekcji:
- Metadane – nazwa automatyzacji, opis jej działania i opcjonalnie tagi używane do klasyfikowania automatyzacji. Słowa kluczowe to:
- OŚWIETLENIE I GNIAZDKA
- KLIMAT I ENERGIA
- BEZPIECZEŃSTWO I MONITOROWANIE STANU
- ROZRYWKA
- URZĄDZENIA I INNE
- Wejście – określa, jakimi urządzeniami ma sterować automatyzacja. Silnik automatyzacji wykorzystuje te informacje, aby wiedzieć, jakie rodzaje działań są prawidłowe w przypadku docelowych urządzeń.
- Reguły automatyzacji – określają logikę inicjowania i działanie automatyzacji.
Oto szablon automatyzacji, z którego 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
Zapoznaj się z szablonem i zwróć uwagę na te kwestie:
- Sekcja
metadatazawiera nazwę i opis tej automatyzacji. - Sekcja
inputdefiniuje 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ń. Innymi słowy, gdy użytkownik konfigurujący automatyzację w swoim domu zostanie poproszony o wybranie urządzenia dla$the_light, będzie mógł wybrać tylko urządzenia określonego przez Ciebie typu. - W sekcji
inputzdefiniowano też 2 zmienne o nazwachtime_onitime_off. Umożliwiają one użytkownikowi określenie, kiedy mają się rozpocząć automatyzacje.time_onto czas włączenia światła, atime_offto czas wyłączenia światła. Jeśli użytkownik nie ustawi wartościtime_onlubtime_off, używane są wartości domyślne. - Sekcja
automationsnaszej automatyzacji zawiera 2 reguły automatyzacji. Każda reguła ma 1time.schedulepolecenie inicjujące, które informuje automatyzację, o której godzinie ma się ona rozpocząć.
Edytor szablonów
Edytor szablonów automatyzacji to narzędzie, którego używasz do pisania szablonów automatyzacji.
- Otwórz Konsolę programisty Google Home.
- Zaloguj się na to samo konto, na którym skonfigurowano urządzenie w aplikacji Google Home.
- Utwórz nowy projekt lub wybierz już utworzony.
- W sekcji Automatyzacja kliknij Tworzenie.
- Kliknij Utwórz szablon.
- Skopiuj szablon automatyzacji „Zaplanowane oświetlenie”.
- Wklej szablon automatyzacji „Zaplanowane oświetlenie” do edytora szablonów.
- Kliknij Zweryfikuj. Usuń wszystkie błędy, które mogą się pojawić, i kontynuuj weryfikację oraz naprawianie, dopóki nie będzie już żadnych błędów.
- Kliknij Zapisz, aby zapisać szablon.
5. Testowanie szablonu
Teraz możesz przetestować szablon w konsoli.
- Sprawdź, czy lampa jest podłączona i widoczna w aplikacji Google Home.
- Jeśli lampka jest włączona, wyłącz ją.
- Otwórz Konsolę programisty Google Home.
- Otwórz projekt, w którym utworzono szablon.
- Kliknij Automatyzacja, a następnie wybierz kartę Test.
- Kliknij Otwórz obok szablonu automatyzacji „Zaplanowane oświetlenie”.
- Wybierz strukturę, w której chcesz przetestować szablon, a potem kliknij Dalej.
- W edytorze InputValue (Wartość wejściowa) wpisz nazwę światła. Jeśli na przykład Twoja lampa nazywa się „Lampa na biurko – biuro”, w menu, które pojawi się po kliknięciu po prawej stronie ikony
lights, wybierzDesk light - Office. Możesz też wpisać nazwę urządzenia. - W edytorze InputValue określ też czas
time_on, np. 5 minut w przyszłości, i zmień czastime_offna 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.
- Poczekaj, aż miną 2 godziny rozpoczęcia. Światło powinno się włączać i wyłączać o określonych godzinach.
Gdy testowanie szablonu zakończy się pomyślnie, będziesz mieć pewność, że automatyzacja działa prawidłowo.
6. Gratulacje!
Udało Ci się utworzyć szablon automatyzacji. Świetnie!
Z tego modułu dowiedzieliśmy się, jak:
- Jak zaprojektować i napisać szablon automatyzacji
- Jak przetestować je w konsoli programisty Google Home.
Dalsze kroki
W tym laboratorium utworzyliśmy bardzo prostą automatyzację. Automatyzacje mogą robić znacznie więcej niż tylko włączać i wyłączać światło. Teraz, gdy znasz już podstawy tworzenia i testowania szablonu automatyzacji, możesz spróbować utworzyć szablony automatyzacji dla innych typów urządzeń, używając różnych elementów początkowych, warunków i działań.
Więcej informacji
Więcej informacji o automatyzacji w Google Home znajdziesz w dokumentacji referencyjnej dotyczącej automatyzacji: