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. Datenpunkt aus mehreren Tagen Erzeugen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Datenpunkt aus mehreren Tagen Erzeugen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
19 Beiträge 6 Kommentatoren 485 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.
  • W weserjunge

    Moin zusammen,

    gibt es eine Möglichkeit einen Datenpunkt zu erzeugen, der auf unterschiedliche Datenpunkte je nach Datum zurück greift?

    vor folgendem Problem stehe ich:

    der Fronius Adapter spuckt die geleisteten Wh je Tag als eigenen Datenpunkt aus.

    Beispiel für den 14. Juni:

    fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.14
    

    Dieser Datenpunkt wird dann am 14. Juli, 14 August usw wieder überschrieben.

    Kann ich ein Blockly (oder ggf einen anderen Weg gehen) der mir einen Datenpunkt erzeugt, der immer auf den Tagesaktuellen Datenpunkt zugreift und diesen 1:1 weiter gibt?

    Der Sinn dahinter ist, das ich gerne einen Datenpunkt hätte, den ich in InfluxDB und dann weiter in Grafana relativ einfach verarbeiten kann.

    Schöne Grüße

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #7

    @weserjunge sagte: geleisteten Wh je Tag als eigenen Datenpunkt aus.

    Einmal am Tag am Tagesende?
    Einen DP mit dem aktuellen Tag (gestern) gibt es nicht?
    Dann kann man RegExp zum Triggern verwenden, um den den Wert des Tages in einen Datenpunkt für gestern zu übertragen.

    const idsTag = new RegExp('fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.*');
    const idGestern = '0_userdata.0.Fronius.Produktion.gestern'; // ID anpassen!
    
    on({id: idsTag}, function(dp) {
        setState(idGestern, dp.state.val, true);
    });
    

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • Marc BergM Marc Berg

      @mickym

      Um ganz ehrlich zu sein, verstehe ich das Ziel des TE nicht so richtig. Aber vielleicht wird ihm im Grafana Forum geholfen, wo er gestern die gleiche Frage gestellt hat:

      https://community.grafana.com/t/verarbeitung-unterschiedlicher-daten-fur-unterschiedliche-tage/90486

      W Offline
      W Offline
      weserjunge
      schrieb am zuletzt editiert von
      #8

      @marc-berg ich sehe da jetzt kein Problem drin nach mehrer Lösungen parallel zu suchen. Viele Wege führen nach Rom, nur ist englisch nicht besonders meine Paradedisziplin, und das Grafana-Forum ist nun rein Englisch, worauf man mich ja auch netter weise hingewiesen hat ;-)

      1 Antwort Letzte Antwort
      0
      • T ticaki

        @weserjunge

        Wenn du einen aufsteigenen Zähler in influx hast kannst du dir das pro Tag anzeigen lassen

        Hier ein Beispiel:

        SELECT non_negative_difference(last("value")) FROM "autogen"."shelly.0.SHEM-3#C45BBE6C597F#1.Total.ConsumedPower" WHERE $timeFilter GROUP BY time(1d) fill(previous) tz('Europe/Berlin')
        

        Kann man in im Builder zusammenklicken

        W Offline
        W Offline
        weserjunge
        schrieb am zuletzt editiert von
        #9

        @ticaki said in Datenpunkt aus mehreren Tagen Erzeugen:

        @weserjunge

        Wenn du einen aufsteigenen Zähler in influx hast kannst du dir das pro Tag anzeigen lassen

        Hier ein Beispiel:

        SELECT non_negative_difference(last("value")) FROM "autogen"."shelly.0.SHEM-3#C45BBE6C597F#1.Total.ConsumedPower" WHERE $timeFilter GROUP BY time(1d) fill(previous) tz('Europe/Berlin')
        

        Kann man in im Builder zusammenklicken

        Meine Idee war, einen Datenpunkt zu erzeugen, welcher je nach Datum auf einen anderen Datenpunkt zugreift, diesen dann über die DB abzugreifen. Da die Bereitgestellten Datenpunkte kumuliert je Tag erstellt werden, braucht man eigentlich nicht weiter tätig werden:
        BSP.:

        1. April auf den Datenpunkt
        fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.1
        
        1. April auf den Datenpunkt
        fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.2
        

        17 Juni auf den Datenpunkt

        fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.27
        

        vielleicht ist meine Idee auch völliger Quatsch.

        Gruß

        David G.D 1 Antwort Letzte Antwort
        0
        • W weserjunge

          @ticaki said in Datenpunkt aus mehreren Tagen Erzeugen:

          @weserjunge

          Wenn du einen aufsteigenen Zähler in influx hast kannst du dir das pro Tag anzeigen lassen

          Hier ein Beispiel:

          SELECT non_negative_difference(last("value")) FROM "autogen"."shelly.0.SHEM-3#C45BBE6C597F#1.Total.ConsumedPower" WHERE $timeFilter GROUP BY time(1d) fill(previous) tz('Europe/Berlin')
          

          Kann man in im Builder zusammenklicken

          Meine Idee war, einen Datenpunkt zu erzeugen, welcher je nach Datum auf einen anderen Datenpunkt zugreift, diesen dann über die DB abzugreifen. Da die Bereitgestellten Datenpunkte kumuliert je Tag erstellt werden, braucht man eigentlich nicht weiter tätig werden:
          BSP.:

          1. April auf den Datenpunkt
          fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.1
          
          1. April auf den Datenpunkt
          fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.2
          

          17 Juni auf den Datenpunkt

          fronius-solarweb.0.de1fbbf8-cbcb-4039-8911-63555240ad4e.day.EnergyProductionTotal.values.27
          

          vielleicht ist meine Idee auch völliger Quatsch.

          Gruß

          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von David G.
          #10

          @weserjunge

          Ich finde den Vorschlag von @paul53 am Sinnigsten.
          Das hätte ich in der Art auch versucht.

          So hast du alles sauber in einem DP in der History.

          Das Skript lässt sich schnell in js oder Blockly umsetzen.

          EDIT
          Ich hätte es vermutlich mit "IDs vom Selektor" in Blockly gemacht anstatt "RegExp".

          Hab aber keine Ahnung wo der Unterschied ist.

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          T paul53P 2 Antworten Letzte Antwort
          0
          • David G.D David G.

            @weserjunge

            Ich finde den Vorschlag von @paul53 am Sinnigsten.
            Das hätte ich in der Art auch versucht.

            So hast du alles sauber in einem DP in der History.

            Das Skript lässt sich schnell in js oder Blockly umsetzen.

            EDIT
            Ich hätte es vermutlich mit "IDs vom Selektor" in Blockly gemacht anstatt "RegExp".

            Hab aber keine Ahnung wo der Unterschied ist.

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von ticaki
            #11

            @weserjunge
            Pauls Lösung ist optimal

            @david-g sagte in Datenpunkt aus mehreren Tagen Erzeugen:

            Hab aber keine Ahnung wo der Unterschied ist.

            RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            David G.D 1 Antwort Letzte Antwort
            0
            • David G.D David G.

              @weserjunge

              Ich finde den Vorschlag von @paul53 am Sinnigsten.
              Das hätte ich in der Art auch versucht.

              So hast du alles sauber in einem DP in der History.

              Das Skript lässt sich schnell in js oder Blockly umsetzen.

              EDIT
              Ich hätte es vermutlich mit "IDs vom Selektor" in Blockly gemacht anstatt "RegExp".

              Hab aber keine Ahnung wo der Unterschied ist.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #12

              @david-g sagte: wo der Unterschied ist.

              @ticaki sagte in Datenpunkt aus mehreren Tagen Erzeugen:

              RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

              ... und Selektor.on() reagiert nur auf Wertänderung, der gezeigte Trigger auch auf Aktualisierung (des Zeitstempels).

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              T 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @david-g sagte: wo der Unterschied ist.

                @ticaki sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

                ... und Selektor.on() reagiert nur auf Wertänderung, der gezeigte Trigger auch auf Aktualisierung (des Zeitstempels).

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von
                #13

                @paul53 sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                ... und Selektor.on() reagiert nur auf Wertänderung, der gezeigte Trigger auch auf Aktualisierung (des Zeitstempels).

                also ist es change:'any'?

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                paul53P 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @paul53 sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                  ... und Selektor.on() reagiert nur auf Wertänderung, der gezeigte Trigger auch auf Aktualisierung (des Zeitstempels).

                  also ist es change:'any'?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #14

                  @ticaki sagte: also ist es change:'any'?

                  Ja, change: 'any' ist default, wenn das Muster ein Objekt ist. Wenn das Muster ein ID-String ist, wird auf change: 'ne' reagiert.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • T ticaki

                    @weserjunge
                    Pauls Lösung ist optimal

                    @david-g sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                    Hab aber keine Ahnung wo der Unterschied ist.

                    RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

                    David G.D Online
                    David G.D Online
                    David G.
                    schrieb am zuletzt editiert von
                    #15

                    @ticaki sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                    RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

                    Was bedeutet das?
                    Den Selektor habe ich (wenn ich mich nicht irre) auch schon in einem Skript benutzt um Listen zu erstellen. Also als trigger und zum auslesen der DPs in einem Skript.

                    Oder hab ich das falsch in Erinnerung?

                    Im Hier genannten Fall, könnte ich doch auch mit dem Selektor arbeiten oder?

                    Zeigt eure Lovelace-Visualisierung klick
                    (Auch ideal um sich Anregungen zu holen)

                    Meine Tabellen für eure Visualisierung klick

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • David G.D David G.

                      @ticaki sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                      RegEx finde Datenpunkten zum Laufzeit, Selector beim Start des Skripts.

                      Was bedeutet das?
                      Den Selektor habe ich (wenn ich mich nicht irre) auch schon in einem Skript benutzt um Listen zu erstellen. Also als trigger und zum auslesen der DPs in einem Skript.

                      Oder hab ich das falsch in Erinnerung?

                      Im Hier genannten Fall, könnte ich doch auch mit dem Selektor arbeiten oder?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #16

                      @david-g sagte: könnte ich doch auch mit dem Selektor arbeiten oder?

                      Nur, wenn bei Skriptstart schon alle DP (1 ... 31) vorhanden sind. Nicht getriggert wird allerdings, wenn der Wert im aktuellen Monat zufällig mit dem im letzten Monat identisch ist.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      David G.D 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @david-g sagte: könnte ich doch auch mit dem Selektor arbeiten oder?

                        Nur, wenn bei Skriptstart schon alle DP (1 ... 31) vorhanden sind. Nicht getriggert wird allerdings, wenn der Wert im aktuellen Monat zufällig mit dem im letzten Monat identisch ist.

                        David G.D Online
                        David G.D Online
                        David G.
                        schrieb am zuletzt editiert von
                        #17

                        @paul53

                        Ah, okay.
                        Das verstehe ich.

                        Dann macht RegeEx ja eigentlich fast immer mehr Sinn als der Selektor oder (da er mehr Eventualitäten abdeckt)?

                        Langsam was offtopic..

                        Zeigt eure Lovelace-Visualisierung klick
                        (Auch ideal um sich Anregungen zu holen)

                        Meine Tabellen für eure Visualisierung klick

                        paul53P T 2 Antworten Letzte Antwort
                        0
                        • David G.D David G.

                          @paul53

                          Ah, okay.
                          Das verstehe ich.

                          Dann macht RegeEx ja eigentlich fast immer mehr Sinn als der Selektor oder (da er mehr Eventualitäten abdeckt)?

                          Langsam was offtopic..

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #18

                          @david-g sagte: Dann macht RegeEx ja eigentlich fast immer mehr Sinn als der Selektor

                          Den Selektor benötigt man, wenn man innerhalb des Triggers alle selektierten DP in einer Schleife abklappern muss (Beispiel: alle Fenster geschlossen?).

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • David G.D David G.

                            @paul53

                            Ah, okay.
                            Das verstehe ich.

                            Dann macht RegeEx ja eigentlich fast immer mehr Sinn als der Selektor oder (da er mehr Eventualitäten abdeckt)?

                            Langsam was offtopic..

                            T Nicht stören
                            T Nicht stören
                            ticaki
                            schrieb am zuletzt editiert von ticaki
                            #19

                            @david-g sagte in Datenpunkt aus mehreren Tagen Erzeugen:

                            @paul53

                            Ah, okay.
                            Das verstehe ich.

                            Dann macht RegeEx ja eigentlich fast immer mehr Sinn als der Selektor oder (da er mehr Eventualitäten abdeckt)?

                            Langsam was offtopic..

                            Nein, der selector findet nur Änderungen und wenn dich nur Änderungen interessieren, was häufig der Fall ist, ist es RegEx vorzuziehen. Benutze aber selbst für gleiche DP ebenfalls regex mit change: 'was auch immer'.

                            In deinem Fall ist es möglich, wenn auch nicht wahrscheinlich, das am z.B. 14. April die gleiche Leistung wie am 14 Mai gemessen wird, dann verändert sich der Wert des State nicht und dir fehlen Werte. Das könnte man dann wieder auffangen in dem man die Protokollierung der Werte auf Nur Änderungen und gleicher Wert nach 86.400 + x Sekunden protokoliert. Das würde dann nur nach 86400/x Fällen in Folge zu einem Fehler führen.

                            em ok ;)

                            kurz: nimm das von paul53

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            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

                            728

                            Online

                            32.6k

                            Benutzer

                            82.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