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. Verbrauchsschwankung mit Blockly erkennen

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.1k

Verbrauchsschwankung mit Blockly erkennen

Geplant Angeheftet Gesperrt Verschoben Blockly
24 Beiträge 9 Kommentatoren 3.3k Aufrufe 7 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.
  • 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: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          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

          503

          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