NEWS
DS18B20 1-wire auslesen
-
Ich habe am Pi, auf dem auch der ioBroker läuft, 1-wire-Sensoren - wie in https://www.kompf.de/weather/pionewiremini.html beschrieben - angeschlossen.
Die Daten der Sensoren sind unter /sys/bus/w1/devices/sensorname/w1_slave zu finden.
Das Format der Datei ist wie folgt:
0f 00 4b 46 ff ff 06 10 0c : crc=0c YES 0f 00 4b 46 ff ff 06 10 0c t=7375
Wie bekomme ich nun die Netto-Daten (t=7375 heißt 7,375°C) in ioBroker.
Gibt es dafür schon einen pasenden Adapter?
Wie könnte ich die Daten manuell lesen und verarbeiten?
Gefunden habe ich owfs. Ist das der passende Adapter?
Oder eine parallele Lösung (so, dass ich im Pi dann wieder den 1-wire-Support deaktivieren müsste)?
-
Ja owfs ist der Richtige Adapter, dazu musst du dann noch den owfs server auf dem Pi installieren.
Alternativ könnte es auch mit dem Rpi Adapter gehen, mit dem hat man direkten Zugriff auf die GPIO Pins des Pi. Da weiss ich aber nicht wie es sich mit One-Wire verhält.
-
Danke für die Antwort.
Da bei mir auf dem PI die 1-wire-Sensoren bereits verfügbar sind und ich nicht weiß, ob OWFS in Konflikte damit kommt, habe ich nun eine Lösung auf Basis des Parser-Adapters https://github.com/ioBroker/ioBroker.pa … /README.md implementiert.
Der Parser-Adapter kann Dateien lesen und direkt (z.B. reguläre Ausdrücke) parsen.
Dazu muss der Parser-Adapter installiert werden und pro Sensor folgendes konfiguriert werden:
Reiter Allgemein````
type=Zahl****Reiter native****
link=/sys/bus/w1/devices/SENSORNAME/w1_slave // SENSORNAME ist die ID des Sensors
regex=t=(-?\d+) // Suche den String "t=" mit folgender Zahl
factor=0.001 // Normiere die Zahl richtig -
Hallo
Ich bekomme keine Werte angezeigt.
Gibt es da noch einen 'Trik?
-
Danke für die Antwort.
Da bei mir auf dem PI die 1-wire-Sensoren bereits verfügbar sind und ich nicht weiß, ob OWFS in Konflikte damit kommt, habe ich nun eine Lösung auf Basis des Parser-Adapters https://github.com/ioBroker/ioBroker.pa … /README.md implementiert.
Der Parser-Adapter kann Dateien lesen und direkt (z.B. reguläre Ausdrücke) parsen.
Dazu muss der Parser-Adapter installiert werden und pro Sensor folgendes konfiguriert werden:
Reiter Allgemein````
type=Zahl****Reiter native****
link=/sys/bus/w1/devices/SENSORNAME/w1_slave // SENSORNAME ist die ID des Sensors
regex=t=(-?\d+) // Suche den String "t=" mit folgender Zahl
factor=0.001 // Normiere die Zahl richtig```` `
Bin auf diese elegante Möglichkeit gestossen die 1wire Sensoren auszulesen ohne der Installation von OWFS (welches bei mir auf dem Remoterechner nie richtig funktioniert hat) Leider scheitere ich am korrekten Link. Kannst Du das mal näher beschreiben.
Der Pfad "//192.168.1.162/sys/devices/w1_bus_master1/28-00000545b20c/w1_slave" hat bei mir für einen im Netzwerk hängenden Rechner nicht funktioniert. Der Rechner ist aber über Terminal normal erreichbar. Liegt es an den Slashes oder der Berechtigung ?
-
Der Pfad "//192.168.1.162/sys/devices/w1_bus_master1/28-00000545b20c/w1_slave" hat bei mir für einen im Netzwerk hängenden Rechner nicht funktioniert. Der Rechner ist aber über Terminal normal erreichbar. Liegt es an den Slashes oder der Berechtigung ? `
Bei mir läuft ioBroker auf dem Pi, der auch die 1-Wire-Sensoren hostet.Daher ist natürlich auch der Pfad ein lokaler.
Wenn auf externe Hardware (Rechner) zugegriffen wird, dann wird es etwas kniffliger.
Und die notwendige Berechtigung ist eine der Hürden, die genommen werden müssen.
Die zweite Hürde ist die Frage, wie das Verzeichnis dann auf dem lokalen Rechner sichtbar ist (Pfad, Laufwerk, …).
Das lässt sich aber aufgrund der nur sehr schwammigen und nebligen Infos nicht so ganz genau analysieren.
Etwas mehr Details über die Konfiguration könnten hilfreich sein.
-
Bei mir läuft es so:
iobroker (master) IP …155
pilight (slave) IP...162
auf iobroker Master ist der parser Adapter eingerichtet, auf pilight (Slave) die 1Wire Sensoren. Z.Z. ist aber bloss einer aktiv angeklemmt.
Ich müsste also das 1wire devices Verzeichnis einfach nur auf dem iobroker Master mounten und könnte dann auf die Sensordaten zugreifen ?
Geht es auch ohne das Mounten, sozusagen direkt über das Netzwerk ? Habe im Netz dazu keine Beispiele gefunden.
Die Berechtigungen sollten in meinem Fall keine Rolle spielen. Die User auf beiden Servern sind identisch u. die Passwörter auch.
-
Ich habe jetzt mit sshfs das entfernte Verzeichnis auf dem iobroker Server gemounted:
/home/pi/mount/28-00000545b20c/w1_slave
Daten kommen aber keine an