Verbindungsprobleme mit dem HomeAssistant

  • 4 Antworten
  • Letztes Antwortdatum
maschoDE

maschoDE

Neues Mitglied
0

HomeAssistant verbindungs Problem​

Halle erstmal, ich bin Marco und neu hier, direkt mit einem Problem!


Mein Smartphone ist ein Google Pixel 8 - Android 16
Ich besitze einen Home Assistant Server der auf einem HP-T630 läuft
Der Server ist mit dem Internet über eine duckdns verbunden und mit dem Smartphone im lokalen Netzwerk sowie von außerhalb ganz normal ohne Einschränkungen zu erreichen.

Mein Problem sieht nun wie folgt aus:
Zum Beispiel:

In einem Anwendungsbereich möchte ich überwachen , ob mein Smartphone Lädt oder nicht.

Im Dashboard habe ich eine Karte mit der Verknüpfung zum Smartphone angelegt, bei der ich bestimmte Parameter und Aktionen des Smartphones ablesen kann, unter anderem, ob das Gerät gerade Läd oder nicht.
(“charge type” - “none” oder “ac”)

Mir ist allerdings aufgefallen, das die Anzeige nicht immer stimmt und hab auch herausgefunden wieso diese nicht immer stimmt.

Die Home Assistant App verbindet sich durch Web Zugriff auf den Server und beim beenden der App, also nicht direkt, sonder wenn die App eine längere Zeit im Hintergrund gelaufen ist, dann bricht diese Verbindung ab.

Bemerkbar macht sich das dann auch, wenn man erneut die HA-App öffnet, sich eine Info im unteren Bereich des Bildschirms blicken lässt, in der steht sowas wie “erneut verbunden”.

-----

Eine Automation, in der auf dem Smartphone zugegriffen werden soll (z.B. bei An- und Abwesenheit), ist somit nur bedingt möglich.. und zwar während ich die App benutze und kurz danach, bis sie einschläft, dann nichtmehr.

Heist im Umkehrschluss, mein Smartphone liegt auf dem Tisch, ich pack es ein weil ich los muss, und verlasse das Haus oder löse es vom Ladegerät oder, oder, oder.. und keine damit verbundene Automation reagiert, sollte ich nicht unmittelbar davor die App geöffnet haben, damit eine Verbindung zum Server hergestellt wurde.

Wie löse ich das, das die Verbindung dauerhaft bestehen bleibt?

(Am Smartphone und in der HA-App wurden schon sämtliche Berechtigungen erteilt und Akku/Energiespar-Optionen eingestellt um die App dauerhaft im Hintergrund mit Internetzugang laufen zu lassen. - ohne Erfolg!)

Ich freu mich über jede Hilfe und bedanke mich schonmal im Vorraus
:slight_smile:
 
Für mich hört sich das so an, dass Du etwas machen willst, was von den Machern von Home Assistent so nicht vorgesehen ist. Ich habe OpenHAB am laufen und nicht HA. Denke aber, dass die Systeme grundsätzlich vergleichbar sind. Ich käme niemals auf die Idee, automatische Steuerungen auf die Endpoints zu legen. Das gehört auf die Smarthome-Steuerung und nicht aufs Smartphone.
Wenn Du wissen willst, ob Dein Smartphone im WLAN eingebucht ist oder nicht, gibt es andere Möglichkeiten, als eine aktive App-Verbindung. Entweder frägt man den Router ab oder nutzt notfalls sowas wie Ping.
Aber selbst wenn die HA App sowas vorsehen würde, würde ich es nicht nutzen wollen, weil die App dann ständig laufen müsste.
 
Das ist doch garnicht das Problem von dem.ich gesprochen habe.. 🤔

In meinem Anwendungsbeispiel frägt HomeAssistant OS auf einem Server den Status vom Smartphone ab.

HomeAssistant läuft als OS auf einem Server. Und die Verbindung der HomeAssistant-App auf dem Smartphone zum Server bricht ab, weil die App nach einer gewissen Zeit, nachdem ich sie nicht nutze, einschläft.

Dadurch kann der Server keinen Status der Entitäten mehr abfragen.

Natürlich ist das von den machern so vorgesehen, weil das der übliche weg ist, den Status von einem anderen Gerät ab zu fragen.

Mit, ob ich wissen will ob mein Smartphone mit dem Wlan verbunden ist, hat das nichts zu tun..
 
Ich denke schon, dass wir vom gleichen sprechen.
 
@maschoDE

Wie löse ich das, das die Verbindung dauerhaft bestehen bleibt?
Das ist so in der Konstellation aus mehreren Gründen dauerhaft nicht möglich - denn ein mobiles Betriebssystem ist grundsätzlich nicht dazu gedacht. Und je höher die Android Version, desto restriktiver wird es.

Die App hat auch zusätzlich einen eigenen LifeCycle Mechanismus (Resume/Pause/Stop) die die Verbindung zum HASS regelt. Das macht auch Sinn.
Da kannst du X mal die Akkuoptimierung/Hintergrundaktivität setzen => zwecklos für dein Ziel.

Dein beschriebener Workflow in Post#1 ist also das korrekte Verhalten der App - denn sie ist so programmiert.


Du könntest das aber annähernd ändern, indem du Dir den Source im LifeCycle entsprechend anpasst .
GitHub - home-assistant/android: Home Assistant Companion for Android

Das würde aber dann auch nur schlecht als recht funktionieren, denn systembedingt sind die Arbeitsfenster einer Smartphone-App im IDLE-Modus nicht sicher, und die Pausen dazwischen vergrößern sich.
Zu deutsch : Nur sporadisch eine Verbindung zu HASS.


Oder du müsstest Dir eine eigene Foreground-App mit viel Aufwand bauen, die aktiv Daten periodisch an einen separaten Endpunkt pusht (Broker)
Aufwand deshalb, weil du auch hier das IDLE/DOZE "Feature" des Systems bewältigen musst. Unter Android 16 erst recht tricky und hätte entsprechenden Akkubedarf.

Hier würde aber m.E. mit Kanonen auf Spatzen geschossen werden.



Natürlich ist das von den machern so vorgesehen, weil das der übliche weg ist, den Status von einem anderen Gerät ab zu fragen.
Richtig, aber nur von statischen Geräten mit eigenem Endpunkt (REST-API/MQTT etc)
Du möchtest aber im Prinzip über eine App den umgekehrten Weg gehen - der entscheidende Unterschied.

Daher wäre dein Wunsch nur dann 100% zuverlässig, wenn Du einen eigenen Daemon (keine App) im Kernel des Pixel 8 platzierst.
Nicht auf VM Ebene.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: wolder
Zurück
Oben Unten