Homebridge Plugin: homebridge-raspberrypi-info

  • Hallo zusammen, ich bin neu in der Raspberry-Gemeinde. Ich habe das Plugin "homebridge-raspberrypi-info" installiert und löse nach dem abrufen in der aktuellsten EVE-App (iOS) einen Absturz der Homebridge aus. Es kommt in Homebridge zu unten stehender Fehlermeldung! Könnt ihr mir Tipps zur Fehlersuche / Problemlösung geben? Herzlichen Dank


    Raspberry Pi 3 B+

    homebridge-config-ui-x v3.9.4

    node.js v11.8

    plugin: homebridge-raspberrypi-info v 0.03



    Error: ENOENT: no such file or directory, open '/uptime.txt'

    at Object.openSync (fs.js:449:3)

    at Object.readFileSync (fs.js:349:35)

    at RaspberryPiTemperature.getAvgLoad (/usr/local/lib/node_modules/homebridge-raspberrypi-info/index.js:85:16)

    at load.emit (events.js:197:13)

    at load.Characteristic.getValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:164:10)

    at Bridge.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:762:20)

    at Array.forEach (<anonymous>)

    at Bridge.Accessory._handleGetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:726:8)

    at HAPServer.emit (events.js:197:13)

    homebridge.service: Main process exited, code=exited, status=1/FAILURE

    homebridge.service: Unit entered failed state.

    homebridge.service: Failed with result 'exit-code'.

    pam_unix(sudo:session): session closed for user root

    pam_unix(sudo:session): session closed for user root

    homebridge.service: Service hold-off time over, scheduling restart.

  • Error: ENOENT: no such file or directory, open '/uptime.txt'

    Das Plugin ist blöde geschrieben. Es versucht die Datei /uptime.txt anzulegen, was eine ganz große Idee ist <X. Das darf nämlich nur root. Ich würde diesmal den Source Code verändern. Wer das nicht will, muss die Homebridge als root laufen lassen.


    Stefan

  • Hallo Sschuste und vielen Dank für deine Info. Ich habe mein Raspi nach deiner Super-Anleitung aufgesetzt. Vielen Dank an dieser Stelle für dieses tolle Tut.


    ^^ Würdest du mir bitte noch eine Hilfestellung geben, wie ich vorgehen soll?!

  • Ersetze in /etc/systemd/system/homebridge.service die Zeile User=homebridge durch User=root, abspeichern, dann

    sudo systemctl daemon-reload

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    Ich find's schlimm. Ich werde heute Abend damit mal herumspielen, die Änderung im Source Code des Plugins sieht so einfach aus, dass sogar ich die machen kann (hoffentlich).


    Stefan

  • Ja, genau das würde ich versuchen, oder in

    var script = exec('uptime > /var/homebridge/uptime.txt',


    Stefan

  • Ja, genau das würde ich versuchen, oder in

    var script = exec('uptime > /var/homebridge/uptime.txt',


    Stefan

    Ich melde mich nochmal mit einem Update zurück. Die o.g. Änderungen (siehe rote Markierung im Sourcecode) in den Zeilen 24, 77 und 85 hatten Erfolg.

    Damit stürzt nach einem Neustart des Raspi, weder die Homebridge (im Configuration UI plugin) ab, noch kommt es in der EVE (iOS - App) zu einer Fehlermeldung. Ich beobachte jetzt mal noch wie zuverlässig die Messungen in der EVE App eingetragen werden.


    Zitat

    var script = exec('uptime > /var/homebridge/uptime.txt',



    Vielen Dank für deine Tipps und die Zeit die Du dir für mich genommen hast um mir auf die Sprünge zu helfen.

  • Ich habe ein ähnliches Problem nur meine HB stützt nicht an sondern ich erhalte eine Fehlermeldung.

    09:59:05] [homebridge-raspberrypi-info] This plugin threw an error from the characteristic 'Uptime': Unhandled error thrown inside read handler for characteristic: ENOENT: no such file or directory, open '/uptime.txt'. See https://git.io/JtMGR for more info.

    [15/04/2021, 09:59:05] [homebridge-raspberrypi-info] This plugin threw an error from the characteristic 'Average Load': Unhandled error thrown inside read handler for characteristic: ENOENT: no such file or directory, open '/uptime.txt'. See https://git.io/JtMGR for more info.


    Das löschen des Plugins hat leider nicht geholfen.

    sschuste

    buzz-dee

    Wie soll ich vorgehen? Wie hier beschrieben? :/

  • Wie soll ich vorgehen? Wie hier beschrieben?

    Keine Ahnung. Im Source Code sollte nicht /uptime.txt drin stehen, sondern /tmp/uptime.txt. Das kannst du checken, indem du den Source Code mit sudo nano /usr/local/lib/node_modules/homebridge-raspberrypi-info/index.js aufrufst und dann darin nach uptime.txt suchst und es gegebenenfalls verbesserst. Aber eigentlich sollte der Source Code das schon so enthalten.


    Da ich das Plugin nicht nutze, habe ich den Pfad zum Source Code mal so geraten. Ich hoffe, er stimmt.

  • sschuste Hab die änderungen vorgenommen, hat aber leider nicht funktioniert. Fehlermeldung immer noch da. Aber ich steige auf das von Patrick empfohlene Plugin um. Vielen Dank.

    Patrick_ Danke für den Tip das instances Plugin gefällt mir besser und macht was es soll ohne Fehlermeldung.