homebridge-logic

  • Rome


    Ich habe mir erlaubt, um den Beitrag übersichtlicher zuhalten, deinen Code im Spoiler zu verstecken. Zum Problem selbst kann ich dir leider nicht helfen 🤷🏻

  • Kohle_81


    Danke. Ich dachte ich hätte das in einen Spoiler rein gepackt. Das sah aber alles so komisch aus. Na klar weil ich es NICHT in einen Spoiler gepackt habe. Ich bin nicht gut, wenn mir solche Sachen an einem Wochenende passieren und ich eigentlich was ganz anderes vor hatte. ;(:rolleyes:



    Nebenbei, kann jemand eine funktionierende etwas umfangreichere "logic" Konfig hier mal posten?

  • Rome


    Wenn ich es richtig interpretiere, dann genügt dieser Eintrag in der config:


    Code
    {
    		"platform": "Logic",
    		"name": "Logic",
    		"cacheDir": "/var/lib/homebridge/logic"
    	}



    Und dann kannst du in einer 3rd party App die Variablen wohl aus der App heraus erstellen.......

  • Und dann kannst du in einer 3rd party App die Variablen wohl aus der App heraus erstellen.

    Ups, stimmt ja. Das wäre ja gerade eins der Features, die das editieren und anlegen so erleichtern würde.


    Ok dann liegt es nicht an der Konfig. Dann muss irgendwas bei der Installation und / oder Einrichtung des Plugins nicht geklappt haben. Bloß was?


    Hier nochmal ein kleiner Ausschnitt aus der Logdatei, wo ich denke, dass dies weiterhelfen könnte:

    Und hier alles was im Log zum Plugin steht (auch übersichtlich klein).

    sudo cat /var/log/syslog | grep logic

    Einmal editiert, zuletzt von Rome ()

  • Rome


    Ich tappe da auch eher im Dunkeln, was das log angeht.


    Aber da logic ja definitiv Schreibrechte zum anlegen der Variablen benötigt, könnte es evtl. am Schreibrecht im Ordner /usr/local/lib/...... liegen???


    Wie hast du die homebridge installiert, nach Forenanleitung vielleicht?

  • sudo chown -R $USER /usr/local && npm install -g --unsafe-perm homebridge-logic

    Alternativ hättest du auch La Paloma pfeifend gegen das Auto deines Nachbarn treten können. Um ehrlich zu sein, wäre das auch die bessere Tat gewesen.


    Der Befehl sudo chown -R $USER /usrlocal/ ändert den Besitzer aller Dateien im Verzeichnis /usr/local vom Besitzer root auf den aktuell eingeloggten User, wahrscheinlich pi. Dateien des Systems, die einmal root gehört haben und vielleicht auch anderen System-Usern, gehören nun pi.


    In meinem Verzeichnis /usr/local befinden sich:

    ls -laR /usr/local/* | wc -l  (warten, warten, warten...)


    442392 Dateien, die irgendwem gehören, höchstwahrscheinlich root, aber möglicherweise auch anderen Anwendern, und bei dir gehen sie nun alle pi. Das wird möglicherweise keine Auswirkungen haben, aber eine gute Idee war das nicht.

    Error: EACCES: permission denied, mkdir '/var/lib/homebridge'

    Der Prozess homebridge hat keine Rechte, in diesem Verzeichnis etwas anzulegen. Hier wäre es interessant zu wissen, wie du die Homebridge installiert hast, unter welchem User die Homebridge läuft und wie die Rechte dieses Verzeichnisses und seines Inhaltes gesetzt sind. Zudem wäre es interessant zu wissen, wie deine config.json für homebridge-logic aussieht.

    Logddatei, groß, Teil 1:

    Kein Wunder, dass sie groß ist, nachdem du dich entschieden hast, das Log des ganzen Systems zu posten. Kannst du den Befehl mal denen, den du verwendet hast, damit wir das ein bisschen optimieren können?

  • Wie hast du die homebridge installiert, nach Forenanleitung vielleicht?

    Jep sklavisch nach der Forenanleitung hier.

  • Der Befehl sudo chown -R $USER /usrlocal/ ändert den Besitzer aller Dateien im Verzeichnis /usr/local vom Besitzer root auf den aktuell eingeloggten User, wahrscheinlich pi. Dateien des Systems, die einmal root gehört haben und vielleicht auch anderen System-Usern, gehören nun pi.


    ..., aber eine gute Idee war das nicht.

    Na toll. Mist! Den Befehl habe ich, soweit ich das nachvollziehen kann, hier aus dem Thread um ein Rechteproblem zu lösen.


    >> ... wie deine config.json für homebridge-logic aussieht.


    Wie herausfinden? Du meinst aber nicht die Homebridge Konfig, oder? Der Logic Plugin Eintrag sieht genau so aus wie in einigen Postings weiter oben beschrieben wurde.


    >> ... Kannst du den Befehl mal denen, den du verwendet hast, damit wir das ein bisschen optimieren können?


    :| Wie meinen?

  • Wie meinen?

    Aua :D Die gute Rechtschreibprüfung gepaart mit meinen Schreibkünsten. Ich wollte fragen:

    Kannst du mal den Befehl nennen, den du verwendest, um das Logfile anzuzeigen?

    Jep sklavisch nach der Forenanleitung hier.

    Ein guter Hinweis, denn jetzt wird der Fehler schon klarer:

    "cacheDir": "/var/lib/homebridge/logic"

    Das ist falsch. Es muss heißen:

    "cacheDir": "/var/homebridge/logic"


    Dann sollte es funktionieren. Alle CacheDirs von Plugins liegen in /var/homebridge, denn da darf die Homebridge hinschreiben. Falls Plugin-Entwickler etwas anderes behauptet, dann hör nicht drauf.

  • Kannst du mal den Befehl nennen, den du verwendest, um das Logfile anzuzeigen?

    Uiuiui. Sich erinnern? Ich glaube es war "sudo cat /var/log/syslog" oder "sudo cat /var/log/homebridge.log".

    Von der entstanden Protokolldateimenge kapital falsch wahrscheinlich.

    Entnommen der Befehlssammlung.

    Ein guter Hinweis, denn jetzt wird der Fehler schon klarer:

    Das ist falsch. Es muss heißen:

    "cacheDir": "/var/homebridge/logic"

    Ein Lichtblick! Mal ausprobieren. Moment . . . . . . . . . . . .


    Und zack ist die Homebridge wieder da (hier bitte sich vorstellen wie ich wild fuchtelnd durch die Wohnung renne und alle knutsche).


    Alle accessories auch unter der Eve App zu sehen. Ich renne mal wieder los und ...


    ... Falls Plugin-Entwickler etwas anderes behauptet, dann hör nicht drauf

    Ops. Sorry wie konnte ich nur. Ich Abtrünniger! Kommt nicht wieder vor. Isch schwör!

  • Uiuiui. Sich erinnern? Ich glaube es war "sudo cat /var/log/syslog" oder "sudo cat /var/log/homebridge.log".

    Ja, sowas war's bestimmt. Du kannst die Ausgabe solcher Befehle einschränken, indem du sie nicht sofort auf den Bildschirm ausgibst (lach, ein geiler Satz, aber so was von richtig!). Also:


    Der Befehl cat zeigt den Inhalt einer Datei auf dem Bildschirm an. Du gibst ihn ein, fügst einen Dateinamen hinzu, drückst die Entertaste und schwups! steht der Sermon vor deinen erstaunten Augen. Sowas wie

    cat /var/log/syslog


    Du könntest aber die Ausgabe, die cat erzeugt, auch erstmal an ein anderes Programm umleiten, das dann mit den Daten erst irgendwas anstellt und das danach eine Ausgabe auf dem Bildschirm erzeugt. Um nur die Daten, die zur Homebridge gehören, anzuzeigen, bietet sich das Programm grep an. Um die Daten, die cat erzeugt, an grep umzuleiten, braucht man eine Pipe, und das ist ein vertikaler gerader Strich: |. Den erzeugt man auf einer Mac-Tastatur mit Option-7.


    Dann braucht man noch einen Suchbegriff. Da in (fast) jeder Zeile eines Homebridge-Logs der Begriff homebridge vorkommt, bietet der sich als Suchbegriff an. Also grep "homebridge". Das führt unweigerlich zu:

    cat /var/log/syslog | grep "homebridge"


    Jetzt werden nur noch Zeilen angezeigt, in denen der Begriff homebridge auftaucht. Nicht aber die Zeilen, in denen beispielsweise Homebridge oder hOmEbRiDgE steht. Wenn man die auch haben will, lautet der Befehl:

    cat /var/log/syslog | grep -i "homebridge"


    Wenn man alle Zeilen haben will, in denen der Begriff homebridge nicht vorkommt, dann heißt es:

    cat /var/log/syslog | grep -v "homebridge" und wenn gleichzeitig nicht auf Groß- und Kleinschreibung geachtet werden soll:

    cat /var/log/syslog | grep -vi "homebridge"


    Na schön. Wahrscheinlich ist es aber am einfachsten, es völlig anders zu machen, nämlich mit dem Befehl zum Anzeigen des Homebridge-Logs: sudo journalctl -au homebridge.

  • Beim nächsten log erstellen werde das anwenden.


    Jetzt hat mir das Logic-Plugin zig Kacheln in die Home App Übersicht geklatscht. Damit schwindet die Übersicht massiv. Da die Home App Übersicht das präferierte Tool für Hausautomation von der Cheffin des Hauses ist habe ich jetzt ein neues Problem. :rolleyes:


    Ich hab mal das als Wunsch an den Entwickler geschrieben.