Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Smartmeter-Leistung mit S0 impulse per Skript auswerten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Smartmeter-Leistung mit S0 impulse per Skript auswerten

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Andy 1 last edited by paul53

      @andy-1
      "GPIO 4" ist der S0-Impuls?
      Werden alle Impulse übertragen?

      Damit nur auf eine Flanke des Impulses getriggert wird, ändere den Trigger auf "ist größer als letztes".

      Bild_2022-04-22_135119351.png

      letzte Änderung findet man unter "Trigger".

      A 1 Reply Last reply Reply Quote 0
      • A
        Andy 1 @paul53 last edited by

        @paul53

        Danke Paul53,

        das habe ich gemacht und es kommen keine Werte an, er steht immer noch bei "0"
        2f6096d5-57f0-4e9c-9fb0-b28b454ca20c-grafik.png

        Ich hatte vorher auch schon mal diesen Schalter auf "ist wahr" gesetzt, da er bei einem (Licht)impuls den Zustand im Iobroker von "false" auf "true" ändert. Hat aber auch nichts gebracht
        f4aa1e39-d704-4c32-b9ac-d70310e86a2b-grafik.png

        Homoran paul53 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Andy 1 last edited by

          @andy-1 sagte in Smartmeter-Leistung mit S0 impulse per Skript auswerten:

          das habe ich gemacht und es kommen keine Werte an, er steht immer noch bei "0"

          aber dein aktueller Screenshot sieht nicht aus wie der von @paul53

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Andy 1 last edited by

            @andy-1 sagte: er steht immer noch bei "0"

            Du verwendest auch die absolute Zeit seit 1.1.1970 und nicht die Zeitdifferenz zwischen zwei Impulsen. Mein Vorschlag oben zeigt, wie es geht.

            A 1 Reply Last reply Reply Quote 0
            • A
              Andy 1 @paul53 last edited by

              @paul53

              Ah sorry, ich habe nicht gesehen, dass es dein eigenes Setup ist. Ich dachte es wäre meins mit deinem Beschriebenen Vorschlag 🙂

              Hast du das Ganze als Skript? Ich habe das noch nie gemacht und würde ewig brauchen das so hinzubekommen...ganz zu schweigen von der Fehleranfälligkeit 😕

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Andy 1 last edited by

                @andy-1 sagte: Hast du das Ganze als Skript?

                Die IDs müssen noch zugewiesen / korrigiert werden.

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="7+]cFH7^*L%5[#m{O4o_">vorherigerPuls</variable>
                   <variable id="vsT?p{-~JH,*)%[(h7nW">leistung</variable>
                 </variables>
                 <block type="variables_set" id=")dln,TiE^U:Mv_m$=.)i" x="13" y="-38">
                   <field name="VAR" id="7+]cFH7^*L%5[#m{O4o_">vorherigerPuls</field>
                   <value name="VALUE">
                     <block type="get_value" id="{#^T6-0Ws0C9@$-w9S0z">
                       <field name="ATTR">lc</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <next>
                     <block type="on_ext" id="Oro(%HB3p/}{[q=Eljwl">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">gt</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="CTc7`cnO8v]t0NHxjCO)">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="e9.#iL0.ELCs[Wu_rPvG">
                           <field name="VAR" id="vsT?p{-~JH,*)%[(h7nW">leistung</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="EKRkNu-`e;?XZp~)RG}M">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow type="math_number" id="fuYcTR[bdzQfn,mXXO2E">
                                   <field name="NUM">3600000</field>
                                 </shadow>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="{pt{u8eoUX[Y53$B]a=a">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="+Vae]Y^md8ch)wqFoB45">
                                   <field name="OP">MINUS</field>
                                   <value name="A">
                                     <shadow type="math_number" id="Ijy@`#fw{tC;5Kg3S=rB">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="on_source" id="D|xBp^4L1+NB[)=QfuBp">
                                       <field name="ATTR">state.lc</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number" id="ubz;[q+fJ}9YI|xhd/b}">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="0^M;*e9$;b4vphyRmt:h">
                                       <field name="VAR" id="7+]cFH7^*L%5[#m{O4o_">vorherigerPuls</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="update" id="f?jF@,lHbz6o~AMw2s=x">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Blockly.powerW</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_round" id="miRdpH,F)iJw.TyQ4@dE">
                                   <field name="OP">ROUND</field>
                                   <value name="NUM">
                                     <shadow type="math_number" id="dBmatg~(%-2,9t%[SzXv">
                                       <field name="NUM">3.1</field>
                                     </shadow>
                                     <block type="variables_get" id="#8:k*ssP.vT:7s%#OGI=">
                                       <field name="VAR" id="vsT?p{-~JH,*)%[(h7nW">leistung</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="DG7|*l]|JXfX)5Z@9,*X">
                                   <field name="VAR" id="7+]cFH7^*L%5[#m{O4o_">vorherigerPuls</field>
                                   <value name="VALUE">
                                     <block type="on_source" id="A`mia%.{7Y*3k?AV,6fb">
                                       <field name="ATTR">state.lc</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
                </xml>
                

                A 1 Reply Last reply Reply Quote 0
                • A
                  Andy 1 @paul53 last edited by

                  @paul53

                  Danke!! muss bei jeder Objekt ID der GPIO eingesetzt werden?
                  c8f2584e-a433-4b2c-98d6-aa6b768f5b68-grafik.png

                  paul53 A 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @Andy 1 last edited by

                    @andy-1 sagte: muss bei jeder Objekt ID der GPIO eingesetzt werden?

                    Nein, bei "aktualisiere" muss der Datenpunkt mit dem Leistungswert zugewiesen werden.

                    1 Reply Last reply Reply Quote 1
                    • A
                      Andy 1 @Andy 1 last edited by

                      @andy-1

                      Sorry, hatte noch die Ausgabe vergessen. So sieht es jetzt aus:
                      b91d45dd-9f3f-4898-9c2a-a39a2b0eef23-grafik.png

                      Werte kommen rein:
                      fb05d297-517f-4954-9780-9e225773d261-grafik.png

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Andy 1 @Andy 1 last edited by

                        @andy-1

                        ich prüfe gleich mal mit der Anzeige am SmartMeter ab..

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          Andy 1 @Andy 1 last edited by

                          @andy-1

                          SUPER!! Stimmt exact überein!!

                          Vielen vielen Dank!!!

                          Das hat mich viel Zeit, Geld und nerven gespaart 🙂

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Andy 1 @Andy 1 last edited by

                            Nohc eine Frage: Wo kann ich den Wert für 1000 Impulse pro kWh ändern?

                            Ich möchte ihn auch an anderen SmartMetern einsetzen und da ist oft ein abweichendes Verhältnis von Impuls zu kWh

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Andy 1 last edited by paul53

                              @andy-1 sagte: Wo kann ich den Wert für 1000 Impulse pro kWh ändern?

                              In dem Faktor (mWs / Impuls): 1000 Impulse / kWh = 1 Impuls / Wh = 1 Impuls / 3600000 mWs

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                Andy 1 @paul53 last edited by

                                @paul53

                                Ah okay, das macht sinn. Ich hab es mal als als Mathematisches Element "aufgesplittet". Ist das so korrekt?
                                8a21dd77-73f3-4613-8d97-6147f3901acf-grafik.png

                                Hier der vorher-nachher-Vergleich in XML-Form:
                                3e2323bb-058c-4315-ae48-57512cdb6f4d-grafik.png

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Andy 1 last edited by paul53

                                  @andy-1 sagte: Ist das so korrekt?

                                  Nein. Wenn man mit Impulsen / kWh rechnet, muss man durch diesen Wert dividieren. 1 kWh = 3600000000 mWs.

                                  Bild_2022-04-22_222349673.png

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    Andy 1 @paul53 last edited by Andy 1

                                    @paul53 said in Smartmeter-Leistung mit S0 impulse per Skript auswerten:

                                    00000000

                                    super! Danke 🙂

                                    Mir ist noch aufgefallen, dass bei dir die eine ObjektID auf "default" steht. Ich hatte da auch GPIO4 ausgewählt.
                                    2089e77a-61c2-4945-b46a-ab3da53ed192-grafik.png

                                    Ist das "schlimm"?
                                    Ich kann sie leider in der Objektliste nicht finden, um es genauso hinzubekommen, wie du es hast.

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Andy 1 last edited by

                                      @andy-1 sagte: Ich hatte da auch GPIO4 ausgewählt.

                                      Das muss auch so sein. Ich habe keinen Datenpunkt mit dem Namen "GPIO 4" und deshalb nichts zugewiesen.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Andy 1 @paul53 last edited by

                                        @paul53

                                        danke! Dann stimmt jetzt alles, vielen vielen Dank für eure Hilfe!

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        928
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        23
                                        622
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo