Hier ist die erste ungetestete Version auf GitHub
Falls jemand die Muße hat es auf einem jungfräulichem Raspian zu testen, ist er herzlich willkommen.
Ich komme erst die Tage dazu.
Danke an @DenisW und @stfnhmplr für die Unterstützung.
Hier ist die erste ungetestete Version auf GitHub
Falls jemand die Muße hat es auf einem jungfräulichem Raspian zu testen, ist er herzlich willkommen.
Ich komme erst die Tage dazu.
Danke an @DenisW und @stfnhmplr für die Unterstützung.
Ich pack heute Abend mal eine leere SD in einen meiner PIs und teste es aus. Feedback/Fehlermeldungen via GitHub?
Ich glaube hier sind die Resonanzen und Ideen besser.
Edit: Mit einer leeren SD meinst du bestimmt ein frisches Raspian.
Nur eine Kleinigkeit vorab:
Ich würde in einem der nächsten Releases mit Verzeichnisstrukturen arbeiten, also separate Verzeichnisse für die die .service (services) und die individuellen Install-Skripte (install), so dass im Root nur das setup-file (zukünftig ggf. homeean-setup?) liegt. Das Skript wird zwangsläufig wachsen und sollte von vonherein “aufgeräumt” sein.
Ich gebe zu es ist aufgrund der kurzen Zeit von der Geburt deiner Idee und der Umsetzung ein wenig zusammengeschustert.
Ich habe auch gerade zum ersten Mal ein GitHub Repo erstellt.
Ich gelobe Besserung.
Das ist auf jeden Fall schon mal eine gute Basis.
Für Node-RED dann schon mal einige Gedanken:
Zur Installation würde ich evtl. die offizielle Route gehen:
https://nodered.org/docs/hardware/raspberrypi
Die Node-RED Version in den raspbian Standardrepos ist leider stark veraltet.
Die o. g. Version bringt auch einen Daemon mit, wodurch man sich das Erstellen des eigenen Services sparen kann.
Dann reicht ein
sudo systemctl enable nodered.service
zum Starten des Dienstes bzw.
node-red-start
u. node-red-stop
zum manuellen Starten/Stoppen.
Das Script oben beinhaltet ebenfalls einen Node.js/nmp Installer, keine Ahnung ob das Vor-/Nachteile ggü. der apt-Installation hat.
Und… es ermöglicht ein sehr leichtes Updaten von Node-RED u. NodeJS aus aktuellen Repos (update-nodejs-and-nodered)
Falls gewünscht unterstütze ich gern mit Pull-Requests auf GitHub.
Node-Red wird im Script direkt von NPM installiert. Es ist also tagesaktuell.
Trotzdem schaue ich mir den link mal an.
Ich weiß zwar noch nicht was Pull Request sind, aber ich google mal .
Stimmt, da hab ich nicht genau genug hingesehen. Ich nehme alles zurück
Pull Requests erlauben es anderen Leuten und dir selbst Code-Änderungen vorzuschlagen, die dann diskutiert, geprüft und ggf. in den Code integriert werden können (“merge”).
Ich habs mal ausprobiert. Sieht für den ersten Versuch schonmal gut aus!
Die homebridge Installation funktioniert fehlerfrei. Bei Node-RED muss aber noch was angepasst werden. Da kann man meine Anleitung nicht 1:1 übernehmen. Ich würde aber auch nicht das Node-RED Script verwenden wegen dem Node update. Der Service sollte kein Hinderungsgrund sein. Der wird bei homebridge ja auch erstellt. Man müsste eigentlich den gleichen nehmen können.
Dann würde ich bei den apt-get Befehlen immer ein -y ergänzen, damit die Nachfrage “wollen sie wirklich” nicht kommt.
Was ich noch nicht beurteilen kann: Wie sieht das Menu aus wenn mal 15 Optionen eingebaut sind?
Konnte doch nicht widerstehen.
Homebridge läuft fehlerfrei durch. Füge noch die config.json hinzu. Das hatte ich vergessen.
Bei Node-Red kommt es zum Fehler. Das fixe ich noch.
@stfnhmplr Ups. du warst schneller. Werde die Änderungen einfließen lassen. Vielen Dank.
Muss dann für die nächsten Stunden erst einmal pausieren. Auch wenn Finger jucken.
Die Frage ist auch… Ist es besser feste Pakete zu schnüren oder den Nutzer die Pakete selbst zusammenstellen zu lassen? Oder beides? Pakete+“Expertenmodus”?
Gerade bei den einzelnen Nodes hat ja jeder eigene Vorstellungen.
Die Installation würde es schon erleichtern, wenn ich nur einmal anklicke, was ich möchte und alles andere passiert automatisch.
Vielen Dank für die Idee!
Klingt superspannend… wenn ich die Zeit hätte…
Was nicht schlecht wäre: Lametric API für homee-Benachrichtigungen auf der LED-Uhr… oder falls man die nicht hat aber eine LED-Matrix für die Raspberry ala Adafruit RGB Matrix HAT [ https://www.adafruit.com/product/2345 ], es gibt auch eine RGB-LED-Matrix-Bibliothek auf github: https://github.com/hzeller/rpi-rgb-led-matrix
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.
Wie wäre es denn wenn man die Harmony API von maddox noch mit in das Menü mit aufnehmen würde:
Installation Sonos-HTTP-API
_wie in den anderen skripten Dir=“/home/pi“
ins Verzeichnis springen
cd /home/pi
wird nun runtergeladen in node-sonos-http-api
cd node-sonos-http-api/
npm install --production
npm start
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)
npm install pm2
pm2 startup
pm2 start server.js -x --name „sonos-api“
pm2 dump
Das sollte es gewesen sein…
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…
Installation Harmony-HTTP-API
wie in den anderen skripten Dir=“/home/pi“
ins Verzeichnis springen
cd /home/pi
wird runtergeladen in harmony-api
cd harmony-api
sudo script/bootstrap
sudo script/install-linux
—> 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…
Ich versuche das morgen mal alles sinnvoll zu implementieren.
Guts Nächtle.
Airsonos wäre auch noch spitze.
Und das Plugin homebridge-config-ui zur Verwaltung der Plugins und config.json im Browser.
Deckt sich das mit der UI nicht hiermit?