homeean (Skriptsammlung für Webhook-APIs für homee und einen RaspBerry Pi)

Vielen Dank für die Idee!
Klingt superspannend… wenn ich die Zeit hätte… :smirk:

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

2 „Gefällt mir“

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.

1 „Gefällt mir“

Wie wäre es denn wenn man die Harmony API von maddox noch mit in das Menü mit aufnehmen würde:

https://github.com/maddox/harmony-api

1 „Gefällt mir“

Installation Sonos-HTTP-API

_wie in den anderen skripten Dir=“/home/pi“
ins Verzeichnis springen

cd /home/pi

git clone GitHub - jishi/node-sonos-http-api: An HTTP API bridge for Sonos easing automation. Hostable on any node.js capable device, like a raspberry pi or similar.

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…

1 „Gefällt mir“

Installation Harmony-HTTP-API

wie in den anderen skripten Dir=“/home/pi“
ins Verzeichnis springen

cd /home/pi

git clone GitHub - maddox/harmony-api: 🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT

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…

2 „Gefällt mir“

Ich versuche das morgen mal alles sinnvoll zu implementieren.

Guts Nächtle.

3 „Gefällt mir“

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?

Chris, ich kann Dir gerade nicht folgen - hilf mir auf die Spur :wink:

Das ging an @Daniel :wink:

Das hat hier ja richtig Fahrt aufgenommen :heart_eyes:
Weiter so! Ich hab leider erst am Wochenende Zeit das Ganze zu Testen aber bin jetzt schon begeistert :smile:
Glaube das wird so einigen homee-Nutzern nützen!

1 „Gefällt mir“

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 :wink:

3 „Gefällt mir“

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.

8 „Gefällt mir“

Vielleicht stoppe ich dann erstmal die Arbeit am Menü und schreibe die Subscripte. Dein Ansatz klingt Communityfreundlicher.

Interessant wäre dann zum Schluss ein Codeblock den man per Klick in die Zwischenablage kopiert, der dann per wget das Script holt uns ausführt.

So kann es von jedem installiert werden der fähig ist eine ssh Verbindung aufzubauen.

3 „Gefällt mir“

Ich habe mal die erste Version hochgeladen.

https://himpler.com/buildtool

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.

7 „Gefällt mir“

Wenn ich deinen link anklicke komme ich auf eine leere Seite von dir mit oben blog und home.

Viele Grüße

Daniel

bei mir sieht alles wunderbar aus (benutze aktuell firefox)