Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Liste mit Blocky und Durchschnittswert daraus?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Liste mit Blocky und Durchschnittswert daraus?

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

      @Jan1 sagte:

      Könnte mir trotzdem einer bitte die Variante über eine Liste zeigen

      Siehe hier. Oder:

      Blockly_gleitend_Mittel.JPG

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

        @paul53
        OK, ist die Antwort auf meine Frage, nur versteh ich da leider die Hälfte nicht wirklich. Ich könnte das jetzt einfach nachbauen, was bestimmt auch funktioniert. Bei so was habe ich dann aber immer etwas Magenschmerzen, weil ich es einfach nicht wirklich 100% verstehe.

        Dann Plan B, kann man mein Blockly so lassen, oder hast da eine Optimierung auf Lager? Habs mal durchgespielt und es scheint so schon zu laufen, kommt mir aber bisschen um die Ecke vor.

        paul53 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active last edited by mickym

          Im Prinzip ist es vom Verständnis einfach so.
          Du hast das doch selbst mit den Datenpunkten geschrieben und das funktioniert.
          Wenn Du nun das ganze aus einer Liste extrahieren willst - dann musst Du nur jeden Datenpunkt in eine Variable oder ebenfalls in einen Datenpunkt schreiben.

          Im Prinzip musst Du wissen wie die Liste aufgebaut ist, die Zeile für Zeile einlesen und dann den Wert extrahieren und kannst ihn eben in einen Datenpunkt oder eine Variable schreiben.

          Diese verfährst Du mit diesem Variablen analog nach Deinem Verfahren zur Ermittlung des Durchschnittswertes .

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

            @Jan1 sagte:

            weil ich es einfach nicht wirklich 100% verstehe.

            Bau es nach und ergänze es nach jedem Schritt um einen Debug-Baustein mit Ausgabe des gerade veränderten Wertes, dann wirst Du es sicherlich auch verstehen.

            1 Reply Last reply Reply Quote 0
            • J
              Jan1 @mickym last edited by Jan1

              @mickym
              Bei Listen stehe ich eben bisschen planlos da, da ich mir das nicht richtig vorstellen kann, wobei das wahrscheinlich einfach er ist, als ich es vermute und genau da liegt mein Problem.
              Es muss auch keine Liste sein, war heute morgen nur mein erster Gedanke, weil ich da noch keine Idee hatte, wie ich es mit einem 08/15 Blockly lösen könnte. Das Blockly steht ja nun und so wie es aussieht funktioniert es so wie geplant. Normal bin ich mit meinen Konstrukten wenn sie laufen zufrieden. Das hier wirkt irgendwie verbesserungswürdig, wobei mir hier wieder der Ansatz fehlt 😉

              @paul53
              werd ich wohl machen, da das der einfachste Weg ist um ein Aha Effekt zu erlangen 🙂

              1 Reply Last reply Reply Quote 0
              • DAN78
                DAN78 last edited by DAN78

                Hallo Jan,

                Für die Bildung des Mittelwert gibt es einen eigenen Mathe Block

                Anmerkung 2020-04-20 005157.jpg

                Wichtig:
                Bitte schreibe diese Liste in einen DP und nicht wie im Beispiel in einer Variable. Sonst ist bei jedem Skript-Neustart (z.B. Stromausfall) dein Durchschnittswert weg.

                J 3 Replies Last reply Reply Quote 0
                • J
                  Jan1 @DAN78 last edited by

                  @DAN78
                  Es kann so einfach sein 😉

                  1 Reply Last reply Reply Quote 0
                  • J
                    Jan1 @DAN78 last edited by

                    @DAN78
                    So und ein Problem.
                    Wo finde ich den Baustein "in der Liste ... "? den zweiten bekomme ich hin, aber den ersten mit "entferne", klappt bei mir nicht, da ich eben genau kein entferne im dropdown Menü finde.
                    2902baf7-525d-4812-98c2-d54538675a1a-grafik.png

                    T BBTown 2 Replies Last reply Reply Quote 0
                    • T
                      ticaki Developer @Jan1 last edited by

                      @Jan1
                      Der Baustein der default "nimm" in diesem Feld stehen hat.

                      J 1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown @Jan1 last edited by BBTown

                        @Jan1 schau mal, ist etwas tricky ...
                        Listeneintrag entfernen.gif

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          Jan1 @ticaki last edited by

                          @ticaki
                          OK, den hatte ich nicht genommen, da der im defaut ja so aussieht:
                          91127ddd-66be-453f-af26-11f93aef5043-grafik.png

                          Das stört mich etwas in Blockly, dass die Blöcke teils ihre Funktion und Aussehen unvorhersehbar ändern, wenn man sie mit den dropdown Menüs ändert.

                          Aber danke für den Tipp 😉

                          1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 @BBTown last edited by

                            @BBTown
                            in der Tat 🙂

                            1 Reply Last reply Reply Quote 0
                            • J
                              Jan1 @DAN78 last edited by

                              @DAN78
                              Das Script läuft bei mir so nicht. Die Berechnung des Mittelwerts haut nicht hin, es wird immer der vorherige Wert ausgegeben.

                              <xml xmlns="http://www.w3.org/1999/xhtml">
                               <variables>
                                 <variable type="" id="Z7YA9elGc{dN6|%9b^C^">Diesel_Preis</variable>
                                 <variable type="undefined" id="timeout">timeout</variable>
                               </variables>
                               <block type="variables_set" id="{p%8-=pZAZlWp-tgkVm@" x="-912" y="-637">
                                 <field name="VAR" id="Z7YA9elGc{dN6|%9b^C^" variabletype="">Diesel_Preis</field>
                                 <value name="VALUE">
                                   <block type="lists_repeat" id="{qg%5he8]ciB[0WgQ0kP">
                                     <value name="NUM">
                                       <shadow type="math_number" id="Jk(V!lFQ?r|i,XfqoXUe">
                                         <field name="NUM">2</field>
                                       </shadow>
                                     </value>
                                     <value name="ITEM">
                                       <block type="get_value" id="oomKuc(`/0BH:y^5oId.">
                                         <field name="ATTR">val</field>
                                         <field name="OID">tankerkoenig.0.stations.0.diesel.short</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="on" id="|l+so4rSAA+u.~0Mh,hk">
                                     <field name="OID">tankerkoenig.0.stations.0.diesel.short</field>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <statement name="STATEMENT">
                                       <block type="lists_getIndex" id="8(cv4e?.@A3K6Q))Y2]#">
                                         <mutation statement="true" at="false"></mutation>
                                         <field name="MODE">REMOVE</field>
                                         <field name="WHERE">LAST</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id=",fUK7$d6wiC4]@lLLl/j">
                                             <field name="VAR" id="Z7YA9elGc{dN6|%9b^C^" variabletype="">Diesel_Preis</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="lists_setIndex" id="ms8DE|WcS]uc+S.8ku[J">
                                             <mutation at="false"></mutation>
                                             <field name="MODE">INSERT</field>
                                             <field name="WHERE">FIRST</field>
                                             <value name="LIST">
                                               <block type="variables_get" id="xar=2~Jq-j5KlU73,SWJ">
                                                 <field name="VAR" id="Z7YA9elGc{dN6|%9b^C^" variabletype="">Diesel_Preis</field>
                                               </block>
                                             </value>
                                             <value name="TO">
                                               <block type="on_source" id="kct_@=rqS[L{/nYZZs+f">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="timeouts_cleartimeout" id="q-cI+y+2*RWiNCRZ{[-J">
                                                 <field name="NAME">timeout</field>
                                                 <next>
                                                   <block type="timeouts_settimeout" id="Vsw}:%%fH[J)eA~W^STY">
                                                     <field name="NAME">timeout</field>
                                                     <field name="DELAY">2</field>
                                                     <field name="UNIT">sec</field>
                                                     <statement name="STATEMENT">
                                                       <block type="update" id="f?e?f=4?4l|AAEp2zW/d">
                                                         <mutation delay_input="false"></mutation>
                                                         <field name="OID">0_userdata.0.Sprit.Durchschnitt</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="math_on_list" id="3_km1{MHV|MI55bHjT~8">
                                                             <mutation op="MIN"></mutation>
                                                             <field name="OP">MIN</field>
                                                             <value name="LIST">
                                                               <block type="variables_get" id="zyg22x5=HPSIj!Al0P]g">
                                                                 <field name="VAR" id="Z7YA9elGc{dN6|%9b^C^" variabletype="">Diesel_Preis</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                              </xml>
                              


                              9a7bcd1b-477f-4a94-af21-359e6bc85124-grafik.png

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @Jan1 last edited by

                                @Jan1
                                Da steht im letzten Baustein minimalwert nicht mittelwert. 🙂 Bäume? Wald?

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jan1 @ticaki last edited by Jan1

                                  @ticaki
                                  Wie peinlich 😬
                                  Aber wie immer, wenn zwei Augen nix mehr sehen, hilft eben ein anderer.

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    Jan1 last edited by

                                    Klappt trotzdem nicht, weil der Adapter den DP als Zeichenkette deklariert und dann kommen sehr seltsame Werte raus, wenn ich zum Testen einfach mal 1, 2, 3 usw. eingebw

                                    {
                                      "from": "system.host.Pi3Bplus.cli",
                                      "ts": 1551075095600,
                                      "user": "system.user.admin",
                                      "common": {
                                        "name": "diesel short",
                                        "desc": "Preis Diesel (e.ee) zwei Dezimalstellen (nicht gerundet)",
                                        "type": "string",
                                        "role": "value",
                                        "read": true,
                                        "write": true
                                      },
                                      "native": {},
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      },
                                      "_id": "tankerkoenig.0.stations.0.diesel.short",
                                      "type": "state"
                                    }
                                    
                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer last edited by ticaki

                                      Hilft dir das weiter?
                                      Bildschirmfoto 2020-04-21 um 12.58.53.png

                                      EDIT Quark, das hier sollte hilfreich sein:Bildschirmfoto 2020-04-21 um 13.00.33.png

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jan1 @ticaki last edited by

                                        @ticaki
                                        muss ich mal testen, aber erst morgen

                                        1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Jan1 last edited by

                                          @Jan1 und warum wandelst du den Typ nicht zur Berechnung?

                                          • Konvertierung .-> nach Zahl
                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            Jan1 @Homoran last edited by

                                            @Homoran
                                            weil ich dazu keine Zeit mehr hatte und weg musste, die Deklaration des DP hab ich auch erst kurz vor Schluss bemerkt.
                                            Wird alles morgen in Ruhe probiert.
                                            Da Du aber schon mal da bist, ich habe was seltsames bemerkt. Ich hatte das vorher mit einer anderen Methode gelöst, was zwar funktioniert hat, aber im Vergleich zu der Lösung umständlich war.
                                            Ich habe dazu DP mit den Werten beschrieben und daraus den Mittelwert gebildet. Nach dem ich das alte Script gelöscht hatte, wurden meine Hilfs DPs aber immer noch beschrieben, nur kein Plan wie ohne das Script. Wie kann ich den raus finden ob da noch das Script versteckt aktiv läuft, oder wo sind denn die Scripte abgespeichert?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            509
                                            Online

                                            32.1k
                                            Users

                                            80.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            25
                                            3368
                                            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