Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Verbrauchsschwankung mit Blockly erkennen

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    830

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.7k

Verbrauchsschwankung mit Blockly erkennen

Geplant Angeheftet Gesperrt Verschoben Blockly
24 Beiträge 9 Kommentatoren 4.4k Aufrufe 7 Beobachtet
  • Ä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.
  • S Offline
    S Offline
    steff.h.
    schrieb am zuletzt editiert von
    #21

    danke dir, baue es mal mit ein und teste :-)

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      steff.h.
      schrieb am zuletzt editiert von
      #22

      also das mit dem Zähler fand ich jetzt für mich die nicht 100% Lösung...

      Hab es jetzt mal mit Timer probiert, in der Testumgebung (virtuellen Zahlen) hat es gut funktioniert, mal sehen wie es in der Praxis läuft :-)

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <variables>
          <variable type="undefined" id="timer_Knitterschutz">timer_Knitterschutz</variable>
          <variable type="undefined" id="timer_fertig">timer_fertig</variable>
          <variable type="undefined" id="timer_start">timer_start</variable>
        </variables>
        <block type="on_ext" id="{@YbEO81jP45_Wv%`G~V" x="-387" y="-12">
          <mutation items="1"></mutation>
          <field name="CONDITION">any</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="KKMh9]1;JU;y)l~O1?:8">
              <field name="oid">eigene_Geräte.0.Trockner.Trockner</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="controls_if" id="Tz-/aRLZ%6yfRg?~!ASl">
              <mutation elseif="1"></mutation>
              <value name="IF0">
                <block type="logic_compare" id="RFQ:hZTWTn+0fqk3L{(-">
                  <field name="OP">GT</field>
                  <value name="A">
                    <block type="get_value" id="3%TT^X~(Q5aB}Y4s]Fya">
                      <field name="ATTR">val</field>
                      <field name="OID">eigene_Geräte.0.Trockner.Trockner</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="text" id="(,:]5Jvy-G1K(g[v@jo1">
                      <field name="TEXT">200</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="timeouts_cleartimeout" id="GDB?IltR,Hog?lZkj@Ri">
                  <field name="NAME">timer_fertig</field>
                  <next>
                    <block type="timeouts_cleartimeout" id="MxsxpE}%wX+vOka^6sJE">
                      <field name="NAME">timer_Knitterschutz</field>
                      <next>
                        <block type="timeouts_settimeout" id="%sP/]s/Wq[CN5Cr)ZXcE">
                          <field name="NAME">timer_start</field>
                          <field name="DELAY">30</field>
                          <field name="UNIT">sec</field>
                          <statement name="STATEMENT">
                            <block type="control" id="QTzY}_ond~G]B|eRA@Lq">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="Gyn`!|3.4qS].:ColIeT">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="dCPQU95vaZjskHy8WfRw">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="m_m~oziSEG8Vbxg9hS]0">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
              <value name="IF1">
                <block type="logic_compare" id="^9/A}3)3rA2pc/6=/Fto">
                  <field name="OP">LT</field>
                  <value name="A">
                    <block type="get_value" id="?-}lTJ41aADEukuCBat3">
                      <field name="ATTR">val</field>
                      <field name="OID">eigene_Geräte.0.Trockner.Trockner</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="text" id="8DfHDB3lV*UAzbe]eVcU">
                      <field name="TEXT">5</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO1">
                <block type="timeouts_cleartimeout" id="OdwG.CwD~j,[RvL`/$Y7">
                  <field name="NAME">timer_start</field>
                  <next>
                    <block type="timeouts_settimeout" id="T.AsjIcgdlrs;ME/eGv7">
                      <field name="NAME">timer_Knitterschutz</field>
                      <field name="DELAY">20</field>
                      <field name="UNIT">sec</field>
                      <statement name="STATEMENT">
                        <block type="control" id="QHrg0]k0wr3PfuIBsJ!H">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="l3U+F]JlZaL11c5(J`P]">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                      <next>
                        <block type="timeouts_settimeout" id="`gsfK+4~NVuy0`cutC,Q">
                          <field name="NAME">timer_fertig</field>
                          <field name="DELAY">5</field>
                          <field name="UNIT">min</field>
                          <statement name="STATEMENT">
                            <block type="control" id="ZD!YyTw9oj8G~fNS1,Rh">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="yvf2u7C=BrSJ08v;SWbf">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
          <next>
            <block type="on_ext" id="Q94+tPd)Uj`%l=N7ri-f">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="kS?`eSEel]v1S.F]V.*x">
                  <field name="oid">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="?iCVZFXaeJEzUKNC8k!r">
                  <mutation elseif="1"></mutation>
                  <value name="IF0">
                    <block type="logic_compare" id="[(T!mZH}Nvn*dCCtr6u.">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="?ZYV1).sdAbe33eT9UVJ">
                          <field name="ATTR">val</field>
                          <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="#yWUf6y]^$tg{WVtm/;*">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="telegram" id="O+6t}Cv2l-_thLLhPiHJ">
                      <field name="INSTANCE">.0</field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-">
                          <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                        </shadow>
                        <block type="text" id="XVOEYo.x?twa;r+MeYGc">
                          <field name="TEXT">Der Trockner startet den Knitterschutz ! </field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <value name="IF1">
                    <block type="logic_compare" id="2VfDCLfBt@w0Tz+8/vyY">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="*yVKM0%[r~#@JMQE.-[=">
                          <field name="ATTR">val</field>
                          <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="3-+a.bG=Tt}oj`jYJ1l^">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO1">
                    <block type="telegram" id="2oPfv{ptPp%y[jwp^@?0">
                      <field name="INSTANCE">.0</field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">default</field>
                      <value name="MESSAGE">
                        <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-">
                          <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                        </shadow>
                        <block type="text" id="CRLGpd#_}:2;FaGp^8aD">
                          <field name="TEXT">Der Trockner wurde angeschaltet </field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
              <next>
                <block type="on_ext" id="^bjX`z`(c6|NOE7od8m{">
                  <mutation items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="p(Y8#7ya#8V)V_r=L|AY">
                      <field name="oid">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="c}KW,NC~y{R3,GHaCdm~">
                      <value name="IF0">
                        <block type="logic_compare" id="BLPv?Av{QCjSZwz2C9o7">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="f-.T9%q:49F7M`dkh*/S">
                              <field name="ATTR">val</field>
                              <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="Bb2WzPjc27[}p;0e{z^U">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="telegram" id="VxKMn*kukZ9.LFX4,|f`">
                          <field name="INSTANCE">.0</field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="sKyyX,f?IkAZP`RFQReF">
                              <field name="TEXT">Die Waschmaschine ist fertig :)</field>
                            </shadow>
                            <block type="text" id="U5)QI0lF+t{v~!!J9xIy">
                              <field name="TEXT">Der Trockner ist fertig :) </field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      
      1 Antwort Letzte Antwort
      0
      • OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #23

        und wenns genauer aber komplexer werden sollte,
        dann noch was mit gleitendem durchschnitt
        http://www.iobroker.net/docu/?page_id=3670&lang=de

        Das hier sind deine Daten aus der Excel mit einem gleitenden Durchschnitt (schwarze linie) von 50

        7cddb03a-dc76-4bc2-bbba-7ce3c40d4927-image.png

        zum selber ausprobieren:
        hier links die daten mit watt als datenreihe 1
        dann rechts die 2 spalte mit dem timestamp
        danach in das erzeugte diagramm auf die datenlinie mit rechte maustaste klicken und trendlinie hinzufügen. gleitender druchschnitt wählen und mit zeitraum rumspielen (hier mit 50)
        73a106f6-672b-4988-aa54-73854194f71b-image.png

        das oben genannte skript müsste man so anpassen, dass für die verbrauchsdaten der letzen ca 30 sekunden bis 1 minute Daten in der liste wären und darüber dann durchjagen

        aber wie gesagt, genauer aber auch komplizierter

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        paul53P 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          und wenns genauer aber komplexer werden sollte,
          dann noch was mit gleitendem durchschnitt
          http://www.iobroker.net/docu/?page_id=3670&lang=de

          Das hier sind deine Daten aus der Excel mit einem gleitenden Durchschnitt (schwarze linie) von 50

          7cddb03a-dc76-4bc2-bbba-7ce3c40d4927-image.png

          zum selber ausprobieren:
          hier links die daten mit watt als datenreihe 1
          dann rechts die 2 spalte mit dem timestamp
          danach in das erzeugte diagramm auf die datenlinie mit rechte maustaste klicken und trendlinie hinzufügen. gleitender druchschnitt wählen und mit zeitraum rumspielen (hier mit 50)
          73a106f6-672b-4988-aa54-73854194f71b-image.png

          das oben genannte skript müsste man so anpassen, dass für die verbrauchsdaten der letzen ca 30 sekunden bis 1 minute Daten in der liste wären und darüber dann durchjagen

          aber wie gesagt, genauer aber auch komplizierter

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

          @OliverW sagte:

          was mit gleitendem durchschnitt

          Ersetze bitte Zeile 34

            setState(avrid, parseFloat((sum / n).toFixed(1)));
          

          durch

            setState(avrid, Math.round(10 * sum / n) / 10, true); // 1 Nachkommastelle
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Antwort Letzte Antwort
          0

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          220

          Online

          33.0k

          Benutzer

          83.5k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2026
          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