Planowane zmiany w aplikacji mobilnej

Planowane zmiany w aplikacji mobilnej

Plan dostosowania aplikacji mobilnej do nowych mechanizmów w Home Assistant.

Autentykacja

Nasza aplikacja mobilna to ‘‘ramka’’ do aplikacji webowej, dlatego logowanie do Asystenta domowego w aplikacji mobilnej jest takie samo jak w aplikacji webowej.

Pracujemy nad nowym rozwiązaniem, które będzie bardziej podobne do tego, co obecnej jest w oficjalnej aplikacji Home Assistant. Planujemy wykorzystać te same mechanizmy w celu generowania webhooka a następnie przesyłania informacji zwrotnych z aplikacji mobilnej do bramki (raportowanie lokalizacji) oraz do przesyłania powiadomień z bramki do aplikacji mobilnej.

Schemat autentykacji bazujący na mechanizmie IndieAuth. zastosowanym w Home Assistant.

Rejestracja urządzenia

Aplikację mobilną zarejestrujemy automatycznie w integracjach:

Powiadomienia

Mamy już nowy komponent - mikro serwer do wysyłania wiadomości z bramki AIS dom do klientów mobilnych za pośrednictwem naszego portalu integratora - chmury

Sterowanie odtwarzaczami

W naszej aplikacji mobilnej dostarczamy odtwarzacz, dzięki czemu można do telefonu czy tabletu wysłać audio z bramki. Obecnie działa to tylko w lokalnej sieci (tak jak cast). Idea była taka, żeby wysyłać audio do tabletu, który mamy w kuchni czy na ścianie w salonie.
Nie jest to do końca jasne dla użytkowników (dlaczego czasami działa ‘w lokalnej sieci’ a czasami nie ‘jak jesteśmy w innej sieci’). Jak będziemy mieli już komunikację - wysyłanie wiadomości do aplikacji z bramki to będzie można tę funkcjonalność zrobić bardziej funkcjonalną.

Raportowanie lokalizacji

Wiemy, że mało kto poradził sobie z poprawnym ustawieniem raportowania lokalizacji. Nie jest to prosty temat, dodamy tę funkcjonalność do aplikacji mobilnej - jeżeli użytkownik aplikacji mobilnej wyrazi zgodę, to będzie mógł raportować swoje położenie do bramki, będzie też można zapytać z bramki o aktualną lokalizację telefonu użytkownika.

4 polubienia

Dzieki za info.

Czy to oznacza ze nie bedzie trzeba instalowac domyslnej aplikacji Home Assistant zeby miec lokalizacje telefonu?

Tak byśmy chcieli (żeby było łatwiej z raportowaniem lokalizacji), rozwiązanie HA jest coraz bardziej dojrzałe i rozwija się bardzo szybko (jak wszystko związane z HA). Jak zaczęliśmy pracę nad naszą mobilną apką, to nie było jeszcze apki mobilnej do HA na Android, teraz jest i ma fajne funkcjonalności.

Ostatecznie być może połączymy kody tych 2 apek i w ten sposób będziemy mogli mieć na bieżąco wszystkie fajne rzeczy z HA przy zachowaniu naszych funkcjonalności do głośnika (komendy głosowe, skanowanie qr kodów, sterowanie odtwarzaczem, gesty).

Robimy pewne eksperymenty w tym temacie na tym repo - każdy programista Kotlin mile widziany!

1 polubienie

Świetne pomysły :+1:
Jestem za :slight_smile:

1 polubienie

Jak najbardziej przydatne, zaoszczędzi to zużycie baterii. Dla pełni szczęścia aby wszystko było w jednej waszej apce to jeszcze Push Notifications
Coś jak oryginalna apka do HA która ma powiadomienia albo coś bardziej rozbudowanego wraz z wysyłaniem zdjęć coś jak Pushsafer/Slack itp (Integrations - Home Assistant)

Tak, push notifications byloby swietne pod katem monitoringu domu/mieszkania.

tak, powiadomienia == push notifications

komponent po stronie serwera gotowy :slight_smile:

1 polubienie

Ups… czytanie ze zrozumieniem ma przyszłość :wink: hehe faktycznie nie zauważyłem tego :slight_smile: Super ! :slight_smile:

Czy będzie też raportowanie stanu baterii?

Już jest :slight_smile:

czy jest szansa, że w aplikacji AIS lokalizacja będzie działała lepiej lub da się bardziej skonfigurować? korzystam z mobilnej HA do lokalizacji, czasem działa świetnie, a nieraz raport lokalizacji pojawia się po kilku godzinach :frowning:

Właśnie próbuję znaleźć rozwiązanie problemu i widzę, że nie jestem sam. Jeden z domowników 2h temu wyjechał , a dalej zaznaczony jest na mapie w domu. Też korzystam z HA

A czy powodem nie jest czasem ubijanie aplikacji HA przez Androida? Tez tak mialem, u mnie pomoglo dodanie aplikacji HA do autostartu i oznaczenie jej jako aplikacji, ktora powinna byc caly czas uruchomiona.

Ten telefon, z którym są problemy to iPhone. Androidy na razie siedzą w domu :wink:

Staram sie unikac iPhone’ow wiec nie jestem ekspertem. Ostatnio w pracy koledzy robili analize pod katem aplikacji, ktora zbiera info o lokalizacji i wysyla je na serwer.
Wyszlo na to ze Apple raczej nie lubi aplikacji, ktore udostepniaja dane o lokalizacji (jesli nie sa to aplikacje typu nawigacja) i tego rodzaju funkcjonalnosc w najlepszym przypadku dziala nieprzewidywalnie, w najgorszym nie bedzie dzialala wcale :slight_smile:

Co zrobić jak się ktoś uprze na iPhona i jeszcze sam sobie na niego zarobi. O problemach z lokalizacją i wykrywaniem obecności w domu (na podstawie zalogowania do wi-fi) wiedzieliśmy. Myślałem, że HA i AiS sobie z tym poradzi. Mam nadzieję, że to jakieś przejściowe problemy. Działało kilka dni bez zarzutu.
edit
Przed chwilą próbowałem zalogować się zdalnie do bramki i nie było to możliwe. Może tu leży problem?
edit 2
Zrobiłem restart bramki. Pomogło.

Wszystko ustawione jak należy. Problem dotyczy dwóch telefonów w domu: android oraz iphone.

testujemy powiadomienia w aplikacji mobilnej :slight_smile:

Jeżeli ktoś chce dołączyć to zapraszamy, tu jest instrukcja:

  1. aktualizujemy bramkę na kanale beta do wersji 0.109.4b0
    image

  2. aktualizujemy aplikację mobilną do wersji 1.1.5.Notify, dostępnej na OTA

:warning: Możliwe, że przed instalacją z OTA, trzeba będzie odinstalować wersję aplikacji pobraną z Google Play.


  1. Wylogowujemy się z aplikacji na telefonie i ponownie logujemy


  2. Po ponownym zalogowaniu w aplikacji Asystent domowy pojawi się integracja z telefonem


    ważny jest ten zaznaczony identyfikator - trzeba go skopiować

  3. Testowe wywołanie usługi z Narzędzi deweloperskich


    możemy wypełnić przykładowymi danymi ale :warning: ważne jest żeby device_id było takie jak skopiowaliśmy wcześniej**

  4. Wywołujemy usługę i sprawdzamy telefon

Powodzenia :slight_smile: :crossed_fingers:

1 polubienie

Okazało się, że jeżeli ktoś miał 2 takie same modele telefonów to identyfikatory nie generowały się unikalne i wiadomość wywyłana była zawsze na ten ostatnio dodany.

Już jest poprawka 1.1.6.Notify

teraz identyfikator każdego urządzenia mobilnego będzie na 100% unikalny

Upgrade aplikacji nie zadziałał:

  • instalacja przebiegła ok
  • wersja aplikacji się nie zmieniła
  • integracja się nie pojawiła

Odinstalowałem aplikację i zainstalowałem nową wersje 1.1.6Notify

  • Oczywiście musiałem ponownie skonfigurować aplikację, więc fajnie żeby jednak upgrade działał w przyszłości
  • Integracja się pojawiła
  • Działa notyfikacja ais_ai_service.mob_notify z podanym id urządzenia
  • Działa notyfikacja do wszystkich urządzeń notify.notify