FHEM Server auf einem Android Handy/Tablet/TV Box installieren

Begonnen von mumpitzstuff, 05 Juli 2018, 21:32:55

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Ich habe mal versucht auf einem alten Handy eine Linuxumgebung zu installieren und darauf einen FHEM Server laufen zu lassen, was mit letzendlich auch gelungen ist.

Warum? - Weil es Spaß macht...

Die Linuxumgebung läuft parallel zu Android. Man kann also das Handy weiterhin ganz normal nutzen. Die Installation verwendet chroot und nutzt deshalb den auf dem Handy vorhandenen Kernel. Dadurch ist sichergestellt, dass die Hardware auch vernünftig unterstützt wird. Der Nachteil daran ist, dass der Kernel mitunter recht alt ist.

Vorbereitungen:

  • ein Android Handy/Tablet oder Android TV Box mit root Zugriff
  • 2h Zeit

Vorgehen:

  • Stellt erst einmal sicher, das der root Zugriff funktioniert z.B. mit einem root Checker.
  • Installiert die App BusyBox free (Google App Store) und installiert Busybox im Pfad /system/xbin
  • Installiert die App Linux Deploy (Google App Store) und öffnet diese.
  • Wählt links Oben unter Repository debian_arm aus.
  • Wählt links Oben Einstellungen aus und aktiviert: WLAN aktiv halten und Wake lock.
  • Die folgenden 3 Punkte bezüglich ENV sind eventuell nicht notwendig. Lasst sie erst einmal aus und kommt darauf zurück, wenn die Installation nicht klappt.
  • Setzt den Pfad unter Verzeichnisse ENV auf: /data/data/ru.meefik.linuxdeploy/env
  • Setzt die PATH variable auf (muss mit BusyBox Pfad überein stimmen): /system/xbin
  • Drückt den Button: Update ENV
  • Wechselt wieder in den Hauptbildschirm und drückt den Button unten Rechts, um die Einstellungen für das Debian System zu öffnen.
  • Containerization method: chroot
  • Distribution: Debian
  • Architekture (Achtung: Hier bitte extrem aufpassen und die richtige Architektur wählen, sonst geht gar nichts (Armv7 = armhf und Armv8 = arm64)!: armhf
  • Distribution Suite: stretch
  • Installations typ: Datei
  • Installations Pfad (dieser Pfad kann bei jedem Handy etwas anders sein bzw. hängt davon ab, wo ihr die Datei anlegen wollt): /storage/extSdCard/debian.img
  • Image Größe (auf einer SD Karte mit fat32 MUSS hier ein Wert <= 4000 eingestellt werden! Vielleicht funktioniert auch eine mit ext4 formatierte SD Karte. Ich habe es inzwischen auch schon im internen Speicher mit einer Größe von 8GB probiert. Das klappt ebenfalls, weil der interne Speicher bereits mit Ext4 formatiert ist.): 4000
  • Dateisystem: ext4
  • Benutzername (root ist wichtig, damit man später über SSH auf root Zugriff hat): root
  • Benutzerpasswort: <beliebig>
  • Privileged users (Hier muss fhem eingetragen werden, sonst kann der server später die benötigten Ports nicht öffnen. Eventuell kann man das später auch durch die richtigen Gruppenzuweisungen umgehen und fhem nur die Internetrechte einräumen.): root messagebus fhem
  • SSH: enable
  • Die Einstellungen verlassen und oben Rechts installieren drücken. (Bitte unbedingt viel Geduld mitbringen! Es kann mitunter mehrere Minuten dauern bis der ein oder andere Schritt beendet ist. Am Anfang habe ich immer gedacht, die Installation wäre abgestürzt und habe zu früh das Handy neu gestartet.
  • Nach der Installation unten Links den Start Button drücken, um das Linux System zu starten.
  • Nun kann ein beliebiger SSH Client verwendet werden, um euch mit dem Server zu verbinden. Verwendet root als Username und das von euch in den Einstellungen gewählte Passwort.
  • Installiert den FHEM Server.
  • Wenn ihr das Linux System stoppt und dann wieder startet, müsst ihr gegebenenfalls FHEM neu starten mit: /etc/init.d/fhem start

Viel Spass!

Update 29.07.2018:

Inzwischen ist die Android TV Box vom Typ Sunvell T95z Pro angekommen und alles funktioniert auch hier problemlos. Die ENV Variablen musste ich definitv hier nicht neu schreiben und bei der Architekturauswahl muss man aufpassen. Hier muss man unbedingt arm64 auswählen, sonst läuft man wie ich irgendwelchen komischen Fehlern hinterher, die am Ende gar kein Problem mehr sind. Was ich noch nicht probiert habe ist, externe Hardware über USB anzuschliessen. Der Vollständigkeit halber werde ich das aber noch probieren.
Jetzt steht ein weiterer FHEM Server da, der mit 8 Cores und 3 GB RAM sowie 32GB internem Flash vor sich hin werkelt.

Meine bisher festgestellten Probleme sind folgende:

Ich habe FHEM noch nicht in den Autostart einbinden können und muss nach einem Restart der Box bzw. des Containers FHEM immer manuell starten. Außerdem scheint es nicht möglich zu sein das intern verfügbare Bluetooth Device anzusprechen. Das ist aber auch vielleicht nicht weiter verwunderlich, da es bereits von Android verwendet wird.

Hinweise:

Falls einem die Box zu warm wird, dann gibt es hier Möglichkeiten dem entgegen zu wirken. Man kann z.B. ein paar Löcher in den Deckel bohren, damit die Abwärme nach außen weg kann. Aber Vorsicht. Nicht einfach drauf los bohren, sondern das Ding vorsichtig öffnen und sich das Ganze zuerst von innen ansehen (die Schrauben sind unter den schwarzen Gummifüßchen versteckt). Unter dem Deckel befindet sich noch eine Metallplatte, die die Abwärme verteilen soll. Manchmal sitzt diese auch nicht richtig auf den Kühlrippen auf und man kann das relativ schnell und einfach beheben. Zusätzlich dazu kann dem den CPU Governor mit entsprechenden Apps auf Hotplug statt interactive stellen (nur für die 4 BIG Cores), damit diese im Idle auch mal ausgeschaltet werden. Meine Box hat ca. 47°C im Idle (ohne zusätzliche Maßnahmen).

Frank_Huber

Du musst echt Langeweile haben. [emoji23][emoji23][emoji23]
Super!

Gesendet von meinem Doogee S60 mit Tapatalk


mumpitzstuff

#2
Aktuell ist eine dieser 30-50€ China Android TV Boxen zu mir unterwegs. Auf diesen müsste sich FHEM genauso installieren lassen und dann hätte man für wenig Geld einen schnelleren Server mit mehr RAM. Gleichzeitig kann man alle anderen Funktionen auch noch nutzen, da der Hardware Support für Grafik und Prozessor usw. nicht verloren geht.
Ich werde berichten, wenn das Ding bei mir ankommen sollte.

accessburn

Wäre praktisch, man könnte sich ein zusätzliches Tablet für FTUI sparen.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Shadow3561

Das ganze habe ich auch hinter mir.
https://forum.fhem.de/index.php/topic,46437.msg383858.html#msg383858

Habe es aber wieder verworfen weil die Hardware irgendwann zu langsam wird.
System-Updates waren auch so eine Sache.
Habe mir letzendlich einen NUC gekauft und seit dem ist Ruhe und genug Reserven hat er auch.

Trotzdem Respekt und gutes Gelingen mit der TV-Box.

Mit freundlichen Grüßen

mumpitzstuff

Wie versprochen das Update mit der TV Box (habe den ersten Beitrag angepasst). Funktioniert ebenfalls problemlos und rennt jetzt seit 3 Tagen gemütlich vor sich hin. 8 Cores, 3GB RAM und 32GB Flash sind auch schon mal eine Hausnummer, wobei natürlich das immer noch laufende Android auch einen Teil verschlingt. Dafür verliert man dann aber nicht die Möglichkeit, das Ding weiterhin als Streaming Box zu verwenden. Wenn man komplett Linux drauf installiert, ist vielleicht der Hardwaresupport für die Video Codecs futsch.

Gisbert

Hallo mumpitzstuff,

vielen Dank für deinen interessanten Beitrag.
Ich habe derzeit einen RPi 3B im Einsatz, der wegen diverser Zusatzaufgaben so langsam an seine Grenzen stößt.

Es gibt anscheinend viele verschiedene Möglichkeiten, ein neues System aufzusetzen. Eine weitere wäre gebrauchte HP Thin Clients einzusetzen.

Womit würde ein technisch minder Begabter wie ich eher zurecht kommen, auch unter der Berücksichtigung von Installationen wie VPN, UniFi-Controller, ...?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

mumpitzstuff

Ein System auf Linux Deploy Basis würde ich nur einsetzen, wenn ich komplett auf externe Hardware wie Bluetooth Dongles, CUL usw. komplett verzichten kann. Hier gibt es mit Sicherheit zu viele Einschränkungen in dieser Hinsicht, da immer das Hostsystem (also Android selbst) die Treiberunterstützung mitbringen muss.

Wenn man ein vollständiges Linux darauf installiert, sieht das vielleicht schon wieder anders aus, aber auf das Experiment würde ich mich als Anfänger nicht einlassen. Dazu sollte man dann schon etwas Vorwissen mitbringen. Ich selbst würde das Ding jetzt nicht als Produktivsystem einsetzen, das sehr stabil sein sollte. Eher als Spielwiese oder als Server für Dinge, die nicht Lebensnotwendig sind. An der Stelle fehlt mir aber auch schlicht die Erfahrung, wie sich ein solches System im Alltagsgebrauch schlagen würde.

Falls ein Pi zu klein geworden ist, würde ich entweder über einen zweiten nachdenken, dann die Aufgaben verteilen und die Ergebnisse auf einem Gerät z.B. mittels FHEM2FHEM zusammen fassen. Alternativ kann man auch beliebige andere Server einsetzen, sollte aber darauf achten, das diese auch eine Linux Installation zulassen. Bei vielen Systemen gibt es hier Probleme. Gute Erfahrungen habe ich mit älteren Business Notebooks von Lenovo ab T420/520 aufwärts gemacht. Die gibts für wenig Geld in der Bucht und eigenen sich sehr gut auch als Server für verschiedenste Aufgaben.

Beta-User

Finde das Experiment hier auch spannend, mein FHEM saß eine Zeitlang auf einer TV-Box (S905 mit 2 GB RAM und 8GB eMMC), Linux war auf dem eMMC installiert.

Von daher würde ich die Einschätzung teilen, dass die direkte Verwendung mit Linux eher was für Experten ist. Schon alleine die Verwaltung des eMMC-Speichers ist "gewöhnungsbedürftig"; updates usw.: alles ungewiss. Von daher würde ich eher zu einer der offiziell von Armbian unterstützten Plattform greifen (Le Potato oder Rock64), wenn es was anderes wie ein Pi sein soll (ich wollte unbedingt weg von den SD-Karten...).

Die Idee mit dem Lenovo-Laptop ist auch gut, ich bin mit meinem ThinClient (hp T5470) ganz zufrieden, (und soweit bekannt auch andere, die das ebenfalls gemacht haben). Die Bastelei hält sich eigentlich in Grenzen, aber dennoch würde ich heute eher zu einem Modell greifen, dass direkt mit einer SSD umgehen kann, also für deren Einab bereits vorbereitet ist. Die Nachfolge-Modelle mit AMD-Prozessor brauchen halt etwas mehr Strom.

Bei Interesse: es gibt dazu sowohl einen Thread, in dem der Werdegang beschrieben ist (und die (kleinen) Stolpersteine, über die ich und andere gefallen bin, das Kondensat auch mit Verbrauchsangaben findet sich auch im Wiki. In dem Thread gibt es auch einen Link zu meinen Erfahrungen mit der TV-Box@Linux.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files