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
    488

  • 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.
  • 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 Online
            mickymM Online
            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 Online
                mickymM Online
                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 Online
                    mickymM Online
                    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 Online
                                mickymM Online
                                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

                                  808

                                  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