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. Skripten / Logik
  4. Blockly
  5. Umrechnung Füllstand funktioniert nicht mehr

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    147

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

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

Umrechnung Füllstand funktioniert nicht mehr

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 4 Kommentatoren 825 Aufrufe 4 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.
  • M MB11

    Hallo zusammen,

    Seit einigen Tagen funktioniert die Umrechnung in Liter im Datenpunkt nicht, der Wert bleibt gleich.
    Ich bin mir nicht sicher ob es nach dem Update der Adapter war.

    Das Skript habe ich schon mal wieder neu Angelegt wie auch den Datenpunkt hat aber nicht geholfen.
    komischer weise ist unter Javascript das wo mir aufgefallen ist wo glaube ich nicht war ?!
    39b800c8-f189-4cd5-8867-750351a366b1-image.png

    an was kann es liegen ? komme einfach nicht weite.
    6d773a54-d56f-4b86-8a4f-5b1e59801c14-image.png

    977c1aa8-cea1-4ea2-9c07-5c69c4c6ef9f-image.png

    würde mich über eine Lösung Hilfestellung freuen .
    MFG Markus

    geschildG Online
    geschildG Online
    geschild
    schrieb am zuletzt editiert von
    #2

    @mb11 Du aktualisierst "Fuellstand" über "ESP SR04 Distance" und nicht mit "Liter im Tank" ist das richtig?

    MartinPM 1 Antwort Letzte Antwort
    0
    • geschildG geschild

      @mb11 Du aktualisierst "Fuellstand" über "ESP SR04 Distance" und nicht mit "Liter im Tank" ist das richtig?

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von MartinP
      #3

      @geschild Es könnte sein dass der Füllstand über einen Distanzsensor ermittelt wird.

      Wenn ja: @MB11 Wie schaut denn der Zeitstempel des Datenpunktes des Sensors aus?
      Vielleicht liefert der keine Werte mehr. Ein Wassertank ist eine feindliche Umgebung für Elektronik....

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

      M 1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        MB11
        schrieb am zuletzt editiert von
        #4

        @geschild @geschild ja aktualisiere über den Sensor

        1 Antwort Letzte Antwort
        0
        • MartinPM MartinP

          @geschild Es könnte sein dass der Füllstand über einen Distanzsensor ermittelt wird.

          Wenn ja: @MB11 Wie schaut denn der Zeitstempel des Datenpunktes des Sensors aus?
          Vielleicht liefert der keine Werte mehr. Ein Wassertank ist eine feindliche Umgebung für Elektronik....

          M Offline
          M Offline
          MB11
          schrieb am zuletzt editiert von
          #5

          @martinp
          Zeitstempel ist immer aktuell das passt
          Der Sensor ist verschlossen die Elektronik ist im Haus!

          Wie gesagt das hat ja biss jetzt auch immer Funktioniert .

          MartinPM 1 Antwort Letzte Antwort
          0
          • M MB11

            @martinp
            Zeitstempel ist immer aktuell das passt
            Der Sensor ist verschlossen die Elektronik ist im Haus!

            Wie gesagt das hat ja biss jetzt auch immer Funktioniert .

            MartinPM Online
            MartinPM Online
            MartinP
            schrieb am zuletzt editiert von
            #6

            @mb11 Ändert sich denn der Rohwert vom Sensor?

            "Sichtfeld" des Sensors verschmutzt?

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

            M 1 Antwort Letzte Antwort
            0
            • MartinPM MartinP

              @mb11 Ändert sich denn der Rohwert vom Sensor?

              "Sichtfeld" des Sensors verschmutzt?

              M Offline
              M Offline
              MB11
              schrieb am zuletzt editiert von
              #7

              @martinp
              Ja der Wert ändert sich das passt auch.
              Das komische ist wenn ich zb. bei dem Skript X10 anstatt X100 eintrage dann kommt ein Wert was aber nicht stimmen kann.!"
              b7b1e941-ce09-46b8-87cd-900937847002-image.png
              1e5ca445-3740-46e5-b791-9542dc726b3f-image.png

              Da Die Zisterne Gesamt 6500 L hat und eine Höhe von 2,1Meter und die Max Füllung bis zum Sensor sind 15 cm entfernt
              6500:210=31

              Nun habe ich nach stunden probieren und Logischem Denken das hier probiert

              c35d5eea-1bca-4ade-beee-574171ebde39-image.png
              aa9ed755-632c-4f16-b304-dc4b18aa665a-image.png

              nun Passt das so einiger maßen aber nicht zu 100 % da die 15 cm ich nicht mit rein nehmen konnte .
              Dann frage ich mich Wiso das mit der vorigen Berechnung lange zeit funktioniert hat .

              MartinPM 2 Antworten Letzte Antwort
              0
              • M MB11

                @martinp
                Ja der Wert ändert sich das passt auch.
                Das komische ist wenn ich zb. bei dem Skript X10 anstatt X100 eintrage dann kommt ein Wert was aber nicht stimmen kann.!"
                b7b1e941-ce09-46b8-87cd-900937847002-image.png
                1e5ca445-3740-46e5-b791-9542dc726b3f-image.png

                Da Die Zisterne Gesamt 6500 L hat und eine Höhe von 2,1Meter und die Max Füllung bis zum Sensor sind 15 cm entfernt
                6500:210=31

                Nun habe ich nach stunden probieren und Logischem Denken das hier probiert

                c35d5eea-1bca-4ade-beee-574171ebde39-image.png
                aa9ed755-632c-4f16-b304-dc4b18aa665a-image.png

                nun Passt das so einiger maßen aber nicht zu 100 % da die 15 cm ich nicht mit rein nehmen konnte .
                Dann frage ich mich Wiso das mit der vorigen Berechnung lange zeit funktioniert hat .

                MartinPM Online
                MartinPM Online
                MartinP
                schrieb am zuletzt editiert von
                #8

                @mb11 ist das ein aufrecht stehender Zylinder?

                bzgl Deines zweiten Screenshots:

                Hast Du Dir mal die Javascript Version der Berechnung angeschaut? Ich weiß nicht, inwieweit da "Punktrechnung vor Strichrechnung" und die Schachtelung von Blockly Elementen ineinandergreift ...

                Bin auch noch nicht so ganz fit in diesen Blockly Details...

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

                1 Antwort Letzte Antwort
                0
                • M MB11

                  @martinp
                  Ja der Wert ändert sich das passt auch.
                  Das komische ist wenn ich zb. bei dem Skript X10 anstatt X100 eintrage dann kommt ein Wert was aber nicht stimmen kann.!"
                  b7b1e941-ce09-46b8-87cd-900937847002-image.png
                  1e5ca445-3740-46e5-b791-9542dc726b3f-image.png

                  Da Die Zisterne Gesamt 6500 L hat und eine Höhe von 2,1Meter und die Max Füllung bis zum Sensor sind 15 cm entfernt
                  6500:210=31

                  Nun habe ich nach stunden probieren und Logischem Denken das hier probiert

                  c35d5eea-1bca-4ade-beee-574171ebde39-image.png
                  aa9ed755-632c-4f16-b304-dc4b18aa665a-image.png

                  nun Passt das so einiger maßen aber nicht zu 100 % da die 15 cm ich nicht mit rein nehmen konnte .
                  Dann frage ich mich Wiso das mit der vorigen Berechnung lange zeit funktioniert hat .

                  MartinPM Online
                  MartinPM Online
                  MartinP
                  schrieb am zuletzt editiert von MartinP
                  #9

                  @mb11 sagte in Umrechnung Füllstand funktioniert nicht mehr:

                  nun Passt das so einiger maßen aber nicht zu 100 % da die 15 cm ich nicht mit rein nehmen konnte .

                  Versuche es mal mit "225 - ..." statt mit "210 - .." Wenn der Mindest - Abstand 15 cm ist, kommt als Maximalwert (225 -15) * 31 = 651 heraus...

                  Dann frage ich mich Wiso das mit der vorigen Berechnung lange zeit funktioniert hat .

                  War der Sensor womöglich irgendwann mal auf "Zoll" statt auf "cm" konfiguriert?

                  Ist das dieser Tank:

                  1b42a2e2-09fc-4a5d-be11-3ab5baf2a716-grafik.png

                  Da würde ich die Höhe des Ablaufhahns auch noch abziehen, da man an das niedriger liegende Wasser auch nicht dran kommt ...

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

                  M 1 Antwort Letzte Antwort
                  0
                  • MartinPM MartinP

                    @mb11 sagte in Umrechnung Füllstand funktioniert nicht mehr:

                    nun Passt das so einiger maßen aber nicht zu 100 % da die 15 cm ich nicht mit rein nehmen konnte .

                    Versuche es mal mit "225 - ..." statt mit "210 - .." Wenn der Mindest - Abstand 15 cm ist, kommt als Maximalwert (225 -15) * 31 = 651 heraus...

                    Dann frage ich mich Wiso das mit der vorigen Berechnung lange zeit funktioniert hat .

                    War der Sensor womöglich irgendwann mal auf "Zoll" statt auf "cm" konfiguriert?

                    Ist das dieser Tank:

                    1b42a2e2-09fc-4a5d-be11-3ab5baf2a716-grafik.png

                    Da würde ich die Höhe des Ablaufhahns auch noch abziehen, da man an das niedriger liegende Wasser auch nicht dran kommt ...

                    M Offline
                    M Offline
                    MB11
                    schrieb am zuletzt editiert von
                    #10

                    @martinp
                    So sieht der Tank aus !

                    884f93bf-1537-4e64-ae32-09a351a67d4a-image.png

                    Das habe ich mir auch schon überlegt das ich anstatt 210 ( 225 ) eintrage dann würde es auch wieder passen.
                    Der Sensor ist auf cm eingestellt.

                    ich bin froh damit ich es jetzt wieder so hinbekommen habe , eben auf eine andere Art wie vorhin :)

                    MartinPM B 2 Antworten Letzte Antwort
                    0
                    • M MB11

                      @martinp
                      So sieht der Tank aus !

                      884f93bf-1537-4e64-ae32-09a351a67d4a-image.png

                      Das habe ich mir auch schon überlegt das ich anstatt 210 ( 225 ) eintrage dann würde es auch wieder passen.
                      Der Sensor ist auf cm eingestellt.

                      ich bin froh damit ich es jetzt wieder so hinbekommen habe , eben auf eine andere Art wie vorhin :)

                      MartinPM Online
                      MartinPM Online
                      MartinP
                      schrieb am zuletzt editiert von
                      #11

                      Bei der Geometrie kann man nicht einfach mit Grundfläche x aktueller Höhe rechnen.

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

                      1 Antwort Letzte Antwort
                      0
                      • M MB11

                        @martinp
                        So sieht der Tank aus !

                        884f93bf-1537-4e64-ae32-09a351a67d4a-image.png

                        Das habe ich mir auch schon überlegt das ich anstatt 210 ( 225 ) eintrage dann würde es auch wieder passen.
                        Der Sensor ist auf cm eingestellt.

                        ich bin froh damit ich es jetzt wieder so hinbekommen habe , eben auf eine andere Art wie vorhin :)

                        B Offline
                        B Offline
                        bommel_030
                        schrieb am zuletzt editiert von
                        #12

                        @mb11
                        Mein Tank sieht ähnlich aus. Die "korrekte Berechenung" als JavaScript sieht in etwa so aus:

                        const idR = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.radius';       // Radius in dm
                        const idL = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.laenge';       // Länge in dm
                        const idVol = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.liter';       // zu schreibender Wert in l
                        const idh = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.hoehe';   // Höhes in dm
                         
                        const R = getState(idR).val;
                        const L = getState(idL).val;
                         
                        function h2V(h) {
                           let V = L * (R * R * Math.acos(1 - h / R) - (R - h) * Math.sqrt(h * (2 * R - h)));
                           setState(idVol, Math.round(V), true); // in l
                        }
                         
                        function h3V(h) {
                           let V2 = ((h-16) * (2.5 * 2.5)) + 4021;
                           setState(idVol, Math.round(V2), true); // in l
                        }
                         
                        h2V(getState(idh).val); // Skriptstart
                        h3V(getState(idh).val); // Skriptstart
                        /* 
                        on(idh, function(dp) {
                            h2V(dp.state.val);
                        });
                        */
                        
                        on({ id: [].concat(['0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.hoehe']), change: 'ne' }, async (obj) => {
                          let value = obj.state.val;
                          let oldValue = obj.oldState.val;
                          if ((obj.state ? obj.state.val : '') <= 16) { h2V(obj.state.val);
                          } else { h3V(obj.state.val);
                          }
                        });
                        


                        Messe die Höhe mit einer Druckdose, daher müsstest du die Höhe invertieren. V2H ist der liegende Zylinder, V3H ist der stehende Zylinder.
                        V3H nimmt bei mir ein vollen liegenden Zylinder an, da die Druckdose leider etwas schwankt.

                        MartinPM 1 Antwort Letzte Antwort
                        0
                        • B bommel_030

                          @mb11
                          Mein Tank sieht ähnlich aus. Die "korrekte Berechenung" als JavaScript sieht in etwa so aus:

                          const idR = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.radius';       // Radius in dm
                          const idL = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.laenge';       // Länge in dm
                          const idVol = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.liter';       // zu schreibender Wert in l
                          const idh = '0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.hoehe';   // Höhes in dm
                           
                          const R = getState(idR).val;
                          const L = getState(idL).val;
                           
                          function h2V(h) {
                             let V = L * (R * R * Math.acos(1 - h / R) - (R - h) * Math.sqrt(h * (2 * R - h)));
                             setState(idVol, Math.round(V), true); // in l
                          }
                           
                          function h3V(h) {
                             let V2 = ((h-16) * (2.5 * 2.5)) + 4021;
                             setState(idVol, Math.round(V2), true); // in l
                          }
                           
                          h2V(getState(idh).val); // Skriptstart
                          h3V(getState(idh).val); // Skriptstart
                          /* 
                          on(idh, function(dp) {
                              h2V(dp.state.val);
                          });
                          */
                          
                          on({ id: [].concat(['0_userdata.0.Berechnungsvariablen.Gewerke.Wasser.Zisterne.hoehe']), change: 'ne' }, async (obj) => {
                            let value = obj.state.val;
                            let oldValue = obj.oldState.val;
                            if ((obj.state ? obj.state.val : '') <= 16) { h2V(obj.state.val);
                            } else { h3V(obj.state.val);
                            }
                          });
                          


                          Messe die Höhe mit einer Druckdose, daher müsstest du die Höhe invertieren. V2H ist der liegende Zylinder, V3H ist der stehende Zylinder.
                          V3H nimmt bei mir ein vollen liegenden Zylinder an, da die Druckdose leider etwas schwankt.

                          MartinPM Online
                          MartinPM Online
                          MartinP
                          schrieb am zuletzt editiert von
                          #13

                          @bommel_030 Bei den Formen vereinfacht man ja eh, wenn man das in eine Formel gießt (Glatter nicht gewölbter Zylinderdeckel usw.), von da her kann man ggfs auch mit einer Look-Up Table arbeiten. Je nachdem, was für eine Genauigkeit man braucht, würden ggfs 50 ... 100 Einträge reichen. Dazwischen linear interpolieren ...

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

                          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

                          501

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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