Asystent domowy pierwsza wersja beta 0.105 wydana na kanale beta

Kolejna przydatna funkcjonalność :slight_smile:

U mnie jest jakiś problem z dyskiem google. Po dodaniu przez integracje plik rclone.conf jest założony przez roota i przy restarcie ais wyrzuca błąd permission denied. Zmieniłem na usera błędu nie ma ale drzewo folderów dyski zdalnie nie rozwija się. Jest natomiast komunikat “Tego typu plików jeszcze nie obsługuję.”
Błąd w logu: 2020-02-19 23:19:36 ERROR (MainThread) [homeassistant.components.ais_drives_service.sensor] 2020/02/19 22:19:36 Failed to create file system for "google:": didn't find section in config file

Hm mount pokazuje, że tutaj jest podmontowany dysk
GOOGLE: on /data/data/pl.sviete.dom/dom_cloud_drives/GOOGLE type fuse.rclone (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

natomiast w interfejsie web podpina tutaj: /data/data/pl.sviete.dom/files/home/dom

Dopiero jak podlinkowałem ręcznie to działa :slight_smile:
cd /data/data/pl.sviete.dom/files/home/dom/dyski-zdalne
ln -s /data/data/pl.sviete.dom/dom_cloud_drives/GOOGLE GOOGLE

image

W sumie to przyszła mi na myśl kolejna funkcjonalność. Wyświetlanie zdjęć i filmów np. na chromecast z dysków zdalnych i zewnętrznych :slight_smile:
No i dodanie serwerów mediów które znajdzie w LANie. image

Jeszcze w nazwie dysku nie może być spacji bo inaczej wywala błąd przy dodawaniu integracji.

Hej :wave:

dzieki za info - problemy z uprawnieniami do montowania dysków mamy poprawione w 0.105.5b1

Dokładnie, będziemy z czasem to stabilizować i dodawać tego typu funkcjonalności jak odtwarzanie mediów z dysków na dowolny media_player (oczywiście taki który te media obsługuje). W rclone można dodać sporo dysków co docelowo da nam bardzo fajne funkcjonalności (współdzielenie mediów z rodziną itd…).

Sprawdzimy i chyba zablokujemy możliwość dodawania nazw ze spacją (bo może być z tym problem w wielu miejscach)

wersja 0.105.5b1 wydana na kanale beta, doszły 2 poprawki:

  1. fix na problemy z uprawnieniami do montowania dysków zdalnych
  2. fix w youtube-dl

PS
youtube-dl to biblioteka, którą używamy na bramce do odtwarzania muzyki z YouTube. Narzędzie to pozwala na odtwarzanie multimediów (bez reklam) z setek stron, które takie treści multimedialne serwują i nie wymagają logowania. Działa to mniej więcej tak, że wyszukujemy stronę z interesującą nas treścią multimediów (video czy audio) w Internecie, a następnie youtube-dl sprawdza/parsuje tę stronę i daje nam link bezpośrednio do mediów (bez żadnych dodatkowych rzeczy/reklam).

Lista stron, które obsługuje youtube-dl jest naprawdę imponująca, jak będziemy mieli “moce przerobowe” to opiszemy jak dodać odtwarzanie z innych stron (nie tylko YouTube):

http://ytdl-org.github.io/youtube-dl/supportedsites.html

jeszcze małe wyjaśnienie

prawidłowo powinno być tak

Welcome to AI-Speaker!

WWW:            https://ai-speaker.com
Support:        info@sviete.pl
Source:         https://github.com/sviete
[Połaczenie SSH]
$ cd dom
$ ll
total 4
lrwxrwxrwx 1 u0_a62 u0_a62   23 Feb 17 10:15 dysk-wewnętrzny -> /storage/emulated/0/dom
lrwxrwxrwx 1 u0_a62 u0_a62   42 Feb 18 11:03 dyski-zdalne -> /data/data/pl.sviete.dom/dom_cloud_drives/
drwx------ 2 u0_a62 u0_a62 4096 Feb 20 10:32 dyski-zewnętrzne

czyli w folderze ~/dom , dyski-zdalne to link (symbolic link) do folderu /data/data/pl.sviete.dom/dom_cloud_drives/

utworzony w ten sposób:

ln -s /data/data/pl.sviete.dom/dom_cloud_drives/  ~/dom/dyski-zdalne

W folderze /data/data/pl.sviete.dom/dom_cloud_drives/ my automatycznie montujemy dyski zdalne a użytkownik ma do nich dostęp (przegląda je w aplikacji) za pomocą dowiązania: ~/dom/dyski-zdalne

Ta “kombinacja” z linkami jest po to żebyśmy mogli usuwać dane (wykonywać pełen reset aplikacji) bez potrzeby odmontowywania dysków zdalnych. Gdybyśmy bezpośrednio montowali dyski zdalne do folderu użytkownika ~/dom/dyski-zdalne to nie uda nam się czyścić zawartości tego folderu (bez odmontowania dysków).

Oczywiście w finalnej wersji 0.105.x będzie opis jak to działa i odpowiednie linki utworzą się same :slight_smile:

Niestety u mnie dodany zasób FTP działa tylko do czasu restartu bramki. Po restarcie mam już tylko komunikat “Tego typu plików jeszcze nie obsługuję.”. Na wersji 0.104.5 wszystko działało prawidłowo.
Log wygląda tak:
2020-02-21 09:55:26 INFO (SyncWorker_11) [homeassistant.components.ais_drives_service] Tego typu plików jeszcze nie obsługuję./data/data/pl.sviete.dom/files/home/dom/dyski-zdalne/NASHDD
2020-02-21 09:55:26 INFO (MainThread) [homeassistant.components.automation] Executing AIS Execute process command web hook
2020-02-21 09:55:26 INFO (MainThread) [homeassistant.helpers.script] Script AIS Execute process command web hook: Running script
2020-02-21 09:55:26 INFO (MainThread) [homeassistant.helpers.script] Script AIS Execute process command web hook: Executing step call service
2020-02-21 09:55:26 INFO (SyncWorker_1) [homeassistant.components.ais_ai_service] speech_status: START
2020-02-21 09:55:28 INFO (MainThread) [homeassistant.components.automation] Executing AIS Execute process command web hook
2020-02-21 09:55:28 INFO (MainThread) [homeassistant.helpers.script] Script AIS Execute process command web hook: Running script
2020-02-21 09:55:28 INFO (MainThread) [homeassistant.helpers.script] Script AIS Execute process command web hook: Executing step call service
2020-02-21 09:55:28 INFO (SyncWorker_13) [homeassistant.components.ais_ai_service] speech_status: DONE

Tak to efekt zmian które robimy w tym obszarze. Wcześniej do przeglądania każdego dysku zdalnego stosowaliśmy api, co komplikowało kod. Teraz mapujemy te dyski i przeglądamy tak samo jak dysk wewnętrzny na bramce. Jest szybciej i łatwiej (a dodatkowo planujemy możliwość pisania do dysków zdalnych).

A wracając do nie działania :wink: wydaliśmy właśnie wersję 0.105.5b4 dyski zdalne powinny już się mapować i działać - gdyby dalej były jakieś problemy to proszę dawać znać - będziemy to jeszcze dopracowywać w przyszłym tygodniu tak żeby w wersji stabilnej 0.105 którą wydamy w przyszłym tygodniu dyski zdalne się audo-mapowały i działały OK.

Miłego Weekendu :wave:

Na kanale beta wydaliśmy 0.105.5b4

wszystko co się zmieniło to poprawki w temacie mapowania dysków zdalnych - powinno już zacząć działać.
Resztę doszlifujemy w przyszłym tygodniu.

Udanego Weekendu :slight_smile:

I jeszcze jedna mała sugestia. Nie podświetla ikony w momencie wykrycia ruchu.

pir

W wersji 0.105.7 po https już działa.


@jolka jak rozumieć taki opis?
Komendy>Asystent AIS > Google Home
Nie do końca to rozumiem

Wspominałem o tym tutaj:

Czyli w nowej wersji Home Assistant na żółto palą się tylko encje typu light, inne domyślnie są zawsze szare. Możesz to zmienić dodając wpis w konfiguracji interfejsu użytkownika:

state_color:true

Dzięki za info, teraz działa jak w poprzedniej wersji.

hej,
to taka nowość która z założenia ma wyjaśnić mechanizm działania agenta (lub agentów) obsługującego komendy głosowe - jak się na to kliknie to przenosi do dokumentacji, gdzie jest to opisane… a docelowo będzie to dokładnie opisane.

Sami staramy się ogarnąć pomysł na “kilka agentów” na jednej bramce, na tą chwilę sekwencja “rozumienia intencji” jest “zakodowana na sztywno” i jest taka:

  1. Priorytet mają Komendy
    To pierwsza rzecz którą sprawdzamy i możesz je sam możesz zdefiniować - wg instrukcji dodawanie własnej komendy
    https://sviete.github.io/AIS-docs/docs/en/ais_app_ai_integration.html#dodawanie-własnej-komendy
    Jeśli dopasujemy intencję do komendy to wykonujemy to co zdefiniowałeś i przestajemy “rozkminiać” dalej.

  2. Asystent AIS to Jolka i to są nasze wbudowane komendy
    https://sviete.github.io/AIS-docs/docs/en/ais_app_assistent_commands.html
    Jeśli dopasujemy intencję do tego co potrafi Jolka to ją wykonujemy i nie pytamy dalej.

  3. Google Home to Asystent Google
    Jeśli dodasz integrację Google Home, i nie dopasujemy intencji w 1. i 2. to wyślemy komendę do twojego Asystenta Google

Możesz bezpośrednio wysłać komendę do Google Home mówiąc np. “Google która godzina” wtedy odpowie Ci nie Jolka tylko Asystent Google.

To jest jeszcze w trakcie opracowywania, określimy się ostatecznie w wersji 1.0 :slight_smile:

Chcemy:

  1. zachować możliwość definiowania własnych komend (mamy zamiar to dodać w aplikacji żeby było łatwo)
  2. dodatkowo chcemy dostarczyć coś już wbudowanego (Asystentka Jolka) do podstawowych czynności które każdy wykonuje (włącza radio czy światło)
  3. zdajemy sobie sprawę, że jak oficjalnie wyjdzie w Polsce Google Home lub Amazon Alexa to lepiej mieć ich na pokładzie. Żeby nie było, że nasz asystent czegoś nie potrafi a tamte potrafią.
1 polubienie

Niestety u mnie integracja z Google Home coś nie działa, wydając komendę “Google która godzina” dostaję odpowiedź od Jolki “Błąd podczas pobierania odpowiedzi z Google, sprawdź w logach”. A w logach jest coś takiego:
Google answer: {“success”:false,“error”:{“code”:14,“metadata”:{“_internal_repr”:{},“flags”:0},“details”:“Getting metadata from plugin failed with error: unauthorized_client”}}


W poprzedniej wersji tj. 0.104.5 działało prawidłowo.

U mnie taki sam problem z asystentem Google Home jak u @Marco

Sprawdzcie czy wykonaliście integrację dokładnie tak jak opisaliśmy, krok po kroku i dodatkowo zobaczcie “rozwiązywanie problemów”:

PS
u nas działa OK - sprawdzaliśmy na starej integracji i na nowo dodanej też

to jest log z kosoli na serwerze w debug mode:
10|GoogleHome | ▄▄
10|GoogleHome | ▄▄▄▄
10|GoogleHome | ▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄
10|GoogleHome |
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄ ▄▄
10|GoogleHome | ▄▄▄▄ ▄▄▄▄▄
10|GoogleHome | ▄▄▄▄ ▄▄
10|GoogleHome | ▄▄▄▄
10|GoogleHome | ▄▄▄▄
10|GoogleHome | Received command powiedz dowcip
10|GoogleHome | User specified was dom-xxx
10|GoogleHome | startConversation user: dom-xxx
10|GoogleHome | outputFileStream for dom-xxx
10|GoogleHome | Google Assistant: To jeden z moich ulubionych dowcipów
10|GoogleHome | – Jaki jest największy las na świecie? – pyta pani Jasia na przyrodzie.
10|GoogleHome | – Las Vegas :deciduous_tree::evergreen_tree::deciduous_tree:

widzimy też, że wam faktycznie Google nie odpowiada tak jak powinien:

10|GoogleH | Auth error:Error: unauthorized_client
10|GoogleH | Auth error:Error: unauthorized_client

Ale to wszystko co widać u nas w logach dla innych kont, nie mamy waszych client_secret do kont w Google żeby to sprawdzić. Możemy wysłać client_secret do jakiegoś naszego konta i pewnie zadziała ale wtedy będziecie sterowali naszym Google Home a nie swoim :wink:

PS 2
Google nam zwraca audio a nie tekst do przeczytania, dlatego odtwarzamy to audio na bramce głosem zwracanym przez Google

Dziwne sprawdziłem tylko na telefonie czy Asystent Google działa, i oczywiście działa. To odpytuję bramkę “Google która godzina” i cud Asystent Google odpowiada: “Godzina 16:18” :slight_smile:

2 polubienia