Wersja systemu 0.105.7 Dyski zdalne i wymienne · Asystent domowy

0.105.7

UWAGA Przed aktualizacją zalecamy wykonać kopię zapasową konfiguracji. W ten sposób sprawdzisz poprawność swojej konfiguracji przed rozpoczęciem aktualizacji i zwiększysz prawdopodobieństwo bezproblemowej aktualizacji.

W tej wersji przenieśliśmy zależności pakietów (w celu wyeliminowania błędu wielokrotnego instalowania niektórych pakietów z zależnościami). Aktualizacja może potrwać 40 minut - poczekaj cierpliwie na koniec aktualizacji. Komunikatami głosowymi informujemy o postępach aktualizacji, możesz śledzić szczegóły wykonywanych czynności podczas aktualizacji łącząc się do bramki po ssh i przeglądając logi poleceniem pm2 logs.

W razie problemów po aktualizacji sprawdź procedurę Aktualizacja ręczna lub Wykonanie pełnego resetu aplikacji- to może dotyczyć szczególnie osób, które instalują na bramce dodatkowe niestandardowe komponenty.

Dyski zdalne i wymienne

W tej wersji znacznie usprawniliśmy funkcjonalność dysków wymiennych i zdalnych. Dyski wymienne to dołączone do urządzenia karty SD lub pamięci USB. Dyski zdalne to dyski/usługi przechowywania danych w chmurach.

Od tej wersji te dwa typy dysków automatycznie monutujemy w folderze użytkownika w podfolderach:

  • dyski-wymienne
  • dyski-zdalne
$ cd ~/dom
ls
dysk-wewnętrzny  dyski-wymienne  dyski-zdalne  dyski-zewnętrzne

Istotne zmiany:

  • Dyski wymienne i zdalne montujemy z uprawnieniem do zapisu - czyli możesz już nie tylko przeglądać i odtwarzać treści na dyskach zdalnych i wymiennych, ale także zapisywać dane z bramki na tych dyskach. Użytkownicy, którzy wiedzą, jaką to daje funkcjonalność (zapisywanie zdjęć czy filmów z kamer) mogą już teraz jej używać. Użytkownicy, którzy są mniej obeznani ze strukturą katalogów w systemie Linux i poleceniami konsoli powinni poczekać, aż te funkcjonalności zostaną dokładniej opisane w dokumentacji i będą w aplikacji.
  • Do montowania dysków zdalnych używamy libfuse i rclone co upraszcza nam kod i przyśpiesza przeglądanie dysków zdalnych i odtwarzanie z nich treści.
  • Konfigurację rclone przenieśliśmy z folderu ~/dom/rclone.conf do ukrytego folderu ~/AIS/.dom/rclone.conf Umożliwia nam to tworzenie kopii zapasowej konfiguracji dysków zdalnych (bo w kopii zapasowej mamy konfigurację z folderu ~/AIS)
  • dyski-zewnętrzne to pozostałość po wcześniejszej implementacji, w której montowaliśmy dyski (USB czy karty SD) tylko do odczytu. Zostawimy to jeszcze przez 2 miesiące, bo może ktoś używał tej lokalizacji (po tym czasie należy zmienić w swoich automatyzacjach i serwisach lokalizację dyski-zewnętrzne na dyski-wymienne).

UWAGA, jeżeli usuwasz/modyfikujesz/dodajesz coś z dysków zdalnych lub wymiennych na bramce, to doradzamy użyć dysku, na którym nie ma nic cennego (dodanie dysku Google czy Mega na nowe konto to nie problem). W ten sposób nie stracisz żadnych danych w razie błędu w automatyzacji czy komendzie.

Niezniszczalna bramka

Rozpoczęliśmy pracę nad projektem "Niezniszczalna bramka".

Zauważyliśmy, że część naszych użytkowników, żeby mieć integrację z nowym urządzeniem w domu jest w stanie wkleić każdy kod z sieci do bramki. Następnie mieć do nas pretensje, że coś się nie aktualizuje / nie działa tak jak powinno :( Widzimy na forum, że część osób nie przejmuje się tym jak działa i co robi taki niestandardowy komponent. Obserwujemy też jaki procent problemów dotyczy pracy na wersji beta z zainstalowanymi niestandardowymi komponentami.

Dlatego jeszcze raz ostrzegamy przed instalowaniem niestandardowych komponentów, z jakiegoś powodu takie komponenty nie znalazły się oficjalnie w Asystencie domowym. Pamiętaj, że robisz to na własną odpowiedzialność. To tak jak instalowanie aplikacji z nieznanych źródeł - może być wszystko OK a możesz zainstalować wirusa, który zniszczy twój system.

Możliwe konsekwencje instalacji niestandardowych komponentów:

  • Wpływ na stabilność systemu. Te kody mogą być źle napisane, robić coś w pętli i zawieszać / restartować urządzenie. Tłumaczymy to na przykładzie integracji niestandardowej, która jest w stanie logować 1 000 000 (tak, milion!) wpisów w ciągu godziny https://ai-speaker.discourse.group/t/dlaczego-niestandardowe-komponenty-nie-sa-bezpieczne/288 Oczywiście o zgrozo komponent ten jest bardzo powszechnie używany.
  • Wpływ na aktualizacje automatyczne. Nikt nie testował tych kodów i nie sprawdzał ich zależności (pakietów, które doinstalowują). Komponenty te mogą instalować pakiety w innych wersjach niż oficjalne, przetestowane i wspierane a w konsekwencji mogą blokować oficjalne aktualizacje.
  • Legalność. Komponenty niestandardowe mogą używać API producentów bez ich zgody. Pamiętaj, żeby robić to świadomie, bo odpowiedzialność za wszystko, co sam doinstalowujesz i używasz na bramce, spoczywa na Tobie.

Na etapie DEV nie chcemy blokować użytkownikom instalowania dowolnych kodów na bramce. Ponieważ jednak z jakiegoś powodu na koniec odpowiedzialność spada na nas, poczynimy kroki, aby uodpornić nasze urządzenie na tego typu praktyki.

Plan w projekcie "Niezniszczalna bramka":

  1. Wraz z aktualną wersją 0.105.7 przenosimy bazę danych i logi do pamięci urządzenia.
  2. Wraz z aktualną wersją 0.105.7 wprowadzamy tryb awaryjny. To nowy tryb w Home Assistant pozwalający na uruchomienie aplikacji webowej w przypadku problemów z konfiguracją użytkownika (dotychczas w przypadku problemów z konfiguracją system się nie uruchamiał i trzeba było sprawdzać logi z konsoli). Teraz aplikacja webowa powinna się uruchomić ze stosownym powiadomieniem. W wersji 0.106 będziemy kontynuowali wdrażanie tego trybu. Naszym celem jest, aby Asystent domowy zawsze się uruchamiał i zapewniał interfejs do pracy bez względu na to, co zostało doinstalowane i w jaki sposób.
  3. W wersji 0.106 dostarczymy aktualizację serwisu na bramce. Wyłączymy aktywność webview (ten ekran z mikrofonem i aplikacją webową działającą w ramce). Zostawimy Asystenta domowego na bramce jako sam serwis. Nasze bramki działają w trybie “sterowania bez monitora” - nie mają uruchomionej aktywności ramki z aplikacją. Ta aplikacja to przeglądarka Chrome, która potrzebuje dość sporo zasobów (procesor i pamięć). To powinno przyśpieszyć i ustabilizować działanie Asystenta domowego.
  4. W kolejnej wersji udostępnimy mechanizm dual boot. Dzięki temu każdy będzie mógł uruchomić system z karty SD (jak w RPi) lub USB. W ten sposób będzie można uruchomić “czystego” Linux-a z Dokerem i Home Assistant i sprawdzić, czy takie działanie jest stabilniejsze.

Poprawki w wyglądzie aplikacji

Nasz znajomy grafik przejrzał aplikację i podpowiedział nam kilka rzeczy. Efektem jest poprawiony widok aplikacji webowej (tło i logo na pierwszej stronie). Jak to zostało zrobione, opisaliśmy na blogu tak, żeby każdy mógł dodawać własne style do widoków i kart:

Dodaliśmy też kilka zmian w wyglądzie aplikacji mobilnej.

Nowe pakiety binarne

Nowe wersje kilku binarek:

  • libmosquitto 1.6.8 arm [upgradable from: 1.6.7-1]
  • libwebsockets 3.2.99.3 arm [upgradable from: 3.2.99.1-1]
  • mosquitto 1.6.8 arm [upgradable from: 1.6.7-1]
  • rclone 1.51.0 arm [upgradable from: 1.49.5]
  • ttyd 1.6.0 arm [upgradable from: 1.5.2-2]
  • nowa binarka libfuse

Powinno dać się zauważyć spore przyśpieszenia działania konsoli w aplikacji webowej.

Home Assistant

Najnowszy (stabilny) Home Assistant 0.105.5

Bardzo podoba nam się nowy edytor stref.

Zapraszamy do aktualizacji i komentowania na forum :) AI-Speaker 02/2020


Ten temat jest powiązany ze źródłową dyskusją: https://sviete.github.io/AIS-docs/blog/2020/02/26/release-notes.html
2 polubienia

Aktualizacja zainstalowana, poszło bez problemów :+1:
SharedScreenshot
Parametry bramki po instalacji:
SharedScreenshot
Czy Przegląd Dysków powinien się sam pojawić ?
Bo u mnie go nie ma:

1 polubienie

Kliknij w ikonkę Folderu po prawej stronie

1 polubienie

aaa faktycznie, nie zauważyłem, dzięki

1 polubienie

Drobna literówka:
Dowiedz się więcej o motywch

2 polubienia

dziex - zajmiemy się tym :wave:

Cześć, miały się dyski montować z uprawnieniami a tu takie cuś mi się dzieje :frowning:
mount_external_drives[Errno 13] Permission denied: ‘/mnt/media_rw’

Jak żyć co zrobić? :mask:

wykonać coś takiego w konsoli

curl https://raw.githubusercontent.com/sviete/AIS-utils/master/patches/remove_deps.sh | bash

To jest skrypt w którym mamy taki punkt:

  • allow to write on external storage

jeżeli ten skrypt zakończy się powodzeniem to powinno działać ok.
(wykonaliśmy go automatycznie podczas instalacji ale nie zaszkodzi jeszcze raz)

Zauważyłem, że teraz po ponownym uruchomieniu bramki, system pokazuje tylko historię od ostatniego uruchomienia a nie jak wcześniej ostatnie 24h. Można to jakoś zmienić ?
image

Nie pozwalamy już na zapis bazy na dysku wewnętrznym urządzenia - trzymamy bazę tylko w pamięci.
Jak dopracujemy temat dysków zewnętrznych (dołączanych i zdalnych) to pozwolimy na zapis bazy na dyskach zewnętrznych.

Właśnie miałem pisać zapytano jak postawić i uruchomić zapis historii na dysku zewnętrznym :slight_smile: Teraz spokojnie czekam na rozwój sytuacji :wink:

sytuacja jest też rozwojowa po stronie HA :slight_smile:

Niestety wciąż to samo. :frowning:

A jeśli ktoś ma recorder i wskaże ścieżkę np. na dysk wymienny to dane będą zapisywały się ?

Docelowo będzie można wybrać w aplikacji webowej na jakim dysku ma się zapisywać baza.
Ale jeszcze nie teraz, umożliwimy to dopiero jak będziemy pewni, że dyski (wymienne i zdalne) działają tak jak powinny.

Rozumiem, że brak danych UI Logs też jest spowodowane powyższym?

Czy gdzieś logi są zapisywane ? w .pm2 logs pusto a w /AIS/homeassistant.log od 28.02 brak zapisów. Generalnie to nie wiadomo teraz czy jakieś komponenty sieją… czyżby teraz był tylko log bieżący pm2 logs?

Zgadza się.
W HA pokazujemy tylko błędy / problemy a na bieżąco można sprawdzać co się dzieje w pm2.

Te ograniczenia to jest część projektu “Niezniszczalna bramka”.
Jeżeli mamy mieć urządzenie dla końcowego użytkownika to musimy nie dopuszczać do sytuacji 4GB bazy czy pliku z logiem - a takie rzeczy dostajemy “na klatę” po tym jak ktoś włącza komponenty niestandardowe…
Końcowy użytkownik i tak nie sprawdza pliku z logiem a zaawansowani użytkownicy wiedzą jak to zrobić z PM2.

Idealnie będzie jak włączymy zapis na dyski zewnętrzne ale to rozwiązanie wymaga jeszcze stabilizacji.
Dzięki za wyrozumiałość w temacie :wink:

1 polubienie

Rozumiem i popieram :slight_smile: Wiem doskonale jak to potrafi się rozrastać. Fakt zapis na nośnik zewnętrzny to dobry pomysł. Co do zdalnych to fakt wymaga to przetestowania jak rclone radzi sobie z utratą internetu.