Tworzenie automatyzacji opartej na scenariuszu

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:

  1. włączać światło (lub inne inteligentne urządzenie) o określonej porze;
  2. 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:

  1. Metadane – nazwa skryptu automatyzacji i opis jego działania.
  2. 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ówdział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ść true.

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 (true), zostaną wykonane działania. Jeśli warunki mają wartość false, działania nie zostaną uruchomione.

Jeśli uwzględniasz wiele ograniczeń, rozdziel je słowami kluczowymi andor, aby utworzyć jedno wyrażenie logiczne. Aby działania automatyzacji mogły zostać wykonane, to wyrażenie musi mieć wartość true.

Warunek to nie to samo co powiadomienie o zmianie stanu:

  • Warunek to fakt, który musi być prawdziwy w momencie „uruchomienia” polecenia inicjującego, aby można było wykonać działania.
  • Powiadomienie o zmianie stanu to zdarzenie, np. włączenie innego urządzenia.

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:

  1. Obowiązują 2 zasady automations. Pierwszy włącza światło, a drugi je wyłącza.
  2. Każda reguła ma jedno działanie.
  3. on: true oznacza włącz światło. Podobnie on: false oznacza wyłączenie światła.
  4. Każda reguła ma 1 time.schedulepolecenie inicjujące, które informuje automatyzację, o której godzinie ma się ona rozpocząć.
  5. 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
  1. Skopiuj automatyzację (powyżej).
  2. Otwórz przeglądarkową wersję Google Home.
  3. Wybierz kartę Automatyzacja, która jest oznaczona ikoną z 3 gwiazdkami:
    Karta Automatyzacje
  4. Kliknij + Dodaj nowy.
  5. W edytorze skryptów usuń szablon automatyzacji.
  6. Wklej automatyzację.
  7. Zastąp Desk light - Office nazwą i lokalizacją urządzenia.
  8. 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.
  9. Kliknij Zapisz.
  10. Sprawdź, czy przełącznik Aktywuj pod tekstem skryptu jest w pozycji włączonej: Edytor skryptów z w pełni zweryfikowaną i aktywną automatyzacją opartą na skryptach

6. Testowanie automatyzacji

  1. Sprawdź, czy urządzenie jest podłączone do zasilania i widoczne w aplikacji Google Home.
  2. Jeśli urządzenie jest włączone, wyłącz je.
  3. Na stronie Automatyzacjeprzeglądarkowej wersji Google Home kliknij przycisk „Uruchom” obok automatyzacji.
    Przycisk uruchamiania skryptu
  4. Urządzenie powinno się włączyć.

Teraz przetestujmy automatyzację.

  1. Wyłącz urządzenie.
  2. Edytuj automatyzację i zmień czas „włączenia urządzenia” w wierszu 7 na czas o 5 minut późniejszy.
  3. Zmień czas „wyłączenia urządzenia” w wierszu 14 na czas krótko po „włączeniu”.
  4. Kliknij Zweryfikuj. Popraw ewentualne błędy.
  5. Kliknij Zapisz.
  6. Upewnij się, że przełącznik Aktywuj jest w pozycji włączonej.
  7. 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ą klauzuli condition.
  • 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: