Das ist doch völliger Blödsinn und deshalb habe ich einen bestellt.
Beiträge von sschuste
-
-
So, ich habe das erneut zum Laufen bekommen, aber es ist tatsächlich eine arge Bastelei. Komischerweise wurde plötzlich keine Werte mehr angezeigt und gleichzeitig konnte auch die Flower Care-App sich auf einmal nicht mehr mit den Sensoren verbinden. Ich musste meinen zwei Sensoren die Batterie entnehmen und neu einsetzen, damit die App sich wieder verbinden konnte. Wie das zustande kommt: keine Ahnung. Weiter beobachten.
homebridge-mi-flower-care unter Node 10.16.3
Das Problem liegt im Modul bluetooth-hci-socket. Darin befindet sich irgendein Bug, der den Betrieb unter Node 10 unmöglich macht. Das hat irgendwer repariert und im npmjs-Repository hinterlegt. Der Trick besteht nun darin, dieses Modul zu installieren und homebridge-mi-flower-care unterzuschieben.
Zuerst muss der ganze Bluetooth-Kram auf den Raspi installiert werden. Ich schätze mal, das hat schon jeder getan, aber der Ordnung halber hier nochmal:
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev libcap2-bin
Es schadet nicht, das Bluetooth-Zeugs noch mal zu installieren, auch wenn es schon drauf ist.
Den Rest der Installation habe ich als root vorgenommen.
sudo su -
Installation der verbesserten Module
npm install -g --unsafe-perm @abandonware/bluetooth-hci-socket
npm install -g --unsafe-perm @abandonware/noble
Auch hier wird der Bildschirm mit Fehlermeldungen und Warnungen überschwemmt, aber jeweils am Ende sieht man, dass was installiert wurde.
homebridge-mi-flower-care mal anders installieren
git clone https://github.com/honkmaster/homebridge-mi-flower-care.git
npm install -g --unsafe-perm ./homebridge-mi-flower-care
Man beachte bitte den ./ bei der Installation.
Starten der Bastelarbeiten
rm -rf /usr/local/lib/node_modules/homebridge-mi-flower-care
cp -av homebridge-mi-flower-care/ /usr/local/lib/node_modules/
Während der Laie ungerührt kopiert und pastet, staunt der Fachmann. Erst habe ich mit npm das Plugin installiert, dann mit rm -rf wieder gelöscht und dann manuell mit cp -av wieder hinkopiert. Ich werde zu diesem Vorgang keine Fragen beantworten, weil ich ihn selber nicht verstehe. Aber ohne ging's nicht.
Da homebridge-mi-flower-care die falsche noble- und bluetooth-hci-socket-Version mitinstalliert hat und diese nutzen will, schiebe ich ihr jetzt die verbesserten Versionen unter:
cd /usr/local/lib/node_modules/homebridge-mi-flower-care/node_modules/
rm -rf bluetooth-hci-socket noble
ln -s ../../@abandonware/noble/ .
ln -s ../../@abandonware/bluetooth-hci-socket/ .
Und ganz zum Schluss:
setcap cap_net_raw+eip $(eval readlink -f `which node`)
Danach kann man den root-Modus wieder verlassen mit
exit
Nun konfiguriert man config.json wie hier beschrieben:
Code{ "accessory": "mi-flower-care", "name": "Golden cane palm", "deviceId": "AA:BB:CC:DD:EE:FF", "interval": 300 }Die deviceId findet man, indem man sudo hcitool lescan eingibt. Irgendwann wird dann auch die Adresse des Flower Care-Sensors ausgegeben.
Und dann Homebridge restarten. Mein Log zeigt das folgende:
Code
Alles anzeigenAug 19 18:43:15 fourPi systemd[1]: Started Node.js HomeKit Server. Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Loaded config.json with 2 accessories and 1 platforms. Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] --- Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Loaded plugin: homebridge-config-ui-x Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Registering platform 'homebridge-config-ui-x.config' Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] --- Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Loaded plugin: homebridge-mi-flower-care Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Registering accessory 'homebridge-mi-flower-care.mi-flower-care' Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] --- Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Loading 1 platforms... Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] [Config] Initializing config platform... Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] [Config] Spawning homebridge-config-ui-x with PID 5296 Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] Loading 2 accessories... Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] [Dracaena] Initializing mi-flower-care accessory... Aug 19 18:43:17 fourPi homebridge[5273]: [8/19/2019, 6:43:17 PM] [Fittonia] Initializing mi-flower-care accessory... Aug 19 18:43:17 fourPi homebridge[5273]: Setup Payload: Aug 19 18:43:17 fourPi homebridge[5273]: X-HM://0023ISZKF0M16 Aug 19 18:43:17 fourPi homebridge[5273]: Scan this code with your HomeKit app on your iOS device to pair with Homebridge:Da sieht man meine beiden Planzen: eine Dracaena und eine Fittonia. Und die melden munter:
Code
Alles anzeigenug 19 18:43:18 fourPi homebridge[5273]: [8/19/2019, 6:43:18 PM] Homebridge is running on port 51826. Aug 19 18:43:20 fourPi homebridge[5273]: [8/19/2019, 6:43:20 PM] [Config] Console v4.6.0 is listening on :: port 8080 Aug 19 18:48:20 fourPi homebridge[5273]: [8/19/2019, 6:48:20 PM] [Dracaena] Lux: 283, Temperature: 23.3, Moisture: 41, Fertility: 385 Aug 19 18:48:20 fourPi homebridge[5273]: [8/19/2019, 6:48:20 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98 Aug 19 18:48:22 fourPi homebridge[5273]: [8/19/2019, 6:48:22 PM] [Fittonia] Lux: 140, Temperature: 21.6, Moisture: 46, Fertility: 927 Aug 19 18:48:22 fourPi homebridge[5273]: [8/19/2019, 6:48:22 PM] [Fittonia] Firmware: 3.2.1, Battery level: 98 Aug 19 18:53:21 fourPi homebridge[5273]: [8/19/2019, 6:53:21 PM] [Dracaena] Lux: 314, Temperature: 23.3, Moisture: 41, Fertility: 380 Aug 19 18:53:21 fourPi homebridge[5273]: [8/19/2019, 6:53:21 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98 Aug 19 19:08:23 fourPi homebridge[5273]: [8/19/2019, 7:08:23 PM] [Dracaena] Lux: 167, Temperature: 23.3, Moisture: 41, Fertility: 377 Aug 19 19:08:23 fourPi homebridge[5273]: [8/19/2019, 7:08:23 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98 Aug 19 19:13:21 fourPi homebridge[5273]: [8/19/2019, 7:13:21 PM] [Dracaena] Lux: 185, Temperature: 23.2, Moisture: 41, Fertility: 378 Aug 19 19:13:21 fourPi homebridge[5273]: [8/19/2019, 7:13:21 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98 Aug 19 19:13:21 fourPi homebridge[5273]: [8/19/2019, 7:13:21 PM] [Fittonia] Lux: 284, Temperature: 22, Moisture: 47, Fertility: 907 Aug 19 19:13:21 fourPi homebridge[5273]: [8/19/2019, 7:13:21 PM] [Fittonia] Firmware: 3.2.1, Battery level: 98 Aug 19 19:18:19 fourPi homebridge[5273]: [8/19/2019, 7:18:19 PM] [Fittonia] Lux: 299, Temperature: 21.9, Moisture: 47, Fertility: 904 Aug 19 19:18:19 fourPi homebridge[5273]: [8/19/2019, 7:18:19 PM] [Fittonia] Firmware: 3.2.1, Battery level: 98 Aug 19 19:23:19 fourPi homebridge[5273]: [8/19/2019, 7:23:19 PM] [Fittonia] Lux: 267, Temperature: 22, Moisture: 47, Fertility: 899 Aug 19 19:23:19 fourPi homebridge[5273]: [8/19/2019, 7:23:19 PM] [Fittonia] Firmware: 3.2.1, Battery level: 98 Aug 19 19:28:23 fourPi homebridge[5273]: [8/19/2019, 7:28:23 PM] [Dracaena] Lux: 217, Temperature: 23.3, Moisture: 41, Fertility: 370 Aug 19 19:28:23 fourPi homebridge[5273]: [8/19/2019, 7:28:23 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98 Aug 19 19:38:21 fourPi homebridge[5273]: [8/19/2019, 7:38:21 PM] [Dracaena] Lux: 193, Temperature: 23.2, Moisture: 41, Fertility: 368 Aug 19 19:38:21 fourPi homebridge[5273]: [8/19/2019, 7:38:21 PM] [Dracaena] Firmware: 3.2.1, Battery level: 98Die erste Meldung kam übrigens fünf Minuten nach dem Start von Homebridge, also müsst ihr ein bisschen warten.
Noch mal: das ist alles fiese Bastelei. Ich bin sicher, dass mir bei einem Update von homebridge-mi-flower-care alles um die Ohren fliegt. Und nach einem Update von node muss der Befehl sudo setcap cap_net_raw+eip $(eval readlink -f `which node`) wieder eingegeben werden.
Ach ja: das läuft bei mir sowohl auf einem Raspi 3 als auch auf einem Raspi 4.
Stefan
-
Gibt es sowas, oder hat es bewusst einen grund, warum es das nicht gibt?
Es gibt auf Linux- oder Unix-Systemen nichts, was es nicht geben soll. Das kann man mit sed (kaputt) machen. Also sed -i 's/SUCHBEGRIFF/ERSETZBEGRIFF' dateiname.
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin No/' /etc/sshd/sshd_config
Zitat von vgnsxeMoechte ich in diesem File die Zeile: #PermitRootLogin aendern in PermitRootLogin Yes aendern, dann muss ich manuell dorthin navigieren und die Aenderungen vornehmen.
Möchtest du nicht.
Stefan
-
So ergab das folgende Meldung:
useradd: Gruppe »bluetooth« existiert nicht.
useradd: Gruppe »gpio« existiert nicht.
Nehme ich beide Gruppen raus aus dem obigen Befehl, gibt es keine Fehlermeldung mehr. Sind diese zwei Gruppen sehr wichtig? Wenn ja, wie kann ich sie anlegen?Lass sie raus. Sie haben auf Raspberian eine Bedeutung, unter OSMC offenbar nicht. Alternativ könntest du die Gruppen auch anlegen, aber das wird keine weiteren Auswirkungen haben, weder positive noch negative: groupadd bluetooth gpio. Unter Raspberian sind der Gruppe verschiedene Ausführungsrechte von bestimmten Programmen zugeordnet. User, die beispielsweise nicht in der Gruppe bluetooth sind, können dann nicht auf Bluetooth-Programme und -Funktionen zugreifen. Das wird unter OSMC wohl anders gehandhabt und daher spielen wahrscheinlich alle Gruppen keine Rolle.
Ich nehme an, dass bei dir auch ein einfaches sudo useradd -m -c "Homebridge Service" -s /bin/bash homebridge ausreicht. Aber ich kenne OSMC nicht und kannte es auch nicht bis vor wenigen Minuten.
Deine Zeile ist eher eine Alternative fuer die, die ein weniger geschuetztes System bevorzugen und mehr Rechte haben wollen. Zudem wird dieser Befehl in der Datei /etc/sudoers.d/homebridge eingetragen und nicht einfach ins Terminal kopiert
Das wird gelegentlich falsch gemacht, was vor allem bedeutet: die Anleitung muss an dieser Stelle einfach deutlicher werden.
Aug 18 15:36:42 OSMC homebridge[2848]: Error: EACCES: permission denied, mkdir '/var/homebridge/persist'
Wie schon @vgnsxe schreibt: hier fehlen wohl die richtigen Rechte für /var/homebridge.
Stefan
-
-
Ich bräuchte zumindest mal ein Log, das ich lesen kann. So hintereinanderweg in eine Zeile steht das Log ja nicht auf deinem Bildschirm. Wo sind denn die Zeilenumbrüche?
„Fehler: Aug 15 18:52:04 homebridge-Pi4 systemd[1]: homebridge.service: Failed with result 'exit-code“
Dieser Fehler steht am Anfang des Logs, nicht wahr?
Hier wird Homebridge gestoppt. Man erkennt das ganz gut an shutting down Homebridge... und vor allem an Stopping Node.js HomeKit Server...
CodeAug 17 22:53:49 homebridge-Pi4 homebridge[420]: [2019-8-17 22:53:49] Got SIGTERM, shutting down Homebridge... Aug 17 22:53:49 homebridge-Pi4 systemd[1]: Stopping Node.js HomeKit Server... Aug 17 22:53:49 homebridge-Pi4 homebridge[420]: [2019-8-17 22:53:49] [Hub-Wohnzimmer] INFO - shutdown Aug 17 22:53:54 homebridge-Pi4 systemd[1]: homebridge.service: Main process exited, code=exited, status=143/n/a Aug 17 22:53:54 homebridge-Pi4 systemd[1]: homebridge.service: Failed with result 'exit-code'. Aug 17 22:53:54 homebridge-Pi4 systemd[1]: Stopped Node.js HomeKit Server.Dann steht da noch eine Menge anderer Krempel, der zum Stoppen gehört. Und ja, da ist eindeutig eine Fehlermeldung zu sehen, nämlich die berühmte Falschmeldung homebridge.service: Failed with result 'exit-code'. Hier erwartet das Betriebssystem einen exit-code von 15, damit es weiß, dass alles seinen richtigen Weg genommen hat, bekommt aber dummerweise 143 geliefert. Steht eine Zeile dadrüber.
Trotzdem wurde Homebridge gestoppt (Stopped Node.js HomeKit Server). Ich habe keine Ahnung, ob der falsche exit-code 143 von node kommt oder von Javascript oder von der Homebridge: Fakt ist, dass man das ignorieren kann. Man kann den Fehler auch unterdrücken, dann taucht er nicht mehr auf, und wie das geht, habe ich hier im angehängten PDF auf Seite 17 beschrieben.
Dann kommt was Merkwürdiges, das ich noch nicht analysiert habe. Es tritt bei mir nur auf meinem Raspi 4 mit dem Betriebssystem Raspberian Buster auf. Den habe ich erst seit gestern, und erst heute morgen habe ich ihn getestet, und ich weiß nicht mal, was mir das sagen soll.
CodeAug 17 22:53:54 homebridge-Pi4 systemd[1]: homebridge.service: Found left-over process 3031 (homebridge-conf) in control group while starting unit. Ignoring. Aug 17 22:53:54 homebridge-Pi4 systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.Gut, mein Raspi brannte nicht ab und verbreitete auch sonst keine schlechte Laune, von daher habe ich das erstmal ignoriert. Sieht trotzdem unschön aus.
Und dann kommt der Start von Homebridge. Ja, genau, das erkennt man an Started Node.js HomeKit Server.
CodeAug 17 22:53:54 homebridge-Pi4 systemd[1]: Started Node.js HomeKit Server. Aug 17 22:53:56 homebridge-Pi4 homebridge[29416]: [2019-8-17 22:53:56] Loaded config.json with 4 accessories and 12 platforms. Aug 17 22:53:56 homebridge-Pi4 homebridge[29416]: [2019-8-17 22:53:56] --- Aug 17 22:53:56 homebridge-Pi4 homebridge[29416]: [2019-8-17 22:53:56] Loaded plugin: homebridge-camera-ffmpegUnd hier taucht ja kein weiterer Fehler mehr auf. Und das ist der wesentliche Punkt: kein Fehler nach dem Starten von Homebridge zaubert zumindest immer mir ein Lächeln ins Gesicht. Du tust dir gut, indem du einfach das gleiche tust

Stefan
-
Dazu brauchen wir das Log:
sudo systemctl restart homebridge; sudo journalctl -fau homebridge
-
Oder sudo npm install -g --unsafe-perm homebridge-timer.
-
ich versteh nicht warum ich mich in Filezilla nicht als root anmelden kann.
Weil's in /etc/ssh/sshd_config verboten ist, wie auf jedem guten Linux-System.
Warum meldest du dich nicht als User homebridge an? Das wäre die sauberste Lösung.
Stefan
-
ich wollte natürlich die datein in /var/homebridge kopieren. aber da erscheint das gleiche.
Ich nehme an, du machst das als User pi. Der darf nicht /var/homebridge schreiben.
Entweder kopierst du nach /home/pi oder du änderst die Rechte von /var/homebridge (das bedarf ein paar Überlegungen, sonst killst du deine homebridge). Oder du du nutzt als User homebridge für sftp. (recommended)
Stefan
-
ich kann nichts auf den Pi kopieren
Du möchtest nach /media kopieren, aber hast dort keine Schreibrechte für den User öhmWieHießDerGleich?. Entweder verschaffst du dem User öhmWieHießDerGleich? Schreibrechte mit
sudo chown öhmWieHießDerGleich? /media, was ich nicht sonderlich gut finde, aber immerhin eine Lösung ist, oder du schreibst die Datei dorthin, wo öhmWieHießDerGleich? Schreibrechte hat, beispielsweise nach /home/öhmWieHießDerGleich?.
Stefan
-
Ich hab's am Laufen!
- Raspi 3
- node 10.16.1
- noble
- bluetooth-hci-socket
- homebridge-mi-flower-care
- läuft unter User homebridge (und nicht unter root)
Und seid euch gewiss: es war ein echtes Gefummel. Aber ich habe mir aufgeschrieben, was ich getan habe. Da heute endlich mein Raspi 4 eingetroffen ist, den ich erstmal zum Testen der Forenanleitung nutzen will, werde ich danach darauf versuchen, meine Notizen nachzuverfolgen, und wenn das wieder klappt, schreibe ich hier eine Anleitung. Sieht nach nächster Woche aus.
Soviel vorab: das Geheimnis liegt darin, nicht noble zu installieren, sondern @abandonware/noble und @abandonware/bluetooth-hci-socket. Diese Versionen hat nämlich eine gute Seele "repariert". Das allein reicht leider noch nicht, ich habe noch eine Anpassung an homebridge-mi-flower-care machen müssen (weiß aber nicht, ob das wirklich nötig war) und anderes krudes Zeugs getrieben. Was dann bestimmt beim nächsten Update dann wieder in die Luft fliegt
. Egal, erstmal geht's jetzt auch mit Node > 9.Stefan
-
Nichts. Du kannst das ignorieren. Ich glaube mir zusammenreimen zu können, warum die Meldung auftaucht, aber beantworten kann dir das nur ein Plugin-Programmierer.
-
Ich hab dann eben mal spaßeshalber den Raspberry Pi mal vom Strom genommen und den Router neugestartet.
Also zwei Dinge getan. Ich würd ja eher auf den Router tippen.
Also ändert ihr die Nutzer?
Nein. Ob der nun pi heißt oder knacknwuppdich, spielt letztendlich keine Rolle.
Stefan
-
Auf dem Mac:
ssh-keygen -R 192.168.1.Teil-der-IP-Adesse,-die-du-durchgestrichen-hast.
Dann noch mal versuchen.
-
Du hast nicht gelesen, was dort steht. Du hast die Befehle aus der Anleitung genommen und blind in die Shell kopiert. Das wurde falsch gemacht.
Du hast einen möglichen Inhalt der Datei /etc/hombrigde/sudoers.d, den du nur in ganz bestimmten Fällen dort (also in diese Datei) eintragen sollst, in die Shell gepastet. Das funktioniert genauso gut, als hättest du stattdessen einen Teil deines Lebenslaufs genommen. Das ganze Textkonstrukt steht in einem Kasten mit gelber Farbe, der mit den Worten Ein kleiner Blick in die Zukunft: beginnt und mit Am besten tust du das nur, wenn es sich nicht vermeiden lässt. endet.
Mit anderen Worten: lass das einfach weg.
Stefan
-
Raspbian Buster Lite.
Ich sehe gerade, dass die Anleitung etwas outdated ist

PS: Ich habe die Anleitung jetzt ein bisschen frisiert. Allerdings ohne auch nur irgendwas ausprobiert zu haben. Ich wollte Buster erst installieren, wenn mein Raspi 4 kommt, aber Reichelt hat ihn mir erst für den 2. September avisiert (nachdem ich ihn am 27. Juni bestellt habe!). Zehn Wochen Wartezeit - das ist schon der Hammer.
Auch wenn ich es hasse, meine Anleitung nicht wirklich getestet zu haben, heißt meine Strategie "Hoffnung", dass es trotzdem damit funktioniert.
Stefan
-
Hmmm, ich weiß es nicht. Vielleicht geht es besser, wenn man es als root installiert:
sudo su -
npm install -g --unsafe-perm homebridge-config-ui-x
exit
Vielleicht auch mal ein Update des Raspi machen:
sudo apt-get update
sudo apt-get upgrade
Stefan
-
Die App war eh n riesen Fehlkauf damals... ?????
Ja, ich hab sie auch... danach habe ich das Ding dann manuell installiert und mir eine schöne Anleitung geschrieben, wie man das macht
. -
-Wie hast du homebridge installiert
Sieht nach der Homebridge-App aus.