Tworzenie automatyzacji opartej na scenariuszu

1. Wprowadzenie

Czego się nauczysz

  • Jak zaplanować i napisać automatyzację opartą na skrypcie.
  • 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 oparta na skryptach 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ć nasza automatyzacja oparta na skrypcie, 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 Starters

2 warunki

3 działania

Elementy uruchamiające inicjują 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 polecenia inicjującego. Jeśli warunki zostaną spełnione (true), zostaną wykonane działania. Jeśli warunki zostaną spełnionefalse, działania nie zostaną uruchomione.

Jeśli uwzględniasz wiele ograniczeń, rozdziel je słowami kluczowymi andor, aby utworzyć pojedyncze wyrażenie logiczne. Aby można było wykonać działania automatyzacji, to wyrażenie musi mieć wartość true.

Stan to nie to samo co powiadomienie o zmianie stanu:

  • Warunek to fakt, który musi być prawdziwy w momencie „uruchomienia” startera, 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 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. Istnieją 2 reguły 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 polecenie inicjujące time.schedule, 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 pełny 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. Kliknij 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 sekcje skryptu automatyzacji, które zawierają błędy. Napraw wszystkie błędy i kontynuuj weryfikację oraz poprawianie, 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 Automatyzacjaprzeglą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 „device off” w wierszu 14 na czas krótko po „on time”.
  4. Kliknij Zweryfikuj. Rozwiąż ewentualne problemy.
  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 laboratorium 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ć zasilanie. 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: