NEWS
Wann ist die Waschmaschine fertig - Abfrage mit Blockly machen
-
Verstehe ich auch nicht so richtig was das damit zu tun hat ob Aktor oder nicht.
Desweiteren gibt es übrigens schon mehrere fertige Scripte hier im Forum. Nur so am Rande mal erwähnt.
Gruß
-
Hallo Leute,
Erstmal vielen Dank für alle eure Antworten.
Ich werde es mal so wie michi050 beschrieben hat probieren.
Könntest mir das eventuell exportieren oder mir sagen wie du die rot markierten Werte bekommen hast.
Da stehe ich im Moment gerade ein wenig an und weiß nicht wie ich die eintragen soll.
Ich kann hier nur eine Object ID auswählen aber kann den z.b. stateWasch nicht manuell eintragen.
ODer habe ich hier schlichtweg einen kleinen Denkfehler.
Danke schon mal und lg
mandragora
3209_chrome_2017-10-03_16-44-50.png -
Hallo Leute,
Kann mir ev. jemand sagen wie ich das bewerkstelligen kann ?
Mir fehlt leider auch nach gründlicher Recherche und versuchen die Lösung hierfür.
Vielen Dank und LG
mandragora
-
Sieht nach selbst angelegten globalen Variablen aus.
Die kannst Du manuell unter Objekte anlegen oder so.
Grüße
-
Hi Rantanplan
Vielen Dank für den Hinweis.
An das hätte ich jetzt mal nicht gedacht.
Denke ich hab es mal so hinbekommen.
Hab ein neues Object erstellt (siehe Screenshot)
Denke sollte so passen.
Hab mal für alle die das auch interessiert mal exportiert
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="4kI6K#kLMWW7D/5^{Z2" x="63" y="-62"><field name="NAME">stateWasch</field>
<statement name="STATEMENT"><block type="on" id=".B~m!{CJE@9]NV5--a:"><field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="u?t)=%-xrOeW!;BGvL{["><value name="IF0"><block type="logic_compare" id="=:RZdT*fv,LY#GD:GgS-"><field name="OP">LT</field> <value name="A"><block type="get_value" id="~LgA*O^;]=kC-ogm;OrS"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> <value name="B"><block type="math_number" id="lC^;oWs?R3NrF=@FuV3f"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="control" id="=-?{4Hwj1QAzM,C7Cfa5"><mutation delay_input="false"></mutation> <field name="OID">stateWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="k];)%0JpddBx(esR.J1u"><field name="NUM">0</field></block></value></block></statement> <next><block type="controls_if" id="_j0,#X(r}%2AeY#UcT9%"><value name="IF0"><block type="logic_operation" id="bD0pBr8GnlBl7.0U{{#?"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="*CITYBgh3v^R~ZTGXhu."><field name="OP">GT</field> <value name="A"><block type="get_value" id="[Je1u7bUBC}xAAlKm5U5"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> <value name="B"><block type="math_number" id="UW-00NFS3P(#_LPDTs*f"><field name="NUM">1</field></block></value></block></value> <value name="B"><block type="logic_compare" id="ad=W2Pf/?(._qO_!R(T_"><field name="OP">LT</field> <value name="A"><block type="get_value" id="2owp~c(_7BKDkU5fj15:"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.POWER</field></block></value> <value name="B"><block type="math_number" id="8(k-@3S1t`OgfEDIfIe{"><field name="NUM">40</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id=".`gm`P{(s9lJKoX7Pb*9"><mutation delay_input="false"></mutation> <field name="OID">stateWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="`{[F9dITcjHp)sB@RGWf"><field name="NUM">0</field></block></value></block></statement> <next><block type="controls_if" id="_~Tt)WB0EUv~OEdU}LVL"><value name="IF0"><block type="logic_compare" id="b||7y1u36b-:I:6P=I%e"><field name="OP">GT</field> <value name="A"><block type="get_value" id="v|=xnBr8*xtG:hzKrPA{"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.1.STATE</field></block></value> <value name="B"><block type="math_number" id="9jz!NZM=U[?XkXj3An]X"><field name="NUM">40</field></block></value></block></value></block></next></block></next></block></statement></block></statement> <next><block type="create" id="0y,J1r96,u/OkNjmM*z~"><field name="NAME">statezaehlerWasch</field> <statement name="STATEMENT"><block type="on" id="S|D6z0V^4#S?Jv~8[%H("><field name="OID">stateWasch</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="fJ}u{~Y|L-d~7=~J*Wjm"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="^`.;R}H#2V_X)o#2Qj3|"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="zaA@iupx,g8z%yT-`c7U"><field name="ATTR">val</field> <field name="OID">stateWasch</field></block></value> <value name="B"><block type="math_number" id="D0%Li7^`45RW;mqU.J.A"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="A8`l:C]1d,98WnqH]2_Q"><field name="NAME">Intervall</field> <field name="INTERVAL">5000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="R!lz(3;:7gm;PSJ//cpS"><mutation delay_input="false"></mutation> <field name="OID">statezaehlerWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_arithmetic" id="Z(vTSC?93}uBp{LQH@-C"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="QhFf#w5L:F}D:vdt!_*9"><field name="NUM">1</field></shadow> <block type="get_value" id="H.IvKD#4G_1|GK%mXgMX"><field name="ATTR">val</field> <field name="OID">statezaehlerWasch</field></block></value> <value name="B"><shadow type="math_number" id="w7215[0Jx}hc7a!5CmeI"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> <statement name="ELSE"><block type="control" id="U|qe+W/p`XN(4(|YWiai"><mutation delay_input="false"></mutation> <field name="OID">statezaehlerWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="_]+XH(pS4cEvf4iIjJ(:"><field name="NUM">0</field></block></value> <next><block type="timeouts_clearinterval" id="Sv]EinxGY|`J?NB;)Q]d"><field name="NAME">Intervall</field></block></next></block></statement> <next><block type="controls_if" id="X0iuS@Lx1=inSLkW6M[x"><value name="IF0"><block type="logic_compare" id="bGNFnQ`%W~ZEPP7C)HNq"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="cb/PXledpGI#GgH9m#@w"><field name="ATTR">val</field> <field name="OID">statezaehlerWasch</field></block></value> <value name="B"><block type="math_number" id="nzT^z[Jvxx:Gwex/[BC."><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="n9M9,OS(UZ.g-Cnl,)HM"><field name="NAME">Intervall</field> <next><block type="timeouts_clearinterval" id="DP*|PG)CoJT_c})6xb*^"><field name="NAME">Intervall2</field></block></next></block></statement> <next><block type="controls_if" id="~01hTJ;z:+4Pa}t}eJ3s"><value name="IF0"><block type="logic_compare" id="fpOt==sXNHhx3J8BVOaf"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="|9%xH4p`Jc5+)~_a{/C_"><field name="ATTR">val</field> <field name="OID">stateWasch</field></block></value> <value name="B"><block type="math_number" id="ayCU6W~Dqk]o5;XwLt2K"><field name="NUM">2</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="8n%mZ*Nw`q,;#xH2(~p;"><field name="NAME">Intervall2</field></block></statement></block></next></block></next></block></statement> <next><block type="on" id="A;4Se,QWJqzGp(H[Mci#"><field name="OID">statezaehlerWasch</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="GJ*)9xp1Nzv.CEq+eXb+"><value name="IF0"><block type="logic_operation" id="ry-)dG{N*vyeL`3Q`7N8"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="S+T!x;sjQyJXZ(UZ0(0^"><field name="OP">GT</field> <value name="A"><block type="get_value" id="gZxv@crS.TQ^_V9e0htO"><field name="ATTR">val</field> <field name="OID">statezaehlerWasch</field></block></value> <value name="B"><block type="math_number" id="d_~i@27iWH#o5L{@yxvd"><field name="NUM">50</field></block></value></block></value> <value name="B"><block type="logic_compare" id="%`4Foi|ZUjzg@!q=j8^_"><field name="OP">GT</field> <value name="A"><block type="get_value" id="eL=^zMOFGb1_}TsEk1|Q"><field name="ATTR">val</field> <field name="OID">stateWasch</field></block></value> <value name="B"><block type="math_number" id="ir,?=C|Dh5E^`+99R`R#"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="9C!Cmq{go?dm;gh,z]Aj"><field name="NAME">Intervall2</field> <field name="INTERVAL">6000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="sayit" id="IQU#:hyPDc57,WnB*2G0"><field name="INSTANCE">.0</field> <field name="LANGUAGE">de</field> <value name="MESSAGE"><shadow type="text" id="?.UN?S@.P;qTkaP4![iE"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value> <next><block type="telegram" id="{aBH^o)/=6E)R3LO_b=2"><field name="INSTANCE">.0</field> <value name="MESSAGE"><shadow type="text" id="us]e@P5ccxBjLtUqMDRf"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value></block></next></block></statement> <next><block type="timeouts_clearinterval" id="B#p8-3Y-~KoVSuc+[+e~"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></xml>
Werde das Ganze mal testen und schauen ob es auch so funktioniert wie ich mir das vorstelle. Danke und LG mandragora [3209_2017-10-04_19h59_16.jpg](/assets/uploads/files/3209_2017-10-04_19h59_16.jpg)
-
So klappt das nicht!
Hier im Forum gibt es Beiträge dazu.
Am einfachsten startest Du 1X ein Script wo Du mein Beispiel nachstellst.
Oder Du legst manuell unter "javascript.0" an.
Type=Datenpunkt, Datetyp=Zahl
Deine Einträge würde ich löschen.
Grüße
-
Hi Rantanplan.
Jetzt hab ichs gerafft.
Danke dir.
Hab hier irgendwie um die Kurve gedacht.
Werde nun testen ob das bei mir nun auch so funktioniert wie es soll.
Und wieder was dazu gelernt.
Vielen herzlichen Dank nochmals.
lg
mandragora
-
Hallo,
die Variablen werden doch nach speichern und starten des Scipt automatisch angelegt.
Gruß
1914_wasch.txt -
Hallo Michi,
ja vielen Dank.
Bin noch nicht so bewandert mit Blockly und da sind oft Kleinigkeiten die mich zum Grübeln bringen.
Nun ist mir wieder einiges klarer.
VIelen Dank auch für den Export und deiner Hilfe.
lg
mandragora
-
Hallo nochmals.
Ich bin gerade dabei das Script zu testen aber irgendwie scheine ich das Ganze noch nicht so richtig zu verstehen.
Habe alles wie von michi050 bei mir eingebunden.
Aber irgendwo hab ich anscheinend noch einen Denkfehler beim Einstellen der Parameter.
Meine Funktsteckdose frage ich mit dem mA Wert ab.
Im Leerlauf verbraucht die Waschmaschine 34 mA.
Während des Betriebes geht die Waschmaschine nie auf 34 mA zurück.
Ich habe jetzt schon etliche Parameter im Script verändert aber anscheinend verstehe ich das Ganze noch nicht ganz.
Kann mir jemand auf die Sprünge helfen wo ich die nötigen Parameter setzen muss damit das bei mir funktioniert.
Vielen Dank schon mal im Voraus
lg
mandragora
-
Wenn Du die Stromaufnahme als Abfrage nehmen willst, musst du die Datenpunkte .Power austauschen, gegen die mit .current.
Dann die Werte anpassen und dann sollte das laufen.
Ansonsten wäre ein Export von deinem Blockly hilfreich.
mfg
dna909
-
Hallo,
mal ne blöde Frage. Warum nutzt du nicht die Wenn/Dann Funktion der CCU2 um diese Abfrage zu realisieren.
Bei läuft das zuverlässig und ich bekomme dann die Meldung über Telegram aufs Handy.
-
Hallo,
Anbei mal mein letzer Versuch.
Trockner Bereich bitte ignorieren.. ist noch nicht in Verwendung
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="3(+ht|)}pjx@g*jlMSP-" x="-1387" y="-713"><field name="NAME">stateWasch</field>
<statement name="STATEMENT"><block type="on" id="CsK8ICF@K6:%TQ{T;]G0"><field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="38^rWSB,U/l?Oe]ZI_);"><value name="IF0"><block type="logic_compare" id="qEY)`V_u~Lnx[+.OF,I9"><field name="OP">LT</field> <value name="A"><block type="get_value" id="EZCeKlk7}6}Bm`W:T7.6"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> <value name="B"><block type="math_number" id="!5SMR~:H+B4^Lj04C2E:"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="control" id=".gwn]7b(a6)Ex90*v^VR"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.stateWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="H,B.aEIs6M4{)~PC_,1r"><field name="NUM">0</field></block></value></block></statement> <next><block type="controls_if" id="IaZ^6]{gl~zsw=fz:~z@"><value name="IF0"><block type="logic_operation" id="tc?Y7NMf%4wGa.aTdDVo"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="VTUe#]ql]FoOSz^=aHe{"><field name="OP">GT</field> <value name="A"><block type="get_value" id="o2K[KO@01wL9ZL8Z,i}Q"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> <value name="B"><block type="math_number" id="Dh;8ZOw#hrWN9(U8_psS"><field name="NUM">1</field></block></value></block></value> <value name="B"><block type="logic_compare" id="_0uLC)9..jZd|4%A!/*f"><field name="OP">LT</field> <value name="A"><block type="get_value" id="O^4W:elKh=1tcN66;U8I"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> <value name="B"><block type="math_number" id="xRH*euSUD}1eBT@ZG4O?"><field name="NUM">32</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="o);2:pPxiV+J7NmNhimA"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.stateWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="%M)IG}iYVy4|W!mFa])L"><field name="NUM">1</field></block></value></block></statement> <next><block type="controls_if" id="`-^N2yzGJlgLxn9wy|pi"><value name="IF0"><block type="logic_compare" id="HP/.rftYe[^BnefRgt[e"><field name="OP">GT</field> <value name="A"><block type="get_value" id="MU_~(}S#DQ?bm|jc2A=s"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.LEQ1316334.2.CURRENT</field></block></value> <value name="B"><block type="math_number" id="Z8[tfbfAF[,`,ruzX2|a"><field name="NUM">32</field></block></value></block></value> <statement name="DO0"><block type="control" id="UCgVIVIFeLPaXZZ*}RFl"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.stateWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id=",*!Sw~XG5KGq|JxgU5ih"><field name="NUM">2</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> <next><block type="create" id="CVfT2kuKJTJvlUAcu#9C"><field name="NAME">statezaehlerWasch</field> <statement name="STATEMENT"><block type="on" id="c@kQWqJBPfUI)z=~-^0:"><field name="OID">javascript.0.statezaehlerWasch</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="Q_vh(2V]-EbwC{HRyX9O"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="v3l+dzdP,S,gI:MR%|,="><field name="OP">EQ</field> <value name="A"><block type="get_value" id="}42JAzBt4w#TEfKJIMRN"><field name="ATTR">val</field> <field name="OID">javascript.0.stateWasch</field></block></value> <value name="B"><block type="math_number" id="7W/(Gtr{SD#[Q@ieLk,E"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="5=05m9sOMS{exPZ*QN)1"><field name="NAME">Intervall</field> <field name="INTERVAL">5000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="6[x`g+9O%XeWACOIfr(D"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.statezaehlerWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_arithmetic" id="C!rG2gsCN7B+jc_I!Z9m"><field name="OP">ADD</field> <value name="A"><shadow id="=g!l[t]GGE9+QQ,_jztH" type="math_number"><field name="NUM">1</field></shadow> <block type="get_value" id="EW2l7[y3_7^uAP/O}D+`"><field name="ATTR">val</field> <field name="OID">javascript.0.statezaehlerWasch</field></block></value> <value name="B"><shadow type="math_number" id="/%[=M1Ayq7iO^N]Auc.2"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> <statement name="ELSE"><block type="control" id="(=UAym=utHp-F(AgM^U("><mutation delay_input="false"></mutation> <field name="OID">javascript.0.statezaehlerWasch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="]l,%?rBfpjkZr8,8tE7+"><field name="NUM">0</field></block></value> <next><block type="timeouts_clearinterval" id="[A0fIzPHC%{(o)-Qu+7t"><field name="NAME">Intervall</field></block></next></block></statement> <next><block type="controls_if" id="t6Sg|:W0Pu{1wn)DVM?z"><value name="IF0"><block type="logic_compare" id="2ZRj0F`Ha9y:j*HNr_/0"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="UthuHe}U]TIocNJByE4e"><field name="ATTR">val</field> <field name="OID">javascript.0.stateWasch</field></block></value> <value name="B"><block type="math_number" id="PVu?6ccG37bfg-ZndfNu"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="#Mzpiks?caIw)G3EhPq/"><field name="NAME">Intervall</field> <next><block type="timeouts_clearinterval" id=".iY=1l9ZBrqn98@X?kps"><field name="NAME">Intervall2</field></block></next></block></statement> <next><block type="controls_if" id="F/gS8yNM}hWM_sP.|5V#"><value name="IF0"><block type="logic_compare" id="l!-I+Ac9(xNn^Pv_S^(("><field name="OP">EQ</field> <value name="A"><block type="get_value" id="QksI6_-MnmIgnE1@#=rr"><field name="ATTR">val</field> <field name="OID">javascript.0.stateWasch</field></block></value> <value name="B"><block type="math_number" id="=}4Y%8K?l1;~_5YS[_sK"><field name="NUM">2</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="E1}rcxzy}1nG3V`cCDrU"><field name="NAME">Intervall2</field></block></statement></block></next></block></next></block></statement> <next><block type="on" id="g{,DubcFl~T`:#,:P)ar"><field name="OID">javascript.0.statezaehlerWasch</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="X/px+_@O_[*^`+):;2o)"><value name="IF0"><block type="logic_operation" id="vD[WmR{r2H,ZNPI6#HGj"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Z0^w](df`urTMV_^,A.S"><field name="OP">GT</field> <value name="A"><block type="get_value" id="b,:eZedEzIVu+izbkP4/"><field name="ATTR">val</field> <field name="OID">javascript.0.statezaehlerWasch</field></block></value> <value name="B"><block type="math_number" id="srtuo?7[DU+{dOWKd`hM"><field name="NUM">38</field></block></value></block></value> <value name="B"><block type="logic_compare" id="d,u``{1:{2|R5g-=-xo="><field name="OP">GT</field> <value name="A"><block type="get_value" id="fTm4=ZqjmXU]HUJIox|N"><field name="ATTR">val</field> <field name="OID">javascript.0.stateWasch</field></block></value> <value name="B"><block type="math_number" id="_b3jer/*Yc-6CX9Zp6JR"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="A]_OJZPbB;jhHb0N%XRS"><field name="NAME">Intervall2</field> <field name="INTERVAL">60000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="sayit" id="2C-5!u3RZ9r:8PIpSAM3"><field name="INSTANCE">.0</field> <field name="LANGUAGE">de</field> <value name="MESSAGE"><shadow type="text" id="CqY5`YVq1tV]RT5EZ%_I"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value> <next><block type="sendto_custom" id="QGC.*r?hlDsWXIHPX`eu"><mutation items="parameter1" with_statement="false"></mutation> <field name="INSTANCE">telegram.0</field> <field name="COMMAND">send</field> <field name="WITH_STATEMENT">FALSE</field> <value name="ARG0"><shadow type="text" id="RagxaiCzCu{hx?r@%q4u"><field name="TEXT">Die Waschmaschine ist fertig</field></shadow></value></block></next></block></statement> <next><block type="timeouts_clearinterval" id="k0e5C{uzr8/tHvzuS-tm"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></statement> <next><block type="create" id="qvtk2OM{p[BEiS1AXaGf"><field name="NAME">stateTrockner</field> <statement name="STATEMENT"><block type="on" id="G,xQ;Vg^-2)bY;+3~qT)"><field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="cqmr|49igl8hFT)mAA6~"><value name="IF0"><block type="logic_compare" id="extv07ywJozNX:ohE=m="><field name="OP">LT</field> <value name="A"><block type="get_value" id="0f^YtOvC:[Bwd5]JY{4*"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> <value name="B"><block type="math_number" id="IMh}f29~]X;h^1kl-Fjy"><field name="NUM">0.5</field></block></value></block></value> <statement name="DO0"><block type="control" id="@4tIZ3aDV]DT2.VTrFD)"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.stateTrockner</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="T!=ALTiZkg|r7*L+SNeW"><field name="NUM">0</field></block></value></block></statement> <next><block type="controls_if" id="oeE%%Jn@X(]G:+N[IpF1"><value name="IF0"><block type="logic_operation" id="@Ghr^`#lg2[65cF_J=mV"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="43RO~zx+SeUCKZAUEg6o"><field name="OP">GT</field> <value name="A"><block type="get_value" id="KUVRX;YkZ67x.4`r@O%A"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> <value name="B"><block type="math_number" id="3Qq5d|Hzq78q9~zd?~c!"><field name="NUM">0.5</field></block></value></block></value> <value name="B"><block type="logic_compare" id="!X0dgH+P6bl:1FPxTkGh"><field name="OP">LT</field> <value name="A"><block type="get_value" id="]%Wtu]?k!Sj~B_`fIKUl"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> <value name="B"><block type="math_number" id="(e9ib?:F6k.o,fWV34px"><field name="NUM">100</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="a[Cd3f,O/GJOZzOvQ;KX"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.stateTrockner</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="xA,J7,fMmt!Z~E)?F5!v"><field name="NUM">1</field></block></value></block></statement> <next><block type="controls_if" id="|6HqaA6l`Y[p!A^@PT1}"><value name="IF0"><block type="logic_compare" id=".Aw=F,T~jS)tTESpd%)?"><field name="OP">GT</field> <value name="A"><block type="get_value" id="mc~6m/H7|9;_2%1os!o*"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ1559439.2.POWER</field></block></value> <value name="B"><block type="math_number" id="ik_)SNS93V_XnDe8#0bF"><field name="NUM">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="A]kU+5Y|I*nVM?q;#l4="><mutation delay_input="false"></mutation> <field name="OID">javascript.2.stateTrockner</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="}[mJg~]/bCCxgbhj=d~k"><field name="NUM">2</field></block></value></block></statement></block></next></block></next></block></statement></block></statement> <next><block type="create" id="/K|y2EEZak[tFo:c{%W]"><field name="NAME">statezaehlerTrockner</field> <statement name="STATEMENT"><block type="on" id="AqH{:ZSr`giIi8x(N8qB"><field name="OID">javascript.2.stateTrockner</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="F?5}P5C7#_uD*mD#VR:+"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="ns=pqy^-JL))LK^15eEM"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=";Tc!_Xy{{b]kUpI=jodG"><field name="ATTR">val</field> <field name="OID">javascript.2.stateTrockner</field></block></value> <value name="B"><block type="math_number" id="=u8N=i-umNo-gc@~;)jO"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="h5YW99[o2AaEr%H?0n.]"><field name="NAME">Intervall3</field> <field name="INTERVAL">5000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="CEM8kc.tClL6(AJxDN@9"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.statezaehlerTrockner</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_arithmetic" id="5s3mCI|Oiq,-[I1%Ipm#"><field name="OP">ADD</field> <value name="A"><shadow id="=g!l[t]GGE9+QQ,_jztH" type="math_number"><field name="NUM">1</field></shadow> <block type="get_value" id="i|tfxXum`I_h,OkHZc!E"><field name="ATTR">val</field> <field name="OID">javascript.2.statezaehlerTrockner</field></block></value> <value name="B"><shadow type="math_number" id="#*I-lA0g;.h*ynbm~mg~"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement> <statement name="ELSE"><block type="control" id="9XUVGw:(#._(uIhK_|P:"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.statezaehlerTrockner</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="5aY.f_sfkFt}p1I)Jq.G"><field name="NUM">0</field></block></value> <next><block type="timeouts_clearinterval" id="z|Y6mG/2l[tVVeg]^x)7"><field name="NAME">Intervall3</field></block></next></block></statement> <next><block type="controls_if" id="^eVjyxqus6EC=jr7CvNe"><value name="IF0"><block type="logic_compare" id="VZVwb+K?tx!*21m2GNY#"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="F6l6|sNgmL;o;Xe^WeiB"><field name="ATTR">val</field> <field name="OID">javascript.2.stateTrockner</field></block></value> <value name="B"><block type="math_number" id="OWSjVH41E4lBFXwX,bV%"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="k3!U1JyZ;eA-}l2J(4_4"><field name="NAME">Intervall3</field> <next><block type="timeouts_clearinterval" id="o-CHv+]%gNAFb1?l%~yL"><field name="NAME">Intervall4</field></block></next></block></statement> <next><block type="controls_if" id="okxL3sCA?%37hB~9bSxZ"><value name="IF0"><block type="logic_compare" id="@=xOL@c[8O5}qACF/1on"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="bEAvO3gqS@?O5B+9o2kD"><field name="ATTR">val</field> <field name="OID">javascript.2.stateTrockner</field></block></value> <value name="B"><block type="math_number" id="TE}{eLj3(`))xS,]u)R9"><field name="NUM">2</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="3ZgYfNZ(7C|a/y_Eat7I"><field name="NAME">Intervall4</field></block></statement></block></next></block></next></block></statement> <next><block type="on" id="|c#jU_BLifB;J}_WLNo|"><field name="OID">javascript.2.statezaehlerTrockner</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="rkskfXWd{oZ._!a?ZiG?"><value name="IF0"><block type="logic_operation" id="`UA#c_#QsVd#Dh8:d}cS"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="GiT!f~Ma@8GC4Fs])A^="><field name="OP">GT</field> <value name="A"><block type="get_value" id="?{7IGh9yT2)3LG7ezWc{"><field name="ATTR">val</field> <field name="OID">javascript.2.statezaehlerTrockner</field></block></value> <value name="B"><block type="math_number" id="|ULbCPq:/n;w`g(uU[Ik"><field name="NUM">60</field></block></value></block></value> <value name="B"><block type="logic_compare" id="ju9;n=j;Z@8;D_1l3@:m"><field name="OP">GT</field> <value name="A"><block type="get_value" id="@[Ji:kv|^(/Dwn9Fu,t)"><field name="ATTR">val</field> <field name="OID">javascript.2.stateTrockner</field></block></value> <value name="B"><block type="math_number" id="l(i0M8z,|Sl{q{LcP:)N"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="timeouts_setinterval" id="G{*mYUDCdUP*z;Zw`4gy"><field name="NAME">Intervall4</field> <field name="INTERVAL">60000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="sayit" id="_|Z[}KSb=]K-n~PDvZE:"><field name="INSTANCE">.0</field> <field name="LANGUAGE">de</field> <value name="MESSAGE"><shadow type="text" id="}2,DR{d8]%6!mu82uFkl"><field name="TEXT">Der Trockner ist fertig</field></shadow></value></block></statement> <next><block type="timeouts_clearinterval" id="WrE,7jh|4Q9.}d!r8]9U"><field name="NAME">Intervall3</field></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml>
@ dna909 Ich hab .current in Verwendung. Wie gesagt verstehe ich den Ablauf hier anscheinend nicht genau denn nach verschiedenem Anpassen der Werte funktioniert es noch nicht @ lesliflo Ich würde halte gerne alles was möglich ist in Blockly umsetzen da mir das Webinterface der CCU2 noch nie wirklich gefallen hat und ich es hier übersichtlicher finde. Vielen Dank Leute lg mandragora
-
Ok, das Webinterface ist eine Sache für sich. Aber ob nun dein Script hier übersichtlicher finde ich nicht so.
Aber okay jeder so wie er mag. Jedenfalls funktioniert die Sache über die CCU mit wesentlicher weniger Aufwand als über Blockly.
-
Hallo, ich helfe Dir sehr gerne weiter.
Im oberen Bereich wird die Leistung der Waschmaschine ermittelt. Ich habe die Leistungsbereiche in 3 Stufen unterteilt. In der Stufe 1 ist die Maschine aus (0 Watt, Schalter aus), in der Stufe 2 ist die Maschine im Knitterschutzbetrieb oder im Modus zwischen den Betriebsszenarien (Leerlauf zwischen spülen, schleudern usw.). In der Stufe 3 wird gewaschen, bei meiner Maschine wäre das dann ein Leistungsvolumen von über 40 Watt.
Im unteren Bereich (statewasch) werden die Ruhezeiten anhand der Intervallschleife ermittelt. Ist die Maschine bspw. längere Zeit im Knitterschutzbetrieb (also fertig mit waschen), dann zählt der Zähler hoch und gibt dann bei überschreiten der Zählerschwelle die Meldung im 3. Bereich des Scripts (statezählerwasch) eine Sprachmeldung aus. Nimmt die Maschine jedoch nach einer Ruhezeit (Einweichphase) wieder den Waschbetrieb auf, dann wird der zyklische Intervallzähler bis zur nächsten Spülpause wieder resettet und zählt nach nach der nächsten Ruhepause wieder hoch.
Du solltest auf jeden Fall Deine Messung über die Leistung (Watt) ermitteln und nicht über den Strom (mA). Ich weiß, dass die Parameter (P=U*I) das gleiche Ergebnis liefern, könnte also Geschmackssache sein, was man benutzt. Die Intervalle solltest Du auch an die Maschine anpassen, da das Leistungs- und Ruheverhalten der Waschmaschinen unterschiedlich ist.
Ich bin auch froh, wenn ich im Forum Hilfe bekomme, deswegen nehme ich mir auch für Dich sehr gerne Zeit.
Gruß Michael
-
Eine Programmierung über die CCU finde ich bescheiden, ich versuche jedes Programm aus der CCU fern zu halten. Sie ist für mich nur noch der Torso um Funksignale zu senden, sonst nix.
Gruß
-
Ok, warum einfach wenn's auch kompliziert geht. Jedenfalls ist mir dein Script etwas zu aufwendig. Mag aber auch sein das das an der Waschmaschine liegt das ganze so kompliziert zu machen. Aber was soll's jeder so wie er mag. Ich bin dann raus.
Gesendet von meinem FRD-L09 mit Tapatalk
-
Skurriler Auftritt :lol:
-
So ist es, ich dachte auch anfänglich, dass es einfacher zu lösen wäre. Bis zu dem Zeitpunkt, als ich das Eigenleben einer Waschmaschine erleben durfte. Für findige Programmierer ist das sicherlich einfacher zu lösen, aber für einen Scriptanwender der in Ermangelung der Kenntnisse scheitert, ist Blocky einfach genial. Deswegen einen herzlichen Dank an die Entwickler, die solchen Leuten wie meine Wenigkeit die Möglichkeit einer einfachen vielleicht auch etwas komplizierteren aber funktionierenden Lösung eröffnen. Mit Blockly habe ich, wenn auch in einer immer wieder abgewandelten Form, eigentlich alles hinbekommen.
-
Hallo nochmals und vielen Dank @michi050 für die Erklärung.
Mir ist jetzt schon einiges klarer geworden und ich werde mal ein paar Änderungen vornehmen und das weiterhin testen.
Falls ich noch weitere Fragen habe würde ich mich gerne wieder hier melden.
Vielen Dank nochmals an alle die mir bei meinen Probleme und Fragen helfen und auch die Geduld dafür aufbringen auch wenn die Fragen oftmals "blöd" klingen.
iOBroker ist echt ein mächtiges Werkzeug und hat so viele Bereiche wo man sich als Anfänger gerne verrennen kann.
Die Hilfsbereitschaft hier im Forum ist aber gigantisch und es wird keiner alleine gelassen… und das finde ich super...
DANKE
lg
mandragora