Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anleitung: Raspi + 1Wire + OWFS via I2C

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anleitung: Raspi + 1Wire + OWFS via I2C

    This topic has been deleted. Only users with topic management privileges can see it.
    • oberstel
      oberstel last edited by

      Wenn man sich mit 1-Wire und dem Raspberry beschäftigt, wird man nahezu erschlagen mit unterschiedlichsten Installationsanleitungen… Aber irgendwie scheint keine so richtig zu funktionieren (zumindest war das bei mir so).

      Mittlerweile habe ich aber einen Weg gefunden, 1-Wire Sensoren zusammen mit dem ioBroker OWFS Adapter in Betrieb nehmen zu können. Daher schreibe ich hier mal zusammen wie das geht, eventuell hilft es ja jemanden...

      In meinem Anwendungsfall möchte ich diverse Parameter von meiner Heizung messen (Vor- / Rücklauf Temperatur, Brenner- und Warmwasser Temperatur). Als Sensoren habe ich mir dafür bei Amazon 5x wasserdichte 1Wire DS18B20 Temperatursensoren gekauft (ca. 13,- Euro).

      Um die 1Wire Sensoren an den Raspberry anschließen zu können, setzte ich eine I2C-to-1Wire Bridge ein, basierend auf dem DS2482-100. Dieser kleine Adapter wird auf den GPIO Port des Raspi gesteckt (gekauft bei http://www.sheepwalkelectronics.co.uk für ca. 14,- Pfund).

      Das Ganze wird an einem Raspberry 3 B+ betrieben, funktioniert aber auch auf dem Raspberry-Zero.

      1) Configuration des Raspberry

      Damit der Raspberry die Sensor Daten über den I2C Bus auslesen kann, muss der I2C Bus am Raspi aktiviert und entsprechende Kernel Module geladen werden.

      a) Im Bootfile des Raspi (/boot/config) folgende zwei Einträge ergänzen:````
      dtparam=i2c1=on
      dtparam=i2c_arm=on

      
      b) In der Datei __/etc/modules__ zwei Kernel Module aufnehmen:
      

      i2c-bcm2708
      i2c-dev

      
      c) Den Raspberry einmal rebooten, damit die Änderungen wirksam werden.
      
      d) Nach dem Neustart sollte getestet werden, ob die Kommunikation mit der I2C Bridge funktioniert. Das RPI2 Modul muss dafür auf die Pfostenleiste der Raspi gesteckt werden - Achtung, PIN Belegung beachten!
      
      Für den Test müssen die __I2C Tools__ installiert werden:
      

      sudo apt-get install i2c-tools

      
      Mit diesem Kommando kann der I2C Bus dann abgefragt werden:
      

      sudo i2cdetect -y 1

      
      Es sollte daraufhin eine Matrix erscheinen, in der mit der Ziffer 18 die I2C Bridge erkannt wird:
      
      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      

      00: -- -- -- -- -- -- -- -- -- -- -- -- --
      10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      70: -- -- -- -- -- -- -- --

      
      ****2) OWFS Installieren****
      
      OWFS ist das "One Wire File System" und wird auf dem Raspberry benötigt, um die verschiedenen Parameter eines 1Wire Sensors auslesen zu können.
      
      a) Die für OWFS relevanten Pakete installieren:
      

      sudo apt-get install owfs
      sudo apt-get install ow-shell

      
      b) Die Datei __/etc/owfs.conf__ in der Form editieren, dass der I2C Bus für die 1Wire Sensoren genutzt wird und das ioBroker auf die Werte auch zugreifen kann.
      
      Hierzu den s.g. Fake Adapter auskommentieren und den I2C Bus als Source definieren:
      

      #server: FAKE = DS18S20,DS2405
      server: i2c = ALL:ALL

      
      Dann muss noch der Zugriff auf OWFS über "localhost" eingerichtet werden. Irgendwie klappte das in meinem Fall nicht mit "localhost" sondern nur über Angabe der IP Adresse __127.0.0.1__. Daher bitte folgende Änderung in der owfs.conf machen:
      

      ######################## SOURCES ########################
      #! server: server = localhost:4304
      ! server: server = 127.0.0.1:4304

      ####################### OWSERVER ########################
      #server: port = localhost:4304
      server: port = 127.0.0.1:4304

      
      e) Den OWFS Server starten:
      

      sudo /etc/init.d/owserver start

      
      f) Mit __owdir__ kann getestet werden, ob angeschlossene Sensoren antworten:
      

      owdir

      
      In meinem Fall werden zwei Sensoren erkannt (28.xxx705 und 28.xxx704):
      

      /28.FFA8A4011705
      /28.FF39FC011704
      /bus.0
      /uncached
      /settings
      /system
      /statistics
      /structure
      /simultaneous
      /alarm

      
      ****3) OWFS Adapter im ioBroker einrichten und konfigurieren****
      
      Damit der ioBroker die Sensor Daten über den OWFS Service auslesen kann, muss der s.g. 1Wire OWFS Adapter installiert werden.
      
      a) Den Adapter "1Wire OWFS" über das ioBroker Admin Interface hinzufügen
      
      b) In der Adapter Konfiguration unter "OWFS Server Settings" alles so lassen wie es ist
      
      - Use local OWFS __nicht aktiviert__
      
      - IP Address of OWFS Server: __127.0.0.1__
      
      - Default poll intervall: __30__
      
      - Port of OWFS Server: __4304__
      
      c) Unter "Wires Addresses" können jetzt die eignen Sensor IDs eingetragen werden:
      
      - Name: Irgendein sprechender Name für den Sensor, in meinem Fall __Brenner__
      
      - Bei Sensor ID die Adresse des entsprechenden Sensors eingeben (wie mit Hilfe von __owdir__ gelisted). In meinem Fall: __28.FF39FC011704__
      
      - Bei Property die Art des Sensors eingeben, in meinem Fall __temperature__
      
      - Die Auswahl iButton nur dann aktiviren, wenn es sich bei dem Sensor um einen 1Wire iButton handelt. In meinem Fall __nicht aktiviert__.
      
      - Mit Poll intervall die Abstände in Sekunden festlegen, in der der Sensor abgefragt werden soll. In meinem Fall alle __60__ Sekunden.
      
      d) Nach "Save and Close" werden die Änderungen übernommen und der Adapter neu gestartet
      
      e) In den Objekten prüfen, ob unter der ID __owfs.0__ und dann __wires__ die zwei Sensoren mit den aktuellen Werten gelistet werden
      
      Die Werte der 1Wire Sensoren können jetzt wie gewohnt innerhalb von ioBroker genutzt werden.
      
      :arrow: Fragen oder Probleme bei der Installation bitte hier posten und nicht als PM. 8-)
      1 Reply Last reply Reply Quote 0
      • B
        bobo last edited by

        Guten Tag,.

        erst einmal danke für deine Anleitung, ich konnte laut Dieser den OWFS Adapter installieren.

        Ich habe einige DS2406 und DS2401 angeschlossen, die Werte von den DS2406 kann ich sehen werden aber nicht richtig aktualiseíert.

        Die DS2401 werden nicht eigelesen, in der Konsole mit OWDIR kann ich alle 1-Wire sehen.

        /01.9DA3741A0000

        /12.2836B6000000

        /12.F235B6000000

        /12.8A38B6000000

        /12.2A38B6000000

        /12.CE2FB6000000

        /12.AE3CB6000000

        /12.3E36B6000000

        /12.EB2FB6000000

        /12.5736B6000000

        /01.A22C731A0000

        /01.F2A7721A0000

        /01.51C7751A0000

        /01.8581741A0000

        /bus.8

        /bus.7

        /bus.6

        /bus.5

        /bus.4

        /bus.3

        /bus.2

        /bus.1

        /bus.0

        /uncached

        /settings

        /system

        /statistics

        /structure

        /alarm

        Ich bin beschäfftige mich erst kurz mit iobroker.

        Meine Fragen:

        1. Wie kann ich die DS2401 einlesen.

        2. Wie werden die Werte im Adapter OWFS schnell aktualiesiert.

        Vieleicht kannst du mir einen Tipp.

        Vielen Dank

        Bobo

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        753
        Online

        32.0k
        Users

        80.3k
        Topics

        1.3m
        Posts

        2
        2
        3960
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo