Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. DHT21/AM2301 an RaspberryPi

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    467

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.9k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    835

DHT21/AM2301 an RaspberryPi

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
6 Beiträge 2 Kommentatoren 151 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Online
    L Online
    luas
    schrieb am zuletzt editiert von luas
    #1

    Ich hatte in der Vergangenheit bereits Erfolg damit, den Sensor DHT21 (Temperatur/Luftfeuchte) in IOBroker einzulesen (Raspberry Pi 4B, Adapter rpi2 v2.4.0). Nun versuche ich das an einem weiteren Gerät (Raspberry Pi 5B, rpi2 v3.0.2) und bekomme einfach keine Daten. In den Logs steht nur "Failed to read DHTxx/AM23xx: 22/2".
    Das Leseintervall habe ich auf 10'000ms gesetzt - manche Quellen schreiben, der Sensor brauche mindestens 5s zur Erholung zwischen den Messungen.

    Wenn ich recht lese, braucht der DHT21 keinen Pull-Up-Widerstand, weil der bereits eingebaut sei (die Angaben sind da aber etwas widersprüchlich).

    Verkabelt habe ich an beiden gleich:

    • VDD an Pin4 (5V)
    • SDA an Pin3 (GPIO2). Kein Pull-Up.
      Alternativ habe ich es bereits an 3,3v und anderen GPIOs (z.B. 17) versucht und auch einen weiteren Sensor getestet, außerdem 4k7 als Pull-Up.

    Ist es mit der Installation des rpi2-Adapters getan oder braucht es auf Betriebssystemebene noch etwas? Stichworte libgpiod oder pigpio?) Welche anderen Fehlerquellen kommen noch in Betracht?

    M 1 Antwort Letzte Antwort
    0
    • L luas

      Ich hatte in der Vergangenheit bereits Erfolg damit, den Sensor DHT21 (Temperatur/Luftfeuchte) in IOBroker einzulesen (Raspberry Pi 4B, Adapter rpi2 v2.4.0). Nun versuche ich das an einem weiteren Gerät (Raspberry Pi 5B, rpi2 v3.0.2) und bekomme einfach keine Daten. In den Logs steht nur "Failed to read DHTxx/AM23xx: 22/2".
      Das Leseintervall habe ich auf 10'000ms gesetzt - manche Quellen schreiben, der Sensor brauche mindestens 5s zur Erholung zwischen den Messungen.

      Wenn ich recht lese, braucht der DHT21 keinen Pull-Up-Widerstand, weil der bereits eingebaut sei (die Angaben sind da aber etwas widersprüchlich).

      Verkabelt habe ich an beiden gleich:

      • VDD an Pin4 (5V)
      • SDA an Pin3 (GPIO2). Kein Pull-Up.
        Alternativ habe ich es bereits an 3,3v und anderen GPIOs (z.B. 17) versucht und auch einen weiteren Sensor getestet, außerdem 4k7 als Pull-Up.

      Ist es mit der Installation des rpi2-Adapters getan oder braucht es auf Betriebssystemebene noch etwas? Stichworte libgpiod oder pigpio?) Welche anderen Fehlerquellen kommen noch in Betracht?

      M Offline
      M Offline
      MCU
      schrieb am zuletzt editiert von MCU
      #2

      @luas Infos

      cat /etc/os-release
      
      node -v
      
      apt-cache policy libgpiod-dev
      
      groups iobroker
      
      cd /opt/iobroker
      npm ls iobroker.rpi2 node-dht-sensor opengpio
      

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      L 1 Antwort Letzte Antwort
      0
      • M MCU

        @luas Infos

        cat /etc/os-release
        
        node -v
        
        apt-cache policy libgpiod-dev
        
        groups iobroker
        
        cd /opt/iobroker
        npm ls iobroker.rpi2 node-dht-sensor opengpio
        
        L Online
        L Online
        luas
        schrieb am zuletzt editiert von
        #3

        @MCU

        cat /etc/os-release
        PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
        NAME="Debian GNU/Linux"
        VERSION_ID="13"
        VERSION="13 (trixie)"
        VERSION_CODENAME=trixie
        DEBIAN_VERSION_FULL=13.4
        ID=debian
        HOME_URL="https://www.debian.org/"
        SUPPORT_URL="https://www.debian.org/support"
        BUG_REPORT_URL="https://bugs.debian.org/"

        node -v
        v22.22.2

        apt-cache policy libgpiod-dev
        libgpiod-dev:
        Installed: 2.2.1-2+deb13u1
        Candidate: 2.2.1-2+deb13u1
        Version table:
        *** 2.2.1-2+deb13u1 500
        500 http://deb.debian.org/debian trixie/main arm64 Packages
        100 /var/lib/dpkg/status

        groups iobroker
        iobroker : iobroker tty dialout audio video plugdev bluetooth i2c gpio

        cd /opt/iobroker/
        npm ls iobroker.rpi2 node-dht-sensor opengpio

        iobroker.inst@3.0.0 /opt/iobroker
        └─┬ iobroker.rpi2@3.0.2
        ├── node-dht-sensor@0.4.5
        └── opengpio@2.0.2

        M 1 Antwort Letzte Antwort
        0
        • L luas

          @MCU

          cat /etc/os-release
          PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
          NAME="Debian GNU/Linux"
          VERSION_ID="13"
          VERSION="13 (trixie)"
          VERSION_CODENAME=trixie
          DEBIAN_VERSION_FULL=13.4
          ID=debian
          HOME_URL="https://www.debian.org/"
          SUPPORT_URL="https://www.debian.org/support"
          BUG_REPORT_URL="https://bugs.debian.org/"

          node -v
          v22.22.2

          apt-cache policy libgpiod-dev
          libgpiod-dev:
          Installed: 2.2.1-2+deb13u1
          Candidate: 2.2.1-2+deb13u1
          Version table:
          *** 2.2.1-2+deb13u1 500
          500 http://deb.debian.org/debian trixie/main arm64 Packages
          100 /var/lib/dpkg/status

          groups iobroker
          iobroker : iobroker tty dialout audio video plugdev bluetooth i2c gpio

          cd /opt/iobroker/
          npm ls iobroker.rpi2 node-dht-sensor opengpio

          iobroker.inst@3.0.0 /opt/iobroker
          └─┬ iobroker.rpi2@3.0.2
          ├── node-dht-sensor@0.4.5
          └── opengpio@2.0.2

          M Offline
          M Offline
          MCU
          schrieb am zuletzt editiert von MCU
          #4

          @luas

          VDD  -> Pin 1  = 3,3V
          GND  -> Pin 6  = GND
          DATA -> Pin 11 = GPIO17 / BCM17
          
          4,7k Pull-up von DATA nach 3,3V, ist anscheinend schon drin?
          

          Nicht GPIO2/Pin3 verwenden. Im rpi2-Adapter dann 17 eintragen, nicht 11.

          Test ob libgpiod.so verwendet wurde

          find /opt/iobroker/node_modules/iobroker.rpi2/node_modules/node-dht-sensor -name "*.node" -print -exec ldd {} \;
          

          Hast du die Voraussetzungen erfüllt?

          For gpio to work, you need to install libgpiod in version 2.x, before installing the adapter (see below)!
          

          https://github.com/iobroker-community-adapters/ioBroker.rpi2

          563380b3-9324-496a-a113-8342e70fe439-image.jpeg

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          1 Antwort Letzte Antwort
          0
          • L Online
            L Online
            luas
            schrieb am zuletzt editiert von
            #5

            Danke @mcu
            Es klappt leider nicht.
            Verkabelt habe ich wie von dir vorgeschlagen. Wenn ich Pin11/GPIO17 mit dem Oszilloskop beobachte, sehe ich ohne Pull-Up konstant ca. 500 mV, mit ca. 3V. Aber keinerlei Aktivität, also kein Pollen des Sensors.

            find /opt/iobroker/node_modules/iobroker.rpi2/node_modules/node-dht-sensor -name "*.node" -print -exec ldd {} ;

            Ergebnis:

            find: ‘/opt/iobroker/node_modules/iobroker.rpi2/node_modules/node-dht-sensor’: No such file or directory
            

            For gpio to work, you need to install libgpiod in version 2.x, before installing the adapter (see below)!

            Diesen Fehler kann ich nicht ausschließen. Aber libgpiod ist installiert:

            libgpiod-dev is already the newest version (2.2.1-2+deb13u1)
            

            Und um die korrekte Reihenfolge sicherzustellen, habe ich den Adapter noch mal deinstalliert und neu installiert.

            Vielleicht aber auch hier ein Problem?

            sudo apt install -y build-essential python
            Package python is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source
            However the following packages replace it:
              python-is-python3
            
            
            Error: Package 'python' has no installation candidate
            

            Die Fehlermeldung im Log hat sich jetzt so verändert:

            Failed to read DHTxx/AM23xx: 22/17
            
            M 1 Antwort Letzte Antwort
            0
            • L luas

              Danke @mcu
              Es klappt leider nicht.
              Verkabelt habe ich wie von dir vorgeschlagen. Wenn ich Pin11/GPIO17 mit dem Oszilloskop beobachte, sehe ich ohne Pull-Up konstant ca. 500 mV, mit ca. 3V. Aber keinerlei Aktivität, also kein Pollen des Sensors.

              find /opt/iobroker/node_modules/iobroker.rpi2/node_modules/node-dht-sensor -name "*.node" -print -exec ldd {} ;

              Ergebnis:

              find: ‘/opt/iobroker/node_modules/iobroker.rpi2/node_modules/node-dht-sensor’: No such file or directory
              

              For gpio to work, you need to install libgpiod in version 2.x, before installing the adapter (see below)!

              Diesen Fehler kann ich nicht ausschließen. Aber libgpiod ist installiert:

              libgpiod-dev is already the newest version (2.2.1-2+deb13u1)
              

              Und um die korrekte Reihenfolge sicherzustellen, habe ich den Adapter noch mal deinstalliert und neu installiert.

              Vielleicht aber auch hier ein Problem?

              sudo apt install -y build-essential python
              Package python is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source
              However the following packages replace it:
                python-is-python3
              
              
              Error: Package 'python' has no installation candidate
              

              Die Fehlermeldung im Log hat sich jetzt so verändert:

              Failed to read DHTxx/AM23xx: 22/17
              
              M Offline
              M Offline
              MCU
              schrieb zuletzt editiert von
              #6

              @luas ChatGPT:

              Sehr wichtiger Punkt: nicht mit 5V an DATA arbeiten

              Der AM2301/DHT21 kann zwar oft mit 3,3–5V versorgt werden, aber bei manchen Modulen liegt der DATA-Pegel auf Höhe der Versorgungsspannung. Ein Händler beschreibt z. B., dass der Logikpegel dem Eingang/VDD entspricht und dass ein 5,1-kΩ-Pull-up bereits eingebaut ist.

              Das heißt: Wenn du den Sensor mit 5V versorgst und der Pull-up intern nach 5V geht, kann am Raspberry-GPIO eine 5V-Datenleitung anliegen. Das ist für Raspberry-GPIOs nicht sauber bzw. riskant; GPIO arbeitet mit 3,3V-Logik.

              Darum: VDD auf 3,3V, Pull-up falls nötig nur von DATA nach 3,3V, nicht nach 5V.

              Software-Seite beim Raspberry Pi 5

              Der rpi2-Adapter 3.x ist grundsätzlich für Debian Trixie vorgesehen. Laut README braucht GPIO mit diesem Adapter libgpiod Version 2.x vor der Adapterinstallation.

              Das passt auch zum Raspberry Pi 5: node-dht-sensor sagt selbst, dass auf Pi 5 / Debian 12+ die alte BCM2835-Methode wegen des RP1-Chips nicht passt und stattdessen mit libgpiod kompiliert werden muss.

              Im Forum ist verdächtig, dass der Nutzer kein Polling-Signal am GPIO17 sieht. Das spricht dafür, dass das native Modul eventuell nicht korrekt mit libgpiod gebaut wurde oder der Pfad beim Prüfen falsch war. Der dort genannte Befehl sucht hier vermutlich im falschen Unterordner.

              Besser prüfen mit:

              cd /opt/iobroker

              find node_modules -path "node-dht-sensor" -name "*.node" -print -exec ldd {} ;

              In der Ausgabe sollte sinngemäß etwas mit libgpiod.so auftauchen. Wenn nicht, wurde node-dht-sensor wahrscheinlich nicht korrekt für Pi 5/libgpiod gebaut.

              Das würde ich als nächstes machen
              sudo apt update
              sudo apt install -y build-essential python-is-python3 pkg-config libgpiod-dev gpiod

              Dann prüfen:

              groups iobroker
              gpiodetect
              gpioinfo
              cd /opt/iobroker
              npm ls iobroker.rpi2 node-dht-sensor opengpio
              find node_modules -path "node-dht-sensor" -name "*.node" -print -exec ldd {} ;

              Falls libgpiod nicht im ldd auftaucht: rpi2-Adapter nach installierten Voraussetzungen nochmal sauber neu installieren oder rebuilden.

              Fazit

              Die Hardware-Empfehlung im Forum ist richtig:

              VDD -> 3,3V
              GND -> GND
              DATA -> GPIO17 / Pin 11
              Adapter-Wert: 17

              Aber wenn danach am Oszilloskop keine Aktivität zu sehen ist, liegt der Fehler sehr wahrscheinlich nicht mehr an der Verkabelung, sondern an der Pi-5/libgpiod/node-dht-sensor-Kompilierung. Außerdem würde ich GPIO2/Pin3 komplett vermeiden und den Sensor nicht mit 5V betreiben.

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              509

              Online

              32.9k

              Benutzer

              83.0k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe