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. Einsteigerfragen
  4. Automatisierung
  5. Daten zeitweise addieren

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    483

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Daten zeitweise addieren

Geplant Angeheftet Gesperrt Verschoben Ungelöst Automatisierung
54 Beiträge 4 Kommentatoren 3.3k Aufrufe 2 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.
  • HomoranH Homoran

    @mickym ich hab immer noch nicht verstanden was er will!
    wenn der interne Zähler um Mitternacht nullt hat man doch am Tagesende die insgesamt eingeladene und insgesamt entnommene Menge (in kWh).
    was fehlt denn dann? Ladezustand ist doch auch da. die Entlade-/Ladeleistung in kW?

    das wäre in (blockly) (aktueller Wert-vorheriger Wert):(Timestamp-vorheriger Timestamp)

    J Offline
    J Offline
    Jonny 0
    schrieb am zuletzt editiert von
    #38

    @homoran
    Am Tagesende......und was ist dazwischen?
    Payload.JPG

    Schau dir mal den Payload im Screen an.
    So kommt es aus der alten Wallbox.
    Das Problem die gibt es nicht mehr lange, bzw. bringt mir nichts mehr, da man mit der nur eine PV und einen Speicher verwalten kann.
    Bei der werden die Werte ja auch hochgerechnen und natürlich direkt angezeigt.

    HomoranH 1 Antwort Letzte Antwort
    0
    • J Jonny 0

      @homoran
      Am Tagesende......und was ist dazwischen?
      Payload.JPG

      Schau dir mal den Payload im Screen an.
      So kommt es aus der alten Wallbox.
      Das Problem die gibt es nicht mehr lange, bzw. bringt mir nichts mehr, da man mit der nur eine PV und einen Speicher verwalten kann.
      Bei der werden die Werte ja auch hochgerechnen und natürlich direkt angezeigt.

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von Homoran
      #39

      @jonny-0 sagte in Daten zeitweise addieren:

      Am Tagesende......und was ist dazwischen?

      tue dir mal selbst einen Gefallen.
      formuliere das gewünschte mal sorgfältig und strukturiert.
      Wahrscheinlich fällt dir dann schon selber die Lösung ein.

      Aber mit diesen Halbsätzen hilft das einem Außenstehenden kein bischen das zu verstehen von dem du bereits alle Informationen hast, wir aber nicht

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      J 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @homoran Ja genau verstehe ich es leider auch nicht. Ich kann mir nur vorstellen, weil ich bei den Shellies mal so ein Problem mit der internen Aufsummierung hatte, dass ich immer den Momentanverbrauch dann genommen habe und den bei jeder Meldung mit dem Zeitinterval abgeglichen hatte und diesen Wert dann aufsummiert hatte. Das war genauer. Aber wenn er das fix und fertig bekommt, warum sollte man es dann nochmal neu machen bzw. man könnte auch Zählerstände dann einfach zwischenspeichern zu definierten Zeitpunkten (Tageswechsel etc).

        J Offline
        J Offline
        Jonny 0
        schrieb am zuletzt editiert von
        #40

        @mickym
        So in etwa könnte es bei mir auch funktionieren.

        Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
        Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

        Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
        Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

        msg.payload = (flow.get("import") || 0) + msg.payload;
        //msg.payload = msg.payload ;
        flow.set("import", msg.payload);
        return msg;

        mickymM 2 Antworten Letzte Antwort
        0
        • HomoranH Homoran

          @jonny-0 sagte in Daten zeitweise addieren:

          Am Tagesende......und was ist dazwischen?

          tue dir mal selbst einen Gefallen.
          formuliere das gewünschte mal sorgfältig und strukturiert.
          Wahrscheinlich fällt dir dann schon selber die Lösung ein.

          Aber mit diesen Halbsätzen hilft das einem Außenstehenden kein bischen das zu verstehen von dem du bereits alle Informationen hast, wir aber nicht

          J Offline
          J Offline
          Jonny 0
          schrieb am zuletzt editiert von
          #41

          @homoran

          Sorry, ich bin leider nicht sehr gut im erklären.

          vielleicht ist es durch den obigen post verständlicher.

          HomoranH 1 Antwort Letzte Antwort
          0
          • J Jonny 0

            @homoran

            Sorry, ich bin leider nicht sehr gut im erklären.

            vielleicht ist es durch den obigen post verständlicher.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #42

            @jonny-0 sagte in Daten zeitweise addieren:

            ich bin leider nicht sehr gut im erklären.

            das habe ich gemerkt :blush:

            @jonny-0 sagte in Daten zeitweise addieren:

            vielleicht ist es durch den obigen post verständlicher.

            leider nein.

            also schritt für Schritt:

            Vielleicht versteckt sich hier etwas wichtiges
            @jonny-0 sagte in Daten zeitweise addieren:

            Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.

            was hat die Wallbox mit der Batterie zu tun?
            und wovon der Mittelwert der letzten 3 Sekunden?
            WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu laden :thinking_face:

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            J 1 Antwort Letzte Antwort
            0
            • J Jonny 0

              @mickym
              So in etwa könnte es bei mir auch funktionieren.

              Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
              Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

              Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
              Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

              msg.payload = (flow.get("import") || 0) + msg.payload;
              //msg.payload = msg.payload ;
              flow.set("import", msg.payload);
              return msg;

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #43

              @jonny-0 sagte in Daten zeitweise addieren:

              @mickym
              So in etwa könnte es bei mir auch funktionieren.

              Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
              Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

              Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
              Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

              msg.payload = (flow.get("import") || 0) + msg.payload;
              //msg.payload = msg.payload ;
              flow.set("import", msg.payload);
              return msg;

              Du speist einfach ein msg.reset = true ein und setzt auf 0.

              msg.payload = (context.get("import") || 0) + msg.payload;
              //msg.payload = msg.payload ;
              if (msg.reset) msg.payload = 0;
              context.set("import", msg.payload);
              return msg;
              

              Dazu könntest Du eine Inject Node bemühen:

              e17d5bd1-28c0-470d-a866-5a4d7b9fe4ca-image.png
              04ecef71-f044-4670-a678-433a427a4e44-image.png

              Das kannst aber im context machen, da brauchst den Flow nicht.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              HomoranH J 2 Antworten Letzte Antwort
              0
              • mickymM mickym

                @jonny-0 sagte in Daten zeitweise addieren:

                @mickym
                So in etwa könnte es bei mir auch funktionieren.

                Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
                Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

                Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
                Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

                msg.payload = (flow.get("import") || 0) + msg.payload;
                //msg.payload = msg.payload ;
                flow.set("import", msg.payload);
                return msg;

                Du speist einfach ein msg.reset = true ein und setzt auf 0.

                msg.payload = (context.get("import") || 0) + msg.payload;
                //msg.payload = msg.payload ;
                if (msg.reset) msg.payload = 0;
                context.set("import", msg.payload);
                return msg;
                

                Dazu könntest Du eine Inject Node bemühen:

                e17d5bd1-28c0-470d-a866-5a4d7b9fe4ca-image.png
                04ecef71-f044-4670-a678-433a427a4e44-image.png

                Das kannst aber im context machen, da brauchst den Flow nicht.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #44

                @mickym oder soll das ein Schieberegister für einen gleitenden Mittelwert werden?

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                mickymM 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @mickym oder soll das ein Schieberegister für einen gleitenden Mittelwert werden?

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #45

                  @homoran Na das gleitende ist das Problem. Dann musst Du wirklich mit festen Zeitintervallen die Werte einspeisen und dann hast Du eine festdefinierte Arraygröße. Wenn diese erreicht wird, wird oben ein Wert hinzugefügt und unten einer entfernt. da war ich selbst dabei, die aggregator Node zu nehmen und die entsprechend zu erweitern - dann hab ich aber die Lust verloren. ;)

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @jonny-0 sagte in Daten zeitweise addieren:

                    ich bin leider nicht sehr gut im erklären.

                    das habe ich gemerkt :blush:

                    @jonny-0 sagte in Daten zeitweise addieren:

                    vielleicht ist es durch den obigen post verständlicher.

                    leider nein.

                    also schritt für Schritt:

                    Vielleicht versteckt sich hier etwas wichtiges
                    @jonny-0 sagte in Daten zeitweise addieren:

                    Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.

                    was hat die Wallbox mit der Batterie zu tun?
                    und wovon der Mittelwert der letzten 3 Sekunden?
                    WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu laden :thinking_face:

                    J Offline
                    J Offline
                    Jonny 0
                    schrieb am zuletzt editiert von
                    #46

                    @homoran said in Daten zeitweise addieren:

                    @jonny-0 sagte in Daten zeitweise addieren:

                    ich bin leider nicht sehr gut im erklären.

                    das habe ich gemerkt :blush:

                    @jonny-0 sagte in Daten zeitweise addieren:

                    vielleicht ist es durch den obigen post verständlicher.

                    leider nein.

                    also schritt für Schritt:

                    Vielleicht versteckt sich hier etwas wichtiges
                    @jonny-0 sagte in Daten zeitweise addieren:

                    Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.

                    was hat die Wallbox mit der Batterie zu tun? --> Die Wallbox verwaltet hier das ganze Smarthome.
                    und wovon der Mittelwert der letzten 3 Sekunden?--> von dem import und dem export.
                    WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu laden :thinking_face:

                    Warum nicht ? Es kann doch auch sein das von der PV 10 KW kommen und ich mit 13 laden tu. ( max entladen Speicher)

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • J Jonny 0

                      @mickym
                      So in etwa könnte es bei mir auch funktionieren.

                      Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
                      Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

                      Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
                      Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

                      msg.payload = (flow.get("import") || 0) + msg.payload;
                      //msg.payload = msg.payload ;
                      flow.set("import", msg.payload);
                      return msg;

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #47

                      @jonny-0 sagte in Daten zeitweise addieren:

                      Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
                      Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

                      Das mit den 30s sammeln und den Mittelwert zu bilden, das würde ich dann aber der Aggregator Node überlassen und dann hast Du auch definierte Zeitintervalle.

                      Bei Tageswerten wäre das Array dann 2880 Elemente (24x60x2) groß und dann kann man es füllen und hätte einen gleitenden Tageswert. Dann wäre es streng genommen auch kein Tageswert sondern die letzten 24 Std. ;)

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @jonny-0 sagte in Daten zeitweise addieren:

                        @mickym
                        So in etwa könnte es bei mir auch funktionieren.

                        Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
                        Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.

                        Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
                        Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.

                        msg.payload = (flow.get("import") || 0) + msg.payload;
                        //msg.payload = msg.payload ;
                        flow.set("import", msg.payload);
                        return msg;

                        Du speist einfach ein msg.reset = true ein und setzt auf 0.

                        msg.payload = (context.get("import") || 0) + msg.payload;
                        //msg.payload = msg.payload ;
                        if (msg.reset) msg.payload = 0;
                        context.set("import", msg.payload);
                        return msg;
                        

                        Dazu könntest Du eine Inject Node bemühen:

                        e17d5bd1-28c0-470d-a866-5a4d7b9fe4ca-image.png
                        04ecef71-f044-4670-a678-433a427a4e44-image.png

                        Das kannst aber im context machen, da brauchst den Flow nicht.

                        J Offline
                        J Offline
                        Jonny 0
                        schrieb am zuletzt editiert von
                        #48

                        @mickym

                        Das könnte echt funktionieren.....

                        Werde das versuchen.
                        Addiert mir alle payloads auf, und setzt es um 0.00 Uhr zurück auf 0.

                        Das wäre die allereinfachste Lösung......

                        Ich berichte....:clap: :clap: :clap: :clap:

                        1 Antwort Letzte Antwort
                        0
                        • J Jonny 0

                          @homoran said in Daten zeitweise addieren:

                          @jonny-0 sagte in Daten zeitweise addieren:

                          ich bin leider nicht sehr gut im erklären.

                          das habe ich gemerkt :blush:

                          @jonny-0 sagte in Daten zeitweise addieren:

                          vielleicht ist es durch den obigen post verständlicher.

                          leider nein.

                          also schritt für Schritt:

                          Vielleicht versteckt sich hier etwas wichtiges
                          @jonny-0 sagte in Daten zeitweise addieren:

                          Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.

                          was hat die Wallbox mit der Batterie zu tun? --> Die Wallbox verwaltet hier das ganze Smarthome.
                          und wovon der Mittelwert der letzten 3 Sekunden?--> von dem import und dem export.
                          WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu laden :thinking_face:

                          Warum nicht ? Es kann doch auch sein das von der PV 10 KW kommen und ich mit 13 laden tu. ( max entladen Speicher)

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #49

                          @jonny-0 sagte in Daten zeitweise addieren:

                          Warum nicht ? Es kann doch auch sein das von der PV 10 KW kommen und ich mit 13 laden tu. ( max entladen Speicher)

                          aber das regelt doch dann die Batteriesteuerung.
                          ich raff es nicht was du willst.

                          dann ist abends die Batterie leer und du kannst dann in der Nacht Strom kaufen.

                          und jetzt OT
                          @jonny-0 sagte in Daten zeitweise addieren:

                          Ich habe einen Varta Elements

                          die dürfen/können doch höchstens 5kW abgeben.

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          J 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @jonny-0 sagte in Daten zeitweise addieren:

                            Warum nicht ? Es kann doch auch sein das von der PV 10 KW kommen und ich mit 13 laden tu. ( max entladen Speicher)

                            aber das regelt doch dann die Batteriesteuerung.
                            ich raff es nicht was du willst.

                            dann ist abends die Batterie leer und du kannst dann in der Nacht Strom kaufen.

                            und jetzt OT
                            @jonny-0 sagte in Daten zeitweise addieren:

                            Ich habe einen Varta Elements

                            die dürfen/können doch höchstens 5kW abgeben.

                            J Offline
                            J Offline
                            Jonny 0
                            schrieb am zuletzt editiert von Jonny 0
                            #50

                            @homoran

                            warum ist der Akku dann abend leer wenn er sich nach dem entladen wieder aufladen kann.
                            Egal. Ich bekomme jetzt noch einen 100 KW Speicher dazu, der 250kw abgeben kann also auch dc schnellladen möglich.
                            Auch bekomme ich noch eine weitere PV Anlage hinzu.
                            Dies ist bzw. wir eine Anschauanlage von einem Startup unternehmen.
                            (Habe ja nicht im Lotto gewonnen)

                            Wie gesagt muss ich diesen umweg gehen, da die jetzige Version der WB nicht mehr als 1 Speicher und auch eine PV kann.

                            Bei mir regelt die Batteriesteuerung nichts. die gibt ab wenn gefordert wird und nimmt auf wenn ich übrig lasse, was ich auch in der WB einstellen kann.

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • J Jonny 0

                              @homoran

                              warum ist der Akku dann abend leer wenn er sich nach dem entladen wieder aufladen kann.
                              Egal. Ich bekomme jetzt noch einen 100 KW Speicher dazu, der 250kw abgeben kann also auch dc schnellladen möglich.
                              Auch bekomme ich noch eine weitere PV Anlage hinzu.
                              Dies ist bzw. wir eine Anschauanlage von einem Startup unternehmen.
                              (Habe ja nicht im Lotto gewonnen)

                              Wie gesagt muss ich diesen umweg gehen, da die jetzige Version der WB nicht mehr als 1 Speicher und auch eine PV kann.

                              Bei mir regelt die Batteriesteuerung nichts. die gibt ab wenn gefordert wird und nimmt auf wenn ich übrig lasse, was ich auch in der WB einstellen kann.

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von Homoran
                              #51

                              @jonny-0 sagte in Daten zeitweise addieren:

                              warum ist der Akku dann abend leer wenn er sich nach dem entladen wieder aufladen kann.

                              weil das Auto erst bei Sonnenuntergang voll ist :-)

                              @jonny-0 sagte in Daten zeitweise addieren:

                              Ich bekomme jetzt noch einen 100 KW Speicher dazu, der 250kw abgeben kann also auch dc schnellladen möglich.

                              100 kWh?
                              mit 250 kW Leistungsabgabe? also 2.5C? sicher? Aber dann definitiv nicht von Varta., die dürfen nur mit 0.25C belastet werden. Sonst können die ihre Spezifikationen (Kapazität/Zyklenzahl) nicht garantieren.
                              und ich kenne nur eine Batterie die so hohe Leistungsabgabe und trotzdem hohe Zyklenzahlen erreicht. Und die wird nur von Bastlern verbaut.
                              Üblich sind deshalb im Moment 0.5C als Kompromiss

                              @jonny-0 sagte in Daten zeitweise addieren:

                              Bei mir regelt die Batteriesteuerung nichts. die gibt ab wenn gefordert wird und nimmt auf wenn ich übrig lasse

                              naja, das ist die Regelung

                              aber genug OT

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              J 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @jonny-0 sagte in Daten zeitweise addieren:

                                warum ist der Akku dann abend leer wenn er sich nach dem entladen wieder aufladen kann.

                                weil das Auto erst bei Sonnenuntergang voll ist :-)

                                @jonny-0 sagte in Daten zeitweise addieren:

                                Ich bekomme jetzt noch einen 100 KW Speicher dazu, der 250kw abgeben kann also auch dc schnellladen möglich.

                                100 kWh?
                                mit 250 kW Leistungsabgabe? also 2.5C? sicher? Aber dann definitiv nicht von Varta., die dürfen nur mit 0.25C belastet werden. Sonst können die ihre Spezifikationen (Kapazität/Zyklenzahl) nicht garantieren.
                                und ich kenne nur eine Batterie die so hohe Leistungsabgabe und trotzdem hohe Zyklenzahlen erreicht. Und die wird nur von Bastlern verbaut.
                                Üblich sind deshalb im Moment 0.5C als Kompromiss

                                @jonny-0 sagte in Daten zeitweise addieren:

                                Bei mir regelt die Batteriesteuerung nichts. die gibt ab wenn gefordert wird und nimmt auf wenn ich übrig lasse

                                naja, das ist die Regelung

                                aber genug OT

                                J Offline
                                J Offline
                                Jonny 0
                                schrieb am zuletzt editiert von
                                #52

                                @homoran

                                Ich berichte gerne über den neuen Speicher wenn gewünscht.
                                Nein es ist kein Varta.
                                Ja, meine Daten oben mit 250KW laden und auch entladen sind richtig.
                                Weshalb ich ja auch einen 90 DC Schnelllader bekomme....

                                Ich teste jetzt ob das so einfach funktioniert mit einem Inject Node.
                                Wäre genial gelöst.

                                Ich berichte..

                                Danke an alle und noch einen schönen Restabend...

                                1 Antwort Letzte Antwort
                                0
                                • mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von mickym
                                  #53

                                  Also ich habe meinen alten Flow gefunden - der würde Dir aber nichts helfen, da Du ja glaub ohne den iobroker arbeitest. Ich bin mir auch nicht mehr ganz sicher, ob es wirklich fehlerfrei gearbeitet hat, aber der Vollständigkeit will ich ihn mal posten:

                                  Wie @Homoran schrieb ist das nicht banal:

                                  31851e08-8fab-4662-a868-f3bc7316f646-image.png

                                  Allerdings müsste ich mir das genau wieder anschauen, wie es funktioniert. ;)

                                  Wenn man den Baum so gebaut hatte - wurde die gesamte Datenpunkte so erstellt, wenn man reset auf true gesetzt hatte:

                                  c145044b-8111-4382-b1d8-1b30c1e6bd52-image.png

                                  932c0882-d09b-4390-b258-80088220fe40-image.png

                                  Das Herzstück war den Momentanverbrauch halt auf Wh umzurechnen, wie

                                  @homoran sagte in Daten zeitweise addieren:

                                  @mickym ich hab immer noch nicht verstanden was er will!
                                  wenn der interne Zähler um Mitternacht nullt hat man doch am Tagesende die insgesamt eingeladene und insgesamt entnommene Menge (in kWh).
                                  was fehlt denn dann? Ladezustand ist doch auch da. die Entlade-/Ladeleistung in kW?

                                  das wäre in (blockly) (aktueller Wert-vorheriger Wert):(Timestamp-vorheriger Timestamp)

                                  hier erwähnte.

                                  Das war damals im Topic des Kontextes ermittelt in der Node Aktuelle Wh

                                  var lasttime = context.get(msg.topic);
                                  var timespan;
                                  
                                  if (lasttime === undefined) {
                                      lasttime = msg.timestamp;
                                      context.set(msg.topic,lasttime);
                                      return null;
                                  }
                                  
                                  timespan = msg.timestamp - lasttime;
                                  lasttime = msg.timestamp;
                                  context.set(msg.topic,lasttime);
                                  msg.Wh=msg.power*(timespan/1000/60/60);
                                  
                                  return msg;
                                  

                                  Im Prinzip wurden dann die aktuellen Wh in alle Datenpunkte addiert. Sobald eine Zeitperiode beendet war (wurde genullt und der Wert in die vorherige Periode kopiert.

                                  da war der trigger - das war damals auch in einer function Node gemacht:

                                  const sec = 1000;
                                  const min = sec * 60;
                                  const hour = min * 60;
                                  const day = hour * 24;
                                  const week = day * 7;
                                  const month = day * 30.4375;
                                  const year = month * 12;
                                  var ts = new Date().getTime();
                                  var bUpdate = false;
                                  // msg.topic = msg.topic.replace(/(.*)\.use_time_date/,"$1");
                                  // var device = msg.topic.replace(/.*shellies\.(.*)/,"$1");
                                  var device = msg.device;
                                  
                                  var timespan = context.get(device)
                                  if (timespan === undefined) {
                                      
                                      // node.warn ('device: ' + device);
                                      // node.warn ('msg.start.timespan: ' + JSON.stringify(msg.start.timespan));
                                      timespan = msg.start.timespan;
                                      context.set(device,timespan); 
                                      // node.warn ('timespan = defined');
                                      return [null,null]
                                      
                                  }
                                  
                                  var addValues = [];
                                  // var resetValues = [];
                                  var msgStart = {topic: msg.topic + '.start', payload: msg.start}
                                  
                                  var topiclist="hour,month,today,total,week,year";
                                  var topics = topiclist.split(",");
                                  
                                  // node.warn ('device: ' + device);
                                  for (var w in topics) {
                                      var diff = 0;
                                      switch(topics[w]) {
                                          case 'hour':
                                              // code block
                                              diff= Math.trunc((ts - msg.start.ts) / hour);
                                              // node.warn ('const hour: ' + hour);
                                              // hours: timespan.hour
                                              if (diff > timespan.hour){
                                                  bUpdate = true;
                                                  timespan.hour=diff;
                                  
                                                  addValues.push({topic: msg.topic + '.hour', payload: 0 , newTopic: msg.topic + '.hour_before' , start: msg.start.ts , ts: ts , hours: diff, comment: diff + ' hours since start' });
                                              }
                                              break;
                                          case 'month':
                                              // code block
                                              diff= Math.trunc((ts - msg.start.ts) / month);
                                              // node.warn ('const month: ' + month);
                                              // months: timespan.month
                                              if (diff > timespan.month){
                                                  bUpdate = true;
                                                  timespan.month=diff;
                                  
                                                  addValues.push({topic: msg.topic + '.month', payload: 0 , newTopic: msg.topic + '.month_before', start: msg.start.ts , ts: ts , months: diff, comment: diff + ' months since start' });
                                              }
                                              break;
                                          case 'today':
                                              // code block
                                              diff= Math.trunc((ts - msg.start.ts) / day);
                                              // node.warn ('const day: ' + day);
                                              // days: timespan.day
                                              if (diff > timespan.day){
                                                  bUpdate = true;
                                                  timespan.day=diff;
                                  
                                                  addValues.push({topic: msg.topic + '.today', payload: 0 , newTopic: msg.topic + '.yesterday' , start: msg.start.ts , ts: ts , days: diff, comment: diff + ' days since start'});
                                              }
                                              break;
                                          case 'total':
                                              // code block - nichts machen - gibt nichts zum Zurücksetzen
                                              break;
                                          case 'week':
                                              // code block
                                              diff= Math.trunc((ts - msg.start.ts) / week);
                                              // node.warn ('const week: ' + week);
                                              // weeks: timespan.week
                                              if (diff > timespan.week){
                                                  bUpdate = true;
                                                  timespan.week=diff;
                                  
                                                  addValues.push({topic: msg.topic + '.week', payload: 0 , newTopic: msg.topic + '.week_before' , start: msg.start.ts , ts: ts , weeks: diff, comment: diff + ' weeks since start' });
                                              }
                                              break;
                                          case 'year':
                                              // code block
                                              diff= Math.trunc((ts - msg.start.ts) / year);
                                              // if (diff > 0 ) { node.warn(' -> ts: ' + ts + ' -> msg.start.ts: ' + msg.start.ts + ' -> (ts - msg.start.ts) / year: ' + ((ts - msg.start.ts) / year))}
                                              // node.warn ('const year: ' + year);
                                              // years: timespan.hour
                                              if (diff > timespan.year){
                                                  bUpdate = true;
                                                  timespan.year=diff;
                                  
                                                  addValues.push({topic: msg.topic + '.year', payload: 0 , newTopic: msg.topic + '.year_before', start: msg.start.ts , ts: ts , years: diff, comment: diff + ' years since start'});
                                              }
                                              break;
                                              
                                          default:
                                              // code block
                                      }   
                                  }
                                  
                                  // bUpdate = true;
                                  
                                  if (bUpdate){
                                      context.set(device,timespan);
                                      msgStart.payload.timespan = timespan;
                                      return [ addValues,  msgStart ];
                                  }
                                  
                                  
                                  // outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});
                                  

                                  Ich hab den Flow mal exportiert - aber wie gesagt, da muss man sich wieder reinfuchsen. In den power Datenpunkt muss der Momentanverbrauch aus der Originalquelle kopiert werden. Im Detail müsste man sich gerade die function Node nochmal anschauen. Ursprünglich wollte ich das sowohl für DAUER als auch für KALENDER also bei Tageswechsel machen. Im Moment wird es wirklich nach DAUER gemacht und nicht nach Kalender. Sprich der Tag zählt genau bei Start 24 Std. Die 2. Option ist eigentlich einfacher - aber wie gesagt, ich hab mich dann nicht mehr damit beschäftigt. Manchmal vergeht einem die Lust - obwohl es sicherlich ein gutes Projekt geworden wäre - aber halt redundant zum sourceanalytics. Im Prinzip kann man den Flow aber auch für NodeRed Standalone Installationen verwenden, wenn man als Datenbank einen mqtt Broker nimmt. Muss ggf. die topics anpassen, allerdings kann man mit den Wildcards schon ziemlich universell arbeiten.

                                  [
                                     {
                                         "id": "35850f3.22dd0f",
                                         "type": "inject",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             },
                                             {
                                                 "p": "topic",
                                                 "vt": "str"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "0_userdata/0/stromverbrauch/shellies/shelly-dummy/reset",
                                         "payload": "true",
                                         "payloadType": "bool",
                                         "x": 310,
                                         "y": 180,
                                         "wires": [
                                             [
                                                 "80f66656.38dec8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "80f66656.38dec8",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "reset = true?",
                                         "property": "payload",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "true"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 510,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "98ce503d.77b81"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "5a848615.797c98",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "define and reset topics",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "[{\"common\":{\"name\":\"total\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"yesterday\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"today\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"year\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"month\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"power\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"hour\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"hour_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"year_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"month_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"week_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"week\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"start\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"string\",\"read\":true,\"write\":false,\"def\":\"\"},\"type\":\"state\"},{\"common\":{\"name\":\"reset\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"boolean\",\"read\":true,\"write\":true,\"def\":false},\"type\":\"state\"},{\"common\":{\"name\":\"use_time_date\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"boolean\",\"read\":true,\"write\":true,\"def\":false},\"type\":\"state\"},{\"common\":{\"name\":\"flot\",\"role\":\"\",\"type\":\"string\",\"desc\":\"Created by Node-Red\",\"def\":\"\",\"read\":true,\"write\":true},\"type\":\"state\"}]",
                                                 "tot": "json"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1100,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "85d30229.134d7"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "85d30229.134d7",
                                         "type": "split",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "splt": "\\n",
                                         "spltType": "str",
                                         "arraySplt": 1,
                                         "arraySpltType": "len",
                                         "stream": false,
                                         "addname": "",
                                         "x": 1280,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "14273608.84409a"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "98ce503d.77b81",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "get parent topic",
                                         "rules": [
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "(.*)[\\.,\\/]reset$",
                                                 "fromt": "re",
                                                 "to": "$1",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 800,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "5a848615.797c98"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "14273608.84409a",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "set new topic",
                                         "rules": [
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "/",
                                                 "fromt": "str",
                                                 "to": ".",
                                                 "tot": "str"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "to": "topic & '.' & payload.common.name",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1430,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "c26782ba.6d0cb"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "a066a4b2.bffac8",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "reset to default?",
                                         "property": "payload.common.def",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "null"
                                             },
                                             {
                                                 "t": "nnull"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 2,
                                         "x": 2280,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "aaaf4f8e.09af2"
                                             ],
                                             [
                                                 "8c7b3b16.005078"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "c26782ba.6d0cb",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "translate definition",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "stateName",
                                                 "pt": "msg",
                                                 "to": "payload.common.name",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "stateType",
                                                 "pt": "msg",
                                                 "to": "payload.common.type",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "stateReadonly",
                                                 "pt": "msg",
                                                 "to": "payload.common.write",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1610,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "edec84c8.29ee98"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "edec84c8.29ee98",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "unit available?",
                                         "property": "payload.common.unit",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "nnull"
                                             },
                                             {
                                                 "t": "null"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 2,
                                         "x": 1820,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "7b7016cb.ac10c8"
                                             ],
                                             [
                                                 "1f3da0b6.9e766f"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "1f3da0b6.9e766f",
                                         "type": "function",
                                         "z": "2c7d577a.9b4378",
                                         "name": "do nothing",
                                         "func": "\nreturn msg;",
                                         "outputs": 1,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "x": 2050,
                                         "y": 240,
                                         "wires": [
                                             [
                                                 "a066a4b2.bffac8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "7b7016cb.ac10c8",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "stateUnit",
                                                 "pt": "msg",
                                                 "to": "payload.common.unit",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 2050,
                                         "y": 200,
                                         "wires": [
                                             [
                                                 "a066a4b2.bffac8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "cc84166f.06b778",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "",
                                         "ack": "false",
                                         "autoCreate": "true",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 2720,
                                         "y": 220,
                                         "wires": []
                                     },
                                     {
                                         "id": "aaaf4f8e.09af2",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "delete",
                                                 "p": "payload",
                                                 "pt": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 2500,
                                         "y": 180,
                                         "wires": [
                                             [
                                                 "cc84166f.06b778"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "8c7b3b16.005078",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "set defaults",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "default",
                                                 "pt": "msg",
                                                 "to": "payload.common.def",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "delete",
                                                 "p": "payload",
                                                 "pt": "msg"
                                             },
                                             {
                                                 "t": "move",
                                                 "p": "default",
                                                 "pt": "msg",
                                                 "to": "payload",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 2470,
                                         "y": 260,
                                         "wires": [
                                             [
                                                 "cc84166f.06b778"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "cc6771bb.13f14",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "start without object",
                                         "property": "payload",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "eq",
                                                 "v": "",
                                                 "vt": "str"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 790,
                                         "y": 280,
                                         "wires": [
                                             [
                                                 "ce0be96b.5c5fa8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "ce0be96b.5c5fa8",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "Initialisiere start",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "{}",
                                                 "tot": "json"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "payload.ts",
                                                 "pt": "msg",
                                                 "to": "",
                                                 "tot": "date"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "payload.date",
                                                 "pt": "msg",
                                                 "to": " $moment(payload.ts).locale(\"de\").tz('Europe/Berlin').format('YYYY-MM-DD HH:mm:ss')",
                                                 "tot": "jsonata"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "payload.timespan",
                                                 "pt": "msg",
                                                 "to": "{\"hour\":0,\"day\":0,\"week\":0,\"month\":0,\"year\":0}",
                                                 "tot": "json"
                                             },
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "/",
                                                 "fromt": "str",
                                                 "to": ".",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1060,
                                         "y": 280,
                                         "wires": [
                                             [
                                                 "450761a2.575e",
                                                 "d9135ecb.c5bef"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "729a31f7.1f0d",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "set msg.topic & msg.power",
                                         "rules": [
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "(.*)\\/power",
                                                 "fromt": "re",
                                                 "to": "$1",
                                                 "tot": "str"
                                             },
                                             {
                                                 "t": "move",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "power",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 560,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "257ceae5.2dbc16"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "257ceae5.2dbc16",
                                         "type": "function",
                                         "z": "2c7d577a.9b4378",
                                         "name": "Aktuelle Wh",
                                         "func": "var lasttime = context.get(msg.topic);\nvar timespan;\n\nif (lasttime === undefined) {\n    lasttime = msg.timestamp;\n    context.set(msg.topic,lasttime);\n    return null;\n}\n\ntimespan = msg.timestamp - lasttime;\nlasttime = msg.timestamp;\ncontext.set(msg.topic,lasttime);\nmsg.Wh=msg.power*(timespan/1000/60/60);\n\nreturn msg;",
                                         "outputs": 1,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "libs": [],
                                         "x": 910,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "7b7a6cd4.f05704"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "d9135ecb.c5bef",
                                         "type": "json",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "property": "payload",
                                         "action": "",
                                         "pretty": false,
                                         "x": 1230,
                                         "y": 280,
                                         "wires": [
                                             [
                                                 "ffaaaca9.31ecf"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "ffaaaca9.31ecf",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "",
                                         "ack": "true",
                                         "autoCreate": "false",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 1410,
                                         "y": 280,
                                         "wires": []
                                     },
                                     {
                                         "id": "7b7a6cd4.f05704",
                                         "type": "function",
                                         "z": "2c7d577a.9b4378",
                                         "name": "add topics",
                                         "func": "var outputMsgs = [];\nvar topiclist=\"hour,month,today,total,week,year,start\";\n\nvar topics = topiclist.split(\",\");\n\nfor (var w in topics) {\n    outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});\n}\nreturn [ outputMsgs ];\n",
                                         "outputs": 1,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "x": 1090,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "7e64ff11.4278"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "1de3c97e.1a0bf7",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "hour",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 380,
                                         "wires": [
                                             [
                                                 "9d1bc133.e80b7"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "21dc8345.7618bc",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "today",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 440,
                                         "wires": [
                                             [
                                                 "9d1bc133.e80b7"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "70288298.bf84dc",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "month",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "dea3c66b.907df8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "b9db5bd0.a50a78",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "total",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 680,
                                         "wires": [
                                             [
                                                 "dea3c66b.907df8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "6e65954f.bdec0c",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "week",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 500,
                                         "wires": [
                                             [
                                                 "9d1bc133.e80b7"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "44b9db26.ca4314",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "year",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 620,
                                         "wires": [
                                             [
                                                 "dea3c66b.907df8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "9d1bc133.e80b7",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "Addiere Wh",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "payload + Wh",
                                                 "tot": "jsonata"
                                             },
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "/",
                                                 "fromt": "str",
                                                 "to": ".",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1600,
                                         "y": 440,
                                         "wires": [
                                             [
                                                 "4bca099e.ca1e88"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "dea3c66b.907df8",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "Addiere kWh",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "payload + (Wh/1000)",
                                                 "tot": "jsonata"
                                             },
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "/",
                                                 "fromt": "str",
                                                 "to": ".",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1590,
                                         "y": 620,
                                         "wires": [
                                             [
                                                 "4bca099e.ca1e88"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "4bca099e.ca1e88",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "",
                                         "ack": "true",
                                         "autoCreate": "false",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 1820,
                                         "y": 520,
                                         "wires": []
                                     },
                                     {
                                         "id": "7e64ff11.4278",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "property": "topic",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]hour$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]today$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]week$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]month$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]year$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]total$",
                                                 "vt": "str",
                                                 "case": false
                                             },
                                             {
                                                 "t": "regex",
                                                 "v": ".*[\\/,\\.]start$",
                                                 "vt": "str",
                                                 "case": false
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 7,
                                         "x": 1250,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "1de3c97e.1a0bf7"
                                             ],
                                             [
                                                 "21dc8345.7618bc"
                                             ],
                                             [
                                                 "6e65954f.bdec0c"
                                             ],
                                             [
                                                 "70288298.bf84dc"
                                             ],
                                             [
                                                 "44b9db26.ca4314"
                                             ],
                                             [
                                                 "b9db5bd0.a50a78"
                                             ],
                                             [
                                                 "93fdc929.570df8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "93fdc929.570df8",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "start",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 1410,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "107973e8.2fdc3c"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "97f2d9d1.1420f8",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "(.*)\\/start",
                                                 "fromt": "re",
                                                 "to": "$1",
                                                 "tot": "str"
                                             },
                                             {
                                                 "t": "move",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "start",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "/",
                                                 "fromt": "str",
                                                 "to": ".",
                                                 "tot": "str"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "to": "topic & '.use_time_date'",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 1900,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "18019d9a.2b8552"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "18019d9a.2b8552",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "use_time_date",
                                         "topic": "",
                                         "attrname": "payload",
                                         "payloadType": "value",
                                         "x": 2100,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "7f7e5f9f.41f46"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "453a7a8d.9c72f4",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "property": "payload",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "true"
                                             },
                                             {
                                                 "t": "false"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 2,
                                         "x": 2470,
                                         "y": 780,
                                         "wires": [
                                             [],
                                             [
                                                 "fc7f508d.c986d",
                                                 "fc2c5159.6e28"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "fc2c5159.6e28",
                                         "type": "function",
                                         "z": "2c7d577a.9b4378",
                                         "name": "trigger nach Dauer",
                                         "func": "const sec = 1000;\nconst min = sec * 60;\nconst hour = min * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst month = day * 30.4375;\nconst year = month * 12;\nvar ts = new Date().getTime();\nvar bUpdate = false;\n// msg.topic = msg.topic.replace(/(.*)\\.use_time_date/,\"$1\");\n// var device = msg.topic.replace(/.*shellies\\.(.*)/,\"$1\");\nvar device = msg.device;\n\nvar timespan = context.get(device)\nif (timespan === undefined) {\n    \n    // node.warn ('device: ' + device);\n    // node.warn ('msg.start.timespan: ' + JSON.stringify(msg.start.timespan));\n    timespan = msg.start.timespan;\n    context.set(device,timespan); \n    // node.warn ('timespan = defined');\n    return [null,null]\n    \n}\n\nvar addValues = [];\n// var resetValues = [];\nvar msgStart = {topic: msg.topic + '.start', payload: msg.start}\n\nvar topiclist=\"hour,month,today,total,week,year\";\nvar topics = topiclist.split(\",\");\n\n// node.warn ('device: ' + device);\nfor (var w in topics) {\n    var diff = 0;\n    switch(topics[w]) {\n        case 'hour':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / hour);\n            // node.warn ('const hour: ' + hour);\n            // hours: timespan.hour\n            if (diff > timespan.hour){\n                bUpdate = true;\n                timespan.hour=diff;\n\n                addValues.push({topic: msg.topic + '.hour', payload: 0 , newTopic: msg.topic + '.hour_before' , start: msg.start.ts , ts: ts , hours: diff, comment: diff + ' hours since start' });\n            }\n            break;\n        case 'month':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / month);\n            // node.warn ('const month: ' + month);\n            // months: timespan.month\n            if (diff > timespan.month){\n                bUpdate = true;\n                timespan.month=diff;\n\n                addValues.push({topic: msg.topic + '.month', payload: 0 , newTopic: msg.topic + '.month_before', start: msg.start.ts , ts: ts , months: diff, comment: diff + ' months since start' });\n            }\n            break;\n        case 'today':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / day);\n            // node.warn ('const day: ' + day);\n            // days: timespan.day\n            if (diff > timespan.day){\n                bUpdate = true;\n                timespan.day=diff;\n\n                addValues.push({topic: msg.topic + '.today', payload: 0 , newTopic: msg.topic + '.yesterday' , start: msg.start.ts , ts: ts , days: diff, comment: diff + ' days since start'});\n            }\n            break;\n        case 'total':\n            // code block - nichts machen - gibt nichts zum Zurücksetzen\n            break;\n        case 'week':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / week);\n            // node.warn ('const week: ' + week);\n            // weeks: timespan.week\n            if (diff > timespan.week){\n                bUpdate = true;\n                timespan.week=diff;\n\n                addValues.push({topic: msg.topic + '.week', payload: 0 , newTopic: msg.topic + '.week_before' , start: msg.start.ts , ts: ts , weeks: diff, comment: diff + ' weeks since start' });\n            }\n            break;\n        case 'year':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / year);\n            // if (diff > 0 ) { node.warn(' -> ts: ' + ts + ' -> msg.start.ts: ' + msg.start.ts + ' -> (ts - msg.start.ts) / year: ' + ((ts - msg.start.ts) / year))}\n            // node.warn ('const year: ' + year);\n            // years: timespan.hour\n            if (diff > timespan.year){\n                bUpdate = true;\n                timespan.year=diff;\n\n                addValues.push({topic: msg.topic + '.year', payload: 0 , newTopic: msg.topic + '.year_before', start: msg.start.ts , ts: ts , years: diff, comment: diff + ' years since start'});\n            }\n            break;\n            \n        default:\n            // code block\n    }   \n}\n\n// bUpdate = true;\n\nif (bUpdate){\n    context.set(device,timespan);\n    msgStart.payload.timespan = timespan;\n    return [ addValues,  msgStart ];\n}\n\n\n// outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});",
                                         "outputs": 2,
                                         "noerr": 0,
                                         "initialize": "",
                                         "finalize": "",
                                         "libs": [],
                                         "x": 2690,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "4b61812.853d08",
                                                 "990a6d1c.e33ae"
                                             ],
                                             [
                                                 "4cdfe1c1.22b5e",
                                                 "fc7e7f82.b40bc"
                                             ]
                                         ],
                                         "outputLabels": [
                                             "add",
                                             "start"
                                         ]
                                     },
                                     {
                                         "id": "4cdfe1c1.22b5e",
                                         "type": "debug",
                                         "z": "2c7d577a.9b4378",
                                         "name": "start",
                                         "active": false,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": true,
                                         "complete": "true",
                                         "targetType": "full",
                                         "statusVal": "payload.timespan",
                                         "statusType": "msg",
                                         "x": 2890,
                                         "y": 980,
                                         "wires": []
                                     },
                                     {
                                         "id": "4b61812.853d08",
                                         "type": "ioBroker get",
                                         "z": "2c7d577a.9b4378",
                                         "name": "save value",
                                         "topic": "",
                                         "attrname": "set",
                                         "payloadType": "value",
                                         "x": 2890,
                                         "y": 820,
                                         "wires": [
                                             [
                                                 "48de049c.55a6cc",
                                                 "2f65897a.e15036"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "2f65897a.e15036",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "set previous",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "to": "newTopic",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "set",
                                                 "tot": "msg"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 3070,
                                         "y": 860,
                                         "wires": [
                                             [
                                                 "d5922114.e3edb"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "d5922114.e3edb",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "set previous period",
                                         "topic": "",
                                         "ack": "true",
                                         "autoCreate": "false",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 3280,
                                         "y": 860,
                                         "wires": []
                                     },
                                     {
                                         "id": "48de049c.55a6cc",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "reset current period",
                                         "topic": "",
                                         "ack": "true",
                                         "autoCreate": "false",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 3090,
                                         "y": 800,
                                         "wires": []
                                     },
                                     {
                                         "id": "afcbed60.a3b52",
                                         "type": "ioBroker out",
                                         "z": "2c7d577a.9b4378",
                                         "name": "update start.timespan",
                                         "topic": "",
                                         "ack": "true",
                                         "autoCreate": "false",
                                         "stateName": "",
                                         "role": "",
                                         "payloadType": "",
                                         "readonly": "",
                                         "stateUnit": "",
                                         "stateMin": "",
                                         "stateMax": "",
                                         "x": 3080,
                                         "y": 920,
                                         "wires": []
                                     },
                                     {
                                         "id": "fc7e7f82.b40bc",
                                         "type": "json",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "property": "payload",
                                         "action": "",
                                         "pretty": false,
                                         "x": 2880,
                                         "y": 920,
                                         "wires": [
                                             [
                                                 "afcbed60.a3b52"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "990a6d1c.e33ae",
                                         "type": "debug",
                                         "z": "2c7d577a.9b4378",
                                         "name": "add",
                                         "active": false,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 2870,
                                         "y": 760,
                                         "wires": []
                                     },
                                     {
                                         "id": "fc7f508d.c986d",
                                         "type": "debug",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "active": false,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "true",
                                         "targetType": "full",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 2670,
                                         "y": 800,
                                         "wires": []
                                     },
                                     {
                                         "id": "8e9e06fd.870a08",
                                         "type": "json",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "property": "payload",
                                         "action": "",
                                         "pretty": false,
                                         "x": 1730,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "97f2d9d1.1420f8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "107973e8.2fdc3c",
                                         "type": "switch",
                                         "z": "2c7d577a.9b4378",
                                         "name": "JSON string?",
                                         "property": "payload",
                                         "propertyType": "msg",
                                         "rules": [
                                             {
                                                 "t": "istype",
                                                 "v": "json",
                                                 "vt": "json"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 1570,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "8e9e06fd.870a08"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "450761a2.575e",
                                         "type": "debug",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "active": false,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "true",
                                         "targetType": "full",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1240,
                                         "y": 340,
                                         "wires": []
                                     },
                                     {
                                         "id": "13719db3.07a702",
                                         "type": "ioBroker in",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "0_userdata.0.stromverbrauch.*.*.reset",
                                         "payloadType": "value",
                                         "onlyack": "",
                                         "func": "all",
                                         "gap": "",
                                         "fireOnStart": "false",
                                         "x": 210,
                                         "y": 220,
                                         "wires": [
                                             [
                                                 "80f66656.38dec8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "7f7e5f9f.41f46",
                                         "type": "change",
                                         "z": "2c7d577a.9b4378",
                                         "name": "topic & device",
                                         "rules": [
                                             {
                                                 "t": "change",
                                                 "p": "topic",
                                                 "pt": "msg",
                                                 "from": "(.*)\\.use_time_date",
                                                 "fromt": "re",
                                                 "to": "$1",
                                                 "tot": "str"
                                             },
                                             {
                                                 "t": "set",
                                                 "p": "device",
                                                 "pt": "msg",
                                                 "to": "topic",
                                                 "tot": "msg"
                                             },
                                             {
                                                 "t": "change",
                                                 "p": "device",
                                                 "pt": "msg",
                                                 "from": ".*[\\.,\\/](.*)",
                                                 "fromt": "re",
                                                 "to": "$1",
                                                 "tot": "str"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 2300,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "453a7a8d.9c72f4"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "c208dc2e.5880a",
                                         "type": "ioBroker in",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "0_userdata.0.stromverbrauch.*.*.power",
                                         "payloadType": "value",
                                         "onlyack": "",
                                         "func": "all",
                                         "gap": "",
                                         "fireOnStart": "false",
                                         "x": 210,
                                         "y": 560,
                                         "wires": [
                                             [
                                                 "729a31f7.1f0d"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "ec03eb7f.ecf038",
                                         "type": "ioBroker in",
                                         "z": "2c7d577a.9b4378",
                                         "name": "",
                                         "topic": "0_userdata.0.stromverbrauch.*.*.start",
                                         "payloadType": "value",
                                         "onlyack": "",
                                         "func": "all",
                                         "gap": "",
                                         "fireOnStart": "false",
                                         "x": 210,
                                         "y": 280,
                                         "wires": [
                                             [
                                                 "cc6771bb.13f14"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  Ich bin jetzt ja auch faul und nutze den sourceanlytics.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  J 1 Antwort Letzte Antwort
                                  1
                                  • mickymM mickym

                                    Also ich habe meinen alten Flow gefunden - der würde Dir aber nichts helfen, da Du ja glaub ohne den iobroker arbeitest. Ich bin mir auch nicht mehr ganz sicher, ob es wirklich fehlerfrei gearbeitet hat, aber der Vollständigkeit will ich ihn mal posten:

                                    Wie @Homoran schrieb ist das nicht banal:

                                    31851e08-8fab-4662-a868-f3bc7316f646-image.png

                                    Allerdings müsste ich mir das genau wieder anschauen, wie es funktioniert. ;)

                                    Wenn man den Baum so gebaut hatte - wurde die gesamte Datenpunkte so erstellt, wenn man reset auf true gesetzt hatte:

                                    c145044b-8111-4382-b1d8-1b30c1e6bd52-image.png

                                    932c0882-d09b-4390-b258-80088220fe40-image.png

                                    Das Herzstück war den Momentanverbrauch halt auf Wh umzurechnen, wie

                                    @homoran sagte in Daten zeitweise addieren:

                                    @mickym ich hab immer noch nicht verstanden was er will!
                                    wenn der interne Zähler um Mitternacht nullt hat man doch am Tagesende die insgesamt eingeladene und insgesamt entnommene Menge (in kWh).
                                    was fehlt denn dann? Ladezustand ist doch auch da. die Entlade-/Ladeleistung in kW?

                                    das wäre in (blockly) (aktueller Wert-vorheriger Wert):(Timestamp-vorheriger Timestamp)

                                    hier erwähnte.

                                    Das war damals im Topic des Kontextes ermittelt in der Node Aktuelle Wh

                                    var lasttime = context.get(msg.topic);
                                    var timespan;
                                    
                                    if (lasttime === undefined) {
                                        lasttime = msg.timestamp;
                                        context.set(msg.topic,lasttime);
                                        return null;
                                    }
                                    
                                    timespan = msg.timestamp - lasttime;
                                    lasttime = msg.timestamp;
                                    context.set(msg.topic,lasttime);
                                    msg.Wh=msg.power*(timespan/1000/60/60);
                                    
                                    return msg;
                                    

                                    Im Prinzip wurden dann die aktuellen Wh in alle Datenpunkte addiert. Sobald eine Zeitperiode beendet war (wurde genullt und der Wert in die vorherige Periode kopiert.

                                    da war der trigger - das war damals auch in einer function Node gemacht:

                                    const sec = 1000;
                                    const min = sec * 60;
                                    const hour = min * 60;
                                    const day = hour * 24;
                                    const week = day * 7;
                                    const month = day * 30.4375;
                                    const year = month * 12;
                                    var ts = new Date().getTime();
                                    var bUpdate = false;
                                    // msg.topic = msg.topic.replace(/(.*)\.use_time_date/,"$1");
                                    // var device = msg.topic.replace(/.*shellies\.(.*)/,"$1");
                                    var device = msg.device;
                                    
                                    var timespan = context.get(device)
                                    if (timespan === undefined) {
                                        
                                        // node.warn ('device: ' + device);
                                        // node.warn ('msg.start.timespan: ' + JSON.stringify(msg.start.timespan));
                                        timespan = msg.start.timespan;
                                        context.set(device,timespan); 
                                        // node.warn ('timespan = defined');
                                        return [null,null]
                                        
                                    }
                                    
                                    var addValues = [];
                                    // var resetValues = [];
                                    var msgStart = {topic: msg.topic + '.start', payload: msg.start}
                                    
                                    var topiclist="hour,month,today,total,week,year";
                                    var topics = topiclist.split(",");
                                    
                                    // node.warn ('device: ' + device);
                                    for (var w in topics) {
                                        var diff = 0;
                                        switch(topics[w]) {
                                            case 'hour':
                                                // code block
                                                diff= Math.trunc((ts - msg.start.ts) / hour);
                                                // node.warn ('const hour: ' + hour);
                                                // hours: timespan.hour
                                                if (diff > timespan.hour){
                                                    bUpdate = true;
                                                    timespan.hour=diff;
                                    
                                                    addValues.push({topic: msg.topic + '.hour', payload: 0 , newTopic: msg.topic + '.hour_before' , start: msg.start.ts , ts: ts , hours: diff, comment: diff + ' hours since start' });
                                                }
                                                break;
                                            case 'month':
                                                // code block
                                                diff= Math.trunc((ts - msg.start.ts) / month);
                                                // node.warn ('const month: ' + month);
                                                // months: timespan.month
                                                if (diff > timespan.month){
                                                    bUpdate = true;
                                                    timespan.month=diff;
                                    
                                                    addValues.push({topic: msg.topic + '.month', payload: 0 , newTopic: msg.topic + '.month_before', start: msg.start.ts , ts: ts , months: diff, comment: diff + ' months since start' });
                                                }
                                                break;
                                            case 'today':
                                                // code block
                                                diff= Math.trunc((ts - msg.start.ts) / day);
                                                // node.warn ('const day: ' + day);
                                                // days: timespan.day
                                                if (diff > timespan.day){
                                                    bUpdate = true;
                                                    timespan.day=diff;
                                    
                                                    addValues.push({topic: msg.topic + '.today', payload: 0 , newTopic: msg.topic + '.yesterday' , start: msg.start.ts , ts: ts , days: diff, comment: diff + ' days since start'});
                                                }
                                                break;
                                            case 'total':
                                                // code block - nichts machen - gibt nichts zum Zurücksetzen
                                                break;
                                            case 'week':
                                                // code block
                                                diff= Math.trunc((ts - msg.start.ts) / week);
                                                // node.warn ('const week: ' + week);
                                                // weeks: timespan.week
                                                if (diff > timespan.week){
                                                    bUpdate = true;
                                                    timespan.week=diff;
                                    
                                                    addValues.push({topic: msg.topic + '.week', payload: 0 , newTopic: msg.topic + '.week_before' , start: msg.start.ts , ts: ts , weeks: diff, comment: diff + ' weeks since start' });
                                                }
                                                break;
                                            case 'year':
                                                // code block
                                                diff= Math.trunc((ts - msg.start.ts) / year);
                                                // if (diff > 0 ) { node.warn(' -> ts: ' + ts + ' -> msg.start.ts: ' + msg.start.ts + ' -> (ts - msg.start.ts) / year: ' + ((ts - msg.start.ts) / year))}
                                                // node.warn ('const year: ' + year);
                                                // years: timespan.hour
                                                if (diff > timespan.year){
                                                    bUpdate = true;
                                                    timespan.year=diff;
                                    
                                                    addValues.push({topic: msg.topic + '.year', payload: 0 , newTopic: msg.topic + '.year_before', start: msg.start.ts , ts: ts , years: diff, comment: diff + ' years since start'});
                                                }
                                                break;
                                                
                                            default:
                                                // code block
                                        }   
                                    }
                                    
                                    // bUpdate = true;
                                    
                                    if (bUpdate){
                                        context.set(device,timespan);
                                        msgStart.payload.timespan = timespan;
                                        return [ addValues,  msgStart ];
                                    }
                                    
                                    
                                    // outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});
                                    

                                    Ich hab den Flow mal exportiert - aber wie gesagt, da muss man sich wieder reinfuchsen. In den power Datenpunkt muss der Momentanverbrauch aus der Originalquelle kopiert werden. Im Detail müsste man sich gerade die function Node nochmal anschauen. Ursprünglich wollte ich das sowohl für DAUER als auch für KALENDER also bei Tageswechsel machen. Im Moment wird es wirklich nach DAUER gemacht und nicht nach Kalender. Sprich der Tag zählt genau bei Start 24 Std. Die 2. Option ist eigentlich einfacher - aber wie gesagt, ich hab mich dann nicht mehr damit beschäftigt. Manchmal vergeht einem die Lust - obwohl es sicherlich ein gutes Projekt geworden wäre - aber halt redundant zum sourceanalytics. Im Prinzip kann man den Flow aber auch für NodeRed Standalone Installationen verwenden, wenn man als Datenbank einen mqtt Broker nimmt. Muss ggf. die topics anpassen, allerdings kann man mit den Wildcards schon ziemlich universell arbeiten.

                                    [
                                       {
                                           "id": "35850f3.22dd0f",
                                           "type": "inject",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "0_userdata/0/stromverbrauch/shellies/shelly-dummy/reset",
                                           "payload": "true",
                                           "payloadType": "bool",
                                           "x": 310,
                                           "y": 180,
                                           "wires": [
                                               [
                                                   "80f66656.38dec8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "80f66656.38dec8",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "reset = true?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 510,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "98ce503d.77b81"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "5a848615.797c98",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "define and reset topics",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "[{\"common\":{\"name\":\"total\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"yesterday\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"today\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"year\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"month\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"power\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"hour\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"hour_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"year_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"month_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"kWh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"week_before\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"week\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"number\",\"unit\":\"Wh\",\"read\":true,\"write\":false,\"def\":0},\"type\":\"state\"},{\"common\":{\"name\":\"start\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"string\",\"read\":true,\"write\":false,\"def\":\"\"},\"type\":\"state\"},{\"common\":{\"name\":\"reset\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"boolean\",\"read\":true,\"write\":true,\"def\":false},\"type\":\"state\"},{\"common\":{\"name\":\"use_time_date\",\"desc\":\"Created by Node-Red\",\"role\":\"state\",\"type\":\"boolean\",\"read\":true,\"write\":true,\"def\":false},\"type\":\"state\"},{\"common\":{\"name\":\"flot\",\"role\":\"\",\"type\":\"string\",\"desc\":\"Created by Node-Red\",\"def\":\"\",\"read\":true,\"write\":true},\"type\":\"state\"}]",
                                                   "tot": "json"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1100,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "85d30229.134d7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "85d30229.134d7",
                                           "type": "split",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "splt": "\\n",
                                           "spltType": "str",
                                           "arraySplt": 1,
                                           "arraySpltType": "len",
                                           "stream": false,
                                           "addname": "",
                                           "x": 1280,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "14273608.84409a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "98ce503d.77b81",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "get parent topic",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "(.*)[\\.,\\/]reset$",
                                                   "fromt": "re",
                                                   "to": "$1",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 800,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "5a848615.797c98"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "14273608.84409a",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "set new topic",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "topic & '.' & payload.common.name",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1430,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "c26782ba.6d0cb"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "a066a4b2.bffac8",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "reset to default?",
                                           "property": "payload.common.def",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "null"
                                               },
                                               {
                                                   "t": "nnull"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 2280,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "aaaf4f8e.09af2"
                                               ],
                                               [
                                                   "8c7b3b16.005078"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "c26782ba.6d0cb",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "translate definition",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "stateName",
                                                   "pt": "msg",
                                                   "to": "payload.common.name",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "stateType",
                                                   "pt": "msg",
                                                   "to": "payload.common.type",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "stateReadonly",
                                                   "pt": "msg",
                                                   "to": "payload.common.write",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1610,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "edec84c8.29ee98"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "edec84c8.29ee98",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "unit available?",
                                           "property": "payload.common.unit",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "nnull"
                                               },
                                               {
                                                   "t": "null"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 1820,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "7b7016cb.ac10c8"
                                               ],
                                               [
                                                   "1f3da0b6.9e766f"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1f3da0b6.9e766f",
                                           "type": "function",
                                           "z": "2c7d577a.9b4378",
                                           "name": "do nothing",
                                           "func": "\nreturn msg;",
                                           "outputs": 1,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "x": 2050,
                                           "y": 240,
                                           "wires": [
                                               [
                                                   "a066a4b2.bffac8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "7b7016cb.ac10c8",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "stateUnit",
                                                   "pt": "msg",
                                                   "to": "payload.common.unit",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2050,
                                           "y": 200,
                                           "wires": [
                                               [
                                                   "a066a4b2.bffac8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "cc84166f.06b778",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "",
                                           "ack": "false",
                                           "autoCreate": "true",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 2720,
                                           "y": 220,
                                           "wires": []
                                       },
                                       {
                                           "id": "aaaf4f8e.09af2",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "delete",
                                                   "p": "payload",
                                                   "pt": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2500,
                                           "y": 180,
                                           "wires": [
                                               [
                                                   "cc84166f.06b778"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "8c7b3b16.005078",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "set defaults",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "default",
                                                   "pt": "msg",
                                                   "to": "payload.common.def",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "delete",
                                                   "p": "payload",
                                                   "pt": "msg"
                                               },
                                               {
                                                   "t": "move",
                                                   "p": "default",
                                                   "pt": "msg",
                                                   "to": "payload",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2470,
                                           "y": 260,
                                           "wires": [
                                               [
                                                   "cc84166f.06b778"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "cc6771bb.13f14",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "start without object",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "eq",
                                                   "v": "",
                                                   "vt": "str"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 790,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "ce0be96b.5c5fa8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ce0be96b.5c5fa8",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "Initialisiere start",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "{}",
                                                   "tot": "json"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload.ts",
                                                   "pt": "msg",
                                                   "to": "",
                                                   "tot": "date"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload.date",
                                                   "pt": "msg",
                                                   "to": " $moment(payload.ts).locale(\"de\").tz('Europe/Berlin').format('YYYY-MM-DD HH:mm:ss')",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload.timespan",
                                                   "pt": "msg",
                                                   "to": "{\"hour\":0,\"day\":0,\"week\":0,\"month\":0,\"year\":0}",
                                                   "tot": "json"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1060,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "450761a2.575e",
                                                   "d9135ecb.c5bef"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "729a31f7.1f0d",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "set msg.topic & msg.power",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "(.*)\\/power",
                                                   "fromt": "re",
                                                   "to": "$1",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "move",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "power",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 560,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "257ceae5.2dbc16"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "257ceae5.2dbc16",
                                           "type": "function",
                                           "z": "2c7d577a.9b4378",
                                           "name": "Aktuelle Wh",
                                           "func": "var lasttime = context.get(msg.topic);\nvar timespan;\n\nif (lasttime === undefined) {\n    lasttime = msg.timestamp;\n    context.set(msg.topic,lasttime);\n    return null;\n}\n\ntimespan = msg.timestamp - lasttime;\nlasttime = msg.timestamp;\ncontext.set(msg.topic,lasttime);\nmsg.Wh=msg.power*(timespan/1000/60/60);\n\nreturn msg;",
                                           "outputs": 1,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "libs": [],
                                           "x": 910,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "7b7a6cd4.f05704"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "d9135ecb.c5bef",
                                           "type": "json",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "property": "payload",
                                           "action": "",
                                           "pretty": false,
                                           "x": 1230,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "ffaaaca9.31ecf"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ffaaaca9.31ecf",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "false",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 1410,
                                           "y": 280,
                                           "wires": []
                                       },
                                       {
                                           "id": "7b7a6cd4.f05704",
                                           "type": "function",
                                           "z": "2c7d577a.9b4378",
                                           "name": "add topics",
                                           "func": "var outputMsgs = [];\nvar topiclist=\"hour,month,today,total,week,year,start\";\n\nvar topics = topiclist.split(\",\");\n\nfor (var w in topics) {\n    outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});\n}\nreturn [ outputMsgs ];\n",
                                           "outputs": 1,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "x": 1090,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "7e64ff11.4278"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1de3c97e.1a0bf7",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "hour",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 380,
                                           "wires": [
                                               [
                                                   "9d1bc133.e80b7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "21dc8345.7618bc",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "today",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 440,
                                           "wires": [
                                               [
                                                   "9d1bc133.e80b7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "70288298.bf84dc",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "month",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "dea3c66b.907df8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "b9db5bd0.a50a78",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "total",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 680,
                                           "wires": [
                                               [
                                                   "dea3c66b.907df8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "6e65954f.bdec0c",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "week",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 500,
                                           "wires": [
                                               [
                                                   "9d1bc133.e80b7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "44b9db26.ca4314",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "year",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 620,
                                           "wires": [
                                               [
                                                   "dea3c66b.907df8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "9d1bc133.e80b7",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "Addiere Wh",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload + Wh",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1600,
                                           "y": 440,
                                           "wires": [
                                               [
                                                   "4bca099e.ca1e88"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "dea3c66b.907df8",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "Addiere kWh",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload + (Wh/1000)",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1590,
                                           "y": 620,
                                           "wires": [
                                               [
                                                   "4bca099e.ca1e88"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4bca099e.ca1e88",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "false",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 1820,
                                           "y": 520,
                                           "wires": []
                                       },
                                       {
                                           "id": "7e64ff11.4278",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "property": "topic",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]hour$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]today$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]week$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]month$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]year$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]total$",
                                                   "vt": "str",
                                                   "case": false
                                               },
                                               {
                                                   "t": "regex",
                                                   "v": ".*[\\/,\\.]start$",
                                                   "vt": "str",
                                                   "case": false
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 7,
                                           "x": 1250,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "1de3c97e.1a0bf7"
                                               ],
                                               [
                                                   "21dc8345.7618bc"
                                               ],
                                               [
                                                   "6e65954f.bdec0c"
                                               ],
                                               [
                                                   "70288298.bf84dc"
                                               ],
                                               [
                                                   "44b9db26.ca4314"
                                               ],
                                               [
                                                   "b9db5bd0.a50a78"
                                               ],
                                               [
                                                   "93fdc929.570df8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "93fdc929.570df8",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "start",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 1410,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "107973e8.2fdc3c"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "97f2d9d1.1420f8",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "(.*)\\/start",
                                                   "fromt": "re",
                                                   "to": "$1",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "move",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "start",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "/",
                                                   "fromt": "str",
                                                   "to": ".",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "topic & '.use_time_date'",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1900,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "18019d9a.2b8552"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "18019d9a.2b8552",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "use_time_date",
                                           "topic": "",
                                           "attrname": "payload",
                                           "payloadType": "value",
                                           "x": 2100,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "7f7e5f9f.41f46"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "453a7a8d.9c72f4",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               },
                                               {
                                                   "t": "false"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 2470,
                                           "y": 780,
                                           "wires": [
                                               [],
                                               [
                                                   "fc7f508d.c986d",
                                                   "fc2c5159.6e28"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "fc2c5159.6e28",
                                           "type": "function",
                                           "z": "2c7d577a.9b4378",
                                           "name": "trigger nach Dauer",
                                           "func": "const sec = 1000;\nconst min = sec * 60;\nconst hour = min * 60;\nconst day = hour * 24;\nconst week = day * 7;\nconst month = day * 30.4375;\nconst year = month * 12;\nvar ts = new Date().getTime();\nvar bUpdate = false;\n// msg.topic = msg.topic.replace(/(.*)\\.use_time_date/,\"$1\");\n// var device = msg.topic.replace(/.*shellies\\.(.*)/,\"$1\");\nvar device = msg.device;\n\nvar timespan = context.get(device)\nif (timespan === undefined) {\n    \n    // node.warn ('device: ' + device);\n    // node.warn ('msg.start.timespan: ' + JSON.stringify(msg.start.timespan));\n    timespan = msg.start.timespan;\n    context.set(device,timespan); \n    // node.warn ('timespan = defined');\n    return [null,null]\n    \n}\n\nvar addValues = [];\n// var resetValues = [];\nvar msgStart = {topic: msg.topic + '.start', payload: msg.start}\n\nvar topiclist=\"hour,month,today,total,week,year\";\nvar topics = topiclist.split(\",\");\n\n// node.warn ('device: ' + device);\nfor (var w in topics) {\n    var diff = 0;\n    switch(topics[w]) {\n        case 'hour':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / hour);\n            // node.warn ('const hour: ' + hour);\n            // hours: timespan.hour\n            if (diff > timespan.hour){\n                bUpdate = true;\n                timespan.hour=diff;\n\n                addValues.push({topic: msg.topic + '.hour', payload: 0 , newTopic: msg.topic + '.hour_before' , start: msg.start.ts , ts: ts , hours: diff, comment: diff + ' hours since start' });\n            }\n            break;\n        case 'month':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / month);\n            // node.warn ('const month: ' + month);\n            // months: timespan.month\n            if (diff > timespan.month){\n                bUpdate = true;\n                timespan.month=diff;\n\n                addValues.push({topic: msg.topic + '.month', payload: 0 , newTopic: msg.topic + '.month_before', start: msg.start.ts , ts: ts , months: diff, comment: diff + ' months since start' });\n            }\n            break;\n        case 'today':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / day);\n            // node.warn ('const day: ' + day);\n            // days: timespan.day\n            if (diff > timespan.day){\n                bUpdate = true;\n                timespan.day=diff;\n\n                addValues.push({topic: msg.topic + '.today', payload: 0 , newTopic: msg.topic + '.yesterday' , start: msg.start.ts , ts: ts , days: diff, comment: diff + ' days since start'});\n            }\n            break;\n        case 'total':\n            // code block - nichts machen - gibt nichts zum Zurücksetzen\n            break;\n        case 'week':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / week);\n            // node.warn ('const week: ' + week);\n            // weeks: timespan.week\n            if (diff > timespan.week){\n                bUpdate = true;\n                timespan.week=diff;\n\n                addValues.push({topic: msg.topic + '.week', payload: 0 , newTopic: msg.topic + '.week_before' , start: msg.start.ts , ts: ts , weeks: diff, comment: diff + ' weeks since start' });\n            }\n            break;\n        case 'year':\n            // code block\n            diff= Math.trunc((ts - msg.start.ts) / year);\n            // if (diff > 0 ) { node.warn(' -> ts: ' + ts + ' -> msg.start.ts: ' + msg.start.ts + ' -> (ts - msg.start.ts) / year: ' + ((ts - msg.start.ts) / year))}\n            // node.warn ('const year: ' + year);\n            // years: timespan.hour\n            if (diff > timespan.year){\n                bUpdate = true;\n                timespan.year=diff;\n\n                addValues.push({topic: msg.topic + '.year', payload: 0 , newTopic: msg.topic + '.year_before', start: msg.start.ts , ts: ts , years: diff, comment: diff + ' years since start'});\n            }\n            break;\n            \n        default:\n            // code block\n    }   \n}\n\n// bUpdate = true;\n\nif (bUpdate){\n    context.set(device,timespan);\n    msgStart.payload.timespan = timespan;\n    return [ addValues,  msgStart ];\n}\n\n\n// outputMsgs.push({topic:msg.topic + '/' + topics[w], Wh: msg.Wh});",
                                           "outputs": 2,
                                           "noerr": 0,
                                           "initialize": "",
                                           "finalize": "",
                                           "libs": [],
                                           "x": 2690,
                                           "y": 860,
                                           "wires": [
                                               [
                                                   "4b61812.853d08",
                                                   "990a6d1c.e33ae"
                                               ],
                                               [
                                                   "4cdfe1c1.22b5e",
                                                   "fc7e7f82.b40bc"
                                               ]
                                           ],
                                           "outputLabels": [
                                               "add",
                                               "start"
                                           ]
                                       },
                                       {
                                           "id": "4cdfe1c1.22b5e",
                                           "type": "debug",
                                           "z": "2c7d577a.9b4378",
                                           "name": "start",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": true,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "payload.timespan",
                                           "statusType": "msg",
                                           "x": 2890,
                                           "y": 980,
                                           "wires": []
                                       },
                                       {
                                           "id": "4b61812.853d08",
                                           "type": "ioBroker get",
                                           "z": "2c7d577a.9b4378",
                                           "name": "save value",
                                           "topic": "",
                                           "attrname": "set",
                                           "payloadType": "value",
                                           "x": 2890,
                                           "y": 820,
                                           "wires": [
                                               [
                                                   "48de049c.55a6cc",
                                                   "2f65897a.e15036"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "2f65897a.e15036",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "set previous",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "to": "newTopic",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "set",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 3070,
                                           "y": 860,
                                           "wires": [
                                               [
                                                   "d5922114.e3edb"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "d5922114.e3edb",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "set previous period",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "false",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 3280,
                                           "y": 860,
                                           "wires": []
                                       },
                                       {
                                           "id": "48de049c.55a6cc",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "reset current period",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "false",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 3090,
                                           "y": 800,
                                           "wires": []
                                       },
                                       {
                                           "id": "afcbed60.a3b52",
                                           "type": "ioBroker out",
                                           "z": "2c7d577a.9b4378",
                                           "name": "update start.timespan",
                                           "topic": "",
                                           "ack": "true",
                                           "autoCreate": "false",
                                           "stateName": "",
                                           "role": "",
                                           "payloadType": "",
                                           "readonly": "",
                                           "stateUnit": "",
                                           "stateMin": "",
                                           "stateMax": "",
                                           "x": 3080,
                                           "y": 920,
                                           "wires": []
                                       },
                                       {
                                           "id": "fc7e7f82.b40bc",
                                           "type": "json",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "property": "payload",
                                           "action": "",
                                           "pretty": false,
                                           "x": 2880,
                                           "y": 920,
                                           "wires": [
                                               [
                                                   "afcbed60.a3b52"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "990a6d1c.e33ae",
                                           "type": "debug",
                                           "z": "2c7d577a.9b4378",
                                           "name": "add",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 2870,
                                           "y": 760,
                                           "wires": []
                                       },
                                       {
                                           "id": "fc7f508d.c986d",
                                           "type": "debug",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 2670,
                                           "y": 800,
                                           "wires": []
                                       },
                                       {
                                           "id": "8e9e06fd.870a08",
                                           "type": "json",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "property": "payload",
                                           "action": "",
                                           "pretty": false,
                                           "x": 1730,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "97f2d9d1.1420f8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "107973e8.2fdc3c",
                                           "type": "switch",
                                           "z": "2c7d577a.9b4378",
                                           "name": "JSON string?",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "istype",
                                                   "v": "json",
                                                   "vt": "json"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1570,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "8e9e06fd.870a08"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "450761a2.575e",
                                           "type": "debug",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "active": false,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1240,
                                           "y": 340,
                                           "wires": []
                                       },
                                       {
                                           "id": "13719db3.07a702",
                                           "type": "ioBroker in",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "0_userdata.0.stromverbrauch.*.*.reset",
                                           "payloadType": "value",
                                           "onlyack": "",
                                           "func": "all",
                                           "gap": "",
                                           "fireOnStart": "false",
                                           "x": 210,
                                           "y": 220,
                                           "wires": [
                                               [
                                                   "80f66656.38dec8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "7f7e5f9f.41f46",
                                           "type": "change",
                                           "z": "2c7d577a.9b4378",
                                           "name": "topic & device",
                                           "rules": [
                                               {
                                                   "t": "change",
                                                   "p": "topic",
                                                   "pt": "msg",
                                                   "from": "(.*)\\.use_time_date",
                                                   "fromt": "re",
                                                   "to": "$1",
                                                   "tot": "str"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "device",
                                                   "pt": "msg",
                                                   "to": "topic",
                                                   "tot": "msg"
                                               },
                                               {
                                                   "t": "change",
                                                   "p": "device",
                                                   "pt": "msg",
                                                   "from": ".*[\\.,\\/](.*)",
                                                   "fromt": "re",
                                                   "to": "$1",
                                                   "tot": "str"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 2300,
                                           "y": 780,
                                           "wires": [
                                               [
                                                   "453a7a8d.9c72f4"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "c208dc2e.5880a",
                                           "type": "ioBroker in",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "0_userdata.0.stromverbrauch.*.*.power",
                                           "payloadType": "value",
                                           "onlyack": "",
                                           "func": "all",
                                           "gap": "",
                                           "fireOnStart": "false",
                                           "x": 210,
                                           "y": 560,
                                           "wires": [
                                               [
                                                   "729a31f7.1f0d"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ec03eb7f.ecf038",
                                           "type": "ioBroker in",
                                           "z": "2c7d577a.9b4378",
                                           "name": "",
                                           "topic": "0_userdata.0.stromverbrauch.*.*.start",
                                           "payloadType": "value",
                                           "onlyack": "",
                                           "func": "all",
                                           "gap": "",
                                           "fireOnStart": "false",
                                           "x": 210,
                                           "y": 280,
                                           "wires": [
                                               [
                                                   "cc6771bb.13f14"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    Ich bin jetzt ja auch faul und nutze den sourceanlytics.

                                    J Offline
                                    J Offline
                                    Jonny 0
                                    schrieb am zuletzt editiert von
                                    #54

                                    @mickym

                                    Der einfachste Weg wie oben angesprochen wurde war der zielführende.
                                    Ich habe sogar festgestellt, das die Reset funktion nicht nötig ist.
                                    Die WB stellt automatisch den Wert zurück und fängt um 0.00 Uhr neu mit zählen an.

                                    Danke an alle.

                                    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

                                    583

                                    Online

                                    32.5k

                                    Benutzer

                                    81.8k

                                    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