Beiträge von sschuste

    Auf dem Mac ist mal alles anders. Erstmal hast du kein wget. Das ist schon mal gut, denn das bringt dich dann auch nicht in Versuchung, die falsche Node-Version herunterzuladen (und ich kann sehen, dass du es versucht hast!).


    Vielleicht fehlt ja nur der Link. Auf dem Mac musst du dein Passwort eingeben, um sudo benutzen zu können.

    cd /usr/local/bin

    sudo ln -s ../lib/node_modules/npm/bin/npm-cli.js npm


    Klappt's damit schon? Ansonsten:


    Auf dem Mac kannst du Node herunterladen mit

    cd Download

    curl -o node-v12.18.3-darwin-x64.tar.gz https://nodejs.org/dist/v12.18…12.18.3-darwin-x64.tar.gz

    tar xzf node-v12.18.3-darwin-x64.tar.gz


    Dann:

    sudo mv /usr/local/lib/node_modules/npm /tmp

    sudo cp -a node-v12.18.3-darwin-x64/lib/node_modules/npm /usr/local/lib/node_modules/


    Danach:

    cd /usr/local/bin

    sudo rm npm

    sudo ln -s ../lib/node_modules/npm/bin/npm-cli.js npm


    Wie immer: alles hingeschrieben ohne es auszuprobieren.

    Das tut mir so leid, dass ICH - moi - mit so nem blöden Kram kommen muss.

    Was auch immer passiert ist - kann ja mal passieren :D


    Ich kann sehen, dass es bei dir ein Verzeichnis /usr/local/lib/node_modules/npm existiert. Darin sollten sich die Programmteile für npm befinden. Offenbar ist das nicht mehr vollständig. Was ich also jetzt versuchen werde ist, dieses npm-Verzeichnis zu ersetzen.


    Dazu werde ich folgende Schritte machen:

    • node v12.18.3 erneut herunterladen
    • das alte npm-Verzeichnis /usr/local/lib/node_modules/npm löschen
    • aus dem neu heruntergeladenen Node-Verzeichnis das npm-Verzeichnis an die Stelle des alten npm-Verzeichnissen kopieren.
    • testen


    Start

    Auf den Raspi einloggen.


    Node herunterladen und auspacken

    wget https://nodejs.org/dist/latest-v12.x/node-v12.18.3-linux-armv7l.tar.gz

    tar xzf node-v12.18.3-linux-armv7l.tar.gz


    Altes npm-Verzeichnis löschen

    Gut, das npm-Verzeichnis soll nicht gelöscht werden, aber es muss da weg. Also verschieben wir es einfach woanders hin, wo es nicht stört.

    sudo mv /usr/local/lib/node_modules/npm /tmp


    Neues Verzeichnis kopieren

    sudo cp -a node-v12.18.3-linux-armv7l/lib/node_modules/npm /usr/local/lib/node_modules/


    Testen

    npm -v


    Wenn das kein positives Ergebnis bringt, dann

    cd /usr/local/bin

    sudo rm npm

    ln -s ../lib/node_modules/npm/bin/npm-cli.js .


    Erneut testen.


    Wenn der Test erfolgreich verläuft, löschst du das alte npm-Verzeichnis endgültig mit

    sudo rm -rf /tmp/npm

    Und wie bekomme ich npm einzeln installiert? Ich seh den Wald vor lauter Bäumen wahrscheinlich mal wieder nicht. Total irritiert.

    Ich weiß gar nicht, wie es verschwinden kann. Es gehört zu node. Aber vielleicht können wir es wieder herzaubern.

    Machma

    ls /usr/local/lib/node_modules/npm/bin/npm-cli.js


    Das erzeugt entweder was Schönes oder eine Fehlermeldung. Die Fehlermeldung ist doof und würde lauten:

    ls: cannot access '/usr/local/lib/node_modules/npm/bin/npm-cli.js': No such file or directory


    Wenn's was Schönes ist, steht dort:

    /usr/local/lib/node_modules/npm/bin/npm-cli.js


    und dann mache bitte folgendes:

    cd /usr/local/bin

    sudo ln -s ../lib/node_modules/npm/bin/npm-cli.js .

    mit dem Punkt am Ende und die Sache läuft wieder. Sag ich mal.


    Im Falle der Fehlermeldung gib bitte ein:

    node -v

    und berichte vom Ergebnis.

    Seid ihr so ratlos bei meinen hinterfragten Problemen oder ist meine "7-Tage-Testwoche" bei euch abgelaufen?

    Von mir hörst du nix mehr - jedenfalls zu diesem Thema. Weil ich es nicht weiß.

    Muss ich jetzt bezahlen für weiteren Support...

    Waddema, das ist eigentlich gar keine so schlechte Idee... :/

    Und ein Detail ist mir nicht gelungen... eine Taste/einen IR-Befehl "gedrückt halten" (um z.B. den AppleTV auszuschalten benötigt man das ja). Wie programmiert man das für den benötigten HEX.Code in die config.json?

    Mal ins Blaue - geht das vielleicht mit einem "repeat"?

    Sehr geil. Gefällt mir. Da ich so wenig mit IFTTT mache, habe ich mir den Schritt dann gespart und mal auf meiner Kommandozeile eingegeben:


    curl -s -o /dev/null -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "message=Dies%20ist%20ein%20Test." https://anrufliste.cloud/TextNachricht/sender/index.php?aid=amzn1.ask.account.AGJQP3HXYXXSGGEHEIM6QQXF2ZDL6W4USMSP4G5NRN2AAXBAMR36EPXJZRZSVSEV6EVY7CWPBUKY7MVCDSTGGUXNE6NF3UULUNBRAUCHBARIAK6N3YTCH6MOGEHTNICHT54AZRPLSJFRRYUDIQ6GAL7UA72ABVT2UXTCIG4OGPA54HVERFQTI


    Falls das einer brauchen kann. Ich kann ^^

    Das Log schreibt im Debug-Modus nicht einfach nur mehr, sondern massiv mehr. Ich habe es eben getestet und den Debug nur zwei Minuten laufen lassen. In dieser Zeit ist das Log um fast 18000 Zeilen gewachsen. Normalerweise habe ich in der gleichen Zeit vielleicht 10 Einträge.


    Dabei ist mein Raspi auf eine Auslastung von 280% gegangen, seine Temperatur hat sich um 10º erhöht und ich hatte leichte Probleme, überhaupt noch was eintippen zu können, so hat das Ding auf die SD-Card gefeuert. Das Plugin homebridge-config-ui-x hat es nicht geschafft, das Log in diesem Tempo im Browser anzuzeigen und der hat sich dann leise weinend verabschiedet und gar nichts mehr angezeigt.


    Meine Empfehlung für den Debug-Modus lautet also ab sofort:

    In /etc/default/homebridge einschalten, dann


    sudo systemctl restart homebridge; sleep 120; sudo systemctl stop homebridge. Damit wird zwei Minuten lang das Log geschrieben und dann die homebridge gestoppt, bevor sie den Raspi völlig unbrauchbar macht.


    Danach den Debug-Modus wieder abschalten.


    Wenn bei dir nicht so ein fettes Log geschrieben wird, dann zeige mir mal bitte deine /etc/systemd/system/homebridge.services und die /etc/default/homebridge. Beide mit nano öffnen und das Ergebnis hier posten.

    nano /etc/systemd/system/homebridge.services

    nano /etc/default/homebridge

    Ich habe pihole als dhcpd[1] laufen, aber nicht, weil das irgendwas besser macht, sondern weil ich es kann. Ich bin beruflich seit 30 Jahren Netzwerk-Admin und verwende seit fast 25 Jahren Linux als Basis aller Server, mit denen ich arbeite. Ich weiß also, was ich tue. Zumindest meist. Was nicht verhindert hat, dass ich mir neulich mein Netz so zerschossen hab, dass ich im Strahl hätte k... ok, lassen wir das.


    Auch das letzte pihole-Update hat mich durch eigene Blödheit sehr beschäftigt. Ich will damit sagen: am DHCP-Mechanismus herumzuspielen kann zu unschönen Effekten führen. Zwar ist es einfach, erst den dhcpd auf dem Router zu deaktivieren und danach den pihole-dhcpd zu aktivieren und das funktioniert auch ganz simpel. Trotzdem kann der dhcpd auf dem Raspi auch einfach ausfallen, beispielsweise nach einem fehlerhaften Update von pihole. Oder wenn der Raspi die Fliege macht. Danach bekommt keine der Maschinen im Netz mehr eine IP-Adresse zugewiesen, was sich ganz unterschiedlich äußern kann.


    Alle Geräte werden nach Ablauf der lease time (meist 24 Stunden) den dhcpd erneut nach Netzwerk-Informationen fragen. Wenn sie dann keine Antwort bekommen, werden viele sich selbst eine IP-Adresse zuteilen. Diese selbst zugeteilte IP-Adresse befindet sich dann außerhalb des normalen Netzwerks, was dazu führt, dass sie nicht mehr erreicht werden können. Und das passiert nicht etwa gleichzeitig. Das passiert im Laufe von 24 Stunden. Andere Geräte werden möglicherweise die IP-Adresse behalten, die sie hatten.


    Das Chaos ist dann perfekt. Wer also pihole als dhcpd verwenden will, sollte verstehen, wie ein dhcpd funktioniert, damit er im Zweifel eingreifen kann.


    Wer pihole als dhcpd einsetzen will, sollte noch wissen, dass alle anderen dhcpd im Netz abgeschaltet werden müssen. Es kann immer nur einen dhcpd im Netz geben.


    [1] Ich nenne den DHCP-Server dhcpd. Das kleine d am Ende steht für Daemon. Ein Daemon ist ein Programm, dass einen Port öffnet, und ein Programm, das einen Port öffnet ist ein Server. Man findet dieses kleine d häufig im Namen eines Server-Prozesses (Webserver = httpd, Mailserver gelegentlich = smptd, FTP-Server = ftpd, SSH-Server = sshd), aber nicht immer. So heißt die Homebridge beispielsweise nicht homebrided, was ja auch prompt jeder falsch aussprechen würde ^^)