Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Photovoltaik Einspeisebegrenzung messen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Photovoltaik Einspeisebegrenzung messen

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @Semmy last edited by haus-automatisierung

      @semmy Alias vom Typ boolean anlegen mit val < 100 als Lese-Funktion - darauf dann Statistics aktivieren. Fertig 🙂

      Ich würde mir da irgendwelche Blockly-Scripts sparen. Warum das Rad neu erfinden?

      S 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Semmy last edited by

        @semmy sagte: Zeit erfassen, in der dieser Datenpunkt weniger als 100% hat

        Im ersten Beitrag hast Du etwas von 70% Begrenzung geschrieben?

        Bild_2022-06-07_121913527.png

        1 Reply Last reply Reply Quote 0
        • S
          Semmy @haus-automatisierung last edited by

          @haus-automatisierung Mit Alias habe ich noch nichts gemacht. Wie macht man das denn genau?

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Semmy last edited by

            @semmy Du legst unter alias.0 einen neuen Datenpunkt vom Typ boolean an, wählst im Tab "Alias" auf dem Objekt dann den State mit dem %-Wert als Quelle aus, aktivierst die Konvertierungsfunktionen, fügst val < 100 als Lese-Funktion ein und fertig.

            Hier habe ich ein bisschen was dazu geschrieben: https://iobroker.readthedocs.io/de/latest/basics/aliases.html

            Und ansonsten gibt es im ioBroker-Master-Kurs etliche Beispiele.

            1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @Semmy last edited by BananaJoe

              @semmy Alternativ:

              75721574-86b5-43cd-beaf-168221211d33-image.png

              Du musst einen Datenpunkt anlegen wo du dir den letzten Wert merken willst (Typ Nummer) und die beiden Stellen im Text ersetzen.
              Ist der Wert unter 100 so sichert er die aktuelle Zeit als Objekt. Das Objekt ist in Wirklichkeit die aktuelle Zeit seit dem 1.1.1970 in Millisekunden. Da kann mal also prima mit Rechnen. Damit wir die Zeit nur dann nehmen wenn der Wert das erste mal unter 100 ist nutzen wir die Hilfsvariable ZeitMessungAktiv - wenn die auf Wahr steht aktualisiert er die Startzeit nicht!

              ist der Wert wieder 100 so nehmen wir die aktuelle Zeit und ziehen die gemerkte Zeit davon ab. Das dann noch mal durch 1.000 damit wir Sekunden statt Millisekunden haben.
              Den Wert sichern wir noch mal in den Datenpunkt damit er das bei einem Neustart nicht verliert.
              Und die Hilfsvariable setzten wir wieder auf Falsch damit das ganze für den nächsten Einsatz bereit ist.

              Damit hast du einen Datenpunkt in welchen die "unter 100%" Zeiten in Sekunden addiert werden.

              Hier als Export:

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="Ma/Ro2n~BI)hE2rEAxLv">ZeitSumme</variable>
                  <variable id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</variable>
                  <variable id="]T052Is$z]+ju(24ZYeX">ZeitStart</variable>
                  <variable id="8CQj.w,BtgmgXW}/mk6-">ZeitZwischensumme</variable>
                </variables>
                <block type="comment" id="#r:x@[J0t~qjDwit7f,5" x="88" y="63">
                  <field name="COMMENT">Den letzten Wert speichern wir in einem Datenpunkt</field>
                  <next>
                    <block type="variables_set" id="Ix$8ke;TQOF*YUiD~x^4">
                      <field name="VAR" id="Ma/Ro2n~BI)hE2rEAxLv">ZeitSumme</field>
                      <value name="VALUE">
                        <block type="get_value_var" id="p,0L8p/wXxvhmJh7e]2V">
                          <field name="ATTR">val</field>
                          <value name="OID">
                            <shadow type="text" id="RP7$iky#)aPPZDXeYU}@">
                              <field name="TEXT"></field>
                            </shadow>
                            <block type="text" id="p|q-5;xC@1-Tr9(pS43=">
                              <field name="TEXT">0_userdata.0.Datenpunkt.zum.speichern.der.Summe</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="variables_set" id=":0hsl(E-+{KUOEFpzR~f">
                          <field name="VAR" id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="Pmc3xdbe[wObRave9^_S">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                          <next>
                            <block type="on_ext" id="+U[If7CoUL(Qp_Go%^hr">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                              <field name="CONDITION">ne</field>
                              <field name="ACK_CONDITION"></field>
                              <value name="OID0">
                                <shadow type="field_oid" id="#xRO)[Qj`bD.TN{MI#LC">
                                  <field name="oid">default</field>
                                </shadow>
                                <block type="text" id="M#L:0f]nkH#B%2tUCR6~">
                                  <field name="TEXT">adapter.0.datenpunkt.mit.prozentangabe</field>
                                </block>
                              </value>
                              <statement name="STATEMENT">
                                <block type="comment" id="J-6P60IP0{dH{Hf:bQMc">
                                  <field name="COMMENT">Zeitpunkt merken wenn unter 100 - einmal!</field>
                                  <next>
                                    <block type="controls_if" id=";nbwHSNU8Awn(=,e.WJ@">
                                      <value name="IF0">
                                        <block type="logic_operation" id="P@?MN[,hw{%e{thO{XN." inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_compare" id=":|(b+/_e:eJ*.JS/:VrF">
                                              <field name="OP">LT</field>
                                              <value name="A">
                                                <block type="on_source" id="94kWi`RhCKJ#gie0R,BI">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="_70_Y.4(*J?kSh1id7?=">
                                                  <field name="NUM">100</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_compare" id="HD}8g[_)CzVc)2H==vfL">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="variables_get" id="phnGY$Kb6Sab!nPJhRrd">
                                                  <field name="VAR" id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_boolean" id=";EWml3pX,r[pW6?=-@#W">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="variables_set" id="66pv[lub=//f_D0A?|DP">
                                          <field name="VAR" id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="H);jHjE}7kFQM:mdX*[j">
                                              <field name="BOOL">TRUE</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="]w7UzUIdl=Go9[=V0BID">
                                              <field name="VAR" id="]T052Is$z]+ju(24ZYeX">ZeitStart</field>
                                              <value name="VALUE">
                                                <block type="time_get" id="H9v3;VK|zj:/q+0bGa#m">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                  <field name="OPTION">object</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="comment" id="MfU3vlfJld:bzpMeC}:b">
                                          <field name="COMMENT">Wieder 100, also rechnen!</field>
                                          <next>
                                            <block type="controls_if" id="6_,Z]RY]*S=*(cl1Duq8">
                                              <value name="IF0">
                                                <block type="logic_operation" id="9BzX0abg3F4VK=|mJw3I" inline="false">
                                                  <field name="OP">AND</field>
                                                  <value name="A">
                                                    <block type="logic_compare" id="g7XA)=Kl`=CpG5Q.%0h^">
                                                      <field name="OP">EQ</field>
                                                      <value name="A">
                                                        <block type="on_source" id="LmL)A#3~!N4s]}cV+ST;">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="VHrkeatNenu2~Dhbnodh">
                                                          <field name="NUM">100</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="logic_compare" id="RiJV)4Qal6]-Wh32./Jl">
                                                      <field name="OP">EQ</field>
                                                      <value name="A">
                                                        <block type="variables_get" id="UN8ZxB!%.F.t,0Rl9]$k">
                                                          <field name="VAR" id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="logic_boolean" id="Q{^.-k0R5nbjesF#Xlc0">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="variables_set" id="4:@2Y%es35Zs%UM/8a.q">
                                                  <field name="VAR" id="TIAs6OhbV0NbE.P%;s#Q">ZeitMessungAktiv</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="t:coKFZLCTZ!w}9H^s^e">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="!HoZec?`Xa~r=_zh.r7N">
                                                      <field name="VAR" id="8CQj.w,BtgmgXW}/mk6-">ZeitZwischensumme</field>
                                                      <value name="VALUE">
                                                        <block type="math_arithmetic" id="5WY2x2g!bJ34F*TUMRMV">
                                                          <field name="OP">MINUS</field>
                                                          <value name="A">
                                                            <shadow type="math_number" id="[1gy.qXm_VATi4wZV`$.">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="time_get" id="~vFoA)}wW-x1v7C|%(MG">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                              <field name="OPTION">object</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number" id=":Q}=hVh3WK1cDM58VkLA">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="variables_get" id="qPZJ`h=y3y_rG^x#GVT6">
                                                              <field name="VAR" id="]T052Is$z]+ju(24ZYeX">ZeitStart</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="X3uW*]K3^V8EMCquyI_s">
                                                          <field name="VAR" id="8CQj.w,BtgmgXW}/mk6-">ZeitZwischensumme</field>
                                                          <value name="VALUE">
                                                            <block type="math_arithmetic" id="tgmT9%|:=e$;cq$(:J~z">
                                                              <field name="OP">ADD</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="+}LL,4Vaw57U!0ub3GbW">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="OC^bCA5qPC_#1crovbfa">
                                                                  <field name="VAR" id="8CQj.w,BtgmgXW}/mk6-">ZeitZwischensumme</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id="}RnxQWVtrf:A9h%khDJv">
                                                                  <field name="NUM">1000</field>
                                                                </shadow>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="T;5L~4?$K:$^)Qw#IIdq">
                                                              <field name="VAR" id="Ma/Ro2n~BI)hE2rEAxLv">ZeitSumme</field>
                                                              <value name="VALUE">
                                                                <block type="math_arithmetic" id="wPqd2F*?@7YO=encjc.[">
                                                                  <field name="OP">ADD</field>
                                                                  <value name="A">
                                                                    <shadow type="math_number" id="~?r#4@MKOWQ^eWQ/)^?]">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="variables_get" id="VBTH@iFgifA?$52L^l/O">
                                                                      <field name="VAR" id="Ma/Ro2n~BI)hE2rEAxLv">ZeitSumme</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <shadow type="math_number" id="K7)@fR643vBuSgt303ed">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="variables_get" id="J]MP:uT/xo1]:ps.yw%F">
                                                                      <field name="VAR" id="8CQj.w,BtgmgXW}/mk6-">ZeitZwischensumme</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="control_ex" id="]|n[nC*ug,X`qa~u4P^k">
                                                                  <field name="TYPE">false</field>
                                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                                  <value name="OID">
                                                                    <shadow type="field_oid" id="1z^Vh,(Zt(;0/1or?%})">
                                                                      <field name="oid">Object ID</field>
                                                                    </shadow>
                                                                    <block type="text" id="=n_kkl)yK[WW+]bxKJ^y">
                                                                      <field name="TEXT">0_userdata.0.Datenpunkt.zum.speichern.der.Summe</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="VALUE">
                                                                    <shadow type="logic_boolean" id="E-,D)oS3#8K{}4RdOay(">
                                                                      <field name="BOOL">TRUE</field>
                                                                    </shadow>
                                                                    <block type="variables_get" id="PGe!)]!sp,KVpP{hz1uv">
                                                                      <field name="VAR" id="Ma/Ro2n~BI)hE2rEAxLv">ZeitSumme</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="DELAY_MS">
                                                                    <shadow type="math_number" id="FeRSX`.xJl}?57A*eD;$">
                                                                      <field name="NUM">0</field>
                                                                    </shadow>
                                                                  </value>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </xml>
              
              S N 2 Replies Last reply Reply Quote 0
              • S
                Semmy @BananaJoe last edited by Semmy

                Hallo
                Funktioniert soweit, denke ich, aber es werden nur Millisekunden angezeigt anstatt Sekunden.

                Gruß
                Semmy

                1 Reply Last reply Reply Quote 0
                • N
                  Nordischerjung @BananaJoe last edited by

                  @bananajoe Musste da nicht geteilt durch 1000 geschrieben werden um auf Sekunden zu kommen?

                  7ce491d8-373e-4496-be02-8400542388db-grafik.png

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @Nordischerjung last edited by BananaJoe

                    @nordischerjung @Semmy genau, geteilt, Flüchtigkeitsfehler!
                    Den Wert im Datenpunkt muss man nun einmal von Hand korrigieren und das Skript dann einmal neu starten (mit dem geteilt statt dem Plus)

                    1 Reply Last reply Reply Quote 0
                    • S
                      Semmy last edited by

                      @bananajoe Es werden jetzt Sekunden angezeigt, jedoch auch 3 Nachkommastellen. Kann man die irgendwie entfernen?

                      BananaJoe 1 Reply Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @Semmy last edited by BananaJoe

                        @semmy dbcf2a7b-e076-4d42-8d87-6ae7a1a95632-image.png ?
                        runde kann man auch auf Ab oder aufrunden setzten, bei mir ist es dann eine Ganzzahl
                        Beim 2. geht nicht auf 0 stellen, 1 ist Minimum. Ggf. beides zusammen

                        Beispiele wie man aus den Sekunden in Blockly wieder Tage / Stunden / Minuten / Sekunden macht findest du hier im Forum

                        1 Reply Last reply Reply Quote 0
                        • S
                          Semmy @haus-automatisierung last edited by

                          @haus-automatisierung sagte in Photovoltaik Einspeisebegrenzung messen:

                          @semmy Alias vom Typ boolean anlegen mit val < 100 als Lese-Funktion - darauf dann Statistics aktivieren. Fertig 🙂

                          Ich würde mir da irgendwelche Blockly-Scripts sparen. Warum das Rad neu erfinden?

                          Hallo
                          Ich habe das jetzt mal so probiert. In der Statistik werden aber nur Daten in Offday geschrieben und nicht in Onday.

                          Viele Grüße
                          Semmy

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          481
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          6
                          17
                          635
                          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