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. ioBroker Allgemein
  4. [Gelöst]Unplausible Werte in influxDB editieren ?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[Gelöst]Unplausible Werte in influxDB editieren ?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
influxdb
18 Beiträge 6 Kommentatoren 10.3k Aufrufe 11 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.
  • A Offline
    A Offline
    Aiouh
    schrieb am zuletzt editiert von Aiouh
    #1

    Hallo,
    ich habe heute unplausible Werte (viel zu hoch) in meine InfuxDB bekommen, via Covid Adapter.
    Damit ist die Grafana Langzeit Darstellung unbrauchbar geworden. :(
    Gibt es eine einfache Möglichkeit die Werte zu editieren? Ähnlich wie bei MySQL?

    f9d28699-785d-4dd0-962e-524239655e4f-grafik.png

    b9a275d3-27ea-480e-8ea4-b8a846df69ea-grafik.png

    crunchipC 1 Antwort Letzte Antwort
    0
    • A Aiouh

      Hallo,
      ich habe heute unplausible Werte (viel zu hoch) in meine InfuxDB bekommen, via Covid Adapter.
      Damit ist die Grafana Langzeit Darstellung unbrauchbar geworden. :(
      Gibt es eine einfache Möglichkeit die Werte zu editieren? Ähnlich wie bei MySQL?

      f9d28699-785d-4dd0-962e-524239655e4f-grafik.png

      b9a275d3-27ea-480e-8ea4-b8a846df69ea-grafik.png

      crunchipC Abwesend
      crunchipC Abwesend
      crunchip
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @Aiouh ja, du kannst einzelne Messungen in der Datenbank löschen

      select * from "coronavirus-statistics.0.Canada.testsPerOneMillion" where value > 32000
      

      diese nun angezeigten, kannst du mittels timestamp löschen, (timestamp ersetzen)

      delete from "coronavirus-statistics.0.Canada.testsPerOneMillion" where time =15xxxxxxxx000000000
      

      umgestiegen von Proxmox auf Unraid

      A 2 Antworten Letzte Antwort
      1
      • crunchipC crunchip

        @Aiouh ja, du kannst einzelne Messungen in der Datenbank löschen

        select * from "coronavirus-statistics.0.Canada.testsPerOneMillion" where value > 32000
        

        diese nun angezeigten, kannst du mittels timestamp löschen, (timestamp ersetzen)

        delete from "coronavirus-statistics.0.Canada.testsPerOneMillion" where time =15xxxxxxxx000000000
        
        A Offline
        A Offline
        Aiouh
        schrieb am zuletzt editiert von
        #3

        @crunchip said in Unplausible Werte in influxDB editieren ?:

        select * from "coronavirus-statistics.0.Canada.testsPerOneMillion" where value > 32000

        Danke, Das hört sich doch sehr gut an und... wo geb ich die statements ein ? Habe ja kein PHPmyAdmin für Influx .

        F 1 Antwort Letzte Antwort
        0
        • A Aiouh

          @crunchip said in Unplausible Werte in influxDB editieren ?:

          select * from "coronavirus-statistics.0.Canada.testsPerOneMillion" where value > 32000

          Danke, Das hört sich doch sehr gut an und... wo geb ich die statements ein ? Habe ja kein PHPmyAdmin für Influx .

          F Offline
          F Offline
          ftd
          schrieb am zuletzt editiert von
          #4

          @Aiouh wo geb ich die statements ein ? Habe ja kein PHPmyAdmin für Influx .

          Auf der Console..

          1. influx
          user@server:~$ influx
          Connected to http://localhost:8086 version 1.8.0
          InfluxDB shell version: 1.8.0
          >
          
          1. show databases

          2. use meinedatenbank

          3. delete from usw.

          A 2 Antworten Letzte Antwort
          0
          • F ftd

            @Aiouh wo geb ich die statements ein ? Habe ja kein PHPmyAdmin für Influx .

            Auf der Console..

            1. influx
            user@server:~$ influx
            Connected to http://localhost:8086 version 1.8.0
            InfluxDB shell version: 1.8.0
            >
            
            1. show databases

            2. use meinedatenbank

            3. delete from usw.

            A Offline
            A Offline
            Aiouh
            schrieb am zuletzt editiert von Aiouh
            #5

            @ftd @crunchip Vielen Dank !

            1 Antwort Letzte Antwort
            0
            • F ftd

              @Aiouh wo geb ich die statements ein ? Habe ja kein PHPmyAdmin für Influx .

              Auf der Console..

              1. influx
              user@server:~$ influx
              Connected to http://localhost:8086 version 1.8.0
              InfluxDB shell version: 1.8.0
              >
              
              1. show databases

              2. use meinedatenbank

              3. delete from usw.

              A Offline
              A Offline
              Aiouh
              schrieb am zuletzt editiert von Aiouh
              #6

              Ich bin ein "Held" :(
              Die ersten Werte hatte ich prima gelöscht bekommen.
              Nun habe ich wieder völlig unplausible Werte drin, hab die auch selektiert, wollte aber beim Löschen einen Datumsbereich angeben und habe zu früh auf return gedrückt
              (geht das überhaupt mit time >xxx and < yyy ?)
              In dem Fall wäre es wohl cleverer gewesen einfach den Wert 17202 zu nehmen.
              Habe mir damit jedenfalls alle Werte der Spalte gelöscht.
              Kann ich nur diese Spalte aus dem Backup von Heute Nacht zurückholen? Falls ja, was ich doch hoffe... wie?
              Danke, wie immer schon mal im Voraus ;)

              > select * from "coronavirus-statistics.0.United_States.casesPerOneMillion" where value > 5600
              name: coronavirus-statistics.0.United_States.casesPerOneMillion
              time                ack  from                                    q value
              ----                ---  ----                                    - -----
              1590713129797000000 true system.adapter.coronavirus-statistics.0 0 17202
              1590714040876000000 true system.adapter.influxdb.0               0 17202
              1590714918364000000 true system.adapter.influxdb.0               0 17202
              1590715826299000000 true system.adapter.influxdb.0               0 17202
              1590716721392000000 true system.adapter.influxdb.0               0 17202
              1590717636510000000 true system.adapter.influxdb.0               0 17202
              1590718522607000000 true system.adapter.influxdb.0               0 17202
              1590719434556000000 true system.adapter.influxdb.0               0 17202
              1590720324229000000 true system.adapter.influxdb.0               0 17202
              1590721227213000000 true system.adapter.influxdb.0               0 17202
              1590722126271000000 true system.adapter.influxdb.0               0 17202
              1590723028462000000 true system.adapter.influxdb.0               0 17202
              1590723917665000000 true system.adapter.influxdb.0               0 17202
              1590724829708000000 true system.adapter.influxdb.0               0 17202
              1590725728538000000 true system.adapter.influxdb.0               0 17202
              1590726625993000000 true system.adapter.influxdb.0               0 17202
              1590727523429000000 true system.adapter.influxdb.0               0 17202
              1590728439777000000 true system.adapter.influxdb.0               0 17202
              1590729321488000000 true system.adapter.influxdb.0               0 17202
              1590730227769000000 true system.adapter.influxdb.0               0 17202
              1590731127299000000 true system.adapter.influxdb.0               0 17202
              1590732031127000000 true system.adapter.influxdb.0               0 17202
              1590732928645000000 true system.adapter.influxdb.0               0 17202
              > delete from "coronavirus-statistics.0.United_States.casesPerOneMillion" where time > 1590713129797
              
              
              L M 2 Antworten Letzte Antwort
              0
              • XxJooOX Offline
                XxJooOX Offline
                XxJooO
                schrieb am zuletzt editiert von
                #7

                Dazu wäre es interessant zu erfahren, wie Du ein Backup Deiner Iflux-Datenbank machst... Da die Influxdb ein eigenständiges Programm auf Deinem Rechner darstellt unterliegt das backuppen der Datenbank Deiner Handarbeit und nicht z.B. dem backitup-Adapter des ioBroker. Es gibt Lösungen für das Backup der Datenbank - google liebt dich. Aber so lange Du das nicht eingestellt hast sind Deine Daten imho verloren...

                ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                A 1 Antwort Letzte Antwort
                0
                • A Aiouh

                  Ich bin ein "Held" :(
                  Die ersten Werte hatte ich prima gelöscht bekommen.
                  Nun habe ich wieder völlig unplausible Werte drin, hab die auch selektiert, wollte aber beim Löschen einen Datumsbereich angeben und habe zu früh auf return gedrückt
                  (geht das überhaupt mit time >xxx and < yyy ?)
                  In dem Fall wäre es wohl cleverer gewesen einfach den Wert 17202 zu nehmen.
                  Habe mir damit jedenfalls alle Werte der Spalte gelöscht.
                  Kann ich nur diese Spalte aus dem Backup von Heute Nacht zurückholen? Falls ja, was ich doch hoffe... wie?
                  Danke, wie immer schon mal im Voraus ;)

                  > select * from "coronavirus-statistics.0.United_States.casesPerOneMillion" where value > 5600
                  name: coronavirus-statistics.0.United_States.casesPerOneMillion
                  time                ack  from                                    q value
                  ----                ---  ----                                    - -----
                  1590713129797000000 true system.adapter.coronavirus-statistics.0 0 17202
                  1590714040876000000 true system.adapter.influxdb.0               0 17202
                  1590714918364000000 true system.adapter.influxdb.0               0 17202
                  1590715826299000000 true system.adapter.influxdb.0               0 17202
                  1590716721392000000 true system.adapter.influxdb.0               0 17202
                  1590717636510000000 true system.adapter.influxdb.0               0 17202
                  1590718522607000000 true system.adapter.influxdb.0               0 17202
                  1590719434556000000 true system.adapter.influxdb.0               0 17202
                  1590720324229000000 true system.adapter.influxdb.0               0 17202
                  1590721227213000000 true system.adapter.influxdb.0               0 17202
                  1590722126271000000 true system.adapter.influxdb.0               0 17202
                  1590723028462000000 true system.adapter.influxdb.0               0 17202
                  1590723917665000000 true system.adapter.influxdb.0               0 17202
                  1590724829708000000 true system.adapter.influxdb.0               0 17202
                  1590725728538000000 true system.adapter.influxdb.0               0 17202
                  1590726625993000000 true system.adapter.influxdb.0               0 17202
                  1590727523429000000 true system.adapter.influxdb.0               0 17202
                  1590728439777000000 true system.adapter.influxdb.0               0 17202
                  1590729321488000000 true system.adapter.influxdb.0               0 17202
                  1590730227769000000 true system.adapter.influxdb.0               0 17202
                  1590731127299000000 true system.adapter.influxdb.0               0 17202
                  1590732031127000000 true system.adapter.influxdb.0               0 17202
                  1590732928645000000 true system.adapter.influxdb.0               0 17202
                  > delete from "coronavirus-statistics.0.United_States.casesPerOneMillion" where time > 1590713129797
                  
                  
                  L Offline
                  L Offline
                  lemuba
                  schrieb am zuletzt editiert von
                  #8

                  @Aiouh

                  Hilft Dir wahrscheinlich auch nicht mehr - aber ich habe in meiner Iobroker Dietpi VM Instanz ein influxdb_backup.sh Script erstellt, dass hat nur eine Zeile...:

                  sudo influxd backup -portable -database iobroker -host 127.0.0.1:8088 /tmp/iobroker_influx_backup

                  iobroker ist der Name der Datenbank - ein Restore des Backups/meiner kompletter Wetterstation-Daten hat schon einwandfrei funktioniert...

                  Werde dieses "manuelle" Backup noch zeitnah automatisieren. Leider macht es noch nicht der Backitup Adapter....

                  1 Antwort Letzte Antwort
                  0
                  • XxJooOX XxJooO

                    Dazu wäre es interessant zu erfahren, wie Du ein Backup Deiner Iflux-Datenbank machst... Da die Influxdb ein eigenständiges Programm auf Deinem Rechner darstellt unterliegt das backuppen der Datenbank Deiner Handarbeit und nicht z.B. dem backitup-Adapter des ioBroker. Es gibt Lösungen für das Backup der Datenbank - google liebt dich. Aber so lange Du das nicht eingestellt hast sind Deine Daten imho verloren...

                    A Offline
                    A Offline
                    Aiouh
                    schrieb am zuletzt editiert von
                    #9

                    @XxJooO
                    Hi, ich mache bister kein extra Datenbank Backup, sondern ein komplettes des virtuellen Servers auf dem die DB läuft. Der ioBroker wird jede Nacht mit BackitUp und zusätzlich der Server per VM Imagebackup gesichert.
                    Zu Dumm dass ich vor meinen Löschversuchen kein Backup gezogen habe. Normalerweise mach ich sowas auch in meiner Testumgebung, dafür hab ich sie ja, warum nicht auch dieses mal ? Einfach nicht aufgepasst.
                    Auf jeden Fall wieder dazu gelernt.

                    1 Antwort Letzte Antwort
                    0
                    • crunchipC crunchip

                      @Aiouh ja, du kannst einzelne Messungen in der Datenbank löschen

                      select * from "coronavirus-statistics.0.Canada.testsPerOneMillion" where value > 32000
                      

                      diese nun angezeigten, kannst du mittels timestamp löschen, (timestamp ersetzen)

                      delete from "coronavirus-statistics.0.Canada.testsPerOneMillion" where time =15xxxxxxxx000000000
                      
                      A Offline
                      A Offline
                      Aiouh
                      schrieb am zuletzt editiert von
                      #10

                      @crunchip Hallo, ich nochmal...
                      Ich versuche gerade alle Werte unter einem bestimmten Wert zu löschen

                      > delete from "javascript.0.Eigene_Datenpunkte.Zisterne_Volumen" where value < 7500
                      ERR: shard 61: fields not supported in WHERE clause during deletion
                      

                      das klappt so noch nicht. Da es sich um mehrere hundert Werte handelt, die wahllos über Wochen verstreut sind, ist das Löschen mit "timestamp" echt mühsam.
                      Gibt es keine andere Lösung ?

                      crunchipC F 2 Antworten Letzte Antwort
                      0
                      • A Aiouh

                        @crunchip Hallo, ich nochmal...
                        Ich versuche gerade alle Werte unter einem bestimmten Wert zu löschen

                        > delete from "javascript.0.Eigene_Datenpunkte.Zisterne_Volumen" where value < 7500
                        ERR: shard 61: fields not supported in WHERE clause during deletion
                        

                        das klappt so noch nicht. Da es sich um mehrere hundert Werte handelt, die wahllos über Wochen verstreut sind, ist das Löschen mit "timestamp" echt mühsam.
                        Gibt es keine andere Lösung ?

                        crunchipC Abwesend
                        crunchipC Abwesend
                        crunchip
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @Aiouh ich bin da auch nicht so fit drin, wie welche Möglichkeiten angewendet werden können.
                        @SBorg ist da etwas fitter in sowas, vllt kann er dir helfen.

                        umgestiegen von Proxmox auf Unraid

                        1 Antwort Letzte Antwort
                        0
                        • A Aiouh

                          @crunchip Hallo, ich nochmal...
                          Ich versuche gerade alle Werte unter einem bestimmten Wert zu löschen

                          > delete from "javascript.0.Eigene_Datenpunkte.Zisterne_Volumen" where value < 7500
                          ERR: shard 61: fields not supported in WHERE clause during deletion
                          

                          das klappt so noch nicht. Da es sich um mehrere hundert Werte handelt, die wahllos über Wochen verstreut sind, ist das Löschen mit "timestamp" echt mühsam.
                          Gibt es keine andere Lösung ?

                          F Offline
                          F Offline
                          ftd
                          schrieb am zuletzt editiert von
                          #12

                          @Aiouh

                          siehe https://docs.influxdata.com/influxdb/v1.8/query_language/manage-database/#delete-series-with-delete
                          DELETE does not support fields in the WHERE clause

                          Alternative:

                          1. Export der Daten als CSV
                          2. In Excel importieren
                          3. Werte mit kleiner 7500 entfernen
                          4. Neue Daten mit INSERT wieder in die Datenbank schreiben

                          Was ist falsch an den 7500 Litern in der Zisterne?

                          A 1 Antwort Letzte Antwort
                          0
                          • F ftd

                            @Aiouh

                            siehe https://docs.influxdata.com/influxdb/v1.8/query_language/manage-database/#delete-series-with-delete
                            DELETE does not support fields in the WHERE clause

                            Alternative:

                            1. Export der Daten als CSV
                            2. In Excel importieren
                            3. Werte mit kleiner 7500 entfernen
                            4. Neue Daten mit INSERT wieder in die Datenbank schreiben

                            Was ist falsch an den 7500 Litern in der Zisterne?

                            A Offline
                            A Offline
                            Aiouh
                            schrieb am zuletzt editiert von
                            #13

                            @ftd

                            Danke, wenn ich das script hinbekomme und damit künftig die falschen Werte vermeiden kann, tue ich mir das mit Export-Cleanup-Insert an, vorher eher nicht.

                            Tja, falsch daran ist, dass ich immer wieder Spitzen nach unten bekomme die eben falsch sind.
                            Woher die kommen weiss ich nicht. Wolte die falschen Werte per script abfangen, das klappt aber noch nicht (mein Jscript know how ist quasi Null. Ich mach hier trial and error).

                            https://forum.iobroker.net/topic/33837/zulauf-einer-zisterne-in-liter-h-berechnen/35

                            305d2577-65b6-4f02-9ea2-a580864f73e8-grafik.png

                            Vielleicht stelle ich auch den ioBroker komplett um auf MySQL, dort funktioniert "normales" SQL... muss mal lesen ob es da Nachteile gibt

                            XxJooOX 1 Antwort Letzte Antwort
                            0
                            • A Aiouh

                              @ftd

                              Danke, wenn ich das script hinbekomme und damit künftig die falschen Werte vermeiden kann, tue ich mir das mit Export-Cleanup-Insert an, vorher eher nicht.

                              Tja, falsch daran ist, dass ich immer wieder Spitzen nach unten bekomme die eben falsch sind.
                              Woher die kommen weiss ich nicht. Wolte die falschen Werte per script abfangen, das klappt aber noch nicht (mein Jscript know how ist quasi Null. Ich mach hier trial and error).

                              https://forum.iobroker.net/topic/33837/zulauf-einer-zisterne-in-liter-h-berechnen/35

                              305d2577-65b6-4f02-9ea2-a580864f73e8-grafik.png

                              Vielleicht stelle ich auch den ioBroker komplett um auf MySQL, dort funktioniert "normales" SQL... muss mal lesen ob es da Nachteile gibt

                              XxJooOX Offline
                              XxJooOX Offline
                              XxJooO
                              schrieb am zuletzt editiert von
                              #14

                              @Aiouh

                              zeig doch mal Dein Skript. Spontan fällt mir ein, dass gerade an warmen Tagen Kondenswasser entweder die Messung durch Kurzschluss verfälscht oder eben der Abstand nicht korrekt gemessen werden kann, wenn Wasser auf dem Sensor steht...

                              Zum Skript fällt mir spontan ein:
                              Ich würde nicht den gemessenen Wert loggen, da Du ja sonst nicht verhindern kannst, dass er geloggt wurde, bevor Du ihn auf Plausibilität geprüft hast. Ich würde also eine Hilfsvariable loggen, die immer bei einer Werteänderung neu befüllt wird. Nur dann wenn der Wert =0 oder wenn der Wert in einer bestimmten Zeit um mehr als x-dm abgenommen hat, den letzten Wert davor in die Hilfsvariable nehmen und die aktuelle Messung ignorieren. Nur so als Denkanstoß...

                              Grüße

                              ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                              A 1 Antwort Letzte Antwort
                              0
                              • XxJooOX XxJooO

                                @Aiouh

                                zeig doch mal Dein Skript. Spontan fällt mir ein, dass gerade an warmen Tagen Kondenswasser entweder die Messung durch Kurzschluss verfälscht oder eben der Abstand nicht korrekt gemessen werden kann, wenn Wasser auf dem Sensor steht...

                                Zum Skript fällt mir spontan ein:
                                Ich würde nicht den gemessenen Wert loggen, da Du ja sonst nicht verhindern kannst, dass er geloggt wurde, bevor Du ihn auf Plausibilität geprüft hast. Ich würde also eine Hilfsvariable loggen, die immer bei einer Werteänderung neu befüllt wird. Nur dann wenn der Wert =0 oder wenn der Wert in einer bestimmten Zeit um mehr als x-dm abgenommen hat, den letzten Wert davor in die Hilfsvariable nehmen und die aktuelle Messung ignorieren. Nur so als Denkanstoß...

                                Grüße

                                A Offline
                                A Offline
                                Aiouh
                                schrieb am zuletzt editiert von Aiouh
                                #15

                                @XxJooO Der Sensor ist ein sehr präziser Drucksensor, der wird (hoffe ich) keine Fehler produzieren. Ich vermute eher dass das mit dem Script, Laufzeiten, timeouts, Einfluss durch andere Scripts...zu tun hat.
                                Bin natürlich für jede Hilfe dankbar (die mir das von die beschriebene Verfahren "zusammenbaut", denn Programmieren kann ich nicht :( )
                                So siehts aus:

                                const idSpannung = 'modbus.2.holdingRegisters.9_Zisterne_Füllhöhe_U';
                                const idHoehe = 'javascript.0.Eigene_Datenpunkte.Zisterne_Füllhöhe';
                                const idVol = 'javascript.0.Eigene_Datenpunkte.Zisterne_Volumen';
                                const idFluss = 'javascript.0.Eigene_Datenpunkte.Zisterne_Zufluss';
                                
                                const L = 49.735; // Länge in dm
                                const R = 8; // Radius in dm
                                 
                                function u2h(U) {
                                   let h = (U-120) /24; // a und b durch konstante Werte ersetzen
                                   if(h > 2 * R) h = 2 * R;
                                   setState(idHoehe, Math.round(h * 100) / 10, true); // in cm mit 1 Nachkommastelle
                                   return h; // in dm
                                }
                                
                                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);
                                   return V; // in l
                                }
                                
                                var h = u2h(getState(idSpannung).val);
                                var lastV = h2V(h);
                                var timer = null;
                                var lc = getState(idSpannung).lc; 
                                
                                on(idSpannung, function(dp) {
                                    h = u2h(dp.state.val);
                                    let V = h2V(h);
                                    if(V > lastV) {
                                       let fluss = 3600000 * (V - lastV) / (dp.state.lc - lc); // l/h
                                       lastV = V;
                                       lc = dp.state.lc;
                                       setState(idFluss, Math.round(fluss), true); 
                                       if(timer) clearTimeout(timer);
                                       timer = setTimeout(function() {
                                          setState(idFluss, 0, true);
                                          timer = null;
                                       }, 1800000); // 30 Minuten
                                    }
                                });
                                
                                
                                A 1 Antwort Letzte Antwort
                                0
                                • A Aiouh

                                  @XxJooO Der Sensor ist ein sehr präziser Drucksensor, der wird (hoffe ich) keine Fehler produzieren. Ich vermute eher dass das mit dem Script, Laufzeiten, timeouts, Einfluss durch andere Scripts...zu tun hat.
                                  Bin natürlich für jede Hilfe dankbar (die mir das von die beschriebene Verfahren "zusammenbaut", denn Programmieren kann ich nicht :( )
                                  So siehts aus:

                                  const idSpannung = 'modbus.2.holdingRegisters.9_Zisterne_Füllhöhe_U';
                                  const idHoehe = 'javascript.0.Eigene_Datenpunkte.Zisterne_Füllhöhe';
                                  const idVol = 'javascript.0.Eigene_Datenpunkte.Zisterne_Volumen';
                                  const idFluss = 'javascript.0.Eigene_Datenpunkte.Zisterne_Zufluss';
                                  
                                  const L = 49.735; // Länge in dm
                                  const R = 8; // Radius in dm
                                   
                                  function u2h(U) {
                                     let h = (U-120) /24; // a und b durch konstante Werte ersetzen
                                     if(h > 2 * R) h = 2 * R;
                                     setState(idHoehe, Math.round(h * 100) / 10, true); // in cm mit 1 Nachkommastelle
                                     return h; // in dm
                                  }
                                  
                                  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);
                                     return V; // in l
                                  }
                                  
                                  var h = u2h(getState(idSpannung).val);
                                  var lastV = h2V(h);
                                  var timer = null;
                                  var lc = getState(idSpannung).lc; 
                                  
                                  on(idSpannung, function(dp) {
                                      h = u2h(dp.state.val);
                                      let V = h2V(h);
                                      if(V > lastV) {
                                         let fluss = 3600000 * (V - lastV) / (dp.state.lc - lc); // l/h
                                         lastV = V;
                                         lc = dp.state.lc;
                                         setState(idFluss, Math.round(fluss), true); 
                                         if(timer) clearTimeout(timer);
                                         timer = setTimeout(function() {
                                            setState(idFluss, 0, true);
                                            timer = null;
                                         }, 1800000); // 30 Minuten
                                      }
                                  });
                                  
                                  
                                  A Offline
                                  A Offline
                                  Aiouh
                                  schrieb am zuletzt editiert von Aiouh
                                  #16

                                  @Aiouh Damit das hier nicht off-topic wird mach ich mit dem eigentlichen Problem HIER weiter

                                  1 Antwort Letzte Antwort
                                  0
                                  • A Aiouh

                                    Ich bin ein "Held" :(
                                    Die ersten Werte hatte ich prima gelöscht bekommen.
                                    Nun habe ich wieder völlig unplausible Werte drin, hab die auch selektiert, wollte aber beim Löschen einen Datumsbereich angeben und habe zu früh auf return gedrückt
                                    (geht das überhaupt mit time >xxx and < yyy ?)
                                    In dem Fall wäre es wohl cleverer gewesen einfach den Wert 17202 zu nehmen.
                                    Habe mir damit jedenfalls alle Werte der Spalte gelöscht.
                                    Kann ich nur diese Spalte aus dem Backup von Heute Nacht zurückholen? Falls ja, was ich doch hoffe... wie?
                                    Danke, wie immer schon mal im Voraus ;)

                                    > select * from "coronavirus-statistics.0.United_States.casesPerOneMillion" where value > 5600
                                    name: coronavirus-statistics.0.United_States.casesPerOneMillion
                                    time                ack  from                                    q value
                                    ----                ---  ----                                    - -----
                                    1590713129797000000 true system.adapter.coronavirus-statistics.0 0 17202
                                    1590714040876000000 true system.adapter.influxdb.0               0 17202
                                    1590714918364000000 true system.adapter.influxdb.0               0 17202
                                    1590715826299000000 true system.adapter.influxdb.0               0 17202
                                    1590716721392000000 true system.adapter.influxdb.0               0 17202
                                    1590717636510000000 true system.adapter.influxdb.0               0 17202
                                    1590718522607000000 true system.adapter.influxdb.0               0 17202
                                    1590719434556000000 true system.adapter.influxdb.0               0 17202
                                    1590720324229000000 true system.adapter.influxdb.0               0 17202
                                    1590721227213000000 true system.adapter.influxdb.0               0 17202
                                    1590722126271000000 true system.adapter.influxdb.0               0 17202
                                    1590723028462000000 true system.adapter.influxdb.0               0 17202
                                    1590723917665000000 true system.adapter.influxdb.0               0 17202
                                    1590724829708000000 true system.adapter.influxdb.0               0 17202
                                    1590725728538000000 true system.adapter.influxdb.0               0 17202
                                    1590726625993000000 true system.adapter.influxdb.0               0 17202
                                    1590727523429000000 true system.adapter.influxdb.0               0 17202
                                    1590728439777000000 true system.adapter.influxdb.0               0 17202
                                    1590729321488000000 true system.adapter.influxdb.0               0 17202
                                    1590730227769000000 true system.adapter.influxdb.0               0 17202
                                    1590731127299000000 true system.adapter.influxdb.0               0 17202
                                    1590732031127000000 true system.adapter.influxdb.0               0 17202
                                    1590732928645000000 true system.adapter.influxdb.0               0 17202
                                    > delete from "coronavirus-statistics.0.United_States.casesPerOneMillion" where time > 1590713129797
                                    
                                    
                                    M Offline
                                    M Offline
                                    Michi_Pi
                                    schrieb am zuletzt editiert von
                                    #17

                                    @Aiouh

                                    Nun habe ich wieder völlig unplausible Werte drin, hab die auch selektiert, wollte aber beim Löschen einen Datumsbereich angeben und habe zu früh auf return gedrückt
                                    (geht das überhaupt mit time >xxx and < yyy ?)

                                    Ja das geht, hab das gleiche Problem gehabt und hab es mit dem Befehl im InfluxDBStudio löschen können.

                                    DELETE from "Strom_Schlafzimmer_Tagesverbrauch" where time > '2020-11-02T13:34:00Z' and time < '2020-11-03T07:33:00Z'
                                    
                                    A 1 Antwort Letzte Antwort
                                    0
                                    • M Michi_Pi

                                      @Aiouh

                                      Nun habe ich wieder völlig unplausible Werte drin, hab die auch selektiert, wollte aber beim Löschen einen Datumsbereich angeben und habe zu früh auf return gedrückt
                                      (geht das überhaupt mit time >xxx and < yyy ?)

                                      Ja das geht, hab das gleiche Problem gehabt und hab es mit dem Befehl im InfluxDBStudio löschen können.

                                      DELETE from "Strom_Schlafzimmer_Tagesverbrauch" where time > '2020-11-02T13:34:00Z' and time < '2020-11-03T07:33:00Z'
                                      
                                      A Offline
                                      A Offline
                                      Aiouh
                                      schrieb am zuletzt editiert von
                                      #18

                                      @Michi_Pi DANKE !

                                      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
                                      FAQ Cloud / IOT
                                      HowTo: Node.js-Update
                                      HowTo: Backup/Restore
                                      Downloads
                                      BLOG

                                      983

                                      Online

                                      32.4k

                                      Benutzer

                                      81.5k

                                      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