Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Skripte für PV und Verbrauch

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    211

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

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

Skripte für PV und Verbrauch

Skripte für PV und Verbrauch

Scheduled Pinned Locked Moved Skripten / Logik
17 Posts 4 Posters 1.2k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by 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 Reply Last reply
    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 Offline
      CodierknechtC Offline
      Codierknecht
      Developer Most Active
      wrote on last edited by
      #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 8.2.4 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi + dies & das
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      S 1 Reply Last reply
      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
        wrote on last edited by
        #6

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

        CodierknechtC 1 Reply Last reply
        0
        • S srkonus

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

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #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 8.2.4 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi + dies & das
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          S 1 Reply Last reply
          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
            wrote on last edited by 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 Reply Last reply
            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 Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by 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 8.2.4 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi + dies & das
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              S 1 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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 Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  wrote on last edited by 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 8.2.4 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi + dies & das
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  S 1 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    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 Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      wrote on last edited by
                      #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 8.2.4 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi + dies & das
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      S 1 Reply Last reply
                      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
                        wrote on last edited by srkonus
                        #14

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

                        CodierknechtC 1 Reply Last reply
                        0
                        • S srkonus

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

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #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 8.2.4 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi + dies & das
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          S 1 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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 Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              wrote on last edited by
                              #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 8.2.4 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi + dies & das
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              83

                              Online

                              32.4k

                              Users

                              81.3k

                              Topics

                              1.3m

                              Posts
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              ioBroker Community 2014-2025
                              logo
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Recent
                              • Tags
                              • Unread 0
                              • Categories
                              • Unreplied
                              • Popular
                              • GitHub
                              • Docu
                              • Hilfe