Günstiges Home Assistant Display – der zweite Versuch

Inzwischen ist der zweite günstige digitale Bilderrahmen von Amazon angekommen. Also kann das Abenteuer weiter gehen ein möglichst günstige Display bzw. Wallpanel für Home Assistant zu finden.

Diesmal habe ich ein anderes Modell genommen. Wieder 15.6″ mit Frameo Software, das ist wichtig weil man dort schon in der Oberfläche in der Regel den ADB Zugang aktivieren kann. Außer man bekommt ein Modell wo der USB Anschluss scheinbar nicht zur Datenübertragung taugt. So war es bei mir zuletzt der Fall. Ich habe nun folgendes Panel gekauft: https://www.amazon.de/dp/B0FC26S5QS

Mit einem Gutscheincode der automatisch angewandt wurde habe ich das Teil für ca. 85€ bekommen.

Dafür bekommt man: einen 15,6″ Touchscreen und als Unterbau einen RK3326, 1GB Ram und 32GB Flash. Ja keine Traumaustattung aber für Home Assistant ist es gerade erträglich.

Was man nicht bekommt: Akku (war ja auch der Plan), Kamera, Näherungssensor, Google Play Services, und auch kein Homebutton (das kann unter Android manchmal nervig sein).

Hier mal ein paar Bilder zu dem Rahmen, soweit so unspektakulär. Es ist halt günstiger Kunststoff und der Rahmen hat keine ausgefallene Form.

Schwarzer digitaler WLAN-Bilderrahmen mit großem, ausgeschaltetem Display.

Auf der Rückseite gibt es die Möglichkeit den beiliegenden Standfuß anzubringen, des weiteren kann man den Rahmen auch an einen Nagel oder eine Vesa Halterung hängen. Leider ist hinter auch der Powerbutton, da man diesen benötigt um das Display komplett abzuschalten und das Gerät danach wieder aufzuwecken ist die Positionierung eher Suboptimal. Im Gegensatz zum anderen Rahmen gibt es weder einen Hersteller noch eine FCC ID auf dem Typenschild.

Rückseite des digitalen WLAN-Bilderrahmens mit Ein-/Aus-Taste, Wandhalterungen und Typenschild.

Hier sieht man das Anschlußpanel. SD- Kartensteckplatz, Kopfhörer Anschluss, eine USB-A Buchse, USB-C Buchse (hier gibt es auch Kontakt zu ADB) und eine Rundsteckerbuchse für das Netzteil. Mitgeliefert wird ein 12V / 2A Netzteil.

Detailansicht der Anschlüsse des digitalen Bilderrahmens mit SD-Kartensteckplatz, USB-A-Anschluss, USB-C-Anschluss, Kopfhöreranschluss und Rundsteckerbuchse für die Stromversorgung.

Was die Verbrauchswerte angeht: im normalen Betrieb mit 100% Display Helligkeit liegt das Gerät irgendwo zwischen 6-8 Watt je nach Auslastung. Ist das Display abgedunkelt sind es 3-4W, hat man das Display komplett ausgeschaltet kommt das Gerät mit 1,3-1,5W aus. Alles gemessen mit meinem KD302.

Aber wir wollen ja unsere eigene Anwendung, in meinem Fall Home Assistant, aber es geht auch sowas wie Immich Frame etc. auf dem Gerät laufen lassen. Und das gehen wir jetzt an. Wie immer: manchmal muss man ggf. selbst das Gehirn einschalten wenn etwas nicht auf Anhieb klappt.

Vorraussetzungen:

  1. Ein Computer, Laptop etc. mit Linux, MacOS oder Windows
  2. Ein USB-A auf USB-C Kabel. USB-C auf USB-C habe ich nicht getestet weil solche Geräte die USB-C Spec oft sehr rudimentär umsetzen
  3. Installierte Android Debug Bridge, kurz adb. Für die Installation gibt es etliche Anleitungen im Netz.

ADB sowie Wireless ADB aktivieren:

Das erste was wir machen ist ADB auf dem Gerät zu aktivieren. Dafür schließt Ihr den Bilderrahmen via USB an euren Rechner an und startet Ihn. Geht den Setup Assistenten durch und konfiguriert erst einmal nicht das Wlan. Das führt dazu das die Frameo App sich erstmal nicht updaten kann. Man weiß bei neueren Versionen ja nie was diese für Überraschungen mit sich bringen.

Geht in der Frameo App in die Einstellungen->Über und aktiviert dort das Beta Programm und adb.

Mittels:

adb connect

auf eurer Kommandozeile solltet Ihr euch mit dem Rahmen verbinden können. Nun sollte ein Popup auf dem Rahmen erscheinen wo Ihr die Verbindung bestätigen müsst. Ich würde hier auch anhaken das ihr dem Rechner immer vertraut. Kommt das Popup nicht dann schaltet adb in den Settings noch mal aus und wieder an, danach kam auch bei mir das Popup beim nächsten Verbindungsversuch. Nach jedem Reboot müsst Ihr euch mit adb connect wieder anmelden!

Mittels:

adb shell

kommt ihr nun auf die Shell des Rahmens, gebt ihr su ein dann solltet Ihr direkt root sein. Das könnt Ihr mit dem Befehl whoami überprüfen. Mit root Zugriff können wir nun alles auf dem Gerät machen was wir wollen, oder wir machen es total kaputt. Alle Befehle die ein adb vorangestellt haben werden auf der Kommandozeile eures Rechner ausgeführt, Befehle ohne vorangestelltes adb werden in die Kommandozeile des Rahmens eingegeben.

Nun wollen wir das adb nach dem Start standardmäßig via Wlan verfügbar ist. Das ist kein muss und birgt auch Risiken! Aber es ist halt auch praktisch. Also führt in der Shell auf euren Rahmen folgendes als root (also nachdem Ihr su eingegeben habt aus):

setprop persist.adb.tcp.port 5555

Das ist jetzt aber nur die halbe Miete. Diese Geräte haben die echt nervige Angewohnheit Ihre Mac Adresse bei jedem Boot zu randomisieren, also muss eine feste IP her. Darum kümmern wir uns aber wenn wir die Frameo App nicht mehr brauchen und diese deaktivieren können. Vorher habe ich dem Rahmen kein Wlan gegeben.

Launcher installieren, Frameo Software deaktivieren und Webview updaten

Das erste was ich gemacht habe ist einen Launcher zu installieren. Den gibt es in dem Sinne auf dem Gerät ja nicht, bzw. die Frameo App übernimmt das. Aber die wollen wir ja loswerden. Ich habe mich dazu entschlossen den OLauncher zu verwenden. Der ist sehr minimalistisch, aber stürzt im Gegensatz anderen getesteten Launchern nicht ab. Also ladet euch die APK, und wechselt auf eurer Kommandozeile in den Ordner wo diese liegt. Dann könnt ihr mit folgenden Befehlen die Datei installieren und das Drücken des Home Button simulieren.

adb install Olauncher.apk
abd input keyevent 3

Nun sollte eine Abfrage kommen welche Starter App Ihr verwendet wollt. Klickt OLauncher an und wählt „für immer“. Wenn Ihr den Rahmen nun neu startet dann sollte der Rahmen in den OLauncher starten. Wenn Ihr von unten in das Bild swiped dann seht ihr alle installierten Apps. Bis auf die Einstellungen App ist da nicht viel interessantes.

Übrigens könnt Ihr die Einstellungs App auf jederzeit mit folgendem ADB Befehl aufrufen:

adb shell am start -a android.settings.SETTINGS

Hier könnt Ihr unter Apps & Benachrichtigungen -> Erweitert -> Standard Apps auch die Startapp wählen bzw. ändern.

Da wir nun einen neuen Launcher haben können wir die Frameo App deaktivieren:

adb shell su
pm disable net.frameo.frame
exit
adb reboot

Nun sollten wir noch die Webview Komponente des installierten Android 8 aktualisieren, sonst rendert die Home Assistant Companion App nicht richtig. Installiert ist Version 60, aktuellste Version für Android ist, Stand August 2026, Version 138. Die aktuelle Version können wir uns von APK Mirror besorgen. Nehmt die kombinierte APK Version. Mit folgenden Befehlen können wir die Webview Komponente dann austauschen (danke an das ImmichFrame Team).

adb push webview.apk /sdcard/webview.apk
adb shell su
mount -o rw,remount /system && cp /system/app/webview/webview.apk /system/app/webview/webview.apk.bak
mount -o rw,remount /system && rm -rf /system/app/webview/oat
mount -o rw,remount /system && cp /sdcard/webview.apk /system/app/webview/webview.apk
exit
adb reboot

Nach dem Reboot sollte die neue Webview Version installiert sein. Das könnt Ihr in der Settings App verifizieren. Schaltet euch dafür die Entwickleroptionen frei (Mehrfaches Drücken der Build Number im Über Menü, dürfte bekannt sein) und schaut dann nach der WebView Implementierung.

Wlan einrichten

Bisher hat unser Gerät noch keine Wlan Verbindung das können wir jetzt ändern. Ruft entweder über den Launcher oder via ADB die Settings App auf und meldet das Gerät in eurem Wlan an. Setzt am besten direkt eine feste IP, und ggf. ein falsches Gateway wenn Ihr nicht wollt das das Gerät den Weg ins Netz findet. Ob das falsche Gateway respektiert wird kann ich jedoch auch nicht sagen.

Der Hersteller hat hier nämlich schlecht gearbeitet. Bei jedem booten kriegt der Rahmen eine neue MAC Adresse (die letzten vier Stellen sind immer anders). Ich dachte bisher das liegt an einem Android Privacy Feature. Dem ist nicht so. Anscheinend hat der Hersteller einfach keine MAC Adresse eingebrannt und so würfelt sich Android die Mac nun selber. Etwas was man auch bei billigen TV Boxen etc kennt.

Derzeit habe ich noch keine Ahnung wie ich das ändern kann. Das ist natürlich blöd wenn man dem Gerät in einer Fritzbox den Internetzugang versagen will, denn die verlässt sich auf die MAC Adresse.

Home Assistant installieren

Wenn man bis hier hin gekommen ist dann ist der Rest auch kein Problem mehr. Man besorge sich die aktuelle Version der Home Assistant Companion App aus deren Github Repo. Holt die wirklich bitte daher, die FDroid Version ist idR immer ein bisschen älter und ist bei mir auch abgestürzt. Ladet bitte die app-minimal-release.apk das hat den Grund das diese ohne die Google Play Services auskommt die auf dem Gerät nicht installiert sind.

Installiert die Datei via adb:

adb install app-minimal-release.apk

Danach könnt Ihr die App über den Launcher starten. Meldet euch dann bei eurer Home Assistant Instanz an. Über die Einstellungen der Companion App könnt Ihr diese dann als Startapp zulassen und darunter dann auch als Start App setzen. Beim Reboot des Gerätes sollte jetzt automatisch die Home Assistant Companion App starten.

Screen automatisch abdunkeln

Einen kurzen ADB Befehl möchte ich hier noch einmal erwähnen. Und zwar kann man den Screen nach einer gewissen Zeit in den Ruhemodus schicken. Leider geht der Screen dann nicht ganz aus sondern dimmt nur. Der passende Befehl der die Zeit in Millisekunden! setzt ist folgender (setzt den Timer auf 2 min):

adb shell settings put system screen_off_timeout 120000

Der maximal Wert ist übrigens 2147483647.

Das spart schon einmal gut Energie, aber eigentlich ist der Plan das Display abzuschalten.

Okay das war es bis hier hin. Der Rest der Arbeit muss jetzt in Home Assistant erfolgen und die Sache ist beileibe noch nicht fertig. Aber es ist ein Anfang.

Björns Techblog
Björns Techblog
@blog@blog.sengotta.net
355 Beiträge
74 Folgende
Fediverse-Reaktionen

Kommentare

  • @blog
    /Sub

  • Schreibe einen Kommentar