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.
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.
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!
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)
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
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.
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
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.
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.