NEWS
[Hilfe] Blockly Script für Markise funktioniert nicht
-
Hallo Freunde!
Kann mir jemand bei meinem Problem helfen?
Meine Markise soll bei Regen und Wind <20 für 10 Sekunden auffahren (Regenschutz für Lounge)
Da ich nicht weiß, wo die Markise steht habe ich einen ZU Befehl vorangesetzt.
Dann fehre ich die Markise 10 sek AUF, dann das STOP.
Bei Wind >20 soll die Markise wieder zufahren.
Das wäre zumindest mein Plan. Könnt ihr euch mal mein Script ansehen und mir bei meinem Logikfehler helfen.
Derzeitiger Fehler: Die Markise fährt immer nach einer Weile ZU und niemals bei Regen AUF
Danke im Voraus
Liebe Grüße
on({id: new RegExp('netatmo\\.0\\.Kinkplatz-7\\.Regensensor\\.Rain\\.Rain' + "|" + 'netatmo\\.0\\.Kinkplatz-7\\.Windmesser\\.Wind\\.WindStrength'), change: "ne"}, function (obj) { if (getState("netatmo.0.Kinkplatz-7.Regensensor.Rain.Rain").val > 0 && getState("netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength").val < 20) { setStateDelayed('rflink.0.channels.BrelMotor_1.BLIND_41_ZU', true, false, parseInt(0, 10), false); setStateDelayed('rflink.0.channels.BrelMotor_1.BLIND_41_AUF', false, false, parseInt(10000, 10), false); setStateDelayed('rflink.0.channels.BrelMotor_1.BLIND_STOP_41', true, false, parseInt(20000, 10), false); } else if (getState("netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength").val >= 20) { } setStateDelayed('rflink.0.channels.BrelMotor_1.BLIND_41_ZU', true, false, parseInt(0, 10), false); });
-
Bitte ein Screenshot oder Export einstellen.
Grüße
-
Hallo Rantanplan!
Danke für deine Hilfe.
hier ein export:
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on_ext" id="0.Tcg.|FVV@zWgm#c9X" x="-987" y="-38"><mutation items="2"></mutation> ! <field name="CONDITION">ne</field> ! <value name="OID0"><shadow type="field_oid" id="9N:~4[Ubr[Pfw%7Tajp]"><field name="oid">netatmo.0.Kinkplatz-7.Regensensor.Rain.Rain</field></shadow></value> ! <value name="OID1"><shadow type="field_oid" id=".ajiR}(6tHBbQsIR2cq5"><field name="oid">netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength</field></shadow></value> ! <statement name="STATEMENT"><block type="controls_if" id="6z?G6LOhk.*pUJ[3nBly"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="(^1Ymf._%Znb7+8yh+e}"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="o@j/1V#|3=UD.RzQXy^b"><field name="OP">GT</field> ! <value name="A"><block type="get_value" id="{7Is|D.,kxItJ_bK:XS}"><field name="ATTR">val</field> ! <field name="OID">netatmo.0.Kinkplatz-7.Regensensor.Rain.Rain</field></block></value> ! <value name="B"><block type="math_number" id="(yuzLj@+GTmjqR)4@Le/"><field name="NUM">0</field></block></value></block></value> ! <value name="B"><block type="logic_compare" id="q{}FDHOXk|3qg60S7d~f"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="+4ri0UBGpu}1+(exICSj"><field name="ATTR">val</field> ! <field name="OID">netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength</field></block></value> ! <value name="B"><block type="math_number" id="C;68Lsqq208D?Tje2bcs"><field name="NUM">20</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="control_ex" id="GdxLk(H{J[(l__d%L,H6"><field name="TYPE">false</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="OID"><shadow type="field_oid" id="%IFjtn9qKJn,YBezkIDY"><field name="oid">rflink.0.channels.BrelMotor_1.BLIND_41_ZU</field></shadow></value> ! <value name="VALUE"><shadow type="logic_boolean" id="*PgLQuJ;/Mr9o2f8fOn5"><field name="BOOL">TRUE</field></shadow></value> ! <value name="DELAY_MS"><shadow type="math_number" id="LFl|NmeM_88bD8OIA36q"><field name="NUM">0</field></shadow></value> ! <next><block type="control_ex" id="N9P!iW/;B|[
PPe@DV^7"><field name="TYPE">false</field>
! <field name="CLEAR_RUNNING">FALSE</field>
! <value name="OID"><shadow type="field_oid" id="]=}=%^bycv?on#aP=T%V"><field name="oid">rflink.0.channels.BrelMotor_1.BLIND_41_AUF</field></shadow></value>
! <value name="VALUE"><shadow type="logic_boolean" id="fAt|o(I{7j343I:9m0."><field name="BOOL">FALSE</field></shadow></value>
! <value name="DELAY_MS"><shadow type="math_number" id="B)2kg~JhUp~;CXt%F(TR"><field name="NUM">10000</field></shadow></value>
! <next><block type="control_ex" id="v6XZ7R]C?p#Un~qC=9)|"><field name="TYPE">false</field>
! <field name="CLEAR_RUNNING">FALSE</field>
! <value name="OID"><shadow type="field_oid" id="MLOp|OOOIkE88~whqu=N"><field name="oid">rflink.0.channels.BrelMotor_1.BLIND_STOP_41</field></shadow></value>
! <value name="VALUE"><shadow type="logic_boolean" id="dnflsA}ChFCd|Wvd}75Q"><field name="BOOL">TRUE</field></shadow></value>
! <value name="DELAY_MS"><shadow type="math_number" id="HLVbLCvvMb;]hHV2@+5"><field name="NUM">20000</field></shadow></value></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="Xi@i1*[m
*GAt|F;X:/]"><field name="OP">GTE</field>
! <value name="A"><block type="get_value" id="18-pV!Icn7R=z|E,v[2}"><field name="ATTR">val</field>
! <field name="OID">netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength</field></block></value>
! <value name="B"><block type="math_number" id="fK[]v,a!F4V:|OA:Z+dc"><field name="NUM">20</field></block></value></block></value>
! <next><block type="control_ex" id="9rwMgpV4e~|-r@geH1GZ"><field name="TYPE">false</field>
! <field name="CLEAR_RUNNING">FALSE</field>
! <value name="OID"><shadow type="field_oid" id="y1fi!C@DTn{^Bk@Z={e!"><field name="oid">rflink.0.channels.BrelMotor_1.BLIND_41_ZU</field></shadow></value>
! <value name="VALUE"><shadow type="logic_boolean" id="xNQ`}Lc2drcpyj%+Nu8"><field name="BOOL">TRUE</field></shadow></value>
! <value name="DELAY_MS"><shadow type="math_number" id="L6H)tzc+x3nzvRiUJ0Pz"><field name="NUM">0</field></shadow></value></block></next></block></statement></block></xml> -
Ich bin der Meinung, da fehlen Klammern um die einzelnen Bedingungen
if ((getState("netatmo.0.Kinkplatz-7.Regensensor.Rain.Rain").val > 0) && (getState("netatmo.0.Kinkplatz-7.Windmesser.Wind.WindStrength").val < 20))
Aber ohne Gewähr, da ich den Code gerade nur grob überfliegen kann.
-
Hallo htrecksler!
das ist nur der Blockly "zeige Code" auszug.
was könnte ich da ändern?
im Spoiler ist der export. Fällt dir da was auf?
Liebe Grüße
-
sorry, bei Blockly bin ich leider 'raus.
Bei dem Export aus dem ersten Thread war ich von Javascript ausgegangen.
-
No Problem!
Trotzdem Danke
-
Hat niemand eine Idee was ich falsch mache?
Liebe Grüße
-
Hallo muckel
So kann das nicht funktionieren.
Oder ist der Baustein nur "rausgerutscht"?
Grüße
-
Hallo Rantanplan!
Ja, der Baustein ist rausgerutscht
Ich bin schon etwas weiter und arbeite mit variablen.
Falls ich es nicht hinbekomme melde ich mich wieder.
liebe Grüße