Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skripte für PV und Verbrauch

NEWS

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

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

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

Skripte für PV und Verbrauch

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 4 Kommentatoren 1.2k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    srkonus
    schrieb am zuletzt editiert von srkonus
    #1

    Hallo zusammen,

    ich stehe gerade auf dem Schlauch. Als Vorbereitung meiner kommenden großen PV Anlage und Batterie, möchte ich meinen derzeitigen Stromverbrauch in der Nacht erfassen. Hierzu soll, x Minuten nachdem das letzte Mal durch die PV Module etwas produziert wurde, der Stromverbrauch addiert werden, bis die Module am nächsten Tag wieder etwas produzieren.
    Bisher habe ich nur einfache Blockly Sachen gebaut und stehe deswegen auf dem Schlauch. Hat hier jemand einen Tipp/Hinweis oder sogar schon ein Script?

    VG
    srkonus

    arteckA M 2 Antworten Letzte Antwort
    0
    • S srkonus

      Hallo zusammen,

      ich stehe gerade auf dem Schlauch. Als Vorbereitung meiner kommenden großen PV Anlage und Batterie, möchte ich meinen derzeitigen Stromverbrauch in der Nacht erfassen. Hierzu soll, x Minuten nachdem das letzte Mal durch die PV Module etwas produziert wurde, der Stromverbrauch addiert werden, bis die Module am nächsten Tag wieder etwas produzieren.
      Bisher habe ich nur einfache Blockly Sachen gebaut und stehe deswegen auf dem Schlauch. Hat hier jemand einen Tipp/Hinweis oder sogar schon ein Script?

      VG
      srkonus

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @srkonus warum stehst du auf dem schaluch.. hast doch geschrieben was du willst..

      jetzt musst du es nur nach und nach umsetzen...fang mal an und zeig wie weit du bist..

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      0
      • S srkonus

        Hallo zusammen,

        ich stehe gerade auf dem Schlauch. Als Vorbereitung meiner kommenden großen PV Anlage und Batterie, möchte ich meinen derzeitigen Stromverbrauch in der Nacht erfassen. Hierzu soll, x Minuten nachdem das letzte Mal durch die PV Module etwas produziert wurde, der Stromverbrauch addiert werden, bis die Module am nächsten Tag wieder etwas produzieren.
        Bisher habe ich nur einfache Blockly Sachen gebaut und stehe deswegen auf dem Schlauch. Hat hier jemand einen Tipp/Hinweis oder sogar schon ein Script?

        VG
        srkonus

        M Offline
        M Offline
        MichiC00
        schrieb am zuletzt editiert von
        #3

        @srkonus
        Falls du bei Blockly bleiben möchtest:
        678a9945-b8ae-4c3b-88cc-1278e132c830-image.png

        So könntest du dir einen passenden Timeout bauen. (ggf. mit wurde geändert statt wurde aktualisiert)
        Solange das entsprechende Objekt geändert wird, stoppt er die Ausführung der darunter liegenden Blöcke immer wieder.
        -> Das Objekt könnte hierbei z.B. der DP deiner "PV-Erzeugung" sein.

        Sollte nun für eine bestimmte Zeit (in meinem Fall 100Sek.) nichts passieren, werden die darunterliegenden Blöcke ausgeführt, da die Ausführung nicht mehr gestoppt wird.

        Dort kannst du ja dann entsprechend mit einer Schleife deinen Stromverbrauch addieren lassen und den Wert in einen Datenpunkt schreiben.

        Hoffe das ist so einigermaßen verständlich und hilft etwas beim anfangen.

        S 1 Antwort Letzte Antwort
        0
        • M MichiC00

          @srkonus
          Falls du bei Blockly bleiben möchtest:
          678a9945-b8ae-4c3b-88cc-1278e132c830-image.png

          So könntest du dir einen passenden Timeout bauen. (ggf. mit wurde geändert statt wurde aktualisiert)
          Solange das entsprechende Objekt geändert wird, stoppt er die Ausführung der darunter liegenden Blöcke immer wieder.
          -> Das Objekt könnte hierbei z.B. der DP deiner "PV-Erzeugung" sein.

          Sollte nun für eine bestimmte Zeit (in meinem Fall 100Sek.) nichts passieren, werden die darunterliegenden Blöcke ausgeführt, da die Ausführung nicht mehr gestoppt wird.

          Dort kannst du ja dann entsprechend mit einer Schleife deinen Stromverbrauch addieren lassen und den Wert in einen Datenpunkt schreiben.

          Hoffe das ist so einigermaßen verständlich und hilft etwas beim anfangen.

          S Offline
          S Offline
          srkonus
          schrieb am zuletzt editiert von srkonus
          #4

          @michic00 Vielen Dank für Deinen Ansatz. Habe jetzt das hier gebastelt:

          141102d4-9b28-49ca-ae9d-e8b551ee2adb-image.png

          Wo müsste ich den "Nachtverbrauch" wieder auf 0 setzen, oder lieber den Wert mittels Sourceanalytics dokumentieren?
          Ob das ganze funktioniert weiß ich noch nicht, jetzt gerade wird nichts mehr produziert und deswegen läuft das ganze wahrscheinlich nicht an.

          VG
          srkonus

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • S srkonus

            @michic00 Vielen Dank für Deinen Ansatz. Habe jetzt das hier gebastelt:

            141102d4-9b28-49ca-ae9d-e8b551ee2adb-image.png

            Wo müsste ich den "Nachtverbrauch" wieder auf 0 setzen, oder lieber den Wert mittels Sourceanalytics dokumentieren?
            Ob das ganze funktioniert weiß ich noch nicht, jetzt gerade wird nichts mehr produziert und deswegen läuft das ganze wahrscheinlich nicht an.

            VG
            srkonus

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @srkonus
            Trigger in Trigger geht nicht.
            Warum fragst Du da noch einen zweiten DP ab?
            Dein DP "Power" liefert doch schon alles, oder?

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.0.15 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Cerrtified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            S 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @srkonus
              Trigger in Trigger geht nicht.
              Warum fragst Du da noch einen zweiten DP ab?
              Dein DP "Power" liefert doch schon alles, oder?

              S Offline
              S Offline
              srkonus
              schrieb am zuletzt editiert von
              #6

              @codierknecht Danke für den Hinweis, wusste ich nicht. Habe es rausgenommen, jetzt mal abwarten was passiert.

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • S srkonus

                @codierknecht Danke für den Hinweis, wusste ich nicht. Habe es rausgenommen, jetzt mal abwarten was passiert.

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #7

                @srkonus
                Du könntest nach Ablauf des Timeout den aktuellen Zählerstand in einen Hilfsdatenpunkt schreiben.
                Sobald morgens die PV wieder produziert, ermittelst Du über den dann vorliegenden Zählerstand und den gemerkten Wert den Nachtverbrauch und schreibst den in einen weiteren DP.
                Diesen kannst Du über einen der History-Adapter loggen.

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Cerrtified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                S 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @srkonus
                  Du könntest nach Ablauf des Timeout den aktuellen Zählerstand in einen Hilfsdatenpunkt schreiben.
                  Sobald morgens die PV wieder produziert, ermittelst Du über den dann vorliegenden Zählerstand und den gemerkten Wert den Nachtverbrauch und schreibst den in einen weiteren DP.
                  Diesen kannst Du über einen der History-Adapter loggen.

                  S Offline
                  S Offline
                  srkonus
                  schrieb am zuletzt editiert von srkonus
                  #8

                  @codierknecht Vom Sinn her klar, aber das bekomme ich nicht in Blockly realisiert - bekomme es im Kopf nicht hin das ich meinen ersten Zwischenwert nicht überschreibe.

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • S srkonus

                    @codierknecht Vom Sinn her klar, aber das bekomme ich nicht in Blockly realisiert - bekomme es im Kopf nicht hin das ich meinen ersten Zwischenwert nicht überschreibe.

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von Codierknecht
                    #9

                    @srkonus

                    Hier ein Vorschlag. Ungetestet, weil ja auch mein BKW gerade nix produziert.
                    Benötigt 3 Datenpunkte:

                    0_userdata.0.test.zaehlerstand
                    0_userdata.0.test.tagverbrauch
                    0_userdata.0.test.nachtverbrauch
                    

                    495f8866-d017-4b8b-8872-23f6804640f7-grafik.png

                    Edit:
                    Das Ding fliegt aber mit ziemlicher Sicherheit recht bald aus der Kurve.
                    Nämlich dann, wenn mal so richtiges Mistwetter ist und das BKW auch tagsüber auf 0 geht.
                    Um wirklich Tag und Nacht zu berücksichtigen und nicht zufällige Wetterereignisse, könnte man auf javascript.0.variables.isDayTime triggern.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Cerrtified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    S 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @srkonus

                      Hier ein Vorschlag. Ungetestet, weil ja auch mein BKW gerade nix produziert.
                      Benötigt 3 Datenpunkte:

                      0_userdata.0.test.zaehlerstand
                      0_userdata.0.test.tagverbrauch
                      0_userdata.0.test.nachtverbrauch
                      

                      495f8866-d017-4b8b-8872-23f6804640f7-grafik.png

                      Edit:
                      Das Ding fliegt aber mit ziemlicher Sicherheit recht bald aus der Kurve.
                      Nämlich dann, wenn mal so richtiges Mistwetter ist und das BKW auch tagsüber auf 0 geht.
                      Um wirklich Tag und Nacht zu berücksichtigen und nicht zufällige Wetterereignisse, könnte man auf javascript.0.variables.isDayTime triggern.

                      S Offline
                      S Offline
                      srkonus
                      schrieb am zuletzt editiert von
                      #10

                      @codierknecht Ach, das wäre mir sogar egal, es soll nur addiert werden, was "verbraucht" wird wenn keine PV Produktion vorhanden ist.
                      Danke für deinen Vorschlag, aber diesen bekomme ich gerade im Kopf überhaupt nicht nachvollzogen

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • S srkonus

                        @codierknecht Ach, das wäre mir sogar egal, es soll nur addiert werden, was "verbraucht" wird wenn keine PV Produktion vorhanden ist.
                        Danke für deinen Vorschlag, aber diesen bekomme ich gerade im Kopf überhaupt nicht nachvollzogen

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von Codierknecht
                        #11

                        @srkonus sagte in Skripte für PV und Verbrauch:

                        aber diesen bekomme ich gerade im Kopf überhaupt nicht nachvollzogen

                        Wo haperts denn?

                        Ich habe das mal auf den tatsächlichen Tag-/Nachverbrauch umgebaut, um von Wetterereignissen unabhängig zu sein.

                        Der Trigger ist isDayTime. Der ändert sich genau 2x am Tag, nämlich morgens auf true und abends auf false.
                        3db06367-2a18-49d5-a466-5b4ebb553a89-grafik.png
                        Ich merke mir den aktuelle Zählerstand des Stromzählers und berechne mit diesem und dem zuletzt gemerkten Stand den zwischenzeitlichen Verbrauch.
                        198a11b5-4831-4b33-8359-e9bfeb87c1e0-grafik.png
                        Wenn man tatsächlich nur Tag/Nacht unterscheiden will, ist das Ganze noch etwas einfacher.
                        Wenn der Wert auf true wechselt, wurde es gerade Tag. Dann ist der ermittelte Verbrauch der Nachtverbrauch.
                        Wechselt der Wert hingegen auf false, wird es Nacht und wir haben den Tagverbrauch.
                        beac2ed4-497b-451d-b919-92ca8b332dfb-grafik.png
                        Am Ende schreiben wir noch den jetzigen Zählerstand weg, damit wir den für den nächsten Wechsel zwischen Tag und Nacht zur Verfügung haben.
                        2b142883-be50-4ad5-9217-f5e30880cbc7-grafik.png

                        Den Timeout kann man sich dann auch schenken, da der Trigger ja nur genau 2x am Tag feuert.

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Cerrtified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        S 1 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @srkonus sagte in Skripte für PV und Verbrauch:

                          aber diesen bekomme ich gerade im Kopf überhaupt nicht nachvollzogen

                          Wo haperts denn?

                          Ich habe das mal auf den tatsächlichen Tag-/Nachverbrauch umgebaut, um von Wetterereignissen unabhängig zu sein.

                          Der Trigger ist isDayTime. Der ändert sich genau 2x am Tag, nämlich morgens auf true und abends auf false.
                          3db06367-2a18-49d5-a466-5b4ebb553a89-grafik.png
                          Ich merke mir den aktuelle Zählerstand des Stromzählers und berechne mit diesem und dem zuletzt gemerkten Stand den zwischenzeitlichen Verbrauch.
                          198a11b5-4831-4b33-8359-e9bfeb87c1e0-grafik.png
                          Wenn man tatsächlich nur Tag/Nacht unterscheiden will, ist das Ganze noch etwas einfacher.
                          Wenn der Wert auf true wechselt, wurde es gerade Tag. Dann ist der ermittelte Verbrauch der Nachtverbrauch.
                          Wechselt der Wert hingegen auf false, wird es Nacht und wir haben den Tagverbrauch.
                          beac2ed4-497b-451d-b919-92ca8b332dfb-grafik.png
                          Am Ende schreiben wir noch den jetzigen Zählerstand weg, damit wir den für den nächsten Wechsel zwischen Tag und Nacht zur Verfügung haben.
                          2b142883-be50-4ad5-9217-f5e30880cbc7-grafik.png

                          Den Timeout kann man sich dann auch schenken, da der Trigger ja nur genau 2x am Tag feuert.

                          S Offline
                          S Offline
                          srkonus
                          schrieb am zuletzt editiert von
                          #12

                          @codierknecht Vielen Dank für die Erläuterung. Habe jetzt folgendes Blockly:

                          279e84e6-33aa-413e-874c-ca3e48745f5d-image.png

                          Mal abwarten, ob es wie gewünscht arbeitet. Ich nutze den Timeout da ich erfahren möchte, wie viel Strom verbraucht (ja ja, er wird ja nicht verbraucht) wird wenn keine PV Anlage arbeitet.

                          VG
                          srkonus

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • S srkonus

                            @codierknecht Vielen Dank für die Erläuterung. Habe jetzt folgendes Blockly:

                            279e84e6-33aa-413e-874c-ca3e48745f5d-image.png

                            Mal abwarten, ob es wie gewünscht arbeitet. Ich nutze den Timeout da ich erfahren möchte, wie viel Strom verbraucht (ja ja, er wird ja nicht verbraucht) wird wenn keine PV Anlage arbeitet.

                            VG
                            srkonus

                            CodierknechtC Online
                            CodierknechtC Online
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @srkonus
                            Ich sehe dort mehrfach "Wert vom Objekt ID 'Zaehlerstand'".
                            Sind das unterschiedliche DP's?
                            Wenn nicht, erhältst Du als Ergebnis immer 0 (Zaehlerstand - Zaehlerstand).

                            Arbeite mit Variablen.
                            Hier mal ein Vorschlag mit 2 Optionen.
                            Entweder erhältst Du nur den Verbrauch im letzten Zeitraum ohne PV, oder Du addierst im DP "Nachtverbrauch" alles was ohne PV so verbraucht wird.
                            Du darfst dabei selbstverständlich nur eine der beiden Optionen verwenden.

                            Dazu benötigst Du auch noch einen der bekannten History-Adapter (SQL, Influx, History). Sonst musst Du das ja ständig im Blick haben

                            3226f9f6-5e63-4c56-b1bf-a47c8eef5e48-grafik.png

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Cerrtified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            S 1 Antwort Letzte Antwort
                            0
                            • CodierknechtC Codierknecht

                              @srkonus
                              Ich sehe dort mehrfach "Wert vom Objekt ID 'Zaehlerstand'".
                              Sind das unterschiedliche DP's?
                              Wenn nicht, erhältst Du als Ergebnis immer 0 (Zaehlerstand - Zaehlerstand).

                              Arbeite mit Variablen.
                              Hier mal ein Vorschlag mit 2 Optionen.
                              Entweder erhältst Du nur den Verbrauch im letzten Zeitraum ohne PV, oder Du addierst im DP "Nachtverbrauch" alles was ohne PV so verbraucht wird.
                              Du darfst dabei selbstverständlich nur eine der beiden Optionen verwenden.

                              Dazu benötigst Du auch noch einen der bekannten History-Adapter (SQL, Influx, History). Sonst musst Du das ja ständig im Blick haben

                              3226f9f6-5e63-4c56-b1bf-a47c8eef5e48-grafik.png

                              S Offline
                              S Offline
                              srkonus
                              schrieb am zuletzt editiert von srkonus
                              #14

                              @codierknecht Wo kommt die Variable "Wert" her und welchen Wert hat es? Sehe nicht, das die Variable vorher gesetzt wird.

                              CodierknechtC 1 Antwort Letzte Antwort
                              0
                              • S srkonus

                                @codierknecht Wo kommt die Variable "Wert" her und welchen Wert hat es? Sehe nicht, das die Variable vorher gesetzt wird.

                                CodierknechtC Online
                                CodierknechtC Online
                                Codierknecht
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @srkonus
                                Das ist keine Variable, sondern ein Baustein aus dem Bereich "Trigger".
                                Nach dem Hinzufügen kannst Du von "Objekt ID" auf "Wert" ändern.
                                Das kannst Du in jedem Objekt-Trigger so verwenden, da es unsinnig wäre hier nochmal mit "Wert von" zu arbeiten. Das kann nämlich nicht nur zu unerwünschten Ergebnissen führen (Asynchron), sondern ist auch nicht sonderlich performant. Der Trigger kennt ja bereits sein zugehöriges Objekt.

                                cfdbcab2-4bd4-4f06-bf8c-032c175c4409-grafik.png

                                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                                HmIP|ZigBee|Tasmota|Unifi
                                Zabbix Cerrtified Specialist
                                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                S 1 Antwort Letzte Antwort
                                0
                                • CodierknechtC Codierknecht

                                  @srkonus
                                  Das ist keine Variable, sondern ein Baustein aus dem Bereich "Trigger".
                                  Nach dem Hinzufügen kannst Du von "Objekt ID" auf "Wert" ändern.
                                  Das kannst Du in jedem Objekt-Trigger so verwenden, da es unsinnig wäre hier nochmal mit "Wert von" zu arbeiten. Das kann nämlich nicht nur zu unerwünschten Ergebnissen führen (Asynchron), sondern ist auch nicht sonderlich performant. Der Trigger kennt ja bereits sein zugehöriges Objekt.

                                  cfdbcab2-4bd4-4f06-bf8c-032c175c4409-grafik.png

                                  S Offline
                                  S Offline
                                  srkonus
                                  schrieb am zuletzt editiert von
                                  #16

                                  @codierknecht Bin ehrlich, hab ich nicht verstanden. Habe dein Script Beispiel jetzt mal nachgebaut, werde es morgen beobachten - jetzt ist es draußen zu dunkel 😄

                                  CodierknechtC 1 Antwort Letzte Antwort
                                  0
                                  • S srkonus

                                    @codierknecht Bin ehrlich, hab ich nicht verstanden. Habe dein Script Beispiel jetzt mal nachgebaut, werde es morgen beobachten - jetzt ist es draußen zu dunkel 😄

                                    CodierknechtC Online
                                    CodierknechtC Online
                                    Codierknecht
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    @srkonus
                                    Ich häng Dir hier mal das Script an.

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <variables>
                                       <variable type="timeout" id="timeout">timeout</variable>
                                       <variable id="W$IcW%-i75K]exS?F/*7">zaehlerstand</variable>
                                       <variable id="VH#/(hm_L!hkq-%j-*{k">verbrauch</variable>
                                     </variables>
                                     <block type="on" id="eO!*FZ#KP/@uNd#5y`[F" x="-362" y="213">
                                       <field name="OID">opendtu.0.114190525113.ac.phase_1.power</field>
                                       <field name="CONDITION">ne</field>
                                       <field name="ACK_CONDITION"></field>
                                       <statement name="STATEMENT">
                                         <block type="timeouts_cleartimeout" id="zKk64!}O2zHxfR-mRJ2]">
                                           <field name="NAME">timeout</field>
                                           <next>
                                             <block type="timeouts_settimeout" id="]zNJC.zJ~yA7cr}tVOBA">
                                               <field name="NAME">timeout</field>
                                               <field name="DELAY">240</field>
                                               <field name="UNIT">sec</field>
                                               <statement name="STATEMENT">
                                                 <block type="variables_set" id="@Z[E$P0an4Px+LO=cjTx">
                                                   <field name="VAR" id="W$IcW%-i75K]exS?F/*7">zaehlerstand</field>
                                                   <value name="VALUE">
                                                     <block type="get_value" id="e_vlSHCM~8n;3DqCxvwk">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">sonoff.0.ESP8266_SML.eHZM_Tarif1_in</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="OGZe,6C8:Dx~U9m7sEyN">
                                                       <field name="VAR" id="VH#/(hm_L!hkq-%j-*{k">verbrauch</field>
                                                       <value name="VALUE">
                                                         <block type="math_arithmetic" id="nfelQi3rXPo`D_m0HZ1^">
                                                           <field name="OP">MINUS</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="pq(QH_-Xm+buxEkjV?yf">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="Qtg^gtF*^}A,UYEuy$}f">
                                                               <field name="VAR" id="W$IcW%-i75K]exS?F/*7">zaehlerstand</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="Z[+VQbUq:VD.duby-`Wa">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="get_value" id="j#/04pc,5~**qeZ,{4K0">
                                                               <field name="ATTR">val</field>
                                                               <field name="OID">0_userdata.0.Test.zaehlerstand</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="comment" id="@oVZQU_19WNlezKTwl]F">
                                                           <field name="COMMENT">wenn Produktion auf 0 geht</field>
                                                           <next>
                                                             <block type="controls_if" id="wW06~RY:yH@cMjEd|{D*">
                                                               <value name="IF0">
                                                                 <block type="logic_negate" id="1CrFTuW_HQ15zYpF4}-e">
                                                                   <value name="BOOL">
                                                                     <block type="on_source" id="}Cs8U+q%8yLx(o/MY~?i">
                                                                       <field name="ATTR">state.val</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <statement name="DO0">
                                                                 <block type="update" id="A308QpgANqqK%T$BUekH">
                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                   <field name="OID">0_userdata.0.Test.zaehlerstand</field>
                                                                   <field name="WITH_DELAY">FALSE</field>
                                                                   <value name="VALUE">
                                                                     <block type="variables_get" id="JX9?=wP^t+^qF)n*_`9a">
                                                                       <field name="VAR" id="W$IcW%-i75K]exS?F/*7">zaehlerstand</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="comment" id="9/yd!j/d]!n}_A:FBrGn">
                                                                       <field name="COMMENT">entweder so</field>
                                                                       <next>
                                                                         <block type="update" id="XfK1+v`i}eM.6LO6b6XM">
                                                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                           <field name="OID">0_userdata.0.Test.nachtverbrauch</field>
                                                                           <field name="WITH_DELAY">FALSE</field>
                                                                           <value name="VALUE">
                                                                             <block type="variables_get" id="c!%ADMbQwx}i%$b3sz:x">
                                                                               <field name="VAR" id="VH#/(hm_L!hkq-%j-*{k">verbrauch</field>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="comment" id="dZ.OHe[PeJEako141`)0">
                                                                               <field name="COMMENT">oder so (saldierend)</field>
                                                                               <next>
                                                                                 <block type="update" id="R[Mxgj2yeKO24%z]s2bp">
                                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                   <field name="OID">0_userdata.0.Test.nachtverbrauch</field>
                                                                                   <field name="WITH_DELAY">FALSE</field>
                                                                                   <value name="VALUE">
                                                                                     <block type="math_arithmetic" id="=UPMOUY/v@-7+`^TmjRZ">
                                                                                       <field name="OP">ADD</field>
                                                                                       <value name="A">
                                                                                         <shadow type="math_number" id="d?k/dK*P:SNt:nh2vK{L">
                                                                                           <field name="NUM">1</field>
                                                                                         </shadow>
                                                                                         <block type="get_value" id="?H|jTT2npG87/7m@%},C">
                                                                                           <field name="ATTR">val</field>
                                                                                           <field name="OID">0_userdata.0.Test.nachtverbrauch</field>
                                                                                         </block>
                                                                                       </value>
                                                                                       <value name="B">
                                                                                         <shadow type="math_number" id="us=:06)umI4bF#ix;PyU">
                                                                                           <field name="NUM">1</field>
                                                                                         </shadow>
                                                                                         <block type="variables_get" id="b=F}(;ZU3Bcm(+92yt..">
                                                                                           <field name="VAR" id="VH#/(hm_L!hkq-%j-*{k">verbrauch</field>
                                                                                         </block>
                                                                                       </value>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                    </xml>
                                    

                                    Der gezeigte Block hängt nicht ohne Grund im Bereich "Trigger", da er direkt mit dem darüber liegenden Trigger-Block zu verwenden ist.
                                    Wenn ein Trigger feuert, sind so ziemlich alle Eigenschaften des zugehörigen Objektes bekannt.
                                    Es macht also nicht wirklich Sinn, z.B. die Objekt-ID, den Namen oder eben den Wert des feuernden Objektes nochmal über "Wert von" zu lesen.

                                    2fa05d4e-9257-4404-9dbc-6027358611f8-image.png

                                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                    Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                                    HmIP|ZigBee|Tasmota|Unifi
                                    Zabbix Cerrtified Specialist
                                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                    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

                                    399

                                    Online

                                    32.4k

                                    Benutzer

                                    81.4k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe