:ais: Przejście na binarki Termux

:ais: Przejście na binarki Termux

Wprowadzenie

Termux to aplikacja która dostarcza konsole i środowisko Linux dla systemu Android. Termux działa bardzo podobnie do AIS serwer, ale Termux ma więcej niż AIS serwer pakietów w kilku repozytoriach. Miedzy innymi pakiety które pozwalają instalować orjson i maturin, o problemach z instalacją tych pakietów pisaliśmy tu:

Dlatego zdecydowaliśmy się na przejście na binarki Termux, w ten sposób możemy zaktualizować system Home Assistant do najnowszej wersji.
Jak to zrobić opiszemy krok po kroku poniżej.

:warning: Poniższa instrukcja była testowana na bramkach AIS DEV3 i AIS PRO1, teoretycznie można zainstalować AIS serwer termux na innych urządzeniach z systemem Android (tablet, telefon, itp…) ale my testowaliśmy procedurę instalacji na bramkach AIS DEV3 i PRO1 i tylko na tych bramkach zalecamy wykonać poniższą procedurę.

:information_source: Przed przejściem na pakiety Termux zalecamy wykonać kopię zapasową konfiguracji. Po wykonaniu przejścia na pakiety termux będzie można przywrócić konfigurację z kopii.

1. Odinstaluj aplikację AIS serwer

przechodzimy do aplikacji android


wybieramy aplikację AIS Serwer

odinstalowujemy aplikację AIS Serwer

2. Zainstaluj aplikację AIS serwer Termux

przechodzimy do ustawień android

wybieramy aplikację chrome i ją uruchamiamy


w przeglądarce przechodzimy na stronę www.powiedz.co/ota skąd pobieramy i uruchamiamy instalację aplikacji AIS Serwer Termux

uruchamiamy aplikację

czekamy na pobranie i zainstalowanie pakietów startowych

po instalacji pakietów startowych uruchomi się Asystetnt domowy

w analogiczny sposób instalujemy jeszcze 2 aplikacje AIS Launcher i AIS Panel

3. Powrót do AIS Serwer

Jeżeli z jakiegoś powodu nie chcemy wrócić do poprzedniej wersji pakietów, to wystarczy odinstalować aplikację AIS Serwer Termux i zainstalować aplikację AIS Serwer, w ten sam sposób jak opisano powyżej.

2 polubienia

Instalacja na bramce AIS DEV1 kończy się poprawnie ale przed pierwszym uruchomieniem aplikacji należy nadać aplikacji AIS Server odpowiednie uprawnienia na bramce (przy takiej mojej testowej kombinacji uprawnień aplikacja wystartowała):

Dopiero po tym dodatkowym kroku, należy uruchomić aplikację wtedy instalacja przebiega prawidłowo do końca, efekt końcowy:

5 polubień

Nie wiem co robię nie tak ale nie mogę odinstalować AIS serwer i chyba dlatego zainstalować AIS serwer Termux, bramka pro1. Robię dokładnie wg opisu powyżej, po kliknięciu odinstaluj pokazuje się okno odinstaluj i jak kliknę na ok to okno znika i nic się nie dzieje

Obie aplikacje nazywają się tak samo więc tylko jedna może być na bramce. Dopóki nie odinstalujesz jednej, nie możesz zainstalować drugiej - przetestowane na DEV1.

Wyjdź z menu, wejdź ponownie i sprawdź czy aplikacja jest na liście aby miec pewność, że zostala odinstalowana.

Uzupełniłem wpis odnośnie odinstaluj

Aplikacja jest dalej na liście

Spróbuj jeszcze zamknąć aplikację/wymusić zamknięcie aplikacji i dopiero odinstalowanie albo restart bramki i ponownie powtórzenie calej instrukcji. Więcej nie jestem wstanie wymyślić.

Mam podobnie na DEV3, nie mogę odinstalować AIS Server. Czy da się poleceniem z consoli? . Restart bramki nie pomaga.

Na razie nic nie pomaga

To pozostaje support producenta.

Edit:

O tym zapomniałem.

@tom42 można też odinstalować za pomocą AIS Explorer:

Możesz ewentualnie spróbować do bramki się przez adb podpiąć i wtedy odinstalować i zainstalować odpowiednimi komendami

Edit
U mnie na dev1 nie musiałem nadawać tych uprawnień i też ruszyło a później jak sprawdziłem to już miała nadane tylko że uruchomiło się bez chmury ale wystarczyło potem przywrócić z chmury oraz poczekać bo się musiało wszystko doinstalować od nowa i znów mam że uruchomiono bez dostępu do internetu

a do bramki przez ftp teraz dostajemy się przez taką ścieżkę /data/data/com.termux/files/home/AIS

a w logach mam coś takiego

Logger: homeassistant.setup
Source: setup.py:192
First occurred: 20:34:07 (1 occurrences)
Last logged: 20:34:07

Setup failed for mobile_app: Unable to import component: dlopen failed: cannot locate symbol "getrandom" referenced by "/data/data/com.termux/files/usr/lib/python3.10/site-packages/nacl/_sodium.abi3.so"...
Logger: aiohttp.server
Source: components/mobile_app/helpers.py:11
First occurred: 19 sierpnia 2022 22:25:43 (3 occurrences)
Last logged: 19 sierpnia 2022 22:34:48

Error handling request
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/ban.py", line 82, in ban_middleware
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/http/view.py", line 136, in handle
    result = await result
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/config/config_entries.py", line 84, in delete
    result = await hass.config_entries.async_remove(entry_id)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/config_entries.py", line 911, in async_remove
    await entry.async_remove(self.hass)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/config_entries.py", line 532, in async_remove
    component = integration.get_component()
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/loader.py", line 638, in get_component
    cache[self.domain] = importlib.import_module(self.pkg_path)
  File "/data/data/com.termux/files/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/mobile_app/__init__.py", line 33, in <module>
    from .helpers import savable_state
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/mobile_app/helpers.py", line 11, in <module>
    from nacl.secret import SecretBox
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/nacl/secret.py", line 16, in <module>
    import nacl.bindings
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/nacl/bindings/__init__.py", line 16, in <module>
    from nacl.bindings.crypto_aead import (
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/nacl/bindings/crypto_aead.py", line 17, in <module>
    from nacl._sodium import ffi, lib
ImportError: dlopen failed: cannot locate symbol "getrandom" referenced by "/data/data/com.termux/files/usr/lib/python3.10/site-packages/nacl/_sodium.abi3.so"...

oraz jak rozwiązać ten problem

bo usunąłem plik google_calendars.yaml a dalej się wyświetla po restarcie oraz w logah mam jeszcze takie coś apropo telewizora

Logger: pychromecast.socket_client
Source: /data/data/com.termux/files/usr/lib/python3.10/site-packages/pychromecast/socket_client.py:396
First occurred: 14:01:43 (1 occurrences)
Last logged: 14:01:43

[Toshiba(192.168.1.38):8009] Failed to connect to service ServiceInfo(type='mdns', data='Android-TV-cfb3b11c83b92cf4cf731e73335cf0b2._googlecast._tcp.local.'), retrying in 5.0s

Próbowałem przez AIS Explorer i też nie zadziałało

Ja na PRO1 najpierw dalem opcje wymus zatrzymanie a nastepnie odinstaluj i poszlo ok.

Jednak kamery, panel aplikacji na bramce i sterowanie głosowo nie dziala.

1 polubienie

Potwierdzam u mnie na na telefonie na komendę z automatyzacji wyświetla tekst ale go nie czyta tylko odpowiada “ok” i nic poza tym a w logach mam jeszcze takie wpisy

Logger: homeassistant
Source: components/dhcp/__init__.py:273
First occurred: 20 sierpnia 2022 12:39:30 (25 occurrences)
Last logged: 12:39:30

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/dhcp/__init__.py", line 273, in async_discover
    for host in await self._discover_hosts.async_discover():
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiodiscover/discovery.py", line 156, in async_discover
    sys_network_data = await loop.run_in_executor(None, self._get_sys_network_data)
  File "/data/data/com.termux/files/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiodiscover/discovery.py", line 150, in _get_sys_network_data
    sys_network_data.setup()
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiodiscover/network.py", line 150, in setup
    resolvers = load_resolv_conf()
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/aiodiscover/network.py", line 46, in load_resolv_conf
    with open("/etc/resolv.conf") as file:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf'
Logger: homeassistant.components.script
Source: helpers/entity_platform.py:652
Integration: Skrypt (documentation, issues)
First occurred: 20 sierpnia 2022 11:38:40 (1 occurrences)
Last logged: 20 sierpnia 2022 11:38:40

Platform script does not generate unique IDs. ID ais_update_system is already used by script.ais_update_system - ignoring script.ais_update_system

Oraz znikły dyski zdalne z biblioteki mediów


A w logach jest to

Logger: homeassistant.components.ais_drives_service.sensor
Source: components/ais_drives_service/sensor.py:126
Integration: AIS Serwis Dyski (documentation, issues)
First occurred: 13:58:34 (2 occurrences)
Last logged: 13:58:35

2022/08/21 11:58:34 Failed to create file system for "google:": drive: failed when making oauth client: failed to create oauth client: empty token found - please run "rclone config reconnect google:"
2022/08/21 11:58:35 Failed to create file system for "mega:": couldn't login: User blocked

Więc jak naprawić owe błędy np z integracja aplikacja mobilne ?

DEV1 (poligon) przeszła na Termux, DEV3 przeszła na Termux, Asystent Domowy zaktualizował się do 2022.8.6b2. Konfigurację przywróciłem z kopi na portalu integratora.
Teraz pozostało posprzątać, bo parę logów z błędami mam.
Nie sądziłem, że sensory MQTT to już tak szybko należy zmieniać…

Logger: homeassistant.components.mqtt.mixins
Source: components/mqtt/mixins.py:236
Integration: MQTT (documentation, issues)
First occurred: 12:44:02 (1 occurrences)
Last logged: 12:44:02

Manually configured MQTT binary_sensor(s) found under platform key 'binary_sensor', please move to the mqtt integration key, see https://www.home-assistant.io/integrations/binary_sensor.mqtt/#new_format

Nie działa również recorder ale nie wiem na razie o co chodzi…

EDIT:
Okazuje się, że instalowany samodzielnie pakiet PostgreSQL wyparował. Cóż czas chyba przesiąść się na zewnętrzną DB.

EDIT2:
Kłopotów ciąg dalszy, nie mogłem się dostać po FTP do katalogu AIS. Zmieniła się ścieżka dla niego, ponieważ zmienił się prefix w drzewie katalogów.
Obecnie to:
//data/data/com.termux/files/home
czyli dla FTP:

ftp://ais-dom.local:1024/data/data/com.termux/files/home/AIS 

@jolka - należało by poprawić dokumentację, pewnie takich miejsc po przejściu na repo Termux będzie więcej.

2 polubienia

A działa tobie panel aplikacji na bramce podlaczonej do tv? Bo u mnie nie. Wywołanie komend glosowych poprzez ps3 eye kamerkę jest taki ze reaguje bo jest dźwięk bip, ale nic nie rozpoznaje. Kamery onvif również nie działają. Na telefonie oraz tablecie ais panel działa.

Raczej nie można tego nazwać działaniem:

Poszło z konsoli, zobaczymy co dalej…

su -c "reboot now"

EDIT:
Jest słabo, nie działa przycisk przejścia do panelu aplikacji:

Sam panel u mnie nadal tak jak na screenie powyżej (biały ekran).
Czyli aplikacja panelu na bramce nie działa. Próba odinstalowania jej i zainstalowania na nowo pobranej z ota nic nie zmienia. Chyba coś z WebView się posypało. @jolka @Sebastian - możecie podpowiedzieć o co może chodzić?

Dokladnie mam to samo co na zdjęciu

Czy ktoś miał podobny problem po aktualizacji do Nikodem?

Logger: homeassistant
Source: components/stream/__init__.py:140
First occurred: 12:58:42 (1 occurrences)
Last logged: 12:58:42

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/camera/__init__.py", line 370, in preload_stream
    stream = await camera.async_create_stream()
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/camera/__init__.py", line 527, in async_create_stream
    self.stream = create_stream(
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/components/stream/__init__.py", line 140, in create_stream
    raise HomeAssistantError("Stream integration is not set up.")
homeassistant.exceptions.HomeAssistantError: Stream integration is not set up.

Logger: homeassistant.setup
Source: setup.py:184
First occurred: 12:58:06 (1 occurrences)
Last logged: 12:58:06

Setup failed for stream: Requirements for stream not found: ['ha-av==10.0.0b4'].

Przez te błędy nie przechodzi walidacji konfiguracja. Nie bardzo wiem z czym to powiązać. W domysłach mam integrację z palca pisaną dla Android IP WebCam i najnowsza integracja z HACS WebRTC Camera.
Brak w logach wyraźnego wskazania źródła problemu.

Sprawdź Generic Camera