Installationsskript für die manuelle Installation von Homebridge auf einem Raspberry Pi

  • Guten Abend zusammen,


    wie in einem anderen Thread schon erwähnt, habe ich heute Nachmittag ein Installationsskript für die manuelle Installation (ohne App) auf einem Raspberry Pi erstellt.


    Was macht das Skript:

    • Update von Raspbian (wenn gewünscht) und RPI Firmware
    • Prüfung auf Raspberry Hardware Version (Raspi 1, 2, 3 oder Zero, wird bei der NodeJS Installation berücksichtigt)
    • NodeJS in gewünschter Version installieren, wenn keine Version angegeben wird, wird automatisch die 7.6.0 installiert
    • libavahi DNS installieren
    • aktuellste Version von NPM
    • Homebridge aktuellste Version
    • Fragt gewünschte Plugins und Version ab, welche dann installiert werden. Wenn keine Version angegeben wird, wird automatisch die "latest" installiert
    • Wenn gewünscht kann ein Backup einer alten config.json eingespielt werden oder es wird eine Default config.json im Verzeichnis /var/homebridge abgelegt
    • Dienstkonfiguration, sodass die Homebridge beim Boot gestartet wird (Systemd Dienst)
    • Legt auf den Desktop des aktuellen Benutzers einige Skripte ab, die zum Start, Stop und Restart des Dienstes dienen. Sowie eins um das Homebridge Log zu öffnen
    • Wenn gewünscht kann der VNC Server aktiviert werden, sodass über VNC auf den Desktop zugegriffen werden kann und der Raspberry Pi über GUI gesteuert werden kann. Hierzu bitte einen aktuellen VNC Viewer herunterladen und auf den Pi über die IP mit dem Port 5900 verbinden (Sollte so aussehen: 192.168.100.9:5900)
    • Abschließend noch ein Reboot (wenn gewünscht)

    Kann als Pi User ausgeführt werden. Entweder per "bash <Pfad zum Skript>" oder die Datei HomebridgeInstall in den Dateieigenschaften als ausführbar speichern und per Doppelklick und im Terminal ausführen. Beim Ausführen über SSH darauf achten die Datei HomebridgeInstall nicht per "sudo bash <Pfad zur Datei>" sondern ohne das sudo aufzurufen. Innerhalb des Skripts wird eh alles mit sudo erledigt, wo es nötig ist, daher beim starten nicht nötig.

    Der "files" Ordner muss auf der selben Ebene liegen wie das Shell Skript.

    Der Vollständigkeit habe ich auch ein Uninstallskript in Version 1.1.0 hinzugefügt. Dies funktioniert nur wenn auch über das Installationsskript vorher installiert wurde.



    ToDo's:

    • config.json Backup einspielen => in Version 1.1.0 enthalten
    • bestimmte Pluginversion installieren anstatt die neueste (vor allem für harmonyhub aktuell interessant) => in Version 1.1.0 enthalten
    • eventuell: Config für Plugins abfragen (hier muss ich prüfen in wie weit das über Terminal oder ssh Sinn macht bzw. geht an dieser Stelle)
    • Vorbelegung NodeJS Version (vor allem für Benutzer die die Versionen nicht kennen) => in Version 1.1.0 enthalten
    • Changelog anlegen


    Downloadlinks:

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)

    22 Mal editiert, zuletzt von Roman.Sch () aus folgendem Grund: neue Links zu den Downloads

  • Besten Dank, werde es morgen mal auf meinem Test Pi ausprobieren:thumbup:


    Wie sieht es mit einer Beschreibung aus wie und wo das Skript ausgeführt werden muss?

  • Maz nein VNC läuft nicht über SSH. Ist ein eigenes Protokoll. Hierbei wird auch die GUI von PIXEL auf dem Raspberry übertragen. Natürlich kannst du hier genauso wie über SSH das Terminal nutzen.


    Maik VNC Aktivierung habe ich in Version 1.0.1 eingebaut, müsste man aber mal mit nem Raspi welcher auf Werkseinstellungen ist testen.

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)

  • Pi ist bestellt :) wenn keiner schneller ist teste ich es in ein paar Tagen mal.


  • Bin dieses Wochenende nicht zuhause, daher möchte ich es ungern nur über VNC oder SSH testen. Da würde ich gerne auch direkten Zugang zum Pi haben um im Fall der Fälle auch mit Tastatur und Bildschirm noch dran zu können.


    Bestelle mir aber grade auch noch einen zweiten für Spielereien und als Testumgebung :D

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)

    Einmal editiert, zuletzt von Roman.Sch ()

  • Eine Abfrage muss nicht sein, aber ein Hinnweis (echo) das dieses Script nur für Raspi2 und 3 geeignet ist.

    Ich persönkich würde anstatt "sudo apt-get clean" lieber "sudo apt-get autoclean" verwenden.

    Das ist aber eine reine Ansichtssache.


    Edit:

    danach könnte man nocht mit:

    Code
    dpkg -P `dpkg -l | grep "^rc" | awk -F" " '{ print $2 }'`

    installationsreste bzw. alte konfig Dateien entfernen.

  • es klappt einfach nicht :(

    ich hab wieder was bei der manuellen installatin etwas zerschossen. heute die ganze zeit ein fehler gesucht und nicht gefunden. Mir reichts jetzt :) aber eine installation via app will ich nicht machen!


    dein script kommt mir da sehr gelegen. Warte aber jetzt auf v1.0.1 von dir :)


    du sagst, dass es eine list der plugins gibt.

    kannst du eine aufzählung der plugins machen? am besten genau darunter wo du das geschrieben hast? vll mit einem link?

    Sind Harmonyhub, Hue, YamahaAVR, FHEM auch dabei? Wenn nicht, kannst du die mit aufnehmen? und wenn ich die dann ausgewählt habe, habe ich dann noch die möglichkeit auszuwählen, welche version ich laden kann? ich selbst will eigendlich immer die aktuellste.


    und hat man die möglichkeit den homebridge code zu ändern? ich meine die hier xxx-xx-xxx

    oder wird jeder, der dein script benutzt den gleiche code verwenden?



    dann gast du noch geschrieben:


    Kann als Pi User ausgeführt werden. Entweder per "sudo sh <Pfad zum Skript>" oder die sh Datei in den Dateieigenschaften als ausführbar speichern und per Doppelklick und im Terminal ausführen. Der "files" Ordner muss auf der selben Ebene liegen wie das Shell Skript.


    sorry für meine anfängliche fragen, aber dein script lege ich einfach auf der Pi auf den Desktop und suche mir den Pfad davon und gehe dann an meinen rechner und gebe den befehl "sudo sh <Pfad zum Skript>" bei ssh ein? ist das richtig?

    Brauche ich bei diesem vorgehen das mit dem Shell Skript zu beachten, oder ist das dann in dem moment egal?


    Danke für deine Mühe!!

    Einmal editiert, zuletzt von Ertanius ()

  • Also ich liefere keine feste Pluginliste mit.

    Im Skript wirst du gefragt ob und welche Plugins du installieren willst.

    Wenn du bspw. Harmonyhub installieren möchtest, dann gibst du, wenn du nach einem Namen gefragt wirst "harmonyhub" ein (ohne die " natürlich) ;).

    Dann wird das harmonyhub Plugin installiert. Sobald dies durch ist wirst du gefragt ob du noch ein weiteres Plugin installieren möchtest. Wenn du Y oder y eintippst kannst du wieder einen Pluginamen angeben.

    Bei den Plugins wird immer die aktuellste genommen. Ich weiß im Fall von harmonyhub vllt aktuell nicht sonderlich intelligent aber bei den meisten passt das ja. Wenn du eine bestimmte Version haben willst empfehle ich dir diese händisch zu installieren. Bzw. vielleicht packe ich dies noch als Option in Version 1.0.0.1


    Der Pin ist erstmal für alle der gleiche. Ist ja aber bei der normalen Installation von Homebridge auch (glaube ich, korrigiert mich bitte).

    Den kannst du aber einfach ändern, wenn du die config.json im Pfad /var/homebridge editierst.


    Deine Annahme bzgl. dem Ausführen des Skripts ist korrekt leg es auf deinen Desktop. Wichtig ist nur das der files Ordner dann auch auf dem Desktop liegt. Danach ist dein Aufruf im Terminal (Lxterminal beim Raspi 3 als Beispiel) "sudo sh /home/pi/Desktop/HomebridgeInstall.sh" sofern dein Benutzer mit dem du angemeldet bist "Pi" heißt oder du änderst in den Dateieigenschaften, falls dies nicht übernommen wurde, das Recht zum Ausführen auf "Jeder".


    Ich hab die Homebridge mittlerweile auch schon gefühlt 100 mal neu gemacht, daher weiß ich wie du dich fühlst :). Meist aber weil ich irgend welche dummen Spielereien ausprobiert habe:D. Wenn weitere Fragen hast, kannst du mir hier auch ne PN schreiben.

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)

  • Danke für die Info :)


    funktioniert bei jemandem dieser befehl?


    pi@raspberrypi:~ $ sudo sh /home/pi/Desktop/HomebridgeInstall.sh


    auf der Pi, auf dem Desktop, liegt das Skript und der Ordner "files"

    Einmal editiert, zuletzt von Ertanius ()

  • Zitat

    Ich hab die Homebridge mittlerweile auch schon gefühlt 100 mal neu gemacht, daher weiß ich wie du dich fühlst :).


    Ja so geht es mir auch, wollte dein Script eigentlich schon längst ausprobiert haben. Nachdem ich Donnerstag den ganzen Tag nur HB aufgesetzt habe per Hand um verschiedene Sachen zu Testen, bekomme ich irgendwie den Hintern nicht hoch.


    Aber finde die Idee sehr :thumbup: gut und werde es demnächst bestimmt mal ausprobieren.


    Ps: Wenn du jetzt noch ne App drumherum baust haben wir noch eine Homebridge App die vielleicht auch vernünftig Funktioniert ;)

  • Dafür müsste ich erstmal Swift können. Hab ich zwar vor zu lernen, dauert aber noch was:)


    Ertanius hat das Skript gestern Abend wohl noch ausprobiert. Aktuell treten wohl beim aufrufen über ssh eventuell ein Problem auf. Kann das jemand bestätigen?

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)

  • ich habe es zum starten hibekommen.

    jedoch update und upgrade hat er nicht automatisch gemacht.

    er sagte mir, das ich es vielleicht noch machen soll.

    kann sein, das von heute nacht noch etwas gestört hat.

    da ich ja relativ am anfang des aufsetztens bin, kann ich ja nochmal alles neu machen

    ggrrrrrrr


    edit:

    wäre vielleicht schön eine anleitung zu haben, ohne am Pi selbst die Daten auf den Desktop zu downloaden und zu verlegen.

    Ich meine auch ohne VNC. Wenn das überhaupt geht.

    Für User wie Maz die nie ein bildschirm an die Pi angeschlossen haben, wäre das vll eine hilfe.

    und das mit der erläuterung von 777 wäre auch vll gut?!

    Einmal editiert, zuletzt von Ertanius ()

  • wobei 7.6 bei mir aktuell garnicht läuft. Da beklagt sich homebridge immer das sie für eine andere Version kompiliert wurde und beendet sich.

    2x Homebridge on Raspberry Pi 3 (ProdPi und TestPi) :)