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 cd /data/data/pl.sviete.dom/files/home/dom/dyski-zdalne ln -s /data/data/pl.sviete.dom/dom_cloud_drives/GOOGLE GOOGLE
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
No i dodanie serwerów mediów które znajdzie w LANie.
Jeszcze w nazwie dysku nie może być spacji bo inaczej wywala błąd przy dodawaniu integracji.
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:
fix na problemy z uprawnieniami do montowania dysków zdalnych
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):
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
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 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.
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:
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:
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
Chcemy:
zachować możliwość definiowania własnych komend (mamy zamiar to dodać w aplikacji żeby było łatwo)
dodatkowo chcemy dostarczyć coś już wbudowanego (Asystentka Jolka) do podstawowych czynności które każdy wykonuje (włącza radio czy światło)
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ą.
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”}}
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
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”