Tworzenie szablonu automatyzacji

Informacje o tym ćwiczeniu (w Codelabs)
schedule34 minuty
subjectOstatnia aktualizacja: 26 września 2023
account_circleAutorzy: Jonathan Donald and Andres Gomez
  • Jak zaprojektować i napisać szablon automatyzacji.
  • Jak przetestować szablon automatyzacji w konsoli programisty Google Home.
  • Telefon z Androidem lub iOS z zainstalowaną aplikacją Google Home.
  • Może to być inteligentne oświetlenie przymocowane do Twojego domu lub symulowane urządzenie w Google Home Playground.

Musisz wiedzieć, jak stworzyć automatyzację Google Home. Jeśli nie tworzysz jeszcze automatyzacji, najpierw wykonaj ćwiczenie z programowania dotyczące tworzenia automatyzacji opartej na skryptach.

Deweloperzy tworzą szablony automatyzacji za pomocą edytora szablonów automatyzacji w konsoli programisty Google Home. Szablony automatyzacji zawierają istotę logiki skryptu, odnosząc się do typów urządzeń, ale nie do konkretnych urządzeń.

Korzystając z edytora skryptów automatyzacji w Google Home w przeglądarce, użytkownicy przygotowują szablon automatyzacji i tworzą spersonalizowaną instancję, która będzie działać na określonych urządzeniach w ich domu. Po zapisaniu instancja pojawi się w sekcji Rutyny domowe w aplikacji Google Home (GHA).

3. Planowanie szablonu automatyzacji

Tworząc automatyzację, należy zacząć od zastanowienia się nad problemem, który próbuje rozwiązać, oraz tego, w jaki sposób automatyzacja pomoże go rozwiązać. Są to między innymi:

  • Urządzenia, które chcesz zautomatyzować.
  • Zdarzenie inicjujące (lub zdarzenie) powinno aktywować wykonanie automatyzacji.
  • Dodatkowe warunki decydują o tym, czy po aktywowaniu automatyzacji będzie ona uruchamiana.
  • Czynności do wykonania.

Na potrzeby tego ćwiczenia z programowania automatyzacja wykonuje 2 czynności:

  1. Włącz światło o określonej godzinie.
  2. Wyłącz to samo światło o określonej godzinie.

Mając to na uwadze, możesz otworzyć edytor szablonów i wpisać automatyzację.

4. Tworzenie szablonu automatyzacji

Automatyzacje są napisane w sposób deklaratywny przy użyciu języka serializacji danych YAML.

Szablon automatyzacji ma 3 główne sekcje:

  1. Metadane – nazwa automatyzacji, opis jej działania i opcjonalnie niektóre tagi używane do klasyfikowania automatyzacji. Słowa kluczowe to:
    • OŚWIETLENIE I WTYCZKI
    • KLIMAT I ENERGIA
    • BEZPIECZEŃSTWO I ŚWIADOMOŚĆ
    • ROZRYWKA
    • APLIKACJE I INNE
  2. Dane wejściowe – określa rodzaj urządzeń, którymi ma być sterowana automatyzacja. Mechanizm automatyzacji wykorzystuje te informacje, aby określić, jakie działania są prawidłowe na danych urządzeniach.
  3. Reguły automatyzacji – definiuje logikę inicjowania i działanie automatyzacji.

Oto szablon automatyzacji, z którym 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

Przeczytaj szablon i pamiętaj o tych kwestiach:

  • Sekcja metadata zawiera nazwę i opis tej automatyzacji.
  • Sekcja input definiuje zmienną o nazwie the_light, która określa urządzenie typu LIGHT. Oznacza to, że tego szablonu można używać tylko w przypadku oświetlenia, a nie innych typów urządzeń. Oznacza to, że gdy użytkownik konfigurujący automatyzację w domu zobaczy prośbę o wybranie urządzenia, którego będzie używać $the_light, wybór urządzenia będzie ograniczony do urządzeń określonego przez Ciebie typu.
  • W sekcji input zdefiniowano również 2 zmienne o nazwach time_on i time_off. Dzięki nim użytkownik może określić, kiedy ma uruchamiać automatyzację. time_on oznacza czas włączenia światła, a time_off – czas jego wyłączenia. Jeśli użytkownik nie ustawi wartości time_on lub time_off, zostaną użyte wartości domyślne.
  • Sekcja automations naszej automatyzacji zawiera 2 reguły automatyzacji. Każda reguła ma 1 polecenie inicjujące time.schedule, które informuje automatyzację, o której godzinie ma ją zainicjować.

Edytor szablonów

Edytor szablonów automatyzacji to narzędzie służące do pisania szablonów automatyzacji.

  1. Otwórz konsolę programisty Google Home.
  2. Zaloguj się na konto skonfigurowane na urządzeniu w aplikacji Google Home.
  3. Utwórz lub wybierz istniejący projekt.
  4. W sekcji Automatyzacja kliknij Programuj.
  5. Kliknij Utwórz szablon.
  6. Skopiuj „Zaplanowane oświetlenie” szablon automatyzacji.
  7. Wklej „Zaplanowane oświetlenie”. i szablonu automatyzacji.
  8. Kliknij Zweryfikuj. Wyeliminuj wszystkie ewentualne błędy, a potem sprawdzaj je i poprawiaj, dopóki nie zostaną zgłoszone żadne błędy.
  9. Kliknij Zapisz, aby zapisać szablon.

5. Testowanie szablonu

Teraz możesz przetestować szablon w konsoli.

  1. Sprawdź, czy żarówka jest podłączona do zasilania i widoczna w aplikacji Google Home.
  2. Jeśli dioda jest włączona, wyłącz ją.
  3. Otwórz konsolę programisty Google Home.
  4. Otwórz projekt, w którym został utworzony Twój szablon.
  5. Kliknij kolejno Automatyzacje i kartę Testowanie.
  6. Kliknij Otwórz obok opcji „Zaplanowane oświetlenie”. szablon automatyzacji.
  7. Wybierz strukturę, w której chcesz przetestować szablon, a potem kliknij Dalej.
  8. W edytorze InputValue podaj nazwę lampy. Jeśli na przykład nazwa Twojego oświetlenia to „Światło biurkowe – Biuro”, wybierz Desk light - Office z menu, które wyświetli się po kliknięciu przycisku lights po prawej stronie. Możesz też wpisać nazwę urządzenia.
  9. Także w edytorze InputValue (Wartość wejściowa) określ czas time_on, np. pięć minut w przyszłości, i zmień czas time_off na czas krótko po time_on.
  10. 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
    
  11. Kliknij Aktywuj test.
  12. Zaczekaj, aż minie 2 czasy inicjujące. Światło powinno zapalić się i zgasić o określonych porach.

Po pomyślnym przetestowaniu szablonu będziesz wiedzieć, że automatyzacja działa prawidłowo.

6. Gratulacje!

Udało Ci się utworzyć szablon automatyzacji. Świetnie!

Dzięki temu ćwiczeniu w programie omówiliśmy, jak:

  • Jak zaprojektować i napisać szablon automatyzacji.
  • Jak przetestować tę funkcję w konsoli programisty Google Home

Dalsze kroki

Dzięki temu ćwiczeniu w programowaniu udało Ci się stworzyć bardzo prostą automatyzację. Automatyzacja może zrobić coś więcej niż tylko planowanie włączania oświetlenia. Po zapoznaniu się z podstawami tworzenia i testowania szablonu automatyzacji możesz spróbować tworzyć szablony automatyzacji na urządzeniach innego typu, korzystając z różnych poleceń inicjujących, warunków i działań.

Więcej informacji

Więcej informacji o automatyzacji Google Home znajdziesz w dokumentacji dotyczącej automatyzacji: