OK, dann muss ich ja heute Abend nicht mehr (ich hab eh keine leere SD-Karte mehr - Nachschub ist schon geordert). Dann dokumentiere ich hier mal die Installation der Sonos-HTTP-API mit PM2 und ggf. noch der Harmony-HTTP-API und lasse Sie Dir zukommen.
Die Idee von @DenisW (Submenüs und Subpaketauwahl) schoss mir heute Nachmittag auch durch den Kopf - auch im Zusammenhang mit der Frage was passiert wenn es zu viele Pakete werden (wie es @stfnhmplr ja auch aufgeworfen hat).
Evtl. kann man ja auch “sachlich” gruppieren: Sprich: Alle NodeJS-Pakete in eigenes Submenü, darunter noch mal die Detailauswahl der Zusatzpakete.
Nachfolgendes wird für den Autostart benötigt (könnte aber sicher auch mit einem systemctl-Service-Eintrag gelöst werden (die meisten Leute empfehlen komischerweise den PM2-Ansatz)
Kann das jemand bestätigen? (Ich hab keine SD-Karte mehr und will mir heute nix mehr zerschiessen)
Generell: Evtl. sollte man nach der Installation der Dienste dann am Ende noch eine kurze Infoseite zeigen auf der die URL des Dienstes Lokal (inkl. IP) gezeigt wird und auf die Projektseiten verwiesen wird. Bei nicht webbasierten Diensten wie Homebridge eine kurze Info wie es funktioniert (wie man z.B. die Bridge in die Home App bekommt, usw.).
…und jetzt mal zur Harmony-API…
@chrisLE : Teste selber oder warte auf positive Rückmeldung…
—> Das neue Linux-Install-Skript (gerade mal 9 Tage alt) installiert den Dienst aber in /var/lib/harmony-api und die Konfig in etc/harmony-api - das könnte man aus Konsistenzgründen wieder aufs home-verzeichnis ändern… das müsste dann aber auch wieder im Service File (config/harmony-api-server.service) entsprechend umgebogen werden. Ich würde es so lassen, damit bleibt man Release-fähig, wenn da noch mal was umgebogen wird und man muss die Files nicht parsen/Inhalte ersetzen…
Das sollte es gewesen sein…
Kann das jemand bestätigen? (Ich hab keine SD-Karte mehr und will mir nix zerschiessen)
@chrisLE: Teste selber oder warte auf positive Rückmeldung…
Ein Punkt noch (bevor ich für heute Schluss mache): Wie sieht es mit Fehlerbehandlung aus? Was passiert wenn ein User den Installer für ein Paket ein zweites Mal aufruft… Geht das immer gut? Evtl. ein Dot-Verzeichnis anlegen in dem via Files (eindeutige Namen pro Paket) vorher erfolgte Installationen festgehalten werden inkl. Fehlermeldung “Wirklich noch mal installieren und ggf. die bestehende Installation zerschiessen”, wenn ein solches File schon existiert…
Edit: Für Homebridge könnte der Homebridge-Server noch eine gute Ergänzung für Newbies sein: https://www.npmjs.com/package/homebridge-server
–> Braucht dann halt eine separate Infoseite wie er aufgerufen wird…
Das hat hier ja richtig Fahrt aufgenommen
Weiter so! Ich hab leider erst am Wochenende Zeit das Ganze zu Testen aber bin jetzt schon begeistert
Glaube das wird so einigen homee-Nutzern nützen!
Der homebridge Server ist ähnlich. Bei dem Configurator Plugin kann man hält homebridge und die Plugins aktuell halten sieht den Status der homebridge und kann auch auf das error log zugreifen, neustarten usw. Ich weiß jetzt nicht ob die Server Lösung das auch kann.
@chrisLE: Airsonos sollte mit dem o.g. Link selbsterklärend sein.
Ich denke wenn noch mehr umsetzbare Vorschläge kommen, dann sollte man wirklich anfangen das Skript aufzuteilen (Subskripte die eingebunden werden), damit man in der Entwicklung etwas parallelisieren kann.
Als Frage an Leute mit Vorschlägen im Thread: @Chromebacher: Gibt es für die Yamaha HTTP API irgendeinen Wrapper (vergleichbar zur Harmony und Sonos HTTP API, oder existiert die API nur direkt auf den Devices)?
@CEN: Selbe Frage wie an Chromebacher. Gibt es da schon einen brauchbaren Wrapper?
–> Wenn es nix gibt, dann kann erst mal nix eingebunden werden.
Das wäre auch mein nächster Schritt gewesen. Das Setupscript muss entschlackt werden und enthält in Zukunft nur noch das Menü. Alle Scripte werden aus dem Unterordner scripts angerufen.
Langsam verstehe ich die Features-vorschlagen-Politik von den homees
Ich mache parallel auch mal einen Test mit einem Webinterface. Habe das jetzt so aufgebaut, dass auch Abhängigkeiten von einzelnen Installationswünschen berücksichtigt werden.
Die Pakete lassen sich dann einzeln auswählen und werden zu einer sh Datei zusammengebaut die auf dem Raspberry ausgeführt werden muss. Ich kann dann auch eine Oberfläche bereitstellen, bei der freiwiliige Pakete samt Installationsskript und Abhängigkeit hinzufügen können. Hätte den Vorteil dass der Nutzer kaum was in der Konsole machen muss und auch vorher kein git installieren braucht.
Kurze Erklärung zur Auswahlliste: Es reicht prinzipiell das Plugin homebridge-homee auszuwählen. Die hinterlegten Abhängigkeiten sorgen dafür, dass auch der Rest installiert wird. Bei der Installation von Homebridge wird automatisch eine config.json erzeugt und das Plugin homebridge-config-ui mitinstalliert.