Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Gleitender Durchschnitt mit Blockly

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Gleitender Durchschnitt mit Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
67 Beiträge 15 Kommentatoren 14.0k Aufrufe 15 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K kaybau

    Hallo,
    ich habe Dein Beispiel mal umgesetzt, um verschiedensten Messwerte zu glätten, z.b. die Windmessung
    6f9c4c8d-0c7c-417f-96ec-e45687a9f469-grafik.png

    Ich bin der Meinung die Reihenfolge der Befüllung der Liste passt nicht.
    Jedenfalls stimmen in meinem Beispiel die Werte nur in ca. 60% der Fälle (nach Gefühl), dann hab ich Ausreißer nach oben, die niemals dem (gleitenden) Durchschnitt entsprechen können.

    Hat jemand eine Idee?

    <xml xmlns="http://www.w3.org/1999/xhtml">
      <variables>
        <variable type="" id=",w^.=D}$CQ[V7pzCL72J">Liste</variable>
        <variable type="" id="|nsSA#%f}nMpDF9f[%s~">Index</variable>
        <variable type="" id="y/U;,Qb.Nr8Oo+/`~hP~">Summe</variable>
        <variable type="" id="hGz@,GqUkjk#,:XaV}MP">i</variable>
      </variables>
      <block type="variables_set" id="RTUA!,2m0j#}}ko7OBoB" x="-662" y="138">
        <field name="VAR" id=",w^.=D}$CQ[V7pzCL72J" variabletype="">Liste</field>
        <value name="VALUE">
          <block type="lists_repeat" id="(=LzJ5)|$oc[A);}JvJS">
            <value name="NUM">
              <shadow type="math_number" id="87]Qx,xmkMD!$Q@/1@;)">
                <field name="NUM">10</field>
              </shadow>
            </value>
            <value name="ITEM">
              <block type="get_value" id="3~*kY|^$rA,s(p,qczz[">
                <field name="ATTR">val</field>
                <field name="OID">javascript.0.Wetterstation.Wind</field>
              </block>
            </value>
          </block>
        </value>
        <next>
          <block type="variables_set" id="iW%C^9/JhHumbS#zg3)C">
            <field name="VAR" id="|nsSA#%f}nMpDF9f[%s~" variabletype="">Index</field>
            <value name="VALUE">
              <block type="math_number" id="AugG5vuP%[LOm2@_M+HJ">
                <field name="NUM">1</field>
              </block>
            </value>
            <next>
              <block type="on_ext" id="vFE,)!c?~Z$=KJQ[l.d`">
                <mutation items="1"></mutation>
                <field name="CONDITION">any</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="OSi=yG(ihidHOz.CC{,,">
                    <field name="oid">javascript.0.Wetterstation.Wind</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="lists_setIndex" id="Ue,2EJHPrBq4j%LV^^P.">
                    <mutation at="true"></mutation>
                    <field name="MODE">SET</field>
                    <field name="WHERE">FROM_START</field>
                    <value name="LIST">
                      <block type="variables_get" id="9Y5|dAIiYW;jqyDV^.12">
                        <field name="VAR" id=",w^.=D}$CQ[V7pzCL72J" variabletype="">Liste</field>
                      </block>
                    </value>
                    <value name="AT">
                      <block type="variables_get" id="(cD0-P+rOdV7[+VxX:;w">
                        <field name="VAR" id="|nsSA#%f}nMpDF9f[%s~" variabletype="">Index</field>
                      </block>
                    </value>
                    <value name="TO">
                      <block type="get_value" id="X?~@4ti8Sr@d4P;=*/Gg">
                        <field name="ATTR">val</field>
                        <field name="OID">javascript.0.Wetterstation.Wind</field>
                      </block>
                    </value>
                    <next>
                      <block type="math_change" id="iHM7|{2:7es8frET@lbV">
                        <field name="VAR" id="|nsSA#%f}nMpDF9f[%s~" variabletype="">Index</field>
                        <value name="DELTA">
                          <shadow type="math_number" id="Op~gK+*i3yG,NxAnX#E^">
                            <field name="NUM">1</field>
                          </shadow>
                        </value>
                        <next>
                          <block type="controls_if" id="Ev=u_,#:ITq@sH4OiERd">
                            <value name="IF0">
                              <block type="logic_compare" id="DQ,9UZd*Y1s:1wALu{Gj">
                                <field name="OP">GT</field>
                                <value name="A">
                                  <block type="variables_get" id="#IdY8V@(1Ndfy0Oy;}O?">
                                    <field name="VAR" id="|nsSA#%f}nMpDF9f[%s~" variabletype="">Index</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="math_number" id="1|5;Drd+s?+T}.0{*S7U">
                                    <field name="NUM">10</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="!1H^6U]iK*T`dKg}_^_u">
                                <field name="VAR" id="|nsSA#%f}nMpDF9f[%s~" variabletype="">Index</field>
                                <value name="VALUE">
                                  <block type="math_number" id="8SOkC-(XJySD(`SNe`d2">
                                    <field name="NUM">1</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="variables_set" id="Pl1+j/wdFvVs[QD$eE-X">
                                <field name="VAR" id="y/U;,Qb.Nr8Oo+/`~hP~" variabletype="">Summe</field>
                                <value name="VALUE">
                                  <block type="math_number" id="fYZ5!wFM9_*Bt#+5KLOw">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="controls_for" id="HyJ*RpPrKT@0MdcOx^^e">
                                    <field name="VAR" id="hGz@,GqUkjk#,:XaV}MP" variabletype="">i</field>
                                    <value name="FROM">
                                      <shadow type="math_number" id="5HJ!2;[nfS,}XAw*nUMi">
                                        <field name="NUM">1</field>
                                      </shadow>
                                    </value>
                                    <value name="TO">
                                      <shadow type="math_number" id="ImZnUR}.I*E/h}#.|wy4">
                                        <field name="NUM">10</field>
                                      </shadow>
                                    </value>
                                    <value name="BY">
                                      <shadow type="math_number" id="K`1U_LE#RLKcqF!kwOE3">
                                        <field name="NUM">1</field>
                                      </shadow>
                                    </value>
                                    <statement name="DO">
                                      <block type="variables_set" id="}rJ2rUz6;aDQOHmvK@Oe">
                                        <field name="VAR" id="y/U;,Qb.Nr8Oo+/`~hP~" variabletype="">Summe</field>
                                        <value name="VALUE">
                                          <block type="math_arithmetic" id="%Y+JtUD?c46n_[O(n`8S">
                                            <field name="OP">ADD</field>
                                            <value name="A">
                                              <shadow type="math_number" id="Nurdy}zCf#G45e8womn.">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="variables_get" id="-A8H3G,#Tg4dBOKVy=Cv">
                                                <field name="VAR" id="y/U;,Qb.Nr8Oo+/`~hP~" variabletype="">Summe</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id="GS5E8aL*]O^Y6JVG?9LT">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="lists_getIndex" id="1}bWK9uFo;24|WfTq*@b">
                                                <mutation statement="false" at="true"></mutation>
                                                <field name="MODE">GET</field>
                                                <field name="WHERE">FROM_START</field>
                                                <value name="VALUE">
                                                  <block type="variables_get" id="uJ59NT:qhOr?$9ji*YM;">
                                                    <field name="VAR" id=",w^.=D}$CQ[V7pzCL72J" variabletype="">Liste</field>
                                                  </block>
                                                </value>
                                                <value name="AT">
                                                  <block type="variables_get" id=":FZ]]msyos78Mjekn;Ac">
                                                    <field name="VAR" id="hGz@,GqUkjk#,:XaV}MP" variabletype="">i</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="update" id="5B:FCNmeZN+Qu{^R`z=Q">
                                        <mutation delay_input="true"></mutation>
                                        <field name="OID">0_userdata.0.Wetter.avg-Wind</field>
                                        <field name="WITH_DELAY">TRUE</field>
                                        <field name="DELAY_MS">10</field>
                                        <field name="UNIT">sec</field>
                                        <field name="CLEAR_RUNNING">FALSE</field>
                                        <value name="VALUE">
                                          <block type="math_arithmetic" id="wONJ/pl_}L6Q0!xpIwS$">
                                            <field name="OP">DIVIDE</field>
                                            <value name="A">
                                              <shadow type="math_number" id=";%/}}]`uw?T22_tdBqT5">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="variables_get" id="_z`SsbiwcJJ1td:gT1{[">
                                                <field name="VAR" id="y/U;,Qb.Nr8Oo+/`~hP~" variabletype="">Summe</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id=")FtUw``uljgXg$jxR@;U">
                                                <field name="NUM">10</field>
                                              </shadow>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </next>
      </block>
    </xml>
    

    Grüße,
    Kay

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #8

    @kaybau
    Besseres Beispiel.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    K 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @kaybau
      Besseres Beispiel.

      K Offline
      K Offline
      kaybau
      schrieb am zuletzt editiert von
      #9

      @paul53 : Besten Dank für das neue Beispiel. Sieht gut aus ;)

      Marius_90M 1 Antwort Letzte Antwort
      0
      • K kaybau

        @paul53 : Besten Dank für das neue Beispiel. Sieht gut aus ;)

        Marius_90M Offline
        Marius_90M Offline
        Marius_90
        schrieb am zuletzt editiert von
        #10

        Ich hatte eben auch das Problem mit einem Schieberegister.
        Habe es mir als Funktion mal eben selbst gebaut.

        Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
        Ist etwas aufwändiger, aber nachvollziehbar

        d5edaa58-35c0-4c10-bdc9-34869ff4254a-image.png

        AsgothianA 1 Antwort Letzte Antwort
        0
        • Marius_90M Marius_90

          Ich hatte eben auch das Problem mit einem Schieberegister.
          Habe es mir als Funktion mal eben selbst gebaut.

          Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
          Ist etwas aufwändiger, aber nachvollziehbar

          d5edaa58-35c0-4c10-bdc9-34869ff4254a-image.png

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von Asgothian
          #11

          @marius-kossinna sagte in Gleitender Durchschnitt mit Blockly:

          Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
          Ist etwas aufwändiger, aber nachvollziehbar

          Etwas aufwändiger ? Das ist ein Understatement.

          • Warum nutzt du überhaupt eine Liste wenn du sowieso jede variable einzeln hältst. Du kannst doch beim Umschreiben auch gleich addieren
          • 10 Variablen von Hand "schieben" ? meh.

          Wenn schon Schieberegister, dann wenigstens so:

          Screenshot 2021-07-12 at 16.02.09.png

          A.

          Korrektur: Fehler im screenshot.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          ChrisNettC paul53P K 3 Antworten Letzte Antwort
          1
          • AsgothianA Asgothian

            @marius-kossinna sagte in Gleitender Durchschnitt mit Blockly:

            Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
            Ist etwas aufwändiger, aber nachvollziehbar

            Etwas aufwändiger ? Das ist ein Understatement.

            • Warum nutzt du überhaupt eine Liste wenn du sowieso jede variable einzeln hältst. Du kannst doch beim Umschreiben auch gleich addieren
            • 10 Variablen von Hand "schieben" ? meh.

            Wenn schon Schieberegister, dann wenigstens so:

            Screenshot 2021-07-12 at 16.02.09.png

            A.

            Korrektur: Fehler im screenshot.

            ChrisNettC Offline
            ChrisNettC Offline
            ChrisNett
            schrieb am zuletzt editiert von
            #12

            @asgothian

            Hi, kannst du das mal als export hochladen?

            Christian

            AsgothianA 1 Antwort Letzte Antwort
            0
            • ChrisNettC ChrisNett

              @asgothian

              Hi, kannst du das mal als export hochladen?

              Christian

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #13

              @christian-sandkaulen

              Könnte ich.

              Selberbauen lehrt. Also bau mal :) Letztendlich sollten alle Blöcke eindeutig sein. Einzig der "state value" ist kritisch - dieser stammt aus dem "trigger" Bereich und ist da mit "Objekt ID" vorgesetzt.

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              1 Antwort Letzte Antwort
              1
              • AsgothianA Asgothian

                @marius-kossinna sagte in Gleitender Durchschnitt mit Blockly:

                Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
                Ist etwas aufwändiger, aber nachvollziehbar

                Etwas aufwändiger ? Das ist ein Understatement.

                • Warum nutzt du überhaupt eine Liste wenn du sowieso jede variable einzeln hältst. Du kannst doch beim Umschreiben auch gleich addieren
                • 10 Variablen von Hand "schieben" ? meh.

                Wenn schon Schieberegister, dann wenigstens so:

                Screenshot 2021-07-12 at 16.02.09.png

                A.

                Korrektur: Fehler im screenshot.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #14

                @asgothian sagte: Wenn schon Schieberegister, dann wenigstens so:

                Ein Trigger auf "wurde geändert" ist für einen gleitenden Durchschnitt ungeeignet, da so Werte, die längere Zeit konstant sind, untergewichtet werden.
                Bei Adaptern, die zyklisch aktualisieren (pollen), kann auf "wurde aktualisiert" getriggert werden. Andernfalls muss ein Zeitplan als Trigger verwendet werden.

                Da nach Skriptstart die Liste erst einmal wächst, darf zur Mittelwertbildung nicht durch die Konstante 10, sondern es muss durch die Länge der Liste dividiert werden. Oder man verwendet gleich die mathematische Funktion "Mittelwert der Liste".

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                S 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @asgothian sagte: Wenn schon Schieberegister, dann wenigstens so:

                  Ein Trigger auf "wurde geändert" ist für einen gleitenden Durchschnitt ungeeignet, da so Werte, die längere Zeit konstant sind, untergewichtet werden.
                  Bei Adaptern, die zyklisch aktualisieren (pollen), kann auf "wurde aktualisiert" getriggert werden. Andernfalls muss ein Zeitplan als Trigger verwendet werden.

                  Da nach Skriptstart die Liste erst einmal wächst, darf zur Mittelwertbildung nicht durch die Konstante 10, sondern es muss durch die Länge der Liste dividiert werden. Oder man verwendet gleich die mathematische Funktion "Mittelwert der Liste".

                  S Online
                  S Online
                  schweiger2
                  schrieb am zuletzt editiert von
                  #15

                  @paul53

                  Hallo,

                  ich habe mir nach den angegebenen Hinweisen in diesen Thread die Steuerung gebaut, doch ich erhalte Fehlermeldungen und das Skript funktioniert nicht. Ich freue mich, wenn ihr einmal auf das Skript sehen könnt. Wo liegt der Hund begraben ?

                  dc0cfb1a-587e-4ef1-95f7-f68995d48096-image.png

                  Hier die Fehlermeldungen:

                  e4589a19-b741-4679-822d-0d15752cddac-image.png

                  Was mache ich falsch ?

                  Beste Grüße
                  schweiger2

                  paul53P 2 Antworten Letzte Antwort
                  0
                  • S schweiger2

                    @paul53

                    Hallo,

                    ich habe mir nach den angegebenen Hinweisen in diesen Thread die Steuerung gebaut, doch ich erhalte Fehlermeldungen und das Skript funktioniert nicht. Ich freue mich, wenn ihr einmal auf das Skript sehen könnt. Wo liegt der Hund begraben ?

                    dc0cfb1a-587e-4ef1-95f7-f68995d48096-image.png

                    Hier die Fehlermeldungen:

                    e4589a19-b741-4679-822d-0d15752cddac-image.png

                    Was mache ich falsch ?

                    Beste Grüße
                    schweiger2

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #16

                    @schweiger2 sagte: Was mache ich falsch ?

                    Verwende für "WIND_SPEED" und "ILLUMINATION" jeweils nur einen Trigger und arbeite die Befehle dort in der richtigen Reihenfolge ab.

                    Für den Teil "windig":

                    Bild_2021-07-19_134446.png

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • S schweiger2

                      @paul53

                      Hallo,

                      ich habe mir nach den angegebenen Hinweisen in diesen Thread die Steuerung gebaut, doch ich erhalte Fehlermeldungen und das Skript funktioniert nicht. Ich freue mich, wenn ihr einmal auf das Skript sehen könnt. Wo liegt der Hund begraben ?

                      dc0cfb1a-587e-4ef1-95f7-f68995d48096-image.png

                      Hier die Fehlermeldungen:

                      e4589a19-b741-4679-822d-0d15752cddac-image.png

                      Was mache ich falsch ?

                      Beste Grüße
                      schweiger2

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #17

                      @schweiger2 sagte: ich erhalte Fehlermeldungen

                      Anstelle von "setze für Letzte ein" selektiere "füge als Letzte ein":

                      Bild_2021-07-19_131423.png

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      S 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @schweiger2 sagte: ich erhalte Fehlermeldungen

                        Anstelle von "setze für Letzte ein" selektiere "füge als Letzte ein":

                        Bild_2021-07-19_131423.png

                        S Online
                        S Online
                        schweiger2
                        schrieb am zuletzt editiert von
                        #18

                        @paul53

                        Ich habe das jetzt so gebaut (letzten 2 Zeilen unten nur als Kennzeichen für den Beginn des anderen Blocks):

                        d96193a4-265a-4e83-8046-392714c8e2f0-image.png

                        Jetzt warte ich, ob neue Fehler im Log auftreten. Die Funktion - darum geht es ja eigentlich - des Skripts sehe ich mir im Nachhinein an, wenn keine Syntax-Fehler mehr aftauchen.

                        Besten Dank erst einmal.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • S schweiger2

                          @paul53

                          Ich habe das jetzt so gebaut (letzten 2 Zeilen unten nur als Kennzeichen für den Beginn des anderen Blocks):

                          d96193a4-265a-4e83-8046-392714c8e2f0-image.png

                          Jetzt warte ich, ob neue Fehler im Log auftreten. Die Funktion - darum geht es ja eigentlich - des Skripts sehe ich mir im Nachhinein an, wenn keine Syntax-Fehler mehr aftauchen.

                          Besten Dank erst einmal.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #19

                          @schweiger2 sagte: Ich habe das jetzt so gebaut

                          Den Wert, den der Trigger-Datenpunkt übergibt, magst Du wohl nicht?

                          Blockly_DP_Props.JPG

                          Zur Funktion "markise": Wenn level einmal auf 100 gesetzt wurde, bleibt er auf 100. Nach Skriptstart ist level erst einmal undefined, womit "steuere" meckern wird.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          S 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @schweiger2 sagte: Ich habe das jetzt so gebaut

                            Den Wert, den der Trigger-Datenpunkt übergibt, magst Du wohl nicht?

                            Blockly_DP_Props.JPG

                            Zur Funktion "markise": Wenn level einmal auf 100 gesetzt wurde, bleibt er auf 100. Nach Skriptstart ist level erst einmal undefined, womit "steuere" meckern wird.

                            S Online
                            S Online
                            schweiger2
                            schrieb am zuletzt editiert von
                            #20

                            @paul53

                            Hallo paul53,

                            sorry, den ersten Punkt kann ich fachlich nicht verstehen. Ich übergebe der Liste doch als letzten Listeneintrag den aktualisierten Wert aus dem Objekt "Wind Speed" des Wettersensors durch

                            2131dee1-8a27-422e-abee-b06551d76a91-image.png ,

                            oder wie meinst Du das ?

                            Im Protokoll finde ich jetzt keine errors mehr, das ist schonmal ein Teilerfolg dank Deiner Hilfe.

                            Zu level: verstehe ich, hoffe ich. Wenn ich "level" zu Beginn der Funktion "=0" setze, würde die Markise - wenn Sie z.B. auf 30% ausgefahren ist und "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • S schweiger2

                              @paul53

                              Hallo paul53,

                              sorry, den ersten Punkt kann ich fachlich nicht verstehen. Ich übergebe der Liste doch als letzten Listeneintrag den aktualisierten Wert aus dem Objekt "Wind Speed" des Wettersensors durch

                              2131dee1-8a27-422e-abee-b06551d76a91-image.png ,

                              oder wie meinst Du das ?

                              Im Protokoll finde ich jetzt keine errors mehr, das ist schonmal ein Teilerfolg dank Deiner Hilfe.

                              Zu level: verstehe ich, hoffe ich. Wenn ich "level" zu Beginn der Funktion "=0" setze, würde die Markise - wenn Sie z.B. auf 30% ausgefahren ist und "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #21

                              @schweiger2 sagte: oder wie meinst Du das ?

                              Den identischen Wert wie "Wert vom Objekt WIND_SPEED" liefert die lokale Trigger-Variable Wert. Ist nur etwas eleganter (Ressourcen schonender).

                              @schweiger2 sagte in Gleitender Durchschnitt mit Blockly:

                              "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

                              Wahrscheinlich würde eine Warnung oder einer Error erzeugt. Was ist "0 % = komplett zu" bei einer Markise? Voll ausgefahren?
                              Soll die Markise nicht wieder ausfahren, wenn sich der Wind gelegt hat? Wenn doch, dann versuche es mal so:

                              Bild_2021-07-19_150915.png

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              S 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @schweiger2 sagte: oder wie meinst Du das ?

                                Den identischen Wert wie "Wert vom Objekt WIND_SPEED" liefert die lokale Trigger-Variable Wert. Ist nur etwas eleganter (Ressourcen schonender).

                                @schweiger2 sagte in Gleitender Durchschnitt mit Blockly:

                                "windig" und "dunkel" NICHT wahr sind, auf Null % (=komplett zu) fahren, oder ?

                                Wahrscheinlich würde eine Warnung oder einer Error erzeugt. Was ist "0 % = komplett zu" bei einer Markise? Voll ausgefahren?
                                Soll die Markise nicht wieder ausfahren, wenn sich der Wind gelegt hat? Wenn doch, dann versuche es mal so:

                                Bild_2021-07-19_150915.png

                                S Online
                                S Online
                                schweiger2
                                schrieb am zuletzt editiert von
                                #22

                                @paul53

                                ahaaa, danke, ist schon geändert.

                                Zum "level": 0% = 0% Helligkeit = komplett herausgefahren. Ja, dies ist für mich nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • S schweiger2

                                  @paul53

                                  ahaaa, danke, ist schon geändert.

                                  Zum "level": 0% = 0% Helligkeit = komplett herausgefahren. Ja, dies ist für mich nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #23

                                  @schweiger2 sagte: nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

                                  Dann mache es so (ohne Probleme mit undefined) :

                                  Bild_2021-07-19_152317.png

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  S 1 Antwort Letzte Antwort
                                  1
                                  • paul53P paul53

                                    @schweiger2 sagte: nur eine Schutzschaltung, wenn das Schließen mal vergessen wurde; das Öffnen möchte ich manuell selbst bestimmen.

                                    Dann mache es so (ohne Probleme mit undefined) :

                                    Bild_2021-07-19_152317.png

                                    S Online
                                    S Online
                                    schweiger2
                                    schrieb am zuletzt editiert von
                                    #24

                                    @paul53

                                    es ist so einfach - wenn man den Wald vor lauter Bäumen sehen würde.

                                    Danke vielmals für Deine Hilfe.

                                    schweiger2

                                    1 Antwort Letzte Antwort
                                    0
                                    • AsgothianA Asgothian

                                      @marius-kossinna sagte in Gleitender Durchschnitt mit Blockly:

                                      Ich glätte damit meinen PH-Messwert von Pool, der sprang mir einfach zu sehr auf und ab.
                                      Ist etwas aufwändiger, aber nachvollziehbar

                                      Etwas aufwändiger ? Das ist ein Understatement.

                                      • Warum nutzt du überhaupt eine Liste wenn du sowieso jede variable einzeln hältst. Du kannst doch beim Umschreiben auch gleich addieren
                                      • 10 Variablen von Hand "schieben" ? meh.

                                      Wenn schon Schieberegister, dann wenigstens so:

                                      Screenshot 2021-07-12 at 16.02.09.png

                                      A.

                                      Korrektur: Fehler im screenshot.

                                      K Offline
                                      K Offline
                                      k_b
                                      schrieb am zuletzt editiert von
                                      #25

                                      @asgothian
                                      Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
                                      d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
                                      Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
                                      afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
                                      Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
                                      Hast Du einen Tipp zu meinem Problem?
                                      Schon mal danke

                                      paul53P R 2 Antworten Letzte Antwort
                                      0
                                      • K k_b

                                        @asgothian
                                        Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
                                        d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
                                        Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
                                        afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
                                        Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
                                        Hast Du einen Tipp zu meinem Problem?
                                        Schon mal danke

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #26

                                        @k_b sagte: kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):

                                        Bild_2021-07-24_173201.png

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        ChrisNettC 1 Antwort Letzte Antwort
                                        0
                                        • K k_b

                                          @asgothian
                                          Ich hatte vor Dein Script zu nutzen und bin gleich zu Beginn daran gescheitert, dass mein JS-Adapter (5.1.3) kein Blockly-Element enthält, mit dem ich ein Element der Liste löschen könnte ("remove"/"first"):
                                          d5eae08c-469c-4d22-a21d-f95db30b69e2-grafik.png
                                          Mit dem was mir der Menüpunkt Liste anbietet, kann ich nur überschreiben:
                                          afd3bcd8-0da6-4de0-a3c8-bcafd2686458-grafik.png
                                          Das könnte ich funktional zwar durch das von vorne fortschreitende Überschreiben mit Nullen "abfangen", führt aber zu einer beständig steigenden Länge der Liste ...
                                          Hast Du einen Tipp zu meinem Problem?
                                          Schon mal danke

                                          R Offline
                                          R Offline
                                          Roadrunner
                                          schrieb am zuletzt editiert von Roadrunner
                                          #27

                                          kann entfernt werden

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          775

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe