Zanim zaczniesz korzystać z interfejsu Automation API, zaprojektuj automatyzacje.
W przypadku każdej automatyzacji określ te parametry:
- okoliczności, w których automatyzacja powinna być sugerowana użytkownikowi; Jeśli np. użytkownik właśnie dodał do domu 3 nowe lampy, może być zainteresowany automatyzacją dostosowaną do sterowania tymi lampami.
- Które typy urządzeń są wymagane do automatyzacji. Jeśli na przykład użytkownik dodał do swojego domu 3 nowe światła, może być zainteresowany automatyzacją dostosowaną do sterowania światłem. Przykładowe typy urządzeń oświetleniowych to
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
lubExtendedColorLightDevice
. - Które atrybuty i polecenia cech są wymagane do automatyzacji oraz czy są obsługiwane przez interfejs Automation API.
- Cechy, które powinny aktywować automatyzację jako elementy uruchamiające. Elementy inicjujące są omawiane w artykule Komponenty automatyzacji.
- Dodatkowe warunki określające, czy automatyzacja powinna się faktycznie wykonać, oraz jakie działania mają zostać wykonane.
- Przebieg automatyzacji. Czy ma być wykonywany sekwencyjnie czy równolegle? Czy potrzebujesz wielu ścieżek logicznych?
Podczas projektowania warto na diagramie przedstawić przepływ automatyzacji krok po kroku, z logiczną kolejnością poszczególnych etapów.
Po zaprojektowaniu automatyzacji użyj języka Automation DSL, aby ją utworzyć. Utworzona przez Ciebie automatyzacja jest w podstawie „szablonem” – wszystkie struktury i urządzenia w niej to puste miejsca, które są wypełniane konkretnymi strukturami i urządzeniami każdego użytkownika, gdy „przyjmuje” on automatyzację do własnego użytku.
Poniżej znajdziesz różne rodzaje automatyzacji, które aplikacja może utworzyć za pomocą interfejsów API Home. Fragmenty kodu związane z tymi przykładami znajdziesz na stronie Tworzenie automatyzacji.
Prosta automatyzacja
Załóżmy, że musisz napisać aplikację, która tworzy automatyzację podnoszącą rolety o 8:00 rano. Aby to zrobić, aplikacja potrzebuje listy rolet (urządzeń o typie WindowCoveringDevice
) obecnych w strukturze, które obsługują automatyzacje. Listę tę można uzyskać za pomocą interfejsu Discovery API.
W przypadku automatyzacji, które muszą działać w określonym czasie, musisz też sprawdzić, czy użytkownik przypisał adres ulicy do wybranej struktury w Google Home app (GHA). W przeciwnym razie automatyzacja nie będzie wiedzieć, w jakiej strefie czasowej ma działać. Interfejs Discovery API może pomóc Ci ustalić, czy adres został przypisany do struktury.
Proces wykonania będzie wyglądał mniej więcej tak:
- Użyj interfejsu Discovery API, aby zebrać listę urządzeń
WindowCoveringDevice
. - Jeśli adres ulicy nie jest wypełniony, poinformuj użytkownika, że musi podać adres ulicy, i zatrzymaj wykonywanie.
- W przeciwnym razie zdefiniuj automatyzację:
- Rozpocznij automatyzację o 8:00 rano.
- W przypadku każdej żaluzji wywołaj polecenie
upOrOpen
atrybutuWindowCovering
.
Złożona automatyzacja
Wyobraź sobie aplikację, która tworzy automatyzację uruchamiającą migające światła po wykryciu ruchu.
Jednym z pierwszych zadań podczas implementacji tej aplikacji jest sprawdzenie, jakie światła są dostępne w domu użytkownika za pomocą interfejsu Discovery API. Dzięki tym informacjom aplikacja może wyświetlać dostępne światła i umożliwiać użytkownikowi wybranie, które z nich mają migać.
Przebieg wykonywania:
- Za pomocą interfejsu Discovery API ułóż listę urządzeń światła obecnych w strukturze. Będą to wszystkie urządzenia typu
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
lubExtendedColorLightDevice
. - Określ sposób wybierania migających świateł, np. za pomocą niestandardowego panelu ustawień.
- Zdefiniuj automatyzację:
- Uruchamiaj automatyzację za każdym razem, gdy ktoś opuszcza lub przybywa na teren obiektu, monitorując
AreaPresenceState
. - Jeśli
presenceState
wskazuje, że struktura jest zajęta, migaj wybrane światła.
- Uruchamiaj automatyzację za każdym razem, gdy ktoś opuszcza lub przybywa na teren obiektu, monitorując
Automatyzacja ogólna
Przykładem bardziej zaawansowanej automatyzacji jest automatyzacja, która prowadzi użytkownika przez proces tworzenia automatyzacji otwartej na podstawie wszystkich lub niektórych urządzeń w jego domu.
Automatyzacja może najpierw poprosić użytkownika o wybranie struktury.
Automatyzacja może wyświetlać wszystkie pomieszczenia w strukturze w rozwiniętym widoku zarysu, gdzie po rozwinięciu pokoju widoczne są znajdujące się w nim urządzenia. Po rozwinięciu listy urządzeń zobaczysz listę starterów i poleceń obsługiwanych przez to urządzenie.
Użytkownik mógłby wybrać urządzenia, startery i polecenia, których chce używać, a automatyzacja przeprowadziłaby go przez proces tworzenia automatyzacji.
Gdy wszystkie wybory i decyzje użytkownika zostaną ostatecznie zatwierdzone, automatyzacja wygeneruje automatyzację i zapisze ją w wybranej strukturze.
Ogólnie rzecz biorąc, taka automatyzacja wymaga zebrania kilku zbiorów danych o domu użytkownika za pomocą interfejsów Structure API, Device API i Discovery API.
Interfejs API | Informacje |
---|---|
Structure API |
|
Device API |
|
Discovery API |
|