DISPLAY=:0
Was passiert, wenn du das weglässt?
DISPLAY=:0
Was passiert, wenn du das weglässt?
" key ": " ist in der Config eingetragen ",
Leerzeichen sind kontraproduktiv.
Failed to resolve hostname Babycam: Name or service not known
Die Internet-Adresse "Babycam" kann nicht gefunden werden. Vielleicht zeigst du mal deine Konfiguration vor.
Die Influxdb ist eine Maschine, die Daten in einem bestimmten Format speichert und dazu immer automatisch einen Timestamp hinzufügt.
Die Daten werden in Datenbanken gespeichert. Deine Datenbank heißt topics. Meine heißt mydb. In einer solchen Datenbank können die Daten von vielen unterschiedlichen Messquellen gespeichert werden. Bei mir werden in einer einzigen Datenbank die Werte meiner Pflanzen, meiner Raspis und der Außentemperatur gespeichert.
Die Daten werden in measurements abgelegt. Beispielsweise habe ich ich die Werte der Außentemperatur im measurement "temperature" abgelegt, aber die Temperaturwerte der Raspis befinden sich auch darin. Die Bodenfeuchtigkeitswerte meiner Pflanzen befinden sich im measurement "moisture".
Schematisch sieht das so aus:
database mydb
measurement temperature
[1576304563534280557,"redpi","host",52.9]
[1576304563534280601,"homepi","host",51.2]
[1576304563534280899,"bluepi","host",47.7]
[1576304563534280909,"litepi","host",49.1]
[1576304563534281001,"frankfurt","location",18.5]
database mydb
measurement moisture
[1586936806565253299,"Dracaena","plant",51]
[1586936960782796679,"Fittonia","plant",48]
[1586937110450024149,"Dracaena","plant",50]
[1586937286742464212,"Fittonia","plant",48]
[1586937427509442211,"Dracaena","plant",50]
Das Format besteht aus vier Teilen:
timestamp, name, type, value
Ich kann jetzt eine Query absenden, die mir beispielsweise die Werte meiner Pflanzen anzeigt:
select * from moisture where "type" = 'plant'
Hätte ich reichlich Pflanzen, drinnen und draußen, könnten eine solche Abfragen auch lauten:
select * from moisture where "type" = 'garden' and "name" = "Rose"
select * from moisture where "type" = 'house' and "name" = "Rose"
Geht bei mir nicht, ich kann ja nur nach plant abfragen.
Du hast dein Measurement moisture_Buecher-Regal_oben genannt. Das würde ich nicht machen. Ich würde die Bodenfeuchtigkeitswerte aller Pflanzen in das Measurement "Feuchtigkeit" speichern und den type so setzen: "Wohnzimmer", Esszimmer", "Schlafzimmer", "Lobby", "Bibliothek", "Fitnessraum", "Park" und entsprechend für den Rest deines Anwesens. Das würde es dir erlauben, ein Abfrage zu starten, die dir die Feuchtigkeistwerte für das Wohnzimmer angibt (wahrscheinlich albern):
select * from Feuchtigkeit where "type" = 'Wohnzimmer'
Man kann auch mehrere types setzen, aber dazu verweise ich mal hierhin:
https://docs.influxdata.com/in….8/concepts/key_concepts/
Die machen das da mit Bienen und Blümchen oder so.
So. In Node Red müssen die Daten, die gespeichert werden sollen, der Datenbank in einem bestimmten Format überreicht werden. Die Node Red-Funktion baut das entsprechend zusammen:
msg.payload = [{
"value": msg.payload.moisture,
},
{
"type": "plant",
"name": "Fittonia"
}];
msg.measurement = "moisture";
return msg;
Node Red-Nodes überreichen dem nachfolgenden Node alles in der Variablen msg und bekommen vom Vorgänger alles aus der Variablen msg. Diese Variable enthält eine payload, und fast alle Nodes erwarten dort die wesentlichen Daten.
Der Wert vom MQTT-Node ist in msg.payload.moisture gelandet, und den übertrage ich nach msg.payload.value. Dann bastle ich noch msg.payload.name und msg.payload.type dran und fertig ist die Laube. Damit die Datenbank weiß, zu welchem measurement sie die Werte hinzufügen soll, gebe ich noch msg.measurement dazu. Der Influx-Node weiß dann, wie er das der Influxdb übergeben muss.
Nein, das ist mir alles nicht so zugeflogen. Da habe ich schon ein Weilchen dran zu schwitzen gehabt, aber dann hat es natürlich einen Haufen Spaß gemacht. Ich bin wirklich kein Experte von Influxdb, ich hab mir gerade die minimalsten Basics draufgeschafft und man kann das sicherlich alles noch viel eleganter machen.
Und jetzt klappt's?
Apr 14 18:35:00 phoscon homebridge[24765]: [2020-4-14 18:35:00] Error: listen EADDRINUSE: address already in use :::51826
Sie kann nicht gestartet werden, weil sie schon läuft. Reboote mal deinen Raspi.
Das weiß ich nicht, weil ich nicht weiß, was ein Permit Join button ist.
Und ich würde mal ein
sudo systemctl stop homebridge
sudo rm /var/homebridge/accessories/cachedAccessories
sudo systemctl start homebridge
machen.
Kannst du erkennen wo das problem liegt, was ich anders machen muss????
Das Plugin, dass du verwenden willst, ist nicht installiert, weil die Installation ja fehlschlug:
serialport.target.mk:112: die Regel für Ziel „Release/obj.target/serialport/src/serialport.o“ scheiterte
make: *** [Release/obj.target/serialport/src/serialport.o] Fehler 1
make: Verzeichnis „/usr/local/lib/node_modules/homebridge-zigbee/node_modules/serialport/build“ wird verlassen
gyp ERR! build error
Das liegt daran, dass das Plugin homebridge-zigbee während der Installation eine Software nachinstallieren will, die das Plugin benötigt, was aber nicht klappt. Diese Software heißt serialport.
Aus irgendwelchen Gründen kann serialport nicht installiert werden. Das könnte daran liegen, dass deine Node-Version v12.16.1 dafür zu neu ist. Oder serialport zu alt, denn es gibt tatsächlich neuere Versionen davon. Was homebridge-zigbee aber schnurz ist, denn es verlangt ausdrücklich nach der Version [email protected]. Die lässt sich nicht installieren, also lässt sich auch das Plugin nicht installieren, also bekommst du eine Fehlermeldung beim Gebrauch, nämlich Error: The requested platform 'ZigBeePlatform' was not registered by any plugin.
Woran es nun wirklich liegt, weiß ich nicht. Aber solange serialport nicht installiert werden kann, kann auch homebridge-zigbee nicht installiert werden.
Was du versuchen kannst, ist die Installation von n, wie schon von z-smoker vorgeschlagen, und dann eine ältere node-Version installieren:
sudo n 10.20.1
und es dann noch mal versuchen. Möglicherweise musst du dann auch Homebridge neu installieren und alle anderen Plugins. Deine config.json bleibt dabei erhalten.
Du hast da zwei Homebridges drauf. Eine muss weg. Die stören sich gegenseitig. Ich glaube:
Machen wir die falsche also weg, testweise mit
sudo mv /usr/lib/node_modules /usr/lib/node_modules.wtf
Das kann rückgängig gemacht werden mit sudo mv /usr/lib/node_modules.wtf /usr/lib/node_modules, aber erst startest du die Homebridge testweise neu und siehst nach, was passiert:
sudo systemctl restart homebridge; sudo journalctl -fau homebridge
Was passiert?
[2020-4-13 17:20:47] Warning: skipping plugin found at '/usr/lib/node_modules/homebridge-hue' since we already loaded the same plugin from '/usr/local/lib/node_modules/homebridge-hue'.
Es sieht so aus, als existiere das Plugin an zwei Stellen in deinem System, wo nur eine angesagt wäre
[2020-4-13 17:20:47] Plugin /usr/local/lib/node_modules/homebridge-lib package.json does not contain the keyword 'homebridge-plugin'.
Das sollte deinstalliert werden.
sudo npm uninstall -g --unsafe-perm homebridge-lib
Ich würde gern mal den Output von
ls -l /usr/lib/node_modules
sehen.
Und ich würde gern wissen, wie du deine Homebridge installiert hast. Hast du eine bestimmte Anleitung benutzt oder vielleicht zwei verschiedene?
Danke sehr.
Das ist ein Philips Screeneo 2510.
Hardware. Hardware erkenne ich immer dann, wenn einer drauf zeigt und sagt: "Hardware". Alles was mit Drähten, Schaltungen und Lötkolben tun hat, stellt mich vor unüberwindliche Hindernisse.
Wobei ich mir immer die Frage stelle:
Hä?
Was geht ab? Ich muss zugeben, dass mir nicht ganz klar ist, warum das gemacht wird. Wo soll die Reise mit der Homebridge denn hingehen?
Den NODE-RED hab ich mir mal installiert, aber ich suche da noch ne schicke Doku - vorzugsweise auf Deutsch.
Es ist gar nicht so schwierig. Die Pflanzendaten werden aus dem MQTT-Server ausgelesen, etwas aufgehübscht, so dass sie dem Format entsprechen, das die influxdb versteht, und dann dorthin gesendet. Sieht so aus:
Die ganze "Technik" besteht aus drei Nodes:
Ya, it's that simple. Klick, klick, klick, fertig.
Auch der Umgang mit der influxdb ist nicht viel schwieriger. Und Grafana auch nicht. Ein schönes Projekt für einen verregneten Sonntagnachmittag. Linuxkenntnisse sind von Vorteil.
Tja. Dann hab ich nix mehr beizutragen
.
Jetzt hab ich's kapiert! Das hilft mir natürlich nicht weiter. Danke.
Das mit dem Rolling Code und wie du den überwindest, habe ich nicht verstanden. Ich hab hier einen Beamer, dessen IR-Fernsteuerung einen Rolling Code verwendet und weiß nicht, wie ich das Ding ansteuern soll.
Ich habe Homebridge auf meinem NAS im docker laufen..
Möglicherweise fehlt dem Docker-Container die Temperaturgeschichte. Dann bleibt dir nur das, was du getan hast: herauslöschen.