Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Off Topic
  4. Widerstands-Tankgeber auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    991

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Widerstands-Tankgeber auslesen

Geplant Angeheftet Gesperrt Verschoben Off Topic
45 Beiträge 6 Kommentatoren 398 Aufrufe 6 Watching
  • Ä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.
  • mickemupM Online
    mickemupM Online
    mickemup
    schrieb am zuletzt editiert von
    #34

    Und ich würde den Sensor auch via ESP anschliessen. Dann brauchst du nur eine Verbindung von deinen 24V zum Rest.
    Nämlich nur die Speisung vom ESP (5V via USB oder halt direkt 3.3V)

    1 Antwort Letzte Antwort
    0
    • jvfleJ Online
      jvfleJ Online
      jvfle
      schrieb am zuletzt editiert von
      #35

      Mein Tankgeber scheint defekt. Ich kann keinen Widerstand messen. Ich habe mir einen neuen Tankgeber bestellt. Mal sehen, ob das dann funktioniert.

      1 Antwort Letzte Antwort
      0
      • jvfleJ Online
        jvfleJ Online
        jvfle
        schrieb am zuletzt editiert von
        #36

        Hallo zusammen,
        ich dachte, ich probiere einfach mal den GPIO34 vom ESP32 Wroom 32 aus, bevor der neue Tankgeber kommt. Ich habe den ESP32 mit Tasmota geflasht (tasmota32-DE.factory.bin von der Tasmota Webseite). Das funktionierte soweit alles gut. Den ESP konnte ich einrichten und hat sich ordnungsgemäß beim IOBroker angemeldet. Er ließ sich auch gut über die vergebene IP aufrufen.
        Dann hatte ich einen Sketch über ArduinoIDE auf den ESP übertragen und dann wurde es komisch. Der serielle Monitor von Arduino zeigte die Spannung kontinuierlich an, im IOBroker blieb der Datenpunkt im Objektordner aber leer. Nun konnte ich den ESP über die IP Adresse auch nicht mehr erreichen. Dann hatte ich den Sketch über Arduino gelöscht. Ich musste den ESP neu flashen, anders war er nicht mehr erreichbar. Danach war alles wieder in Ordnung. Also ein neuer Versuch mit einem einfacheren Sketch, aber nun ist der ESP völlig weg, auch ein Flash ist nicht mehr möglich. Hat jemand eine Idee was da passiert ist? BG

        1 Antwort Letzte Antwort
        0
        • jvfleJ Online
          jvfleJ Online
          jvfle
          schrieb am zuletzt editiert von jvfle
          #37

          Kurzes Update. ESP wieder erreicht, aber nur mit flashen. Alle anderen Probleme sind geblieben. Ich habe eine andere Firmware genommen (tasmota.factory.bin). Keine Änderung.

          1 Antwort Letzte Antwort
          0
          • mickemupM Online
            mickemupM Online
            mickemup
            schrieb am zuletzt editiert von
            #38

            Macht doch absolut Sinn.
            Entweder läuft auf dem Ding Tasmota (Firmware) oder irgend etwas anderes. Wenn du statt Tasmota irgendein Sketch über die Arduino IDE flashst, dann ist da nix mehr mit Tasmota auf dem Esp und dann logischerweise auch nicht im iobroker...

            1 Antwort Letzte Antwort
            0
            • MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von
              #39

              Die Schaltung mit dem Spannungsteiler führt zu einem nichtlinearen Zusammenhang Weg(ADC-Wert)
              Wenn man direkt die 24 Volt für die Speisung des Widerstandes nimmt, ist die Nichtlinearität geringer.

              Weiterhin sollte man schauen, was passiert, wenn der Schleifer des Messgebers "kratzt".
              Wenn dann deutlich über 190 Ohm anliegen, könnte das den ADC beschädigen.

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 12 on Proxmox 9.1.5)
              Linux pve 6.17.9-1-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              1 Antwort Letzte Antwort
              0
              • MartinPM Online
                MartinPM Online
                MartinP
                schrieb am zuletzt editiert von
                #40

                Habe jetzt mal eben ein wenig gerechnet ...

                Der ADC hat soweit ich weiß eine maximale Eingangsspannung von 1 Volt - um diese mit 3,3 V auszureizen, müsste man einen Vorwiderstand von 437 Ohm benutzen.

                Mit 470 Ohm ist man nahe genug daran ...
                Wenn man die Schaltung mit 24 Volt speist, müsste der Vorwiderstand 4370 Ohm betragen, also 4,7 kOhm. Die Nichtlinearität wäre da deutlich geringer ...

                96cdd77a-9035-43e7-aba2-74e2dc49be94-grafik.png

                gnuplot

                gnuplot> set xrange [0:190]
                gnuplot> set yrange [-0.1:1.0]                 
                gnuplot> plot [0:190] 3.3*x/(470+x), x/190, 24*x/(4700+x)  
                gnuplot> 
                

                Ist aber eigentlich eine akademische Diskussion, da ja auch die Behältergeometrie eingeht ...

                Wenn man der Mathematik ausweichen will, ggfs einfach eine Lookup-Table verwenden ...

                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                Virtualization : unprivileged lxc container (debian 12 on Proxmox 9.1.5)
                Linux pve 6.17.9-1-pve
                6 GByte RAM für den Container
                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                Remote-Access über Wireguard der Fritzbox

                mickemupM 1 Antwort Letzte Antwort
                0
                • MartinPM MartinP

                  Habe jetzt mal eben ein wenig gerechnet ...

                  Der ADC hat soweit ich weiß eine maximale Eingangsspannung von 1 Volt - um diese mit 3,3 V auszureizen, müsste man einen Vorwiderstand von 437 Ohm benutzen.

                  Mit 470 Ohm ist man nahe genug daran ...
                  Wenn man die Schaltung mit 24 Volt speist, müsste der Vorwiderstand 4370 Ohm betragen, also 4,7 kOhm. Die Nichtlinearität wäre da deutlich geringer ...

                  96cdd77a-9035-43e7-aba2-74e2dc49be94-grafik.png

                  gnuplot

                  gnuplot> set xrange [0:190]
                  gnuplot> set yrange [-0.1:1.0]                 
                  gnuplot> plot [0:190] 3.3*x/(470+x), x/190, 24*x/(4700+x)  
                  gnuplot> 
                  

                  Ist aber eigentlich eine akademische Diskussion, da ja auch die Behältergeometrie eingeht ...

                  Wenn man der Mathematik ausweichen will, ggfs einfach eine Lookup-Table verwenden ...

                  mickemupM Online
                  mickemupM Online
                  mickemup
                  schrieb am zuletzt editiert von mickemup
                  #41

                  @MartinP
                  Schöne Berechnungen.
                  Aber ob es "linear" ist oder nicht, macht doch nichts aus.
                  Er kennt ja seine Konfig und kann aus der Spannung am ADC den Widerstand vom Geber berechnen.
                  Und von da an ist es dann wieder linear (natürlich Tankformabhängig)

                  Speisung via 3.3V hat meiner Meinung nach mehrere Vorteile:

                  • Weniger "Verlustleistung"

                  • Gleiche Source für ADC und Geber (Falls z:B die 24V varieren, variert auch der ADC Ausgang obwohl am Geber nichts ändert

                  • Beim "Kratzen" steigt die Spannung sicher nie über 3.3V

                  • Sehr kleinlich, aber bei tiefen Füllständen hast du mit 3.3V (gemäss deinem Plot) die bessere Auflösung ;-)

                  1 Antwort Letzte Antwort
                  0
                  • jvfleJ Online
                    jvfleJ Online
                    jvfle
                    schrieb am zuletzt editiert von
                    #42

                    Vielen Dank für die rege Unterstützung und euer Interesse. Auf dem ESP32 hatte ich Tasmota Firmware geflasht. Ich bin davon ausgegangen, dass die Sketche von Arduino mit Tasmota kompatibel sind und deshalb einen Fehler vermutet. Nun ja, war es auch. Im nachhinein hatte ich noch gelesen, dass der Speicherplatz auf dem ESP für mein Vorhaben zu klein ist. Ich habe mich also nach einer Alternative umgeschaut. Nun versuche ich ein Javascript auszuprobieren. Übrigens der Tankgeber war tatsächlich defekt. Gestern kam Ersatz, den habe ich gleich mal getestet und siehe da, ich konnte entsprechende Werte auf meinem Spannungsmesser ablesen.
                    Die Tankgrößen sind mir bekannt. Somit kann ich die gemessenen Werte an den Tankinhalt anpassen. Es kommt mir dabei nicht so sehr auf den Liter an, es ei denn die Abweichungen sind gravierend. Ich möchte nur verhindern, dass ich nicht "leerlaufe".
                    Vielen Dank auch für die Berechnungen und der Grafik. So kann ich mir ein genaueres Bild machen. BG

                    1 Antwort Letzte Antwort
                    0
                    • jvfleJ Online
                      jvfleJ Online
                      jvfle
                      schrieb zuletzt editiert von
                      #43

                      Hallo zusammen, ich hätte nicht gedacht, dass mein Vorhaben so kompliziert wird, auch wenn es Spaß macht.
                      Also ich habe jetzt meinen Tankgeber auf einem Breadboard nachgestellt. Funktioniert alles sehr gut, aber der simulierte Widerstand des Tankgebers bei 190 Ohm erfordert einen Vorwiderstand des Spannungsteilers von 1295 Ohm um einen Wert von 3,12 Volt zu bekommen. Das wäre erst einmal ein guter Anfang. Mein ESP32 zeigt mir auch diesen Wert auf der Tasmota Software an.
                      Ich konnte den ESP32 auch im IOBroker einbinden. Der ESP32 ist unter dem Ordner: sonoff.0.ESP32_Wroom_1 angelegt mit einigen Unterordnern und States. Unter den Unterordnern Results/States ist der Datenpunkt für den GPIO34 zu finden.

                      "sonoff.0.ESP32_Wroom_1.RESULT.GPIO.34" und auch hier "javascript.0.esp32.gpio34_voltage"

                      Beide zeigen keinen Wert, außer 0 bzw. 0V, an und das ist mein Problem. ich bekomme die Werte von Tasmota nicht in den IOBroker eingelesen. Ich habe verschiedene Sachen ausprobiert, aber keine Lösung gefunden. Vielleich kann mir jemand einen Schubs in die richtige Richtung geben? Das wäre sehr nett. Das hier ist mein letzter Versuch.

                      
                      var dp = 'sonoff.0.ESP32_Wroom_1.RESULT.GPIO.34';
                      var voltageDP = 'javascript.0.esp32.gpio34_voltage';
                      
                      createState(voltageDP, 0, {
                          name: 'GPIO34 Spannung',
                          unit: 'V',
                          type: 'number',
                          role: 'value.voltage'
                      });
                      
                      // Alle 1 Sekunde den Datenpunkt abfragen
                      setInterval(function() {
                          getState(dp, function(state) {
                              if (state && state.val !== null) {
                                  var voltage = parseFloat(state.val);
                                  if (!isNaN(voltage)) {
                                      setState(voltageDP, voltage, true);
                                      log('Spannung GPIO34: ' + voltage + ' V');
                                  }
                              }
                          });
                      }, 1000); // Intervall in Millisekunden
                      

                      Beste Grüße

                      mickemupM 1 Antwort Letzte Antwort
                      0
                      • jvfleJ jvfle

                        Hallo zusammen, ich hätte nicht gedacht, dass mein Vorhaben so kompliziert wird, auch wenn es Spaß macht.
                        Also ich habe jetzt meinen Tankgeber auf einem Breadboard nachgestellt. Funktioniert alles sehr gut, aber der simulierte Widerstand des Tankgebers bei 190 Ohm erfordert einen Vorwiderstand des Spannungsteilers von 1295 Ohm um einen Wert von 3,12 Volt zu bekommen. Das wäre erst einmal ein guter Anfang. Mein ESP32 zeigt mir auch diesen Wert auf der Tasmota Software an.
                        Ich konnte den ESP32 auch im IOBroker einbinden. Der ESP32 ist unter dem Ordner: sonoff.0.ESP32_Wroom_1 angelegt mit einigen Unterordnern und States. Unter den Unterordnern Results/States ist der Datenpunkt für den GPIO34 zu finden.

                        "sonoff.0.ESP32_Wroom_1.RESULT.GPIO.34" und auch hier "javascript.0.esp32.gpio34_voltage"

                        Beide zeigen keinen Wert, außer 0 bzw. 0V, an und das ist mein Problem. ich bekomme die Werte von Tasmota nicht in den IOBroker eingelesen. Ich habe verschiedene Sachen ausprobiert, aber keine Lösung gefunden. Vielleich kann mir jemand einen Schubs in die richtige Richtung geben? Das wäre sehr nett. Das hier ist mein letzter Versuch.

                        
                        var dp = 'sonoff.0.ESP32_Wroom_1.RESULT.GPIO.34';
                        var voltageDP = 'javascript.0.esp32.gpio34_voltage';
                        
                        createState(voltageDP, 0, {
                            name: 'GPIO34 Spannung',
                            unit: 'V',
                            type: 'number',
                            role: 'value.voltage'
                        });
                        
                        // Alle 1 Sekunde den Datenpunkt abfragen
                        setInterval(function() {
                            getState(dp, function(state) {
                                if (state && state.val !== null) {
                                    var voltage = parseFloat(state.val);
                                    if (!isNaN(voltage)) {
                                        setState(voltageDP, voltage, true);
                                        log('Spannung GPIO34: ' + voltage + ' V');
                                    }
                                }
                            });
                        }, 1000); // Intervall in Millisekunden
                        

                        Beste Grüße

                        mickemupM Online
                        mickemupM Online
                        mickemup
                        schrieb zuletzt editiert von
                        #44

                        @jvfle sagte in Widerstands-Tankgeber auslesen:

                        Was denn nun?
                        Hast du den Tasmota via Sonoff Adapter eingebunden bekommen oder nicht?
                        Zuerst sagst du ja und zwei Sätze später nein...

                        Ich konnte den ESP32 auch im IOBroker einbinden. Der ESP32 ist unter dem Ordner: sonoff.0.ESP32_Wroom_1 angelegt mit einigen Unterordnern und States. Unter den Unterordnern Results/States ist der Datenpunkt für den GPIO34 zu finden.

                        Beide zeigen keinen Wert, außer 0 bzw. 0V, an und das ist mein Problem. ich bekomme die Werte von Tasmota nicht in den IOBroker eingelesen.

                        Aktualisieren sich denn irgendwelche DPs zum ESP im Sonoff Adapter?
                        Sonst einfach mal deine Settings auf der Tasmota Oberfläche zeigen.

                        Wenn das tut kann man dann dein JS anschauen.
                        Jede Sekunde den DP abragen macht keinen Sinn, du würdest besser einen Trigger auf Änderungen vom DP machen.

                        1 Antwort Letzte Antwort
                        0
                        • jvfleJ Online
                          jvfleJ Online
                          jvfle
                          schrieb zuletzt editiert von
                          #45

                          Tja, das frage ich mich auch. Der ESP32 ist im IOBroker unter sonoff.0 angelegt, liefert aber keine Daten. Es wird auch nichts aktualisiert, außer auf der Tasmota Oberfläche. Der GPIO34 ist, wie du oben sehen kannst, im Ordner Result und nicht im Ordner State zu finden.
                          Screenshot 2026-02-09 114228.png
                          Screenshot 2026-02-09 114150.png

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          674

                          Online

                          32.6k

                          Benutzer

                          82.3k

                          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