Beiträge von sschuste

    Genau, deine Fritzbox ist der DHCP-Server. Sie liefert jedem angeschlossenen Gerät im Netzwerk die IP-Adresse, die Subnet-Mask, die IP des Gateways (also des Routers) und die Adresse des DNS. Darüber hinaus liefert sie einen Zeitstempel (lease time), wie lange diese Information gültig ist und wie lange die angeschlossenen Netzwerkgeräte nicht wieder erneut danach fragen müssen. Diese lease time kann 120 Jahre betragen oder 15 Sekunden oder irgendeinen anderen Wert. Im allgemeinen beträgt die Zeit, nach der Geräte den DHCP-Server erneut nach Netzwerkinformationen fragen, 24 Stunden.


    Da ich keine Fritzbox einsetze, kann ich die nicht sagen, wie die konfiguriert wird. Fakt ist, dass der DHCP-Server der Fritzbox konfiguriert weder muss. Wenn du nur den Fritzbox-DNS so konfigurierst, dass er pihole als nächsten DNS-Server fragen soll, dann werden deine 50 Geräte nie pihole fragen, sondern immer nur die Fritzbox. Und die fragt dann pihole.


    Das bedeutet, dass du bei jedem der 50 Geräte pihole als Server eintragen musst, und da man davon blöd wird, bekommt die Aufgabe der DHCP-Server der Fritzbox. Und dann (wahrscheinlich) 24 Stunden warten oder die 50 Geräte neu starten.


    Die lease time wird auf jedem der 50 Geräte gespeichert. Es nützt also nichts, die lease time jetzt auf dem Router umzustellen - deine Geräte werden das augenblicklich nicht wissen wollen. Möglicherweise tauchen die in den nächsten Tagen Stück für Stück in deinem pihole auf.

    Na, er braucht das Homebridge-Log. Das lässt du du dir doch bestimmt sonst anzeigen mit sudo journalctl -fau homebridge, oder?


    Am besten machst du ein

    sudo journalctl -u homebridge


    und wenn da was auf dem Bildschirm auftaucht, das einem Log ähnelt, dann ein

    sudo journalctl -u homebridge | gzip > homebridge.log.gz


    bedeutet:

    sudo: als root ausführen

    journalctl -u homebridge: schreibe das Log für homebridge raus

    | gzip: leite die Ausgabe an das Programm gzip

    homebridge.log.gz: schreibe den gezippten Output in diese Datei

    Oder soll ich alles raus picken was mit dem Ventilator zu tun hat?

    Es ist bestimmt hilfreich, möglichst viel herauszuwerfen, was mit dem Ventilator nichts zu tun hat. Aber das ist ja nicht so einfach zu erkennen.


    Das Log beginnt immer mit den Worten: Started Node.js HomeKit Server. Alles davor kann schon mal weg. Am besten zippst du das Log und lädst es dann beim Entwickler hoch.

    Ok. Du willst das Plugin homebridge-rpi nutzen. Ich übersetze mal einen Teil der Anleitung:

    Homebridge RPi verbindet sich (lokal oder entfernt) mit dem pigpiod-Dämon auf dem Raspberry Pi.


    Ein daemon (Dämon) ist ein Programm, dass einen Port öffnet. In diesem Fall ist es das das Programm pigpiod. Dieses Programm muss installiert, konfiguriert und gestartet werden. Das Programm ist eine Schnittstelle zu einem Sammelsurium anderer Programme, die unter dem Namen pigpio zusammengefasst sind. Der Begriff pigpio kommt nicht etwa von der Schweinefarm um die Ecke, sondern leitet sich ab aus pi und GPIO. GPIO bezeichnet die Pins des Raspi, die man frei belegen kann. Mit der Programmsammlung ("Library") pigpio kann man diese Pins steuern.


    Das heißt, homebridge-rpi fragt den pigpiod nach irgendwelchen Werten, und der pigpiod fragt pigpio. Das Zeugs muss alles installiert sein. Offenbar ist es das bei dir nicht.


    Sieht man sich nun die Dokumentation für pigpiod an, so kann man dort entdecken:

    -p value: Socket port 1024-32000, default 8888


    Das sieht also ganz so aus, dass pigpiod Port 8888 zur Verfügung stellt, wenn man den Port nicht anders konfiguriert. Port 8888, da klingelt doch etwas, oder?


    Ich verwende das Zeugs nicht. Ich hab's deshalb auch nicht ausprobiert, aber ich würde es mal versuchen mit der Installation von pigpio und pigpiod:


    sudo apt-get install pigpio pigpiod pigpio-tools


    Wie gesagt, ich hab jetzt nur die Dokumentation überflogen. Ganz ehrlich: wozu brauchst du das überhaupt?

    Wie genau geht es

    Wenn du deine Homebridge nach der Forenanleitung installiert hast, dann so:


    sudo nano /etc/default/homebridge

    Mach, dass die Zeile

    # DEBUG=* homebridge -D

    so aussieht

    DEBUG=* homebridge -D


    Dann Homebridge neu starten.

    Zitat von recovery

    und was bringt es?

    Eine Log-Datei, bei der dir Hören und Sagen vergeht. Sehr, sehr viele Log-Einträge, die zum größten Teil unverständlich sind.

    Wo kann ich hin?

    Erstelle einen neuen Thread. Da wird er auch von mehr Leuten gelesen.

    3.) verstehe ich leider nicht

    Es ist nicht so, dass der Herr in sieben Tagen Himmel und Erde geschaffen hat und am achten die Ports. Ports sind nicht einfach da. Ports sind entweder offen oder nicht existent. Damit ein Port offen sein kann, muss ein Programm gestartet werden, das ihn öffnet. Beispielsweise ein Web-Server, der Port 80 öffnet. Oder ein ssh-Server, der Port 22 öffnet. Oder irgendwas, das Port 8888 öffnet.


    Öffne einen neuen Thread, wie hören hier an dieser Stelle auf. Da kannst du dann vielleicht gleich mal erklären, was du genau auf Port 8888 ansprechen willst.

    [8/28/2020, 17:12:18] [RPi] warning: RPi: 192.168.178.22:8888: cannot connect: ECONNREFUSED

    Falscher Thread.


    Connection refused heißt immer, auf allen Betriebssystemen, bei allen Services, dass ein Port auf einer IP-Adresse angesprochen wird, der nicht existiert. Also entweder:

    1. die IP-Adresse ist falsch
    2. die Portnummer ist falsch
    3. beides ist richtig und auf der Zielmaschine läuft kein Programm, das diesen Port geöffnet hat

    Auch das Interpretieren der Fehlermeldung ist hier nicht das Problem - ich versuche nicht den Inhalt in ein potenzielles "Nicht Verzeichnis" zu schreiben, sondern npm.

    Sorry. Es ist mir nicht immer gleich klar, welchen Wissensstand ich voraussetzen darf. In diesem Forum tummeln sich eher nicht so die Experten, die wissen, was ein symbolic link ist.

    der link auf /usr/local/man ist korrekt, man ist ebenfalls ein Verzeichnis, keine Datei.

    Hmmm. WTF...

    Ich weiß es nicht. Die Platte durchchecken - das sollte normalerweise bei einem Boot passieren.

    Du versuchst, den Inhalt des Verzeichnisses /usr/local/n/versions/node/12.18.3/share/man nach /usr/local/share/man zu kopieren. Das geht nur, wenn /usr/local/share/man ein Verzeichnis ist und das scheint nicht der Fall zu sein. Du kannst den Inhalt eines Verzeichnisses nicht in ein nicht-Verzeichnis kopieren.


    Der Witz ist aber, dass /usr/local/share/man ein Verzeichnis sein sollte. Daher ist die Meldung äußerst ungewöhnlich.


    Welches Ergebnis bringt ls -ld /usr/local/share/man?

    Oder auch:

    ls -ld /usr/local/share

    ls -ld /usr/local

    ls -ld /usr


    Entweder hat jemand die File-Attribute von /usr/local/share/man oder einem damüberliegenden Verzeichnis verändert, oder der Inhalt der SD-Card hat einen Schlag (sollte ein Reboot lösen) oder die SD-Card selbst ist kaputt.

    So... das waren jetzt bestimmt zu viele Informationen richtig, Herr Schuste?

    Ahh, Herr bollekk, das war wirklich reichlich. Aber richtig gut. jetzt weiß ich alles über deinen Raspi, dich und dein Leben.

    pi@raspberrypi:~ $ npm install -g homebridge-broadlink-rm

    Das funktioniert deshalb nicht, weil der User pi aufgrund fehlender Schreibrechte das Plugin nicht installieren darf. Daher muss man, wenn man User pi ist, dem Befehl ein sudo voransetzen.

    und nochmal wenn ich als root angemeldeet bin:


    pi@raspberrypi:~ $ sudo -i

    Hier habe ich mühsam gelernt, dass ein sudo su - die bessere Wahl ist als sudo -i, auch wenn ich bis dahin geglaubt habe, es sei das gleiche. Ich habe keine Erklärung dafür, warum dem so ist.

    Ich erinnere mich vage an diesen miesen Fehler und ich glaube mich zu erinnern, dass ich beim Installieren von homebridge-broadlink-rm da auch herumgehampelt habe. Mit dem vorher eingegeben sudo su - ging es dann. Ich würde darüber hinaus beim Installieren von Plugins immer den Parameter --unsafe-perm mit angeben:

    npm install -g --unsafe-perm homebridge-broadlink-rm

    Aug 25 21:25:51 raspberrypi homebridge[7633]: [2020-8-25 21:25:51] Error: The requested platform 'BroadlinkRM' was not registered by any plugin.

    Diese Meldung kommt immer, wenn ein Plugin nicht installiert ist, du aber eine Konfiguration in config.json dafür hast.


    Meine Empfehlung ist daher: als pi einloggen und dann

    sudo su -

    rm -rf .npm

    npm uninstall -g --unsafe-perm homebridge-broadlink-rm

    npm install -g --unsafe-perm homebridge-broadlink-rm

    setcap cap_net_raw+ep $(which node)

    Der letzte Befehl muss nach dem jedem Update von node ausgeführt werden.


    Es ist alles so wie es sein soll, ausser, dass eben keine IR-Signale vom Broadlink aufgefangen werden:

    Vielleicht liegt es ja an diesem setcap cap_net_raw+ep $(which node).