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. [gelöst] Waschmaschine/Trockner fertig

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[gelöst] Waschmaschine/Trockner fertig

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
41 Beiträge 10 Kommentatoren 5.8k Aufrufe 14 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.
  • I init5

    Hallo Community, mal wieder ein Thema, welches schon häufiger aufkam. Leider komme ich auch mit den bestehenden Beiträgen nicht weiter.
    Ziel war es ein Blockly Skript zu erstellen, das mich informiert, wenn Geräte wie die Waschmaschine fertig ist. Also im Prinzip Standard nur mit einer Verzögerung für kurze Pausen, die die Geräte üblicherweise manchmal machen. Trotzdem werden während des Betriebs massenhaft Nachrichten (abwechselnd WaMa wurde gestartet, WaMa ist fertig) versendet. Ich hoffe so sehr, dass jemand von euch den Fehler findet. Es würde den WAF für weitere Projekte dienen :blush:

    Blockly_WaMa.png

    I Offline
    I Offline
    ITCrowd
    schrieb am zuletzt editiert von ITCrowd
    #2

    @init5 So ist es bei mir in Betrieb.
    19b164b9-470d-444e-93f3-cfd80ad4b12e-grafik.png

    Ich frage die Stromaufnahme der Maschine im Minutentakt ab, der Messwert als Trigger hat bei mir nur unnötig viele Ereignisse ausgelöst.
    Die Grenzwerte müssen ggf. angepasst werden. Variable Zähler_L < (maximal Pausenzeit im Waschprogramm in Minuten +1)
    Die Info über das beendete Waschprogramm erfolgt bei mir über Alexa.

    Den Takt erzeuge ich hiermit.

    aed6736f-2e63-4d73-998c-242ff6bbd7fa-grafik.png

    Mit solchen zentralen Takten lassen sich Scripte einfach synchronisieren.

    PhantomkommanderP 1 Antwort Letzte Antwort
    0
    • I ITCrowd

      @init5 So ist es bei mir in Betrieb.
      19b164b9-470d-444e-93f3-cfd80ad4b12e-grafik.png

      Ich frage die Stromaufnahme der Maschine im Minutentakt ab, der Messwert als Trigger hat bei mir nur unnötig viele Ereignisse ausgelöst.
      Die Grenzwerte müssen ggf. angepasst werden. Variable Zähler_L < (maximal Pausenzeit im Waschprogramm in Minuten +1)
      Die Info über das beendete Waschprogramm erfolgt bei mir über Alexa.

      Den Takt erzeuge ich hiermit.

      aed6736f-2e63-4d73-998c-242ff6bbd7fa-grafik.png

      Mit solchen zentralen Takten lassen sich Scripte einfach synchronisieren.

      PhantomkommanderP Offline
      PhantomkommanderP Offline
      Phantomkommander
      schrieb am zuletzt editiert von
      #3

      @ITCrowd das blockly würde ich gerne mal ausprobieren. Würdest du es mir zur Verfügung stellen? 🙈

      I 1 Antwort Letzte Antwort
      0
      • PhantomkommanderP Phantomkommander

        @ITCrowd das blockly würde ich gerne mal ausprobieren. Würdest du es mir zur Verfügung stellen? 🙈

        I Offline
        I Offline
        ITCrowd
        schrieb am zuletzt editiert von ITCrowd
        #4

        @Phantomkommander ```

        <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
        <variable id="2KlqHZ;4GC+4e}]=n2">Lautstärke</variable>
        <variable id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</variable>
        <variable type="interval" id="Tick_1m">Tick_1m</variable>
        <variable id="(-92ai~xO3+X[TCGX0_">O_V_Alexa2</variable>
        <variable id="ROXk:)ndsMeX9csWRILz">Meldung_L</variable>
        <variable id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</variable>
        <variable id="|IZMxer2;YdsNXVuD=">Zähler_L</variable> <variable id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</variable> </variables> <block type="comment" id="C1TS:F;JeN4f-~ef%/#Y" x="13" y="13"> <field name="COMMENT">Tick_1m</field> <next> <block type="timeouts_setinterval" id="vZy@)c%*@9qOL0h%@;,G"> <field name="NAME">Tick_1m</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="toggle" id="(_qzVDP.wG-u2b)9D1ow"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.DP_Allgemein.Tick_1m</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> </block> </next> </block> <block type="variables_set" id="JmwzY/SJq@)TukF#p]uZ" x="13" y="138"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> <value name="VALUE"> <block type="math_number" id="{1N!?ISTYf)kf9k|aUh">
        <field name="NUM">35</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id="BOg;eMsB7w7E$kWWM?nV">
        <field name="VAR" id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</field>
        <value name="VALUE">
        <block type="field_oid" id="F](b^V6/TP]hFo17G5?^">
        <field name="oid">alexa2.0.Echo-Devices.G090P308915205CX.Commands.speak-volume</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id="sPX*VP9@O51lS69WoD">
        <field name="VAR" id="(-92ai~xO3+X[TCGX0_">O_V_Alexa2</field>
        <value name="VALUE">
        <block type="field_oid" id="Ha#I4)#iWQ#RESgPkwSI">
        <field name="oid">alexa2.0.Echo-Devices.G090U509848603VC.Commands.speak-volume</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id="S;|g(q.As|bdJ01N@%P"> <field name="VAR" id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</field> <value name="VALUE"> <block type="field_oid" id="zv:4McKr3:}uoTr9Dt?t"> <field name="oid">alexa2.0.Echo-Devices.G090P308915205CX.Commands.speak</field> </block> </value> <next> <block type="variables_set" id="T9p1^6~9[UiqA$baMmZ">
        <field name="VAR" id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</field>
        <value name="VALUE">
        <block type="field_oid" id="HsBE;#}tBtrtn%wk#!F">
        <field name="oid">alexa2.0.Echo-Devices.G090U509848603VC.Commands.speak</field>
        </block>
        </value>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        <block type="schedule" id="FNPHMI4k%oWmRd+~B,:l" x="13" y="313">
        <field name="SCHEDULE">0 9 * * </field>
        <statement name="STATEMENT">
        <block type="variables_set" id="BMev:L38.d-nq%^4~CQ?">
        <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field>
        <value name="VALUE">
        <block type="math_number" id=",eT4uxBCoE7a01h=~BC">
        <field name="NUM">35</field>
        </block>
        </value>
        </block>
        </statement>
        <next>
        <block type="schedule" id=":;azAAnVS}-9%Qs@dK">
        <field name="SCHEDULE">0 21 * * *</field>
        <statement name="STATEMENT">
        <block type="variables_set" id="w$Y.,29T4cUP;OfG-?3">
        <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field>
        <value name="VALUE">
        <block type="math_number" id="ff/sOazFBuf9Y#CI)?(f">
        <field name="NUM">30</field>
        </block>
        </value>
        </block>
        </statement>
        </block>
        </next>
        </block>
        <block type="on_ext" id="oA36h6vbN8|i1PnKU{P" x="13" y="538"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="F}{o)*z$;u(kmrr=fdl+"> <field name="oid">0_userdata.0.DP_Allgemein.Tick_1m</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="3PE2ma]/f_03(um[t~Eu"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="k3{j9Umw?iy#?LIxJ[/J"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="?I;.nBHX@-,)[[Qx#FTR"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_DBB6B4.ENERGY_Current</field> </block> </value> <value name="B"> <block type="math_number" id="f,M)V4Wd_1F3TS7|A84F"> <field name="NUM">0.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="_sm~y.(OrH-5?GMx!Iv">
        <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
        <value name="VALUE">
        <block type="logic_boolean" id="9!he:ZmJOCmxdWM/J?F"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="=FIPC?2F0?PMy(WlnbuF"> <field name="VAR" id="|IZMx*er2;YdsNXVuD=">Zähler_L</field>
        <value name="VALUE">
        <block type="math_number" id="G|foxL/Un3=}lxJyVfqD">
        <field name="NUM">0</field>
        </block>
        </value>
        </block>
        </next>
        </block>
        </statement>
        <value name="IF1">
        <block type="logic_operation" id="n2}7jR7LDu4,mY]Ibc." inline="false">
        <field name="OP">AND</field>
        <value name="A">
        <block type="logic_compare" id="{c|47|voMaD,plPNw@N0">
        <field name="OP">LT</field>
        <value name="A">
        <block type="get_value" id="R]{Q+8vLT(d)$?bhwvDR">
        <field name="ATTR">val</field>
        <field name="OID">sonoff.0.DVES_DBB6B4.ENERGY_Current</field>
        </block>
        </value>
        <value name="B">
        <block type="math_number" id="k.GQOs{83K+fIvu:2k_K">
        <field name="NUM">0.1</field>
        </block>
        </value>
        </block>
        </value>
        <value name="B">
        <block type="variables_get" id="ttfcY$oxpJx^m(%VHct}">
        <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
        </block>
        </value>
        </block>
        </value>
        <statement name="DO1">
        <block type="controls_if" id="N[taU#Tnkyf6:VIUO09x">
        <mutation else="1"></mutation>
        <value name="IF0">
        <block type="logic_compare" id="RxRzmEK6Q$^=i;kFW0n0">
        <field name="OP">LT</field>
        <value name="A">
        <block type="variables_get" id="1]@T]Y.{{h?1OX5Te1XI">
        <field name="VAR" id="|IZMxer2;YdsNXVuD=">Zähler_L</field> </block> </value> <value name="B"> <block type="math_number" id="$8SYvFCwE-(0ybO/hULD"> <field name="NUM">5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="EM$p37vj5Q{{C]jsWs/9"> <field name="VAR" id="|IZMx*er2;YdsNXVuD=">Zähler_L</field>
        <value name="DELTA">
        <shadow type="math_number" id="azoK3iowe][Qlq+FhH~w">
        <field name="NUM">1</field>
        </shadow>
        </value>
        </block>
        </statement>
        <statement name="ELSE">
        <block type="debug" id="T=jI+0y-REES}/gXetd">
        <field name="Severity">log</field>
        <value name="TEXT">
        <shadow type="text" id="IUws6Mur{1Nm{lTvk{f.">
        <field name="TEXT">### Waschmaschine links fertig.</field>
        </shadow>
        </value>
        <next>
        <block type="control" id="vA1CGC:$c/le=FU!wf)7">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
        <field name="OID">0_userdata.0.DP_Allgemein.DP_StatusListe</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="text" id="i!Z5qx:R6Pa+W5gyO|+">
        <field name="TEXT">= Waschmaschine links fertig.</field>
        </block>
        </value>
        <next>
        <block type="control_ex" id="{oLr6R[Q]#fqHF_-EE_J" inline="true">
        <field name="TYPE">false</field>
        <field name="CLEAR_RUNNING">FALSE</field>
        <value name="OID">
        <shadow type="field_oid" id="z+28]gjEW4z!S^9wvBO">
        <field name="oid">Object ID</field>
        </shadow>
        <block type="variables_get" id="wlLlWszvDF3qCGsn9EN"> <field name="VAR" id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="qP7si6f*A{[nxyj|R}-d"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="4g(r/}q$2ipQg?X+FfA*"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="(i,_PgIW==|IdJ/.HdEq"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="EqVK@S4zs/^LwnP1X5Kt" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="h@$Pq[qjb#1%)jt^]oFp"> <field name="VAR" id="(-92ai~xO*3+X[TCGX0_">O_V_Alexa2</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="L1K-VBSA{nk~_Lu~]xYr"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="y6WtA#!XOhre%0Vt9d.u"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="C5miROO@/(LT=f^ZYqLh" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="0ZS(Th(0i#Wa9Eif]4Ho"> <field name="VAR" id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="jN=nu2H1c#J}Zw[xh~eG"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="V$Zd/$}Q18Jy}faaz{+O"> <field name="TEXT">Das Waschprogramm der linken Waschmaschine wurde beendet.</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="7PUi_Z|Z=dS_ej]y#*#">
        <field name="NUM">0</field>
        </shadow>
        </value>
        <next>
        <block type="control_ex" id="SW90#+3@Raj7vSb(+KHN" inline="true">
        <field name="TYPE">false</field>
        <field name="CLEAR_RUNNING">FALSE</field>
        <value name="OID">
        <shadow type="field_oid">
        <field name="oid">Object ID</field>
        </shadow>
        <block type="variables_get" id="JiHpn96#vmfbXUAZ#;pf">
        <field name="VAR" id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</field>
        </block>
        </value>
        <value name="VALUE">
        <shadow type="logic_boolean">
        <field name="BOOL">TRUE</field>
        </shadow>
        <block type="text" id="FU)nu(WD6a{6Zocl8Hs">
        <field name="TEXT">Das Waschprogramm der linken Waschmaschine wurde beendet.</field>
        </block>
        </value>
        <value name="DELAY_MS">
        <shadow type="math_number" id=":,L[FXsr=M]I!yBpOF#=">
        <field name="NUM">0</field>
        </shadow>
        </value>
        <next>
        <block type="variables_set" id="G=Kf3z3NKQBY7^x83$v9">
        <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
        <value name="VALUE">
        <block type="logic_boolean" id="2D|_djAMg6)-9Y+%u^E0">
        <field name="BOOL">FALSE</field>
        </block>
        </value>
        <next>
        <block type="variables_set" id=";@t{ux@#cl+IWv^:#:LD">
        <field name="VAR" id="|IZMxer2;YdsN`XVuD=">Zähler_L</field>
        <value name="VALUE">
        <block type="math_number" id="%Q!-JYQ=3K;FQ[tn3tWl">
        <field name="NUM">0</field>
        </block>
        </value>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </xml>
        [/s]
        da_WoodyD 1 Antwort Letzte Antwort
        0
        • I ITCrowd

          @Phantomkommander ```

          <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
          <variable id="2KlqHZ;4GC+4e}]=n2">Lautstärke</variable>
          <variable id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</variable>
          <variable type="interval" id="Tick_1m">Tick_1m</variable>
          <variable id="(-92ai~xO3+X[TCGX0_">O_V_Alexa2</variable>
          <variable id="ROXk:)ndsMeX9csWRILz">Meldung_L</variable>
          <variable id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</variable>
          <variable id="|IZMxer2;YdsNXVuD=">Zähler_L</variable> <variable id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</variable> </variables> <block type="comment" id="C1TS:F;JeN4f-~ef%/#Y" x="13" y="13"> <field name="COMMENT">Tick_1m</field> <next> <block type="timeouts_setinterval" id="vZy@)c%*@9qOL0h%@;,G"> <field name="NAME">Tick_1m</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="toggle" id="(_qzVDP.wG-u2b)9D1ow"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.DP_Allgemein.Tick_1m</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> </block> </next> </block> <block type="variables_set" id="JmwzY/SJq@)TukF#p]uZ" x="13" y="138"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> <value name="VALUE"> <block type="math_number" id="{1N!?ISTYf)kf9k|aUh">
          <field name="NUM">35</field>
          </block>
          </value>
          <next>
          <block type="variables_set" id="BOg;eMsB7w7E$kWWM?nV">
          <field name="VAR" id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</field>
          <value name="VALUE">
          <block type="field_oid" id="F](b^V6/TP]hFo17G5?^">
          <field name="oid">alexa2.0.Echo-Devices.G090P308915205CX.Commands.speak-volume</field>
          </block>
          </value>
          <next>
          <block type="variables_set" id="sPX*VP9@O51lS69WoD">
          <field name="VAR" id="(-92ai~xO3+X[TCGX0_">O_V_Alexa2</field>
          <value name="VALUE">
          <block type="field_oid" id="Ha#I4)#iWQ#RESgPkwSI">
          <field name="oid">alexa2.0.Echo-Devices.G090U509848603VC.Commands.speak-volume</field>
          </block>
          </value>
          <next>
          <block type="variables_set" id="S;|g(q.As|bdJ01N@%P"> <field name="VAR" id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</field> <value name="VALUE"> <block type="field_oid" id="zv:4McKr3:}uoTr9Dt?t"> <field name="oid">alexa2.0.Echo-Devices.G090P308915205CX.Commands.speak</field> </block> </value> <next> <block type="variables_set" id="T9p1^6~9[UiqA$baMmZ">
          <field name="VAR" id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</field>
          <value name="VALUE">
          <block type="field_oid" id="HsBE;#}tBtrtn%wk#!F">
          <field name="oid">alexa2.0.Echo-Devices.G090U509848603VC.Commands.speak</field>
          </block>
          </value>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          <block type="schedule" id="FNPHMI4k%oWmRd+~B,:l" x="13" y="313">
          <field name="SCHEDULE">0 9 * * </field>
          <statement name="STATEMENT">
          <block type="variables_set" id="BMev:L38.d-nq%^4~CQ?">
          <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field>
          <value name="VALUE">
          <block type="math_number" id=",eT4uxBCoE7a01h=~BC">
          <field name="NUM">35</field>
          </block>
          </value>
          </block>
          </statement>
          <next>
          <block type="schedule" id=":;azAAnVS}-9%Qs@dK">
          <field name="SCHEDULE">0 21 * * *</field>
          <statement name="STATEMENT">
          <block type="variables_set" id="w$Y.,29T4cUP;OfG-?3">
          <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field>
          <value name="VALUE">
          <block type="math_number" id="ff/sOazFBuf9Y#CI)?(f">
          <field name="NUM">30</field>
          </block>
          </value>
          </block>
          </statement>
          </block>
          </next>
          </block>
          <block type="on_ext" id="oA36h6vbN8|i1PnKU{P" x="13" y="538"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="F}{o)*z$;u(kmrr=fdl+"> <field name="oid">0_userdata.0.DP_Allgemein.Tick_1m</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="3PE2ma]/f_03(um[t~Eu"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="k3{j9Umw?iy#?LIxJ[/J"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="?I;.nBHX@-,)[[Qx#FTR"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_DBB6B4.ENERGY_Current</field> </block> </value> <value name="B"> <block type="math_number" id="f,M)V4Wd_1F3TS7|A84F"> <field name="NUM">0.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="_sm~y.(OrH-5?GMx!Iv">
          <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
          <value name="VALUE">
          <block type="logic_boolean" id="9!he:ZmJOCmxdWM/J?F"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="=FIPC?2F0?PMy(WlnbuF"> <field name="VAR" id="|IZMx*er2;YdsNXVuD=">Zähler_L</field>
          <value name="VALUE">
          <block type="math_number" id="G|foxL/Un3=}lxJyVfqD">
          <field name="NUM">0</field>
          </block>
          </value>
          </block>
          </next>
          </block>
          </statement>
          <value name="IF1">
          <block type="logic_operation" id="n2}7jR7LDu4,mY]Ibc." inline="false">
          <field name="OP">AND</field>
          <value name="A">
          <block type="logic_compare" id="{c|47|voMaD,plPNw@N0">
          <field name="OP">LT</field>
          <value name="A">
          <block type="get_value" id="R]{Q+8vLT(d)$?bhwvDR">
          <field name="ATTR">val</field>
          <field name="OID">sonoff.0.DVES_DBB6B4.ENERGY_Current</field>
          </block>
          </value>
          <value name="B">
          <block type="math_number" id="k.GQOs{83K+fIvu:2k_K">
          <field name="NUM">0.1</field>
          </block>
          </value>
          </block>
          </value>
          <value name="B">
          <block type="variables_get" id="ttfcY$oxpJx^m(%VHct}">
          <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
          </block>
          </value>
          </block>
          </value>
          <statement name="DO1">
          <block type="controls_if" id="N[taU#Tnkyf6:VIUO09x">
          <mutation else="1"></mutation>
          <value name="IF0">
          <block type="logic_compare" id="RxRzmEK6Q$^=i;kFW0n0">
          <field name="OP">LT</field>
          <value name="A">
          <block type="variables_get" id="1]@T]Y.{{h?1OX5Te1XI">
          <field name="VAR" id="|IZMxer2;YdsNXVuD=">Zähler_L</field> </block> </value> <value name="B"> <block type="math_number" id="$8SYvFCwE-(0ybO/hULD"> <field name="NUM">5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="EM$p37vj5Q{{C]jsWs/9"> <field name="VAR" id="|IZMx*er2;YdsNXVuD=">Zähler_L</field>
          <value name="DELTA">
          <shadow type="math_number" id="azoK3iowe][Qlq+FhH~w">
          <field name="NUM">1</field>
          </shadow>
          </value>
          </block>
          </statement>
          <statement name="ELSE">
          <block type="debug" id="T=jI+0y-REES}/gXetd">
          <field name="Severity">log</field>
          <value name="TEXT">
          <shadow type="text" id="IUws6Mur{1Nm{lTvk{f.">
          <field name="TEXT">### Waschmaschine links fertig.</field>
          </shadow>
          </value>
          <next>
          <block type="control" id="vA1CGC:$c/le=FU!wf)7">
          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
          <field name="OID">0_userdata.0.DP_Allgemein.DP_StatusListe</field>
          <field name="WITH_DELAY">FALSE</field>
          <value name="VALUE">
          <block type="text" id="i!Z5qx:R6Pa+W5gyO|+">
          <field name="TEXT">= Waschmaschine links fertig.</field>
          </block>
          </value>
          <next>
          <block type="control_ex" id="{oLr6R[Q]#fqHF_-EE_J" inline="true">
          <field name="TYPE">false</field>
          <field name="CLEAR_RUNNING">FALSE</field>
          <value name="OID">
          <shadow type="field_oid" id="z+28]gjEW4z!S^9wvBO">
          <field name="oid">Object ID</field>
          </shadow>
          <block type="variables_get" id="wlLlWszvDF3qCGsn9EN"> <field name="VAR" id="AtH_kFvL]@aM;j?F;vw|">O_V_Alexa1</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="qP7si6f*A{[nxyj|R}-d"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="4g(r/}q$2ipQg?X+FfA*"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="(i,_PgIW==|IdJ/.HdEq"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="EqVK@S4zs/^LwnP1X5Kt" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="h@$Pq[qjb#1%)jt^]oFp"> <field name="VAR" id="(-92ai~xO*3+X[TCGX0_">O_V_Alexa2</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id="L1K-VBSA{nk~_Lu~]xYr"> <field name="VAR" id="2KlqHZ;4GC+4e}]=n2">Lautstärke</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="y6WtA#!XOhre%0Vt9d.u"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="C5miROO@/(LT=f^ZYqLh" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="0ZS(Th(0i#Wa9Eif]4Ho"> <field name="VAR" id=",J;nOmMBh{zSVR%,-6UX">O_S_Alexa1</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="jN=nu2H1c#J}Zw[xh~eG"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="V$Zd/$}Q18Jy}faaz{+O"> <field name="TEXT">Das Waschprogramm der linken Waschmaschine wurde beendet.</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="7PUi_Z|Z=dS_ej]y#*#">
          <field name="NUM">0</field>
          </shadow>
          </value>
          <next>
          <block type="control_ex" id="SW90#+3@Raj7vSb(+KHN" inline="true">
          <field name="TYPE">false</field>
          <field name="CLEAR_RUNNING">FALSE</field>
          <value name="OID">
          <shadow type="field_oid">
          <field name="oid">Object ID</field>
          </shadow>
          <block type="variables_get" id="JiHpn96#vmfbXUAZ#;pf">
          <field name="VAR" id="3GF+g~hD+u{;xNrDO@h6">O_S_Alexa2</field>
          </block>
          </value>
          <value name="VALUE">
          <shadow type="logic_boolean">
          <field name="BOOL">TRUE</field>
          </shadow>
          <block type="text" id="FU)nu(WD6a{6Zocl8Hs">
          <field name="TEXT">Das Waschprogramm der linken Waschmaschine wurde beendet.</field>
          </block>
          </value>
          <value name="DELAY_MS">
          <shadow type="math_number" id=":,L[FXsr=M]I!yBpOF#=">
          <field name="NUM">0</field>
          </shadow>
          </value>
          <next>
          <block type="variables_set" id="G=Kf3z3NKQBY7^x83$v9">
          <field name="VAR" id="ROXk:)ndsMeX9csWRILz">Meldung_L</field>
          <value name="VALUE">
          <block type="logic_boolean" id="2D|_djAMg6)-9Y+%u^E0">
          <field name="BOOL">FALSE</field>
          </block>
          </value>
          <next>
          <block type="variables_set" id=";@t{ux@#cl+IWv^:#:LD">
          <field name="VAR" id="|IZMxer2;YdsN`XVuD=">Zähler_L</field>
          <value name="VALUE">
          <block type="math_number" id="%Q!-JYQ=3K;FQ[tn3tWl">
          <field name="NUM">0</field>
          </block>
          </value>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </next>
          </block>
          </statement>
          </block>
          </statement>
          </block>
          </statement>
          </block>
          </xml>
          [/s]
          da_WoodyD Online
          da_WoodyD Online
          da_Woody
          schrieb am zuletzt editiert von
          #5

          @ITCrowd sorry, in code tags wäre das ganze brauchbarer und leserlicher.

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          I 1 Antwort Letzte Antwort
          0
          • I init5

            Hallo Community, mal wieder ein Thema, welches schon häufiger aufkam. Leider komme ich auch mit den bestehenden Beiträgen nicht weiter.
            Ziel war es ein Blockly Skript zu erstellen, das mich informiert, wenn Geräte wie die Waschmaschine fertig ist. Also im Prinzip Standard nur mit einer Verzögerung für kurze Pausen, die die Geräte üblicherweise manchmal machen. Trotzdem werden während des Betriebs massenhaft Nachrichten (abwechselnd WaMa wurde gestartet, WaMa ist fertig) versendet. Ich hoffe so sehr, dass jemand von euch den Fehler findet. Es würde den WAF für weitere Projekte dienen :blush:

            Blockly_WaMa.png

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

            @init5 sagte in Waschmaschine/Trockner fertig:

            Ich hoffe so sehr, dass jemand von euch den Fehler findet. Es würde den WAF für weitere Projekte dienen

            Den Fehler.. so einfach ist das nicht. Fangen wir mal vorne an:

            • Du Triggerst auf "wurde aktualisiert", sprich das Skript springt auch dann an wenn sich die Leistungsaufnahme nicht ändert
            • Du nutzt für "WaMa_running" einen Datenpunkt. Da wäre eine Variable sinnvoller.
            • Du setzt den Zähler nur bei jedem Skriptstart auf 0.
            • Jede Sekunde den Wert Abfragen ist Unsinn. Insbesondere da der Wert von dem Skript bei jedem Trigger, sprich jeder Aktualisierung des Stromwertes bereits 3x abgefragt wird (neben 3x abfrage auf den Datenpunkt "WaMa_running"

            Das Thema synchronisieren mit einem "heartbeat" (wie @ITCrowd es nutzt) sollte zwar funktionieren, ist aber eigentlich unnötig. Insbesondere erzeugt es (wenn es viele Skripte synchronisiert) regelmässige Spikes weil alle Skripte gleichzeitig losrennen) Notwendig ist nur ein sauberes "entprellen" des Messwertes. Zu dem Thema gibt es einige Beispiele im Forum, trotzdem aber noch einmal hier als "pseudocode" zum nachbauen.

            Mit der Folgenden Logik sollte es gehen:

            • Eine Variable für "WaMa running", bei Skript start auf falsch setzen
            • Ein Trigger auf "power", triggern auf "wurde geändert" (NICHT wurde aktualisiert)
            • Im Trigger als erstes die Abfrage falls Wert > 100 (Hinweis zum "wert" Baustein siehe Bild - der Baustein in dem Objekt ID steht lässt sich auf Wert umstellen - er beinhaltet immer den Wert des Objektes welchen den Trigger ausgelöst hat.1599421354043-screen-shot-2020-09-06-at-21.38.08.png
            • im Falls-Zweig: falls nicht "WaMa running" -> WaMa running auf wahr setzen, Telegramm Nachricht senden.
            • sonst Falls "Wert" < 5 und "letzter Wert" >= 5 ("letzter Wert" ist der gleiche Baustein wie "Wert", der kann auch auf den Wert des Objektes direkt bevor der Trigger aktiviert wurde gesetzt werden) - Dadurch wird dieser Zweig nur angesprochen wenn der Wert von >- 5 auf kleiner 5 wechselt
            • timeout 60 sekunden - im Timeout: falls "wert von Objekt ID Power" (Hier wirklich den Datenpunktwert NEU holen, sonst wird das nichts) -> Nachricht an Telegramm, WaMa Running = falsch setzen.
            • im sonst Zweig (von dem oben angegebenen "sonst Falls" : Timeout löschen.

            Noch ein Nachtrag zum Thema "variable oder State" für "WaMa running". Eine Variable macht mehr sinn für den Einsatzzweck, sofern du diese nicht zusätzlich irgendwo nutzen willst (Anzeige das die WaMa läuft, etc.). Sollte also ein Datenpunkt genutzt werden, dann macht es sinn als ERSTES im Trigger den Datenpunkt zu lesen und in eine lokale Variable zu übernehmen. Diese kannst du dann im Trigger mehrfach abfragen ohne jedesmal in den Objektbaum zu schauen.

            A.
            p.s. ich geb das lieber als Pseudocode raus - selber bauen und nachvollziehen ist besser als kopieren und hoffen es passt.

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

            I 1 Antwort Letzte Antwort
            1
            • AsgothianA Asgothian

              @init5 sagte in Waschmaschine/Trockner fertig:

              Ich hoffe so sehr, dass jemand von euch den Fehler findet. Es würde den WAF für weitere Projekte dienen

              Den Fehler.. so einfach ist das nicht. Fangen wir mal vorne an:

              • Du Triggerst auf "wurde aktualisiert", sprich das Skript springt auch dann an wenn sich die Leistungsaufnahme nicht ändert
              • Du nutzt für "WaMa_running" einen Datenpunkt. Da wäre eine Variable sinnvoller.
              • Du setzt den Zähler nur bei jedem Skriptstart auf 0.
              • Jede Sekunde den Wert Abfragen ist Unsinn. Insbesondere da der Wert von dem Skript bei jedem Trigger, sprich jeder Aktualisierung des Stromwertes bereits 3x abgefragt wird (neben 3x abfrage auf den Datenpunkt "WaMa_running"

              Das Thema synchronisieren mit einem "heartbeat" (wie @ITCrowd es nutzt) sollte zwar funktionieren, ist aber eigentlich unnötig. Insbesondere erzeugt es (wenn es viele Skripte synchronisiert) regelmässige Spikes weil alle Skripte gleichzeitig losrennen) Notwendig ist nur ein sauberes "entprellen" des Messwertes. Zu dem Thema gibt es einige Beispiele im Forum, trotzdem aber noch einmal hier als "pseudocode" zum nachbauen.

              Mit der Folgenden Logik sollte es gehen:

              • Eine Variable für "WaMa running", bei Skript start auf falsch setzen
              • Ein Trigger auf "power", triggern auf "wurde geändert" (NICHT wurde aktualisiert)
              • Im Trigger als erstes die Abfrage falls Wert > 100 (Hinweis zum "wert" Baustein siehe Bild - der Baustein in dem Objekt ID steht lässt sich auf Wert umstellen - er beinhaltet immer den Wert des Objektes welchen den Trigger ausgelöst hat.1599421354043-screen-shot-2020-09-06-at-21.38.08.png
              • im Falls-Zweig: falls nicht "WaMa running" -> WaMa running auf wahr setzen, Telegramm Nachricht senden.
              • sonst Falls "Wert" < 5 und "letzter Wert" >= 5 ("letzter Wert" ist der gleiche Baustein wie "Wert", der kann auch auf den Wert des Objektes direkt bevor der Trigger aktiviert wurde gesetzt werden) - Dadurch wird dieser Zweig nur angesprochen wenn der Wert von >- 5 auf kleiner 5 wechselt
              • timeout 60 sekunden - im Timeout: falls "wert von Objekt ID Power" (Hier wirklich den Datenpunktwert NEU holen, sonst wird das nichts) -> Nachricht an Telegramm, WaMa Running = falsch setzen.
              • im sonst Zweig (von dem oben angegebenen "sonst Falls" : Timeout löschen.

              Noch ein Nachtrag zum Thema "variable oder State" für "WaMa running". Eine Variable macht mehr sinn für den Einsatzzweck, sofern du diese nicht zusätzlich irgendwo nutzen willst (Anzeige das die WaMa läuft, etc.). Sollte also ein Datenpunkt genutzt werden, dann macht es sinn als ERSTES im Trigger den Datenpunkt zu lesen und in eine lokale Variable zu übernehmen. Diese kannst du dann im Trigger mehrfach abfragen ohne jedesmal in den Objektbaum zu schauen.

              A.
              p.s. ich geb das lieber als Pseudocode raus - selber bauen und nachvollziehen ist besser als kopieren und hoffen es passt.

              I Offline
              I Offline
              init5
              schrieb am zuletzt editiert von init5
              #7

              @Asgothian Vielen Dank für das Feedback. Ich brauchte ein bisschen um zu sehen wie weit ich damit komme.
              Ich benötige einen Datenpunkt für die Weiterverarbeitung. Dieser wird zum einen in VIS angezeigt und zum Anderen in History geloggt.
              Ich check es leider nicht ganz, bzw. nur die ersten Punkte. Im unteren Teil steige ich aus.

              • Eine Variable für "WaMa running", bei Skript start auf falsch setzen
              • Ein Trigger auf "power", triggern auf "wurde geändert" (NICHT wurde aktualisiert)
              • Im Trigger als erstes die Abfrage falls Wert > 100 (Hinweis zum "wert" Baustein siehe Bild - der Baustein in dem Objekt ID steht lässt sich auf Wert umstellen - er beinhaltet immer den Wert des Objektes welchen den Trigger ausgelöst hat.
              • im Falls-Zweig: falls nicht "WaMa running" -> WaMa running auf wahr setzen, Telegramm Nachricht senden.
              • sonst Falls "Wert" < 5 und "letzter Wert" >= 5 ("letzter Wert" ist der gleiche Baustein wie "Wert", der kann auch auf den Wert des Objektes direkt bevor der Trigger aktiviert wurde gesetzt werden) - Dadurch wird dieser Zweig nur angesprochen wenn der Wert von >- 5 auf kleiner 5 wechselt
              • timeout 60 sekunden - im Timeout: falls "wert von Objekt ID Power" (Hier wirklich den Datenpunktwert NEU holen, sonst wird das nichts) -> Nachricht an Telegramm, WaMa Running = falsch setzen.
              • im sonst Zweig (von dem oben angegebenen "sonst Falls" : Timeout löschen.

              Das ist der Stand, den ich verstanden habe :(

              Blockly_WaMa2.png

              Kommt das etwa hin?

              Der Tipp mit dem Objekt ID Block, der sich auf das Objekt im Trigger bezieht ist echt hilfreich!

              AsgothianA 1 Antwort Letzte Antwort
              0
              • da_WoodyD da_Woody

                @ITCrowd sorry, in code tags wäre das ganze brauchbarer und leserlicher.

                I Offline
                I Offline
                ITCrowd
                schrieb am zuletzt editiert von
                #8

                @da_Woody Sorry, war schon spät. :face_with_rolling_eyes:

                1 Antwort Letzte Antwort
                1
                • w00dst0ckW Offline
                  w00dst0ckW Offline
                  w00dst0ck
                  schrieb am zuletzt editiert von
                  #9

                  Ich bin am Ende bei dieser Keep-it-simple Variante in Verbindung mit einer Fritz DECT Steckdose gelandet.
                  Vielleicht funktioniert es ja auch bei Dir?!

                  A1144BE7-B5E5-439B-BF3E-3F5CD9CF86EC.jpeg

                  Unsere Waschmaschine verbraucht am Ende weniger als 5 Watt für den Knitterschutz und wenn dazwischen unter 1 Watt. Ggf. musst Du das für Deine Waschmaschine anpassen...

                  I 1 Antwort Letzte Antwort
                  1
                  • I init5

                    @Asgothian Vielen Dank für das Feedback. Ich brauchte ein bisschen um zu sehen wie weit ich damit komme.
                    Ich benötige einen Datenpunkt für die Weiterverarbeitung. Dieser wird zum einen in VIS angezeigt und zum Anderen in History geloggt.
                    Ich check es leider nicht ganz, bzw. nur die ersten Punkte. Im unteren Teil steige ich aus.

                    • Eine Variable für "WaMa running", bei Skript start auf falsch setzen
                    • Ein Trigger auf "power", triggern auf "wurde geändert" (NICHT wurde aktualisiert)
                    • Im Trigger als erstes die Abfrage falls Wert > 100 (Hinweis zum "wert" Baustein siehe Bild - der Baustein in dem Objekt ID steht lässt sich auf Wert umstellen - er beinhaltet immer den Wert des Objektes welchen den Trigger ausgelöst hat.
                    • im Falls-Zweig: falls nicht "WaMa running" -> WaMa running auf wahr setzen, Telegramm Nachricht senden.
                    • sonst Falls "Wert" < 5 und "letzter Wert" >= 5 ("letzter Wert" ist der gleiche Baustein wie "Wert", der kann auch auf den Wert des Objektes direkt bevor der Trigger aktiviert wurde gesetzt werden) - Dadurch wird dieser Zweig nur angesprochen wenn der Wert von >- 5 auf kleiner 5 wechselt
                    • timeout 60 sekunden - im Timeout: falls "wert von Objekt ID Power" (Hier wirklich den Datenpunktwert NEU holen, sonst wird das nichts) -> Nachricht an Telegramm, WaMa Running = falsch setzen.
                    • im sonst Zweig (von dem oben angegebenen "sonst Falls" : Timeout löschen.

                    Das ist der Stand, den ich verstanden habe :(

                    Blockly_WaMa2.png

                    Kommt das etwa hin?

                    Der Tipp mit dem Objekt ID Block, der sich auf das Objekt im Trigger bezieht ist echt hilfreich!

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

                    @init5 Nein, so geht es nicht. Versuch mal dieses:

                    Screen Shot 2020-09-07 at 23.12.01 .png

                    wobei Das Objekt 1 das Power Objekt ist, und das Objekt 2 das Objekt WaMa_running ist.

                    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
                    • w00dst0ckW w00dst0ck

                      Ich bin am Ende bei dieser Keep-it-simple Variante in Verbindung mit einer Fritz DECT Steckdose gelandet.
                      Vielleicht funktioniert es ja auch bei Dir?!

                      A1144BE7-B5E5-439B-BF3E-3F5CD9CF86EC.jpeg

                      Unsere Waschmaschine verbraucht am Ende weniger als 5 Watt für den Knitterschutz und wenn dazwischen unter 1 Watt. Ggf. musst Du das für Deine Waschmaschine anpassen...

                      I Offline
                      I Offline
                      init5
                      schrieb am zuletzt editiert von init5
                      #11

                      @w00dst0ck Bei der Variante würde ich entweder ständig Meldungen bekommen, wenn die WaMa eine Pause macht, oder aber ich würde gar keine Meldung bekommen, weil die WaMa auch im Standby (wenn sie fertig ist) über 2W braucht.

                      @Asgothian Danke, ich habe es jetzt entsprechende angepasst. Der nächste Waschgang wird zeigen, ob es jetzt funktioniert. Was mir noch etwas komisch erscheint ist dieses "falls nicht WaMa_running". Ich gehe mal davon aus, dass das "falls WaMa_running nicht true" bedeutet, aber die Notation ist wie gesagt komisch.

                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • I init5

                        @w00dst0ck Bei der Variante würde ich entweder ständig Meldungen bekommen, wenn die WaMa eine Pause macht, oder aber ich würde gar keine Meldung bekommen, weil die WaMa auch im Standby (wenn sie fertig ist) über 2W braucht.

                        @Asgothian Danke, ich habe es jetzt entsprechende angepasst. Der nächste Waschgang wird zeigen, ob es jetzt funktioniert. Was mir noch etwas komisch erscheint ist dieses "falls nicht WaMa_running". Ich gehe mal davon aus, dass das "falls WaMa_running nicht true" bedeutet, aber die Notation ist wie gesagt komisch.

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

                        @init5 sagte in Waschmaschine/Trockner fertig:

                        Was mir noch etwas komisch erscheint ist dieses "falls nicht WaMa_running". Ich gehe mal davon aus, dass das "falls WaMa_running nicht true" bedeutet, aber die Notation ist wie gesagt komisch.

                        Der Falls block erwartet eine "Bedingung", die "wahr" oder "falsch" sein kann. Bei einer Variablen X die selber "wahr" oder "falsch" sein kann ist also "falls X" das gleiche wie "falls X = wahr". Und da ich Faul bin hab ich mir den Logikblock gespart und einfach nur "WaMa_running" statt "WaMa_running = wahr" gesetzt. Dito oben - wie du auch schon richtig erkannt hast.

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

                        I 1 Antwort Letzte Antwort
                        0
                        • AsgothianA Asgothian

                          @init5 sagte in Waschmaschine/Trockner fertig:

                          Was mir noch etwas komisch erscheint ist dieses "falls nicht WaMa_running". Ich gehe mal davon aus, dass das "falls WaMa_running nicht true" bedeutet, aber die Notation ist wie gesagt komisch.

                          Der Falls block erwartet eine "Bedingung", die "wahr" oder "falsch" sein kann. Bei einer Variablen X die selber "wahr" oder "falsch" sein kann ist also "falls X" das gleiche wie "falls X = wahr". Und da ich Faul bin hab ich mir den Logikblock gespart und einfach nur "WaMa_running" statt "WaMa_running = wahr" gesetzt. Dito oben - wie du auch schon richtig erkannt hast.

                          I Offline
                          I Offline
                          init5
                          schrieb am zuletzt editiert von
                          #13

                          @Asgothian es funktioniert leider nicht. Es kommen nach wie vor ständig "WaMa läuft" und "WaMa fertig" Meldungen :(

                          AsgothianA 1 Antwort Letzte Antwort
                          0
                          • I init5

                            @Asgothian es funktioniert leider nicht. Es kommen nach wie vor ständig "WaMa läuft" und "WaMa fertig" Meldungen :(

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

                            @init5 kannst du mal bitte aufzeichnen wie sich der Datenpunkt "power" über die Zeit verhält ? Ich bin mir sicher das sich da etwas bewegt.

                            A.

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

                            I 1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @init5 kannst du mal bitte aufzeichnen wie sich der Datenpunkt "power" über die Zeit verhält ? Ich bin mir sicher das sich da etwas bewegt.

                              A.

                              I Offline
                              I Offline
                              init5
                              schrieb am zuletzt editiert von
                              #15

                              @Asgothian Den Datenpunkt habe ich bereits aufgezeichnet. Aber nach was suchen wir da genau?
                              Das komische ist, dass die Meldungen sogar mehrmals pro Minute kommen. Dabei sollte das Timeout doch zumindest verursachen, dass der Status "WaMa running = true" mindestens die gewählte Zeit lang gehalten wird?

                              AsgothianA 1 Antwort Letzte Antwort
                              0
                              • I init5

                                @Asgothian Den Datenpunkt habe ich bereits aufgezeichnet. Aber nach was suchen wir da genau?
                                Das komische ist, dass die Meldungen sogar mehrmals pro Minute kommen. Dabei sollte das Timeout doch zumindest verursachen, dass der Status "WaMa running = true" mindestens die gewählte Zeit lang gehalten wird?

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

                                @init5 Zeig mir die Aufzeichnung bitte mal

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

                                AsgothianA 1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @init5 Zeig mir die Aufzeichnung bitte mal

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

                                  @Asgothian Und bitte auch das Skript so wie du es gerade laufen hast

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

                                  I 1 Antwort Letzte Antwort
                                  0
                                  • AsgothianA Asgothian

                                    @Asgothian Und bitte auch das Skript so wie du es gerade laufen hast

                                    I Offline
                                    I Offline
                                    init5
                                    schrieb am zuletzt editiert von init5
                                    #18

                                    @Asgothian

                                    Ich hatte leider noch die Eigenschaft "entprellen - nur aufzeichnen, wenn Wert min. 1000ms gleich" aktiviert.


                                    0 true shelly.0 2020-09-08 18:23:15.182
                                    3.83 true shelly.0 2020-09-08 18:23:11.171
                                    15.8 true shelly.0 2020-09-08 18:22:59.408
                                    15.92 true shelly.0 2020-09-08 18:22:55.174
                                    16.06 true shelly.0 2020-09-08 18:22:45.186
                                    16.85 true shelly.0 2020-09-08 18:22:30.187
                                    16.93 true shelly.0 2020-09-08 18:22:15.182
                                    19.03 true shelly.0 2020-09-08 18:22:14.174
                                    136.9 true shelly.0 2020-09-08 18:22:12.174
                                    437.7 true shelly.0 2020-09-08 18:21:59.551
                                    436.94 true shelly.0 2020-09-08 18:21:54.174
                                    439.89 true shelly.0 2020-09-08 18:21:39.175
                                    415.76 true shelly.0 2020-09-08 18:21:31.186
                                    417.03 true shelly.0 2020-09-08 18:21:16.175
                                    395.72 true shelly.0 2020-09-08 18:21:10.216
                                    419.37 true shelly.0 2020-09-08 18:21:07.178
                                    463.1 true shelly.0 2020-09-08 18:21:03.176
                                    433.36 true shelly.0 2020-09-08 18:21:01.173
                                    367.92 true shelly.0 2020-09-08 18:21:00.172
                                    302.74 true shelly.0 2020-09-08 18:20:58.174
                                    271.32 true shelly.0 2020-09-08 18:20:57.174
                                    302.98 true shelly.0 2020-09-08 18:20:55.175
                                    559.35 true shelly.0 2020-09-08 18:20:52.175
                                    653.75 true shelly.0 2020-09-08 18:20:51.174
                                    700.72 true shelly.0 2020-09-08 18:20:49.177
                                    749.26 true shelly.0 2020-09-08 18:20:46.173
                                    353.25 true shelly.0 2020-09-08 18:20:43.176
                                    281.23 true shelly.0 2020-09-08 18:20:29.421
                                    282.14 true shelly.0 2020-09-08 18:20:14.423
                                    280.56 true shelly.0 2020-09-08 18:19:59.412
                                    281.52 true shelly.0 2020-09-08 18:19:44.441
                                    284.8 true shelly.0 2020-09-08 18:19:29.434
                                    288.18 true shelly.0 2020-09-08 18:19:14.424
                                    285.69 true shelly.0 2020-09-08 18:18:59.406
                                    286.6 true shelly.0 2020-09-08 18:18:46.181
                                    284.22 true shelly.0 2020-09-08 18:18:31.179
                                    286.5 true shelly.0 2020-09-08 18:18:16.182
                                    299.45 true shelly.0 2020-09-08 18:18:01.175
                                    258.98 true shelly.0 2020-09-08 18:17:59.416
                                    265.4 true shelly.0 2020-09-08 18:17:57.175
                                    558.79 true shelly.0 2020-09-08 18:17:43.177
                                    1034.19 true shelly.0 2020-09-08 18:17:40.178
                                    204.41 true shelly.0 2020-09-08 18:17:37.197
                                    199.74 true shelly.0 2020-09-08 18:17:22.176
                                    219.35 true shelly.0 2020-09-08 18:17:20.193
                                    249.79 true shelly.0 2020-09-08 18:17:19.178
                                    232.93 true shelly.0 2020-09-08 18:17:17.179
                                    90.04 true shelly.0 2020-09-08 18:17:14.176

                                    Das Skript sieht aus, wie du es vorgschlagen hast

                                    Blockly_WaMa3.png

                                    AsgothianA 1 Antwort Letzte Antwort
                                    0
                                    • I init5

                                      @Asgothian

                                      Ich hatte leider noch die Eigenschaft "entprellen - nur aufzeichnen, wenn Wert min. 1000ms gleich" aktiviert.


                                      0 true shelly.0 2020-09-08 18:23:15.182
                                      3.83 true shelly.0 2020-09-08 18:23:11.171
                                      15.8 true shelly.0 2020-09-08 18:22:59.408
                                      15.92 true shelly.0 2020-09-08 18:22:55.174
                                      16.06 true shelly.0 2020-09-08 18:22:45.186
                                      16.85 true shelly.0 2020-09-08 18:22:30.187
                                      16.93 true shelly.0 2020-09-08 18:22:15.182
                                      19.03 true shelly.0 2020-09-08 18:22:14.174
                                      136.9 true shelly.0 2020-09-08 18:22:12.174
                                      437.7 true shelly.0 2020-09-08 18:21:59.551
                                      436.94 true shelly.0 2020-09-08 18:21:54.174
                                      439.89 true shelly.0 2020-09-08 18:21:39.175
                                      415.76 true shelly.0 2020-09-08 18:21:31.186
                                      417.03 true shelly.0 2020-09-08 18:21:16.175
                                      395.72 true shelly.0 2020-09-08 18:21:10.216
                                      419.37 true shelly.0 2020-09-08 18:21:07.178
                                      463.1 true shelly.0 2020-09-08 18:21:03.176
                                      433.36 true shelly.0 2020-09-08 18:21:01.173
                                      367.92 true shelly.0 2020-09-08 18:21:00.172
                                      302.74 true shelly.0 2020-09-08 18:20:58.174
                                      271.32 true shelly.0 2020-09-08 18:20:57.174
                                      302.98 true shelly.0 2020-09-08 18:20:55.175
                                      559.35 true shelly.0 2020-09-08 18:20:52.175
                                      653.75 true shelly.0 2020-09-08 18:20:51.174
                                      700.72 true shelly.0 2020-09-08 18:20:49.177
                                      749.26 true shelly.0 2020-09-08 18:20:46.173
                                      353.25 true shelly.0 2020-09-08 18:20:43.176
                                      281.23 true shelly.0 2020-09-08 18:20:29.421
                                      282.14 true shelly.0 2020-09-08 18:20:14.423
                                      280.56 true shelly.0 2020-09-08 18:19:59.412
                                      281.52 true shelly.0 2020-09-08 18:19:44.441
                                      284.8 true shelly.0 2020-09-08 18:19:29.434
                                      288.18 true shelly.0 2020-09-08 18:19:14.424
                                      285.69 true shelly.0 2020-09-08 18:18:59.406
                                      286.6 true shelly.0 2020-09-08 18:18:46.181
                                      284.22 true shelly.0 2020-09-08 18:18:31.179
                                      286.5 true shelly.0 2020-09-08 18:18:16.182
                                      299.45 true shelly.0 2020-09-08 18:18:01.175
                                      258.98 true shelly.0 2020-09-08 18:17:59.416
                                      265.4 true shelly.0 2020-09-08 18:17:57.175
                                      558.79 true shelly.0 2020-09-08 18:17:43.177
                                      1034.19 true shelly.0 2020-09-08 18:17:40.178
                                      204.41 true shelly.0 2020-09-08 18:17:37.197
                                      199.74 true shelly.0 2020-09-08 18:17:22.176
                                      219.35 true shelly.0 2020-09-08 18:17:20.193
                                      249.79 true shelly.0 2020-09-08 18:17:19.178
                                      232.93 true shelly.0 2020-09-08 18:17:17.179
                                      90.04 true shelly.0 2020-09-08 18:17:14.176

                                      Das Skript sieht aus, wie du es vorgschlagen hast

                                      Blockly_WaMa3.png

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

                                      @init5 Das mit dem entprellen solltest du noch einmal abschalten und neu aufnehmen. Am Besten dann als Textdatei oder Code hinter Spoiler posten.

                                      Ich gehe davon aus das bei den nicht entstellten Werten sich der Grund versteckt warum das Skript ständig "start" und "ende" meldet.

                                      Alternativ mal bitte vor jeweils vor dem Telegramm Baustein den Folgenden Baustein einbauen:
                                      Screen Shot 2020-09-08 at 22.24.06 .png

                                      und

                                      Screen Shot 2020-09-08 at 22.26.03 .png
                                      Dann kannst Du im Log sehen wie die Werte aussehen gestartet und angehalten wird.

                                      A.

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

                                      I 2 Antworten Letzte Antwort
                                      0
                                      • AsgothianA Asgothian

                                        @init5 Das mit dem entprellen solltest du noch einmal abschalten und neu aufnehmen. Am Besten dann als Textdatei oder Code hinter Spoiler posten.

                                        Ich gehe davon aus das bei den nicht entstellten Werten sich der Grund versteckt warum das Skript ständig "start" und "ende" meldet.

                                        Alternativ mal bitte vor jeweils vor dem Telegramm Baustein den Folgenden Baustein einbauen:
                                        Screen Shot 2020-09-08 at 22.24.06 .png

                                        und

                                        Screen Shot 2020-09-08 at 22.26.03 .png
                                        Dann kannst Du im Log sehen wie die Werte aussehen gestartet und angehalten wird.

                                        A.

                                        I Offline
                                        I Offline
                                        init5
                                        schrieb am zuletzt editiert von
                                        #20

                                        @Asgothian Die beiden debug outputs hab ich eingebaut und morgen wird gewaschen. Die Werte aus meinem letzten Post in in einen Spoiler verpackt. Vielen Dank für deine Ausdauer!

                                        1 Antwort Letzte Antwort
                                        0
                                        • AsgothianA Asgothian

                                          @init5 Das mit dem entprellen solltest du noch einmal abschalten und neu aufnehmen. Am Besten dann als Textdatei oder Code hinter Spoiler posten.

                                          Ich gehe davon aus das bei den nicht entstellten Werten sich der Grund versteckt warum das Skript ständig "start" und "ende" meldet.

                                          Alternativ mal bitte vor jeweils vor dem Telegramm Baustein den Folgenden Baustein einbauen:
                                          Screen Shot 2020-09-08 at 22.24.06 .png

                                          und

                                          Screen Shot 2020-09-08 at 22.26.03 .png
                                          Dann kannst Du im Log sehen wie die Werte aussehen gestartet und angehalten wird.

                                          A.

                                          I Offline
                                          I Offline
                                          init5
                                          schrieb am zuletzt editiert von
                                          #21

                                          @Asgothian Heute liefen einige Waschgänge und was soll ich sagen ... es funktioniert. Dein Skript läuft und tut was es soll. Das Problem lag woanders. Und zwar habe ich beim vielen rumtesten immer mal den aktuellen Stand dupliziert. Scheinbar bin ich in der Zeile verrutscht und es lief nicht das aktuelle.

                                          Hier fehlte im Sonst Zweig die Bedingung "und vorheriger Wert >5". Zudem waren die Werte noch vom Typ Text und nicht aus dem Mathematik-Block, wie bei dir. Bei letzterem weiß ich nicht ob es einen Unterschied macht.

                                          Jetzt passt es auf jeden Fall und ich kann anfangen den Trockner mit zu überwachen und solche Späße wir den Verbrauch mit einzubauen. Vielen Dank!

                                          AsgothianA 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

                                          305

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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