Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mit Blockly zwei Werte addieren und neu in DB schreiben

    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

    Mit Blockly zwei Werte addieren und neu in DB schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @RudolfN last edited by

      @rudolfn
      Nimm im Javascript Adapter den Haken unten rechts raus.
      Nicht alle Zustände beim Start abonnieren (Haken raus)

      Screenshot_20210830-105250_Chrome.jpg

      G R 2 Replies Last reply Reply Quote 1
      • G
        GOETSCHHOFER @guergen last edited by GOETSCHHOFER

        @guergen

        Sorry für das Missverständnis, ich habe ja bereits einen IR-Lesekopf angebracht, welcher mir alle 2 Sekunden die Bezugs- und Einspeiswerte, 1.7.0 u. 2.7.0 und die Zählerstände für Bezug und Einspeisung über MQTT in den iobroker fehlerlos liefert.

        Die Tageswerte habe ich noch nicht, eben wegen Problem netmetering.

        Daher meine große Bitte an dich das bestehende blockly soweit ergänzen, dass er mir noch 2 Datenpunkte liefert, eben mit

        Anlage zusätzliche Objekte für:

        Wenn der Wert aus Summe 170+270 positiv ist, dann schreibe (aktualisiere) SUMME 170 270 plus
        Wenn der Wert aus Summe 170+270 negativ ist, dann schreibe (aktualisiere) SUMME 170 270 negativ
        Diese neuen Werte möchte ich anschließend in sourceanalytix verwenden um Tages-Bezug und Tages-Einspeisung darzustellen.

        Ich denke doch, dass es in SA funktionieren müsste, da er den Wert je nach Situation getrennt in plus oder minus in "consumed" verarbeitet und hier die Tageswerte ermittelt.

        Bei meinem Shelly1PM (Schwimmbadpumpe) läuft es genau so, Shelly1PM liefert den Leistungswert in W und SA ermittelt mir den Tageswert und weitere.

        7332e026-546d-4c05-838f-16d723c44d15-image.png

        Heute noch kein Tageswert, da kein PV-Überschuss vorhanden.
        f4d46a01-9165-425e-b753-c9d82fb709c3-image.png

        1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

          @goetschhofer sagte in Mit Blockly zwei Werte addieren und neu in DB schreiben:

          Anlage zusätzliche Objekte für:

          Wenn der Wert aus Summe 170+270 positiv ist, dann schreibe (aktualisiere) SUMME 170 270 plus
          Wenn der Wert aus Summe 170+270 negativ ist, dann schreibe (aktualisiere) SUMME 170 270 negativ

          Dann lege diese zwei Datenpunkte zusätzlich an, dann kannst Du Dein bestehendes Blockly erweitern, so wie Du es selbst beschrieben hast

          Wenn der Wert aus Summe 170+270 positiv ist, dann schreibe (aktualisiere) SUMME 170 270 plus
          Wenn der Wert aus Summe 170+270 negativ ist, dann schreibe (aktualisiere) SUMME 170 270 negativ

          Oder wobei brauchst Du Hilfe ?

          G 1 Reply Last reply Reply Quote 1
          • G
            GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

            @dslraser

            Die Anlage der Datenpunkte ist für mich kein Problem,

            Ich würde mein Blockly gerne bezüglich folgendes erweitern und würde dich bitten, dass du mir hier vielleicht weiterhilfst.
            Das Problem ist, wenn ich in das bestehende blockly eingreife und teste, dann habe ich falsche Werte in den aktuellen Objekten.

            Aktuelles Blockly:
            170=Momentan-Bezug auf irgend einer Phase: L1,L2,L3
            270=Momentan-Einspeisung auf irgend einer Phase: L1,L2,L3
            Summe 170 270 = SALDO Momentan-Bezug u. Einspeisung 3-Phasen-Saldierung, dies läuft bereits.

            a09ce7da-26ae-4bb1-b169-484bf4e564dd-image.png

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable id="5k}(y]MVDRUNbOxECkJt">summe</variable>
              </variables>
              <block type="schedule" id="**{}]7ei59`(N*|ou37v" x="-137" y="-1512">
                <field name="SCHEDULE">*/2 * * * * *</field>
                <statement name="STATEMENT">
                  <block type="variables_set" id="04CEwCi/(d1*/(^%z-|X">
                    <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field>
                    <value name="VALUE">
                      <block type="math_arithmetic" id="O)XOn2w+2MEYKh+_i^T6" inline="false">
                        <field name="OP">ADD</field>
                        <value name="A">
                          <shadow type="math_number" id="Vv3iW}5G,a%,hF?iO4dq">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="get_value" id="1MV.[J[?Vxe;s2g@VT9`">
                            <field name="ATTR">val</field>
                            <field name="OID">0_userdata.0.AMIS.170</field>
                          </block>
                        </value>
                        <value name="B">
                          <shadow type="math_number" id="aNx(u#^_(su!4Pyla9C!">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="get_value" id="0W[V_Lxj$oW6%y|FyPon">
                            <field name="ATTR">val</field>
                            <field name="OID">0_userdata.0.AMIS.270</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="update" id=",]R8%D@+}|rm/}OUVPer">
                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                        <field name="OID">0_userdata.0.AMIS.SUMME_170_270</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="variables_get" id="QWFsuL1-Xs)gB#NnSAC?">
                            <field name="VAR" id="5k}(y]MVDRUNbOxECkJt">summe</field>
                          </block>
                        </value>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </xml>
            

            Ermittlung zusätzlicher Werte (Datenpunkte) für Saldo getrennt nach Ergebnis positiv und negativ:
            Ich weiß nicht, ob dies möglich ist, gleich im selben blockly diese Datenpunkte zu erzeugen ?

            Wenn der Wert aus Summe 170+270 positiv ist, dann schreibe (aktualisiere) SUMME 170 270 plus
            Wenn der Wert aus Summe 170+270 negativ ist, dann schreibe (aktualisiere) SUMME 170 270 negativ

            Diese neuen Werte getrennt nach positiv und negativ möchte ich anschließend in sourceanalytix verwenden um Tages-Bezug und Tages-Einspeisung darzustellen.

            Danke im Voraus.

            dslraser 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

              @goetschhofer
              meinst Du das so ?
              Bildschirmfoto 2021-08-30 um 11.40.02.png

              Zum Testen kannst Du ja zusätzlich unter javascript.0 die Datenpunkte anlegen und auch ein neues Testblockly anlegen was dann da zugreift und dort "rum probieren" Das bestehende Blockly kannst ja erstmal unangetastet lassen.

              G 1 Reply Last reply Reply Quote 1
              • G
                GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

                @dslraser

                Perfekt, vielen Dank !!! 👍

                Eine Verständnisfrage habe ich noch.
                Können die beiden blocklys parallel laufen, da ich ja beim 1. blockly das Objekt userdata.0 AMIS Summe_170_270 ja auch schon aktualisiere ?
                Kommen die sich hier nicht in die Quere ?

                dslraser 1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                  @goetschhofer
                  Wenn Du nur "testen" willst, dann lege diesen DP doch auch unter javascript.0 nochmal an.

                  G 1 Reply Last reply Reply Quote 1
                  • R
                    RudolfN @guergen last edited by

                    @guergen
                    Hallo habe es versucht, das Skript läuft, aber es schreibt mir keine Summe in die Variable (habe schon versucht, nach wert zu konvertieren und die Variable mit Value und state, es schreibt die Summe nicht rein:-o)
                    Lg

                    dslraser G 3 Replies Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @RudolfN last edited by

                      @rudolfn
                      Browser mal aktualisiert ?

                      1 Reply Last reply Reply Quote 1
                      • G
                        guergen @RudolfN last edited by

                        @rudolfn Das ist aber seltsam, bei mir läuft das seit März durchgehend und ohne Fehler!
                        Konvertieren brauchst Du nicht (normal), weil es ja Zahlen sind

                        R 1 Reply Last reply Reply Quote 0
                        • G
                          GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

                          @dslraser

                          Bin gerade dabei das blockly nachzubauen.

                          Bei der Übernahme der Datenpunkte habe ich das Problem, wenn ich z. B. mit klick 170 übernehmen und mit ok bestätigen möchte, so übernimmt er mir das Objekt nicht.
                          Offenbar kann man ein Objekt im blockly nicht 2 x verwenden, da es beim Versuch andere Objekte zu aktivieren funktioniert oder mach ich hier was anderes falsch ?

                          Ist es möglich, dass du mir die Vorlage exportierst, dann könnte ich versuchen, diese gleich zu importieren.

                          Danke

                          9b3e06fa-502f-4bec-855d-10f49e9b58bd-image.png

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            guergen @GOETSCHHOFER last edited by guergen

                            @goetschhofer evtl weil der DP SUMME_170_270_- die falsche Rolle hat?
                            Ansonsten kannst Du DP sooft du willst in einem Blockly benutzen. Erst beim einschalten des Script´s hagelt es dann Fehler...
                            Aber nur falls es zu logikproblemen führt!

                            G 1 Reply Last reply Reply Quote 1
                            • G
                              GOETSCHHOFER @guergen last edited by GOETSCHHOFER

                              @guergen said in Mit Blockly zwei Werte addieren und neu in DB schreiben:

                              @goetschhofer evtl weil der DP SUMME_170_270_- die falsche Rolle hat?
                              Ansonsten kannst Du DP sooft du willst in einem Blockly benutzen. Erst beim einschalten des Script´s hagelt es dann Fehler...
                              Aber nur falls es zu logikproblemen führt!

                              Datenpunkt 170 hat die Rolle number, sollte ich Zahl wählen ? Nein, mit value funktioniert es auch nicht.

                              7894cbf3-621f-419e-89d5-cd90f9d6a540-image.png

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                guergen @GOETSCHHOFER last edited by guergen

                                @goetschhofer Ich sehe da was anderes: ba189493-64ba-4573-8b17-ffe3523cc2bf-grafik.png

                                Hier ist das Script:
                                cbde69d7-24f2-4cc6-bd96-3ebcd57ec67a-grafik.png

                                <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="**{}]7ei59`(N*|ou37v" x="-137" y="-1512">
                                  <field name="SCHEDULE">*/2 * * * * *</field>
                                  <statement name="STATEMENT">
                                    <block type="variables_set" id="04CEwCi/(d1*/(^%z-|X">
                                      <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field>
                                      <value name="VALUE">
                                        <block type="math_arithmetic" id="O)XOn2w+2MEYKh+_i^T6" inline="false">
                                          <field name="OP">ADD</field>
                                          <value name="A">
                                            <shadow type="math_number" id="Vv3iW}5G,a%,hF?iO4dq">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="1MV.[J[?Vxe;s2g@VT9`">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.AMIS.170</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="aNx(u#^_(su!4Pyla9C!">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="0W[V_Lxj$oW6%y|FyPon">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.AMIS.270</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="controls_if" id="oFc2#are5W}sv^Kg9mbu">
                                          <mutation else="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_compare" id="0]%B[Qg$Ymx_dz!muAe{">
                                              <field name="OP">LT</field>
                                              <value name="A">
                                                <block type="variables_get" id="Rxg$Aa9AEbMX(jekLw#W">
                                                  <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="7o]@zP)1F-Tx6-lTKC/)">
                                                  <field name="NUM">0</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="comment" id="97rKiTzh+`j-w.@+Ej}i">
                                              <field name="COMMENT">negative Summe</field>
                                              <next>
                                                <block type="update" id="_})C8E`6PiI3|I8Wg=$9">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">Object ID</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="a@R-S-1p@S[@|#0UwguI">
                                                      <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                          <statement name="ELSE">
                                            <block type="comment" id="c2p=K0}J1Z!9~oFQg!G(">
                                              <field name="COMMENT">negative Summe</field>
                                              <next>
                                                <block type="update" id="+Rg3Ho,}}V7g+Rb-t;eY">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">Object ID</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="9#m9S/jEKqqM3q`fpA^K">
                                                      <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                          <next>
                                            <block type="update" id=",]R8%D@+}|rm/}OUVPer">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                              <field name="OID">0_userdata.0.AMIS.SUMME_170_270</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="variables_get" id="QWFsuL1-Xs)gB#NnSAC?">
                                                  <field name="VAR" id="+yyUBft,kRI{oX,sCC0E">summe</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                                
                                G 2 Replies Last reply Reply Quote 1
                                • G
                                  GOETSCHHOFER @guergen last edited by

                                  @guergen

                                  Danke für den Hinweis, nur soweit bin ich noch gar nicht.

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    GOETSCHHOFER @guergen last edited by

                                    @guergen

                                    Beim Importieren mit copy & paste über rechts oben-importieren, bekomme ich folgende Fehlermeldung ?

                                    1382670a-c3b0-42d6-b04b-8398bf51feb8-image.png

                                    eaea73dc-260c-4ba7-b439-10404894033a-image.png

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      guergen @GOETSCHHOFER last edited by

                                      @goetschhofer Wenn ich das richtig verstehe, ist es bei Dir doch viel einfacher, die Zählerwerte (kWh) bei SA einzubinden um die Tageswerte zu erfahren. Mache ich genauso.
                                      Und die Summe läuft bei mir mit dem o.g. Script.

                                      G 2 Replies Last reply Reply Quote 1
                                      • G
                                        GOETSCHHOFER @guergen last edited by

                                        @guergen
                                        Ja, dies glaube ich auch, aber noch braucht es bis es klappt. 😕

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          guergen @GOETSCHHOFER last edited by

                                          @goetschhofer Ich kann es importieren, grade selbst getestet
                                          Welche Version von Java-Script hast du ? Ich bin bei 5.2.8

                                          1 Reply Last reply Reply Quote 1
                                          • G
                                            guergen @GOETSCHHOFER last edited by

                                            @goetschhofer kann ich nicht verstehen... könnte dir ja per Teamviewer helfen, muss aber jetzt leider arbeiten....

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            731
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            157
                                            24586
                                            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