Beiträge von sschuste

    Lars83 : Es gibt von Node verschiedene Softwarestände. Die Entwickler arbeiten gleichzeitig an verschiedenen Versionen. Einmal sind sie mit der neuesten Version beschäftigt (latest) und dann pflegen sie eine bestimmte Version über längere Zeit. Das ist die sogenannte Long Time Support-Version (lts).


    Die LTS-Versionen erfahren nie irgendwelche Neuerungen, sondern nur noch Fehlerkorrekturen. Die augenblickliche LTS-Version ist die Version 12. Zu der gehört auch die Version 12.18.0. Sie hat die letzte LTS-Version 10 abgelöst und deren Vorgänger war die Version 8.


    Die neueste stabile Version ist die Version 14. Hier sind neue Funktionen eingebaut oder Überflüssiges ausgebaut und man hat damit Änderungen zu letzten Version. Stabil (stable) bedeutet, dass die Version fertig ist und Fehlerkorrekteren erhält. Diese Version wird die nächste LTS-Version werden.


    Wie du siehst, beinhalten alle Versionsnummer gerade Zahlen (8, 10, 12, 14). Es gibt aber auch ungerade (9, 11, 13, 15). Das sind Versionen, an denen Entwickler aktiv arbeiten oder gearbeitet haben (unstable). Hier ändert sich im Zweifel täglich etwas. Vom Einsatz dieser Versionen ist für Endanwender wie uns absolut abzuraten. Aber Programmierer testen damit gern die Zukunft ihrer Software. Aus der Version 15, an der der neueste Shice ausprobiert wird, entsteht dann die Version 16, wenn die übelsten Fehler ausgemerzt sind.


    Bei Änderungen von Softwareschnittstellen, die Node bereitstellt, damit Programmierer daraus eine Homebridge und auch Plugins machen können , muss man immer darauf achten, ob sie funktionierende auf Node basierende Software kaputtmachen oder nicht. Das bedeutet, dass das Update einer Node-Version deine Homebridge komplett lahmlegen kann, weil irgendein Plugin mit der neuen Node-Version nicht mehr zurechtkommt. Das kann äußerst ärgerlich sein.


    Verwendet man die LTS-Versionen und alles läuft wie es soll, dann macht ein Update gar nichts aus. Wenn deine Homebridge unter 12.14.1 läuft, dann ist ein Update auf 12.18.0 mit nahezu hundertprozentiger Wahrscheinlichkeit unschädlich, denn es bleibt ja bei Version 12. Will man auf die neueste Version 14 wechseln, dann könnte das schon anders aussehen. Könnte, wohlgemerkt.


    Die nächste LTS-Version basierend auf Version 14 kommt im Oktober. Das steht zumindest hier. Natürlich ist niemand gezwungen, den Wechsel mitzumachen, zumindest ein paar Jahre lang. Aber es kann sein, dass man in die Situation gerät, das neue Plugins unbedingt die Version 14 verlangen. Aber das Problem löst man besten dann, wenn es auftritt. Und der Satz never change a running system ist ja auch nicht Bestandteil eines Kinderliedes, sondern das Ergebnis von Blut, Schweiß und Tränen.


    Ich selbst verwende immer die LTS-Version und mache das Update mit sudo n lts. Es gibt aber reichlich andere Anwender hier im Forum, die sind mutiger und verwenden die letzte Node-Version 14, die sie mit sudo n latest installiert haben. Ich werde mit Version 14 also erst im Oktober Bekanntschaft schließen. Jeder halt wie er kann und will :D

    Ich habe nun alles installiert und kann auch homebridge über die url öffnen. Das wird mir auch problemlos angezeigt. Scanne ich jedoch den Code über mein handy, kann dieses Gerät nicht hinzugefügt werden! Vielleicht könnt ihr mir helfen?

    Was genau passiert? Ist das möglicherweise nicht deine erste Homebridge, die hinzugefügt hast?

    Ich habe es mal kurz überflogen. Mit meiner Maschine wird das möglicherweise nicht gut funktionieren (oder ich habe den Code nicht völlig durchblickt). Meine Maschine liefert "power": 0 auch dann zurück, wenn sie noch nicht fertig ist. Das passiert während des Waschgangs relativ häufig - ich habe keine Ahnung, was sie dann gerade macht. Wahrscheinlich nichts.


    Diese Null-Pausen dauern maximal eine Minute. Erst wenn power mehr als 90 Sekunden auf 0 steht, kann ich sicher sein, dass die Maschine fertig ist.


    Trotzdem: danke für das Skript :D

    Welche Version ist denn da die richtige für den Raspi ZW mit ARM 6?

    Such dich tot oder lass das den Rechner machen. Installiere den Node-Paketmanager n mit sudo npm install -g --unsafe-perm n. Danach dann ein herzhaftes sudo n lts. Das installiert dir die letzte Long Time Support-Version für deinen Pi.


    Ein sudo n latest installiert die neueste Node-Version für deinen Pi. Falls es keine mehr gibt für ARM6, dann hilft nur noch https://www.amazon.de/s?k=raspberry+pi&tag=hktips-forum-21

    npm -g root liefert richtigerweise /usr/local/lib/node_modules

    Nein, das ist eigentlich falsch, weil deine Plugins ja in /usr/lib/node_modules liegen. Neue Plugins sollten ebenfalls dorthin, aber dein npm wird sie nach /usr/local/lib/node_modulues installieren und das Durcheinander geht weiter.


    Nachdem du meiner Meinung nach das falsche npm gelöscht hast, stimmt der Pfad für zukünftige Installationen nicht mehr. Ein npm install -g wird dir garantiert neue Plugins an die falsche Stelle installieren. Falls das der Fall ist, kannst du den richtigen Pfad mit sudo npm -g config set prefix /usr setzen.

    Assistant Relay ist mir unbekannt. Zur Zeit kenne ich nur die Möglichkeit, Homebridge-Geräte von Alexa aus zu steuern. Die andere Richtung, also Alexa-Geräte von Homebridge/HomeKit aus zu steuern, ist meiner Meinung nach nicht existent. Und von Googles Smarthome versteh ich schon gar nichts.

    Wie krieg ich die überflüssigen n und npm jetzt am richtigsten weg? Löschen wird wohl nicht der richtige Ansatz sein.

    Doch, eigentlich schon. Nur leider killst du dir dann dein npm, was dann richtig Ärger bedeutet.


    Also: hol schon mal Heftpflaster, wir operieren am offenen Herzen. Und ich bin dabei blind und kann nix sehen. Das sind keine guten Voraussetzungen.


    Ich weiß jetzt, dass du /usr/local/bin/npm startest. Wie du oben siehst, ist das nur ein Link zu /usr/local/lib/node_modules/npm/bin/npm-cli.js. Ein Link ist so etwas wie ein Alias auf einem Mac oder eine Verknüpfung auf einem Windows-PC. Sozusagen ein Verweis auf das, was wirklich gestartet werden soll.


    Dieser Link verweist also jetzt auf /usr/local/lib/node_modules/npm/bin/npm-cli.js. Er sollte aber verweisen auf /usr/lib/node_modules/npm/bin/npm-cli.js. Daher will ich den jetzigen Link löschen und durch einen besseren ersetzen. Ab jetzt wird's spannend.


    Aktuellen Link löschen:

    cd /usr/local/bin

    sudo rm npm


    Neuen Link setzen:

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


    Dieser Befehl kann funktionieren, muss es aber nicht. Wie gesagt: ich bin blind und habe den Befehl schlichtweg geraten. Es gibt also zwei Möglichkeiten:

    • Das klappt. Dann kannst du mit npm -v checken, ob jetzt die gleiche npm-Version erscheint wie in homebridge-config-ui-x und du kannst checken, ob npm -g root als Ergebnis /usr/lib/node_modules hat. Der Patient lebt und ist wohlauf und wie sind auf einem sehr guten Weg.
    • Es klappt nicht. Dann machst du das Löschen des alten Links wieder rückgängig mit sudo ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js .. Aber das wäre dann wirklich äußerst unschön. Dem Patienten geht's genau wie vorher und ich weiß dann nicht mehr weiter.

    Erstmal bis hierhin.

    Bei mir geht das, was schlichtweg bedeutet, dass das Problem auf deiner Seite liegt und nicht im Internet. Schon mal gut zu wissen.


    Ich nehme an, dass deine DNS-Angaben oben die vom Raspi sind. Sie stehen in /etc/resolv.conf. Du kannst diese Datei bearbeiten mit


    sudo nano /etc/resolv.conf. Bei mir sieht die etwas anders aus, was aber jetzt nicht besser oder schlechter ist:

    # Generated by resolvconf

    domain lan

    nameserver 192.168.1.1


    Bei mir ist mein Router als DNS eingetragen. Die Werte in /etc/resolv.conf kommen übrigens von meinem DHCP-Server. Du hast auch einen, nämlich deinen Router. Der teilt allen Maschinen deren IP-Adresse mit und auch weitere Daten wie hier den nameserver. Daher sollte man eigentlich nicht /etc/resolv.conf bearbeiten.


    Du könntest die Datei dahingehend verändern, dass du dort den ersten deiner zwei nameserver veränderst in


    nameserver 8.8.8.8


    Ganz ehrlich? Dieser Fehler sollte eigentlich nicht auftauchen.