Beiträge von Hunter

    Whoaw sschuste


    erst einmal vielen Dank für die ausführliche Anleitung.

    Leider stoße ich doch noch auf einen Fehler.


    Hier habe ich die beiden Pfade angepasst.

    Wenn ich diesen Befehl absetze erhalte ich nun die Meldung:


    pi@raspberrypi:~ $ sudo systemctl enable node-sonos-http-api-master

    Failed to enable unit: File node-sonos-http-api-master.service: No such file or directory


    Muss der Befehl abgesetzt werden auf den Ordner oder auf die erstellte Service Datei?



    Wenn ich statt dessen die 3 Befehle so absetze:


    sudo systemctl enable sonos-http-api-master

    sudo systemctl restart sonos-http-api-master

    sudo journalctl -au sonos-http-api-master


    und dazu habe ich noch einmal den ExecStart von /usr/local/bin/node auf /usr/bin/node geändert.


    Dann erhalte ich nach dem 3. Befehl eine Fehlerschleife:


    Mar 05 10:03:12 raspberrypi systemd[1]: sonos-http-api-master.service: Main process exited, code=exited, status=217/USER

    Mar 05 10:03:12 raspberrypi systemd[1]: sonos-http-api-master.service: Unit entered failed state.

    Mar 05 10:03:12 raspberrypi systemd[1]: sonos-http-api-master.service: Failed with result 'exit-code'.

    Mar 05 10:03:42 raspberrypi systemd[1]: sonos-http-api-master.service: Service hold-off time over, scheduling restart.

    Mar 05 10:03:42 raspberrypi systemd[1]: Stopped Sonos API.

    Mar 05 10:03:42 raspberrypi systemd[1]: Started Sonos API.

    Das Startscript hat sich noch nie sauber starten lassen.

    Habe auch heute erst angefangen, die Sonos HTTP Api einzubinden.


    Im Ordner /etc/init.d/ liegt eine Datei namens sonosapistart.sh

    Der Inhalt der Datei lautet:

    dir="/home/pi/node-sonos-http-api-master"

    cmd="npm start"

    user="pi"


    sudo chmod 755 /etc/init.d/sonosapistart.sh wurde durchgeführt.


    Wenn ich den Dienst/Service nun starten will schlägt dies schon fehl.


    sudo service sonosapistart.sh start


    Job for sonosapistart.service failed because the control process exited with error code.

    See "systemctl status sonosapistart.service" and "journalctl -xe" for details.


    Wenn ich mich in dem Ordner /home/pi/node-sonos-http-api-master befinde kann ich den Befehl npm-start sauber absetzen.


    Nachdem ich nun einen Neustart aus der App heraus vom Raspi gemacht habe laufen nun auch alle meine anderen Plugins auf einen Fehler. :(

    Mal schauen, wie ich das jetzt wieder behoben kriege.


    Hat wohl nur etwas lang gedauert bis alles wieder zum Starten bewegt werden konnte.

    Reicht es aus diesen Befehl

    sudo systemctl daemon-reload

    abzusetzen, um dem Problem Herr zu werden?


    Ok .. reicht natürlich nicht. Wie auch immer ich jetzt dem User Pi die Berechtigung gebe, das Script auszuführen.:/

    Das scheint auch gar nicht mal das Problem zu sein.

    Wenn ich den Server händisch starte kann ich einen http Befehl vom Webbrowser absetzen und die Sonos Gruppe muten.


    Die Frage ist, warum mein Script für den Autostart nicht korrekt arbeitet.

    Der 3zeiler liegt korrekt im Verzeichnis /etc/init.d

    Muss ich für den Pi User noch mehr Berechtigungen einrichten?

    Hatte ja deswegen oben mein Ergebnis geposted als ich ein Start vom Script durchgeführt hatte.

    Wenn ich den Server händisch starte erhalte ich die folgende Meldung:


    pi@raspberrypi:~ $ curl -I http://0.0.0.0:5005

    HTTP/1.1 200 OK

    server: node-static/0.7.9

    cache-control: max-age=3600

    Etag: "288685-4669-1516892402000"

    Date: Sun, 04 Mar 2018 19:56:13 GMT

    Last-Modified: Thu, 25 Jan 2018 15:00:02 GMT

    Content-Type: text/html

    Content-Length: 4669

    Connection: keep-alive


    Also irgendwie greift mein Autostart File nicht.

    Nur was mache ich falsch :/


    Nicht wundern .. habe meine Start Datei jetzt noch einmal neu angelegt als sonosapistart ...


    pi@raspberrypi:/etc/init.d $ sudo service sonosapistart restart

    Warning: sonosapistart.service changed on disk. Run 'systemctl daemon-reload' to re load units.

    Job for sonosapistart.service failed because the control process exited with error code.

    See "systemctl status sonosapistart.service" and "journalctl -xe" for details.

    pi@raspberrypi:/etc/init.d $ systemctl daemon-reload

    ==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===

    Authentication is required to reload the systemd state.

    Multiple identities can be used for authentication:

    1. ,,, (pi)

    2. root

    Choose identity to authenticate as (1-2): 1

    Password:

    ==== AUTHENTICATION COMPLETE ===


    pi@raspberrypi:/etc/init.d $ sudo service sonosapistart restart

    Job for sonosapistart.service failed because the control process exited with error code.

    See "systemctl status sonosapistart.service" and "journalctl -xe" for details.

    pi@raspberrypi:/etc/init.d $ systemctl status sonosapistart.service

    ? sonosapistart.service

    Loaded: loaded (/etc/init.d/sonosapistart; generated; vendor preset: enabled)

    Active: failed (Result: exit-code) since Sun 2018-03-04 21:18:56 CET; 57s ago

    Docs: man:systemd-sysv-generator(8)

    Process: 1441 ExecStart=/etc/init.d/sonosapistart start (code=exited, status=203/


    Mar 04 21:18:56 raspberrypi systemd[1]: Starting sonosapistart.service...

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Control process exit

    Mar 04 21:18:56 raspberrypi systemd[1]: Failed to start sonosapistart.service.

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Unit entered failed

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Failed with result '

    lines 1-11/11 (END)

    ? sonosapistart.service

    Loaded: loaded (/etc/init.d/sonosapistart; generated; vendor preset: enabled)

    Active: failed (Result: exit-code) since Sun 2018-03-04 21:18:56 CET; 57s ago

    Docs: man:systemd-sysv-generator(8)

    Process: 1441 ExecStart=/etc/init.d/sonosapistart start (code=exited, status=203/EXEC)


    Mar 04 21:18:56 raspberrypi systemd[1]: Starting sonosapistart.service...

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Control process exited, co

    Mar 04 21:18:56 raspberrypi systemd[1]: Failed to start sonosapistart.service.

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Unit entered failed state.

    Mar 04 21:18:56 raspberrypi systemd[1]: sonosapistart.service: Failed with result 'exit-c


    Ich bin echt ratlos warum er mein Startscript nicht mag... :(

    Hm wenn ich eine Status Abfrage durchführe erhalte ich keine Rückmeldung.

    Installiert habe ich sie.

    Wenn ich npm -start ausführe bekomme ich auch die Meldung, dass der Server auf 0.0.0.0 Port 5005 horcht.


    Dies führe ich unter note-sonos-http-api-master aus (geändert entsprechend Deines Startjobs)

    dir="/home/pi/node-sonos-http-api-master"

    cmd="node server.js"

    user="pi"


    Aber ich habe keinen node server.js dort im Verzeichnis.

    Evtl. liegt es noch am Pfad hier? Mal schauen, wo die node server.js liegt.


    Nachtrag:


    Ok ...wenn ich sudo node server.js aufrufe habe ich den gleichen Effekt mit http server listening on 0.0.0.0 port 5005


    Aber warum erhalte ich denn keine Rückmeldung auf die Status Abfrage. Was anderes macht doch mein Cronjob auch nicht unter init.d


    Muss ich vorab noch eine andere node Version installieren?!

    Moinsen,


    irgendwie stoße ich gerade auf ein Problem bei der Einrichtung.


    Ich bin wie folgt vorgegangen:


    1. Installation Sonos API

    wget https://github.com/jishi/node-…tp-api/archive/master.zip

    unzip master.zip

    cd node-sonos-http-api-master


    2. Module und Co mit Node js Server bekannt gemacht

    cd /home/pi/node-sonos-http-api-master
    npm install --production


    3. mit einem Editor den Startjob " sonos-http-api-master" angelegt

    dir="/home/pi/node-sonos-http-api-master"

    cmd="npm start"

    user="pi"


    4. Die Datei nach /ect/inid.d kopiert und wie folgt ausgeführt:

    sudo chmod 755 /etc/init.d/sonos-hp-api-master


    5. Raspi durchgestartet


    6. https://ipvomRaspi:5005/Wohnzimmer/mute ausprobiert ohne Effekt


    7. sudo npm start direkt ausprobiert und gesehen:

    INFO http server listening on 0.0.0.0 port 5005


    Irgendwie scheint der Dienst nicht auf der IP vom Raspi zu agieren.

    Ich habe noch kein homebridge-http Plugin installiert.

    Ist dies evtl die Krux dafür?

    homebridge-http

    Hängt sicherlich auch ein wenig davon ab, was man an Lampen einsetzt.

    Da ich persönlich nur GU10 Lampen einsetze mit nur einem Lichtspektrum und diese damit eh nur Ein/Aus/Dimmen kann, wird aus meiner Sicht ein Update nicht wirklich viel bringen.

    Interessanter wird das sicher bei Zubehör wenn es Zusatzfunktionen gibt oder wenn die Hue Bridge an die Auslastung kommt.

    Wenn Du eine Philips Hue Bridge haben solltest, kannst Du die IKEA Lampen auch hier koppeln und dann über das homebridge-Hue Plugin in homekit einbinden.


    Solltest Du keine Hue Bridge besitzen, benötigst Du noch das Gateway um diese in homekit einzubinden.


    Es gibt hierzu aber auch schon einen Ikea Tradfri Thread, wo dies alles beschrieben ist.

    Nastra :thumbup:


    Der Ordner homebridge mit den Scripts und .homebridge (Automatismen/comfig.json) liegen unter dem Ordner /root (jedenfalls in meinem Fall, hab ganz normal über die App die homebridge aufgesetzt).


    Hab grad mal getestet mit Filezilla per sftp und user Pi.

    Kopieren hat einwandfrei geklappt.

    Stimmt ... wollte meinen Beitrag auch grad noch editieren als ich die Anleitung nochmal überflogen hatte.


    Wenn man die ganzen Configs zurückspielt bekommt man also den gleichen Code für die Homebridge wenn man sie wieder in Homekit einbindet?

    Wenn Du die Dateien aus den einzelnen Foldern wie oben gesichert hast würde ich


    1. Rasbian installieren

    2. Homebridge installieren

    3. Homebridge in Homekit einbinden

    4. Plugins nacinstallieren

    5. gesicherte Daten zurück spielen

    6. Raspi durchstarten


    Deine ganze Config aus der Homebridge sollte dann wieder bestehen.

    Was ich mch nur Frage: muss ich dann in Homekit meine Einstellungen/Automatismen neu anlegen?

    Werd es testen wenn mein Raspi3 da ist.

    Push Notification ist aber nur eine „Alarmierung“ von kurzer Zeit.

    Bei uns musste es so realisiert werden, dass die Smartphones so lange klingeln bis eine Teaktion kommt.


    Auf den eingesetzten Android Geräten funktioniert dies aber einwandfrei.

    Es wird auch eine spziell konzipierte App dafür eingesetzt.

    Korrekt.

    War aber für das Projekt auf Arbeit zu unsicher, ob gerade eine Wlan Verbindung im Standby vorliegt oder nicht, denn es ging hier darum im Krankenhaus ein Anästhesie Team für einen Schockraum Fall zusammen zu trommeln. :)

    Bislang ging ich auch immer davon aus, dass sich das WLan beim IPhone auch nach 30 bis 60 min deaktiviert (solange es sich nicht am Ladegerät befindet).

    Dies war auch der Grund warum wir bei einem Smartphone Projekt auf Arbeit keine Iphones nutzen konnten.

    Die Samsung Android Geräte zeigten diesen Effekt nicht.

    Allerdings hab ich dies noch gar nicht via Ipad beobachtet.

    Zusätzlich hab ich auch selten mal einen Zeitraum grösser 10 min, wo keine Info/Benachrichtigung beim IPhone eintrifft.