NEWS
Tasterschaltung ein/aus
-
@robbi12 sagte in Tasterschaltung ein/aus:
Beim Festhalten soll er in die jeweilige Richtung laufen bis ich loslasse.
Wenn die Taste 3 oder 4 gedrückt wird, während der Rollo läuft soll der Stop Befehl an den Rollo gehen
Der Rollo hat die Punkte Up, down, Stop und eine Prozentwert für die jeweilige Stellung.Versuche es mal so:
-
@paul53 Hi. Dein Blockly wie immer perfekt.
Jedoch habe ich ein Problem mit meinen Schaltern gerade festgestellt.
Ich nutze EnOcean Systeme.
Hier ist der Punkt release beim loslassen vorhanden. Dachte ich mir zumindest.
Nun habe ich festgestellt, dass er dies nur kurz (vielleicht ein paar Sekunden) kann.
Beim längeren Druck und dann loslassen setzt er keinen Datenpunkt mehr ab. Ich denke, dass ihm hier der "Saft" ausgeht.
-
@robbi12 sagte: Ich nutze EnOcean Systeme.
Dann Duty cycle beachten! Wenn zu oft innerhalb einer Stunde gesendet wurde, wird das weitere Senden unterbrochen.
Sind die Dimmer etwa auch Enocean? Dann wirst du dort sehr schnell ein Problem mit dem Duty cycle bekommen.
EDIT: Wie kommt ein DP "Message from Zigbee" in ein Enocean-System?
-
@paul53 Vielleicht habe ich mit Enocean falsch geschrieben. Denke aber schon.
Batterielose Schalter von buschjäger friends of hue. Da kommt aber beim drücken eine information
-
@robbi12 sagte: Vielleicht habe ich mit Enocean falsch geschrieben.
Hue ist Zigbee (2,4 GHz).
Piezo-Elemente erzeugen eine Spannung bei Druck(anstieg). Falls zu lange gedrückt wird, kann der Kondensator zur Speicherung schon so weit entladen sein, dass das Loslassen nicht mehr gesendet werden kann.
-
@paul53 Hallo, ich stehe gerade total auf dem Schlauch.
Irgendwie verschluckt der Batterietaster manchmal die Klickwerte.
Nun würde ich es ohne longpress lösen wollen.
Ich würde mit Taster oben den Rollo nach oben fahren lassen und mit Taster unten den Rollo runter. Bei nochmaliger Betätigung einer der beiden Tasten stoppen.
Rollo hat up/down/stop und Werte für closing und opening
-
@robbi12 sagte: Nun würde ich es ohne longpress lösen wollen.
Dann lasse die Trigger auf "release" und die Timer weg.
-
@robbi12 sagte: Werte für closing und opening
Keine Position?
Boolesche Werte bei Bewegung? -
@paul53 Doch. Ich bekomme vom Rollo auch den Prozentöffnungswert.
Dann noch einen Datenpunkt welcher wechselt und closing oder opening anzeigt
-
@robbi12 sagte: vom Rollo auch den Prozentöffnungswert.
Dann kannst du es so versuchen:
-
@paul53 Danke funktioniert fast.
Wenn der Rollo ganz auf oder ganz zu ist, also 100 oder 0 dann reagiert es nicht auf den Tastendruck. Hier muss ich dann zweimal drücken.
-
@robbi12 sagte: 100 oder 0 dann reagiert es nicht auf den Tastendruck. Hier muss ich dann zweimal drücken.
Das soll dieser Teil verhindern:
-
@paul53 Danke, da hatte ich einen Fehler drin.
Für den Außenrollo funktioniert es. Der Schalter macht mich aber fertig.
Ich möchte das Ganze für einen Innenrollo machen. Hier soll er die Werte 85 und 40 anfahren.
Funktionier auch so weit. Jedoch muss ich, wenn er die jeweiligen Endpunkte hat, zweimal drücken um die andere Richtung zu bedienen.
Hier sind die Werte des Rollo.
Und so habe ich es versucht:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="SHO,ryL9MR,*s?(6a!38">position</variable> <variable id="4RbBNv@FA5j8;a0+:K]%">move</variable> </variables> <block type="on" id="HOBP##j@TE=XvYkQ)DQq" x="-837" y="138"> <field name="OID">zigbee.0.00000000017717b5.press_1</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="Y8m]O?y0.`kuH{K1HqW$"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="variables_get" id="o25]WH{3wSU2pbJ!5fK7"> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="b:BAz=cN^vPcmMk8659E"> <mutation name="stoppen"></mutation> </block> </statement> <value name="IF1"> <block type="logic_compare" id="G|g+1S)lkP9BDOL7{3o~"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id="EXQM$v?^zk`7*gt$pZ7t"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> </block> </value> <value name="B"> <block type="math_number" id="FE-(N`6XYgDoYs(7U6l="> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="!h*,o~vz|hA%cKWc6LUg"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.842e14fffe746425.position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="X0tC1m:?6Wm]k8Gx8m1)"> <field name="NUM">85</field> </block> </value> <next> <block type="variables_set" id="enQ8UM`*-ko,/]bDVFSs"> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> <value name="VALUE"> <block type="logic_boolean" id="Sd,5$1V$5QEK#%1U0,wr"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="variables_set" id="+r![2LG=#3}^vAlCqN5s"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> <value name="VALUE"> <block type="get_value" id="CX9B~}R2|4qEZ76?y?:^"> <field name="ATTR">val</field> <field name="OID">zigbee.0.842e14fffe746425.position</field> </block> </value> <next> <block type="on" id="x,(r@:kyzKq=|b.Ddx)*"> <field name="OID">zigbee.0.842e14fffe746425.position</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="??*~1(iL:,Lug.6#H~Z^"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> <value name="VALUE"> <block type="on_source" id="1*Rz6w@Ug{q:5![S8xsC"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="controls_if" id="/VG-KyP?-K}^r[r+n{$p"> <value name="IF0"> <block type="logic_multi_or" id=")I[?|n+}cSR.Un#df}e,"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="OR0"> <block type="logic_compare" id="89$2Vs$2{-yz8ymh@#%l"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="^[[=OXcR2:3E4Cw0J=u{"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> </block> </value> <value name="B"> <block type="math_number" id="Tn(p_o0FO$92J1Ug?G}r"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="OR1"> <block type="logic_compare" id="cNiOS9UUI9?E=?d#(+:b"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="~h]+{8.jX!VmJC3dDP2k"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> </block> </value> <value name="B"> <block type="math_number" id="Q^2!=!z6L.uxKC7ZlxM/"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="~isy2wKHS)7=tdLk3PZ%"> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> <value name="VALUE"> <block type="logic_boolean" id="KRUKEux?WgRCb%e7Pa:*"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="~lW%Ffeb7/kg-bec[P9t"> <field name="OID">zigbee.0.00000000017717b5.press_2</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="@lN7(G6kZ{0fy^rTOxm@"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="variables_get" id="$SR14L#V9.+5[7k*ud]8"> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="96Z7l+~]i2Kdd#zyLi69"> <mutation name="stoppen"></mutation> </block> </statement> <value name="IF1"> <block type="logic_compare" id="*AYAqA/9*]A~QX(P:b;q"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="B^=oo=X1OOX)[D7(;42}"> <field name="VAR" id="SHO,ryL9MR,*s?(6a!38">position</field> </block> </value> <value name="B"> <block type="math_number" id="Fp5_%{Bk!7I7IPUL7~a0"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="xfMX7`$W{ISTHig854iE"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.842e14fffe746425.position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Y)/kh0=21t8!5nG34%tM"> <field name="NUM">40</field> </block> </value> <next> <block type="variables_set" id="1[$`RM{[0,L6[`JM)2(Z"> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> <value name="VALUE"> <block type="logic_boolean" id="RZRpQRXBXotV=R4}Hg8q"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="RV[R$^uMkC^_2hQc[d=b" x="-587" y="138"> <field name="NAME">stoppen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="YnA4Vlae_8GRGbY|)nlF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee.0.842e14fffe746425.stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=",sj{10dc0dB.KEHYkfTe"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="@Mz}fmRpjZ=|ed5Ls]A("> <field name="VAR" id="4RbBNv@FA5j8;a0+:K]%">move</field> <value name="VALUE"> <block type="logic_boolean" id="k@_Oi|O.Mf}k(HNobmu^"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </xml>
-
@robbi12 sagte: wenn er die jeweiligen Endpunkte hat, zweimal drücken um die andere Richtung zu bedienen.
Die Endpunkte sind 85 und 40?
Wenn ja, dann logge mal die Position und Bestätigung, da der gleiche Datenpunkt auch gesteuert wird:
-
@robbi12 sagte: so habe ich es versucht:
Mit triggern der Position auf "bestätigte Änderung" und Anpassung der Vergleiche könnte es funktionieren.