Home-Assistant Display - Wetterstation und mehr

 

Nachdem ich immer mehr Schalter, Lichter und Temperatursensoren in Home Assistant eingebunden habe, kam mir die Idee meine klassische Wetterstation durch ein Display fĂŒr Home Assistant zu ersetzen. Als Display habe ich ein altes Handy, die Home Assistant App und ein Rahmen aus dem 3D-Drucker verwendet.

Die angezeigten Daten werden von einem selbstgebauten NAS und Docker-Container mit HomeAssistant geliefert und stammen von einem ConBee ZigBee-USB-Stick und bestimmten WLAN GerÀten. Die Wettervorhersage stammt von der Home-Assistant - Integration "Forecast / Meteorologisk Institutt (Met.no)".

Temperatursensoren

FĂŒr die Bereitstellung der Temperatur habe ich Zigbee Aqara-Temperatursensoren im Einsatz:

auf amazon.de:

Aqara Temperatur- und Feuchtigkeitssenso...

VerfĂŒgbarkeit: Jetzt
Preis: 18,99 €
zum Stand: 23.04.2024 21:42
Details

 

In einer HĂŒlle, an einer geschĂŒtzten Stelle auf der Nordseite meines Hauses angebracht, liefert der Sensor auch beim Einsatz im Außenbereich verlĂ€ssliche Temperaturwerte. Ich hab den Sensor dazu wasserfest eingepackt, wodurch die Temperaturmessung zwar nicht beeintrĂ€chtigt wird, die Feuchtigkeitsmessung aber keine brauchbaren Werte mehr liefert. Die Sensoren funktionieren ĂŒber einen breiten Temperaturbereich hinweg: Einer der Sensoren liegt sogar in meinem Gefrierschrank. Auch wenn der Sensor im Gefrierschrank durch die niedrige Temperatur immer einen niedrigen Batteriestand anzeigt, funktioniert er dennoch lange Zeit ohne die Batterie wechseln zu mĂŒssen.

ESP32-Temperatursensoren

ZusÀtzlich zu den Aqara-Temperatursensoren verwende ich einen ESP32 und verkabelte DS18B20, sowie DHT11-Sensoren, siehe: DS18B20 Temperatursensoren ESP32, MQTT und WiFi - HowTo und DHT11-Temperatursensoren ESPHome.

Die Basis fĂŒr das Display: ein altes Handy

Wie bereits erwÀhnt besteht das Display aus einem alten Handy und einem Rahmen aus dem 3D-Drucker.

FĂŒr das Ladekabel habe ich ein Loch in die Wand gebohrt und im Nebenraum ein LadegerĂ€t platziert.

Installierte Apps

FĂŒr die eigentliche Anzeige habe ich am Handy die Home Assistant-App installiert: play.google.com/store/apps/details?id=io.homeassistant.companion.android&hl=de&gl=US.

In der App habe ich in den Einstellungen und Mobile App den Vollbildmodus eingeschaltet: "Vollbild" und "Bildschirm eingeschaltet lassen" aktiviert:

Vollbild: Header ausblenden: KIOSK Mode

Das HACS-Repository Kiosk Mode ermöglicht das Ausblenden des Header im Vollbildmodus

Der Kiosk-Mode kann fĂŒr bestimmte GerĂ€te oder User aktiviert werden, indem folgender Block zum YAML-Code des Dashboards hinzugefĂŒgt wird:

kiosk_mode:
  user_settings:
    - users:
        - Display
      kiosk: true
      ignore_entity_settings: true

Home-Assistant-View

Um möglichst viel Informationen auf dem kleinen Bildschirm anzeigen zu können, habe ich in HomeAssistant aus dem HACS-Repository das Paket lovelance-card-mod installiert, siehe: ha-gui#cardmod. Lovelance-card-mod ermöglicht das Anpassen der Elemente ĂŒber CSS-Styles, wodurch das Layout beliebig angepasst werden kann:

Zudem verwende ich das Paket lovelance-layout-card um den Bildschirm besser ausnĂŒtzen zu können. Mit dem Paket können Bereiche in beliebige Spalten und abhĂ€ngig von der Auflösung des GerĂ€tes eingeteilt werden:

 

📱 Hier ist der Link zu einem neuen Beitrag geplant: mein Dashboard: responsive Lovelance Cards fĂŒr alle GerĂ€te Push-Nachrichten erlauben?

Handy im Dauereinsatz: Der Akku sollte nicht dauerhaft geladen werden

Nach nur 5 Monaten Betrieb konnte ich eine leichte Wölbung am Display feststellen: Der Akku hat begonnen sich selbst zu zerstören und dadurch schlussendlich keinen Platz mehr im Handy:

Hier ein Bild mit dem neuen Akku:

Die Ursache ist sicherlich, dass der Akku dauernd auf 100 % geladen wird und damit stÀndig der maximalen Spannung ausgesetzt ist. Auf diese Weise habe ich innerhalb eines Jahres 2 Akkus zerstört.

Zwischenzeitlich hĂ€tte ich noch versucht das Handy ohne Akku, rein mit dem LadegerĂ€t zu betreiben, wodurch dieses mehr zu einem sehr schlechten Stroboskop wurde: Das Display hat immer nur kurz aufgeblitzt. Auch das Verlöten eines Mini-Akkus von einer Spielzeugdrohne konnte das Handy nicht starten. Aus diesem Grund habe ich jetzt nochmal einen neuen Akku besorgt. Damit der Akku dieses Mal hoffentlich lĂ€nger hĂ€lt, versuche ich den Ladestand zu steuern und das Handy im Bereich von 20-60% AkkufĂŒllstand zu betreiben:

Den Akku zwischen 20 und 60 % betreiben?

Wer die Home Assistant-App installiert kann damit sĂ€mtliche Daten des Smartphones an Home Assistant ĂŒbertragen. Einer der Werte, die dabei ĂŒbertragen werden, ist der Ladezustand des Akkus. Der Ladezustand ermöglicht das Steuern einer schaltbaren Steckdose, abhĂ€ngig vom Ladezustand. Unter 20 % soll das LadegerĂ€t eingeschaltet, ĂŒber 60 % ausgeschaltet werden.

Der Akkuzustand ist dann auch gleich eine zusÀtzliche Anzeige am Display:

Die maximale Spannung im Akku ist beim Laden auf 60 % sicherlich kleiner, was die Lebensdauer verlÀngern sollte. Dem entgegen wirken aber die vielen Ladezyklen, da der Akku jetzt mehrmals pro Tag nachgeladen werden muss. Damit das Handy möglichst langsam lÀdt habe ich das 1,3A LadegerÀt zuletzt gegen ein altes 0,5A LadegerÀt ausgetauscht. Das langsame Laden und weniger Ladezyklen sollte dem Akku entgegenkommen:

 

Wie sich das Laden auf Dauer auswirkt, wird sich zeigen. Sollte der Akku erneut den Geist aufgeben, werde ich das hier berichten.

App neu starten

So ca. einmal in der Woche wurde die Android-App zunĂ€chst langsamer, bis sie dann abgestĂŒrzt ist. Aus diesem Grund habe ich zur Automation fĂŒr das Laden auch noch eine Benachrichtigung fĂŒr den Neustart der App eingebaut: "command_webview". Die App wird jetzt bei jeder Änderung des Ladezustands prophylaktisch neu gestartet, hier die komplette Automation:

[+]
alias: display_load
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.display_battery_level
    below: "22"
    id: startLoad
  - platform: numeric_state
    entity_id: sensor.display_battery_level
    above: 60
condition: []
action:
  - if:
      - condition: trigger
        id:
          - startLoad
    then:
      - type: turn_on
        device_id: ???
        entity_id: switch.display
        domain: switch
    else:
      - type: turn_off
        device_id: ??
        entity_id:switch.display
        domain: switch
  - service: notify.mobile_app_display
    data:
      message: command_webview
      data: {}
    enabled: true
mode: restart

App unerwartet beendet: automatischer Start

Sollte die App unerwartet beendet werden, sinkt der Wert "App memory". Per Automatisierung, kann die App in diesem Fall automatisch wieder gestartet werden:

alias: Display-On
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.display_app_memory
    below: 0.011
condition: []
action:
  - service: notify.mobile_app_sm_a405fn
    data:
      message: command_webview
trace:
  stored_traces: 100
mode: single

ZusÀtzliche Informationen zu den Automationen, siehe: Home Assistant Automatisierung - Möglichkeiten & Grundlagen

Android-Version

Ein anderes Problem könnte in Zukunft die verwendete Android-Version darstellen. Mein altes Smartphone besitzt aktuell die Android-Version 7.  Die Home Assistant App kann derzeit ab Android Version 5 installiert werden. Sollten sich die Systemanforderungen fĂŒr die App Ă€ndern, könnte diese nicht mehr upgedatet werden und im schlimmsten Fall nach einem HA-Update gar nicht mehr funktionieren.

Styles werden falsch dargestellt

Sollten bestimmte Ansichten nicht richtig angezeigt werden, könnte das einer veralteten Rendering-Engine liegen. Bei Android ist die App: "Android-System-Webview" dafĂŒr verantwortlich und sollte gegebenenfalls aktualisiert werden.

Fazit

Als Display fĂŒr Home Assistant kann einem nicht mehr benötigten Smartphone neues Leben eingehaucht werden. Das Handy ist eine gĂŒnstige und einfache Lösung, der Dauerbetrieb allerdings nicht ganz unproblematisch fĂŒr den Akku.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂŒr deine Bewertung!

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details