Tworzenie szablonu automatyzacji

1. Wprowadzenie

Czego się nauczysz

  • Jak zaprojektować i napisać szablon automatyzacji
  • Jak przetestować szablon automatyzacji za pomocą Konsoli programisty Google Home.

Czego potrzebujesz

  • Telefon z Androidem lub iOS z aplikacją Google Home.
  • Może to być inteligentne oświetlenie, które zostało dodane do Twojego domu, lub symulowane urządzenie w Google Home Playground.

Wymagania wstępne

Musisz wiedzieć, jak napisać automatykę domową Google Home. Jeśli nigdy nie tworzyłeś(-aś) automatyzacji, przed rozpoczęciem tego samouczka zapoznaj się z samouczkiem Tworzenie automatyzacji za pomocą skryptu.

2. Szablony i instancje automatyzacji

Programiści tworzą szablony automatyzacji za pomocą edytora szablonów automatyzacji w Konsoli programisty Google Home. Szablony automatyzacji zawierają istotę logiki skryptu, odwołując się do typów urządzeń, ale nie do konkretnych urządzeń.

Korzystając z edytora skryptów automatyzacji w przeglądarkowej wersji Google Home, użytkownicy końcowi mogą wziąć szablon automatyzacji i utworzyć spersonalizowaną instancję, która będzie działać na konkretnych urządzeniach w ich domu. Po zapisaniu instancja pojawi się w sekcji Rutyny domowe w aplikacji Google Home (GHA).

3. Planowanie szablonu automatyzacji

Tworzenie automatyzacji zaczyna się od zastanowienia się nad problemem, który chcesz rozwiązać, i nad tym, co automatyzacja zrobi, aby go rozwiązać. Obejmuje to takie kwestie jak:

  • które urządzenia chcesz zautomatyzować;
  • Jakie polecenie inicjujące (lub zdarzenie) powinno wywołać wykonanie automatyzacji.
  • Jakie dodatkowe warunki, jeśli takie istnieją, decydują o tym, czy automatyzacja zostanie uruchomiona po aktywowaniu.
  • Jakie działania mają zostać wykonane.

W tym ćwiczeniu automatyzacja będzie wykonywać 2 czynności:

  1. włączać światło o określonej godzinie;
  2. wyłączyć to samo światło o określonej godzinie;

W tym momencie możesz otworzyć edytor szablonów i napisać automatyzację.

4. Tworzenie szablonu automatyzacji

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

Szablon automatyzacji składa się z 3 głównych sekcji:

  1. Metadane – nazwa automatyzacji, opis jej działania i opcjonalnie tagi używane do klasyfikowania automatyzacji. Słowa kluczowe to:
    • OŚWIETLENIE I GNIAZDKA
    • KLIMAT I ENERGIA
    • BEZPIECZEŃSTWO I MONITOROWANIE STANU
    • ROZRYWKA
    • URZĄDZENIA I INNE
  2. Wejście – określa, jakimi urządzeniami ma sterować automatyzacja. Silnik automatyzacji wykorzystuje te informacje, aby wiedzieć, jakie rodzaje działań są prawidłowe w przypadku docelowych urządzeń.
  3. Reguły automatyzacji – określają logikę inicjowania i działanie automatyzacji.

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

Zapoznaj się z szablonem i zwróć uwagę na te kwestie:

  • 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ń. Innymi słowy, gdy użytkownik konfigurujący automatyzację w swoim domu zostanie poproszony o wybranie urządzenia dla $the_light, będzie mógł wybrać tylko urządzenia określonego przez Ciebie typu.
  • W sekcji input zdefiniowano też 2 zmienne o nazwach time_ontime_off. Umożliwiają one użytkownikowi określenie, kiedy mają się rozpocząć automatyzacje. time_on to czas włączenia światła, a time_off to czas wyłączenia światła. Jeśli użytkownik nie ustawi wartości time_on lub time_off, używane są wartości domyślne.
  • Sekcja automations naszej automatyzacji zawiera 2 reguły automatyzacji. Każda reguła ma 1 time.schedulepolecenie inicjujące, które informuje automatyzację, o której godzinie ma się ona rozpocząć.

Edytor szablonów

Edytor szablonów automatyzacji to narzędzie, którego używasz do pisania szablonów automatyzacji.

  1. Otwórz Konsolę programisty Google Home.
  2. Zaloguj się na to samo konto, na którym skonfigurowano urządzenie w aplikacji Google Home.
  3. Utwórz nowy projekt lub wybierz już utworzony.
  4. W sekcji Automatyzacja kliknij Tworzenie.
  5. Kliknij Utwórz szablon.
  6. Skopiuj szablon automatyzacji „Zaplanowane oświetlenie”.
  7. Wklej szablon automatyzacji „Zaplanowane oświetlenie” do edytora szablonów.
  8. Kliknij Zweryfikuj. Usuń wszystkie błędy, które mogą się pojawić, i kontynuuj weryfikację oraz naprawianie, dopóki nie będzie już żadnych błędów.
  9. Kliknij Zapisz, aby zapisać szablon.

5. Testowanie szablonu

Teraz możesz przetestować szablon w konsoli.

  1. Sprawdź, czy lampa jest podłączona i widoczna w aplikacji Google Home.
  2. Jeśli lampka jest włączona, wyłącz ją.
  3. Otwórz Konsolę programisty Google Home.
  4. Otwórz projekt, w którym utworzono szablon.
  5. Kliknij Automatyzacja, a następnie wybierz kartę Test.
  6. Kliknij Otwórz obok szablonu automatyzacji „Zaplanowane oświetlenie”.
  7. Wybierz strukturę, w której chcesz przetestować szablon, a potem kliknij Dalej.
  8. W edytorze InputValue (Wartość wejściowa) wpisz nazwę światła. Jeśli na przykład Twoja lampa nazywa się „Lampa na biurko – biuro”, w menu, które pojawi się po kliknięciu po prawej stronie ikony lights, wybierz Desk light - Office. Możesz też wpisać nazwę urządzenia.
  9. W edytorze InputValue określ też czas time_on, np. 5 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. Poczekaj, aż miną 2 godziny rozpoczęcia. Światło powinno się włączać i wyłączać o określonych godzinach.

Gdy testowanie szablonu zakończy się pomyślnie, będziesz mieć pewność, że automatyzacja działa prawidłowo.

6. Gratulacje!

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

Z tego modułu dowiedzieliśmy się, jak:

  • Jak zaprojektować i napisać szablon automatyzacji
  • Jak przetestować je w konsoli programisty Google Home.

Dalsze kroki

W tym laboratorium utworzyliśmy bardzo prostą automatyzację. Automatyzacje mogą robić znacznie więcej niż tylko włączać i wyłączać światło. Teraz, gdy znasz już podstawy tworzenia i testowania szablonu automatyzacji, możesz spróbować utworzyć szablony automatyzacji dla innych typów urządzeń, używając różnych elementów początkowych, warunków i działań.

Więcej informacji

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