Integracja Asystentka Jolka

Wbudowany Asystent

System posiada komponent umo┼╝liwiaj─ůcy wydawanie komend i przesy┼éanie zapyta┼ä do wbudowanego programu, kt├│ry zamienia polecenie na intencj─Ö, a nast─Öpnie wykonuje akcj─Ö powi─ůzan─ů z intencj─ů. Program ten nazywamy wbudowanym asystentem.

Z asystentem mo┼╝esz rozmawia─ç:

  • przez naci┼Ťni─Öcie mikrofonu w aplikacji webowej (w przegl─ůdarkach obs┼éuguj─ůcych wprowadzanie g┼éosowe)
  • przez mikrofon w telefonie z systemem Android i z zainstalowan─ů nasz─ů darmow─ů aplikacj─ů dost─Öpn─ů w Google Play
  • przez wywo┼éanie us┼éugi rozmowy z naszego dedykowanego pilota radiowego z wbudowanym mikrofonem.
  • wpisuj─ůc komendy tekstowe do asystenta w pole tekstowe w aplikacji.

Dost─Öpne komendy

Tu jest lista polece┼ä, kt├│re asystent rozumie loklanie (bez potrzeby ┼é─ůczenia si─Ö┬áz ┼╝adnym serwisem zewn─Ötrznym). Np. gdy pytasz "Jaka jest temperatura w kuchni" asystent "rozumie", ┼╝e intencj─ů jest sprawdzenie statusu czujnika o nazwie "Temperatura w kuchni".

Gdy asystent nie jest w stanie zrozumie─ç komendy lokalnie, to stara si─Ö uzyska─ç informacj─Ö w zewn─Ötrznych serwisach lub wyszuka─ç j─ů w Internecie. Udzielaj─ůc odpowiedzi na pytania typu "kto to jest... ", "kim jest... ", "znajd┼║ informacj─Ö o..." asystent korzysta z zasob├│w bazy wiedzy "Google Knowledge Graph". Korzystanie z tego typu bazy wiedzy ma na celu selekcj─Ö mo┼╝liwie najistotniejszych tre┼Ťci i udzielenia kr├│tkiej odpowiedzi na pytanie. ┼╣r├│d┼éem informacji do Google Knowledge Graph jest g┼é├│wnie Wikipedia. Si─Ögamy te┼╝ po informacje bezpo┼Ťrednio z Wikipedii oraz z us┼éug internetowych, w tym serwis├│w Google.

Je┼Ťli dodasz integracj─Ö Google Home, to mo┼╝esz bezpo┼Ťrednio wysy┼éa─ç komendy do Asystenta Google, wystarczy, ┼╝e poprzedzisz komend─Ö s┼éowem "Google", np. "Google, jaka jest pogoda" lub "Google opowiedz jaki┼Ť dowcip" itd..

Automatyzacje uruchamiane komend─ů

Ka┼╝d─ů zdefiniowan─ů w systemie automatyzacj─Ö mo┼╝emy uruchomi─ç komend─ů g┼éosow─ů. Wystarczy powiedzie─ç:

'Uruchom {nazwa automatyzacji}'

lub

'Automatyzacja {nazwa automatyzacji}'

w ten spos├│b mo┼╝na ┼éatwo dodawa─ç g┼éosowe sterowanie praktycznie dowolnym urz─ůdzeniem, kt├│re mamy zintegrowane w systemie. Przyk┼éadowo, gdy chcemy doda─ç uruchomienie odkurzania g┼éosowo, to wystarczy, ┼╝e dodamy automatyzacj─Ö o nazwie np. Odkurzanie (lub Start odkurzania), kt├│ra b─Ödzie wywo┼éywa┼éa akcj─Ö vacuum.start. Po zdefiniowaniu takiej akcji wystarczy powiedzie─ç "Uruchom odkurzanie", by g┼éosowo uruchomi─ç odkurzanie ­čĺ¬

Automatyzacje

W analogiczny sposób możemy dodać kolejne automatyzacje takie jak wstrzymanie (vacuum.pause), wznowienie (vacuum.start) i koniec odkurzania (vacuum.return_to_base). W ten sposób możemy sterować głosowo naszym odkurzaczem.

Automatyzacje

Dodawanie własnej komendy

Możesz skonfigurować własne zdania/sentencje do przetworzenia na akcje w systemie. Działa to poprzez odwzorowywanie zdań na intencje, a następnie skonfigurowanie skryptu w celu obsługi tych intencji.

Obecnie, ┼╝eby doda─ç now─ů komend─Ö, nale┼╝y doda─ç j─ů do plik├│w konfiguracji. Dodawanie komend z interfejsu aplikacji b─Ödzie rozwijane w przysz┼éo┼Ťci. UWAGA - dodaj─ůc w┼éasne intencje nadpisujesz domy┼Ťln─ů konfiguracj─Ö Asystenta domowego. Nadpisanie konfiguracji ma wp┼éyw na dzia┼éanie systemu. W przypadku problem├│w z dzia┼éaniem systemu zalecamy usuni─Öcie w┼éasnych wpis├│w z konfiguracji i sprawdzenie dzia┼éania z domy┼Ťln─ů konfiguracj─ů.

Uproszczony diagram działania komend w Asystencie domowym:

Działanie komend

Lokalizacja konfiguracji Asystenta

Katalog z konfiguracj─ů domy┼Ťlnie znajduje si─Ö na urz─ůdzeniu (bramce) w folderze /data/data/pl.sviete.dom/files/home/AIS

┼Ťcie┼╝k─Ö do katalogu mo┼╝esz sprawdzi─ç w aplikacji pod adresem http://ais-dom.local:8180/developer-tools/info -> narz─Ödzia deweloperskie -> informacje:

Konfiguracja folder

Katalog z konfiguracj─ů dost─Öpny jest w lokalnej sieci po ssh lub ftp:

Folder konfiguracji po FTP

Definicja sentencji

Bezpo┼Ťrednio w katalogu konfiguracji utw├│rz plik conversation.yaml, w pliku conversation.yaml dodaj sentencje, kt├│re maj─ů wywo┼éywa─ç twoje nowe intencje. Przyk┼éadowo, je┼╝eli chcesz, by Tw├│j asystent odpowiada┼é Ci, ile czasu jeszcze zosta┼éo do ko┼äca pracy to mo┼╝esz zdefiniowa─ç co┼Ť takiego:

intents:
WhenEOD:
- ile do końca pracy
- kiedy koniec pracy
- kiedy do domu

Definiowanie sentencji

Definicja intencji

Bezpo┼Ťrednio w katalogu konfiguracji utw├│rz plik intents.yaml, w pliku intents.yaml dodaj intencje oraz akcje, kt├│re maj─ů zosta─ç wywo┼éane po wykryciu intencji. Pos┼éuguj─ůc si─Ö naszym przyk┼éadem mo┼╝emy zrobi─ç co┼Ť takiego:

WhenEOD:
speech:
text: Nie wiem, zapytaj szefa :)
action:
service: ais_ai_service.say_it
data_template:
text: "Jest {{ states.sensor.time.state }}. Nie wiem, zapytaj szefa :)"

Definiowanie intencji

Dodaj sentencje i intencje do głównego pliku konfiguracji

W katalogu konfiguracji znajduje się plik configuration.yaml, na końcu tego pliku dodaj lokalizację skryptu z intencjami oraz modułu konwersacja - dopisz te 2 linie na końcu pliku:

intent_script: !include intents.yaml
conversation: !include conversation.yaml

Dodanie sentencji i intencji do konfiguracji

Wypróbuj działanie nowej komendy

UWAGA: Uruchom ponownie Asystenta domowego w celu przetesowania nowej konfiguracji

Test nowej komendy

API asystenta

Asystent, tak jak ka┼╝da integracja, udost─Öpnia swoje us┼éugi, dzi─Öki czemu mo┼╝na automatyzowa─ç tak┼╝e t─ů funkcjonalno┼Ť─ç i np. uruchamia─ç automatyczne m├│wienie godziny o pe┼énych godzinach.

Godzinaais_app_android_index