1. Wprowadzenie
Czego się nauczysz
- Jak zaplanować i napisać zautomatyzowany skrypt.
- Jak przetestować automatyzację opartą na skrypcie.
Czego potrzebujesz
- Telefon z Androidem lub iOS z aplikacją Google Home.
- Inteligentne oświetlenie lub inne urządzenie z certyfikatem Współpracuje z Google Home, które można włączać i wyłączać.
2. Konfigurowanie urządzenia
Jeśli urządzenie nie jest jeszcze skonfigurowane, zrób to w domu.
Sprawdź, czy urządzenie jest widoczne w aplikacji Google Home i czy możesz je włączać i wyłączać za pomocą tej aplikacji.
3. Planowanie automatyzacji ze skryptami
Zacznijmy od zastanowienia się, co ma robić nasza automatyzacja oparta na skryptach. Należy wziąć pod uwagę takie kwestie jak:
- które urządzenia chcesz zautomatyzować;
- Jakie polecenie inicjujące (lub zdarzenie) powinno uruchamiać automatyzację skryptową.
- Jakie dodatkowe warunki, jeśli takie istnieją, decydują o tym, czy skrypt automatyzacji zostanie uruchomiony po aktywowaniu.
- Jakie działania mają zostać wykonane.
W tym ćwiczeniu automatyzacja skryptowa będzie wykonywać 2 czynności:
- włączać światło (lub inne inteligentne urządzenie) o określonej porze;
- Wyłączanie urządzenia o określonej godzinie.
Teraz, gdy już wiemy, co ma robić automatyzacja ze skryptem, otworzymy edytor skryptów i napiszemy skrypt automatyzacji.
4. Napisz automatyzację ze skryptem
Automatyzacje skryptowe są pisane w sposób deklaratywny przy użyciu języka serializacji danych YAML.
Automatyzacja oparta na skrypcie składa się z 2 głównych sekcji:
- Metadane – nazwa skryptu automatyzacji i opis jego działania.
- Reguły automatyzacji – określają logikę inicjowania i działanie automatyzacji.
Metadane
Metadane automatyzacji informują użytkownika o jej nazwie i działaniu. Metadane są określone w bloku metadata, który wygląda tak:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Reguły automatyzacji
Prawdziwa praca odbywa się w ramach reguły automatyzacji. Składa się z 3 części: poleceń inicjujących, warunków i działań, które są oceniane w kolejności:
1 Przystawki | 2 warunki | 3 działania |
Polecenia inicjujące to elementy, które uruchamiają automatyzację. Aby można było ocenić kolejne warunki, co najmniej 1 warunek początkowy musi mieć wartość | Są one opcjonalne i składają się z co najmniej 1 dodatkowego ograniczenia, które jest oceniane po aktywacji elementu początkowego. Jeśli warunki zostaną spełnione ( Jeśli uwzględniasz wiele ograniczeń, rozdziel je słowami kluczowymi Warunek to nie to samo co powiadomienie o zmianie stanu:
| Działania to operacje wykonywane po spełnieniu polecenia inicjującego i wszystkich warunków ograniczeń. |
Blok automations naszej automatyzacji zawiera 2 reguły:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
Pamiętaj:
- Obowiązują 2 zasady
automations. Pierwszy włącza światło, a drugi je wyłącza. - Każda reguła ma jedno działanie.
on: trueoznacza włącz światło. Podobnieon: falseoznacza wyłączenie światła.- Każda reguła ma 1
time.schedulepolecenie inicjujące, które informuje automatyzację, o której godzinie ma się ona rozpocząć. - Ta automatyzacja nie ma warunków.
5. Pełna automatyzacja ze skryptami
Łącząc wszystkie te elementy, otrzymujemy kompletny skrypt automatyzacji:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- Skopiuj automatyzację (powyżej).
- Otwórz przeglądarkową wersję Google Home.
- Wybierz kartę Automatyzacja, która jest oznaczona ikoną z 3 gwiazdkami:

- Kliknij + Dodaj nowy.
- W edytorze skryptów usuń szablon automatyzacji.
- Wklej automatyzację.
- Zastąp
Desk light - Officenazwą i lokalizacją urządzenia. - Kliknij Zweryfikuj. Edytor skryptów podkreśla fragmenty skryptu automatyzacji, które zawierają błędy. Rozwiąż wszystkie napotkane błędy i kontynuuj weryfikację oraz naprawianie, aż nie będzie już żadnych błędów. Na przykład nazwa urządzenia może być inna. W takim przypadku możesz użyć funkcji autouzupełniania, aby wybrać prawidłową nazwę urządzenia.
- Kliknij Zapisz.
- Sprawdź, czy przełącznik Aktywuj pod tekstem skryptu jest w pozycji włączonej:

6. Testowanie automatyzacji
- Sprawdź, czy urządzenie jest podłączone do zasilania i widoczne w aplikacji Google Home.
- Jeśli urządzenie jest włączone, wyłącz je.
- Na stronie Automatyzacje w przeglądarkowej wersji Google Home kliknij przycisk „Uruchom” obok automatyzacji.

- Urządzenie powinno się włączyć.
Teraz przetestujmy automatyzację.
- Wyłącz urządzenie.
- Edytuj automatyzację i zmień czas „włączenia urządzenia” w wierszu 7 na czas o 5 minut późniejszy.
- Zmień czas „wyłączenia urządzenia” w wierszu 14 na czas krótko po „włączeniu”.
- Kliknij Zweryfikuj. Popraw ewentualne błędy.
- Kliknij Zapisz.
- Upewnij się, że przełącznik Aktywuj jest w pozycji włączonej.
- Poczekaj, aż miną 2 godziny rozpoczęcia. Urządzenie powinno się włączyć i wyłączyć o określonych przez Ciebie porach.
7. Gratulacje!
Udało Ci się utworzyć automatyzację opartą na skrypcie. Świetnie!
Z tego modułu dowiedzieliśmy się, jak:
- Jak zaprojektować i napisać automatyzację.
- Jak przetestować automatyzację.
Dalsze kroki
W tym ćwiczeniu utworzyliśmy bardzo prostą automatyzację. Automatyzacje mogą robić znacznie więcej niż tylko włączać i wyłączać przełącznik zasilania. Teraz, gdy znasz już podstawy tworzenia automatyzacji, możesz zapoznać się z różnymi typami elementów początkowych, warunków i działań dostępnych w ekosystemie Google Home.
Wykonaj te ćwiczenia:
- Dodaj do automatyzacji więcej elementów uruchamiających
time.schedule. - Zmodyfikuj automatyzację, aby włączać i wyłączać inne urządzenie zgodnie z tym samym harmonogramem.
- Nie usuwając poleceń inicjujących
time.schedule, zmień automatyzację tak, aby urządzenia włączały się tylko wtedy, gdy włączone jest inne urządzenie. Zapoznaj się z przykładowymi skryptami, które używają klauzulicondition. - Zmodyfikuj automatyzację, aby włączała urządzenia tylko wtedy, gdy ktoś jest w domu.
Więcej informacji
Więcej informacji o automatyzacji w Google Home znajdziesz w dokumentacji referencyjnej dotyczącej automatyzacji: