NEWS
Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene
-
Das mit dem SwitchCounter ist mist, stell lieber den trigger auf "wurde aktualisiert" dann reagiert er auch wenn zwei mal "S" hintereinander kommt.
-
@cinimod leider funktioniert s auf s nicht, von ss auf s funktioniert es
-
Und du hast den Trigger umgestellt auf "wurde aktualisiert" ?
Dann hab ich leider auch keine Idee, sorry
-
@grace13
Mein Tipp:
Stoppe das jetzige Blockly (nicht löschen, nur stoppen) und erstelle ein neues Blockly wie folgt:
Dann drückst du wie folgt die Taster, mit einem Abstand von ca. 10 Sekunden:
Taster 1
Taster 2
Taster 2
Taster 1
Taster 1
Taster 1Zeige uns den Debug.
So können wir den Grundstein der Taster sehen (S, SS und L).Frage:
Sollen IMMER beide Lampe L1 und L2 gemeinsam ein-/ausgeschaltet sein oder gibt es Situationen, wo nur eine leuchtet? -
@Cinimod ja, wurde geändert. @Krusi Dachte ich, bis die Dame des Hauses nun meinte sie würde die Lampen auch gerne separat Schalten.
-
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
gerne separat Schalten
Wie werden die Lampen "separat" geschaltet?
-
@Kusi dazu hatte ich mir noch keine richtigen Gedanken gemacht. Vielleicht werde ich den Gedanken auch verwerfen. Aber wenn dann in etwa so : S = Lampe1 an, SS = Lampe 2 an, L = Lampe 1 und 2 an, S = aus. So war zumindest ein kurze Überlegung.
Zu dem Test mit der Funktion der Tester. Soll ich nur den S input prüfen? wenn, ja, da kommt nicht viel bei rum. Der Input wird weder aktualisiert oder geändert, der Wert bleit auf S stehen. Von S auf L auf S funktioniert es und man bekommt einen Debug. Eine Kopie des des Debugs folgt.
-
@grace13 was musst du macheb, damit du S, SS und L erhälst??
Ist das Push, Double-Push und Long-Push??Gemäss deinen vorherigen Posts ging ich aus, dass bei einem "normalen Push" die Werte zwischen S, SS und L ändern.
-
@Kusi Dann habe ich mich wohl falsch ausgedrückt..
genau es ist Push = S, Double Push = SS und Long Push = L -
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
Aber wenn dann in etwa so : S = Lampe1 an, SS = Lampe 2 an, L = Lampe 1 und 2 an, S = aus.
Dann musst du mir jetzt sagen, wie du die Lampen schalten möchtest.
Willst du die Lampen wirklich einzeln einschalten über diese 3 Taster, oder beide Lampen gleichzeitig? -
@kusi am liebsten wäre mir die Variante des einzeln Schaltens mit der Option die Lampen gemeinsam anzuschalten.
Aber wenn dann in etwa so : S = Lampe1 an, SS = Lampe 2 an, L = Lampe 1 und 2 an, S = aus.
-
@grace13 Versuche mal dieses Blockly... Natürlich noch die Datenpunkte anpassen.. Hier geht es vor allem darum, ob sich die Lampen einwandfrei schalten lassen. Das Blockly würden wir danach anpassen, unter anderem 3 Schalter, Dimmen, usw...
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id=";ah|4FyM8XdtTF@nrJ4v" x="453" y="72"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="%eta3H,,1]apG$Jy|A.T"> <field name="oid">0_userdata.0.aa_-_Licht.T1_-_Event</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Woj6#jb`9-RR5pfpL,db"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="riX$Q^.0~PqIx(-8TTko"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id=",fZ40FT/.Y+pF-ZpFJeK"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="SEK,Cz{GKJCb#Jy8v{(A"> <field name="TEXT">S</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id=".CGRHUKjat!i2pOmtKG."> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="7:;F?rI+jqA3Z:=S3lKd" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="Yn,@XPaLaND=BM[KeE]A"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="wa3WmVaFa.wJ$kntpQ!."> <field name="ATTR">val</field> <field name="OID">0_userdata.0.aa_-_Licht.L1_Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Ag58?ogd$AO9.7e1q%Wn"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="QsjCTYFc-A]_($t/OV.;"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="yT_Xc_@(Y=/Y,q-,6jeh"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.aa_-_Licht.L2_Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="7=%)fx-gxn0g)7YWORWO"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="wEuma7]u]Ie)7ihOp+@)"> <field name="COMMENT">ausschalten wenn mind. 1 Lampe eingeschaltet</field> <next> <block type="control" id="vk{;+lHKszJCP:ewE:|v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L1_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ISM_/ShR!8HBJ}H]wler"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="aEd4{J-f|@JmRJoH^;X:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L2_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="#zXY@.=6R@p;Py(%((-V"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="comment" id="%kj!::$LaPd!q^W`=Xh8"> <field name="COMMENT">ansonsten Lampe 1 einschalten</field> <next> <block type="control" id="%B^mOp5hU=p,3[f1AHi#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L1_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="o.2!2isp?]`7/IR*q)kl"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <value name="IF1"> <block type="logic_compare" id="q*3m2KzcoD;VR8@MfLCc"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="u=00k/LKt[,x4//4;RQv"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="8u66]k5qNWM)T[VG?]9*"> <field name="TEXT">SS</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="9Mo)g;Mi5ZX8e(:.*9H^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L2_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="kIq~+R6pI#]5TdTWhUQM"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="MazqTj|fl.`LK$7B=;!:"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="OxsMEy`G+4_xaXrlY9?#"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="L_MwIpG9SNgQ.8!i3r;j"> <field name="TEXT">L</field> </block> </value> </block> </value> <statement name="DO2"> <block type="control" id="ZZQ0s[y@T@k`5.N{80Gn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L1_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="UbfsyZ];=e-]xzopv+Wb"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="U:0W9ys}502w;sj(SxQY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.aa_-_Licht.L2_Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="mZo{?z3=Qnf(HD=ljzA;"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@Kusi habe es so wie du getestet, funktioniert allerdings genauso wie die bisheringer versuche. Heißt, wenn beim Taster Status "S" gesetzt ist und ich erneuet "S (Short Push)" drücke passiert nichts. Von L zu S oder SS zu S funktioniert alles wie gewollt.
Ich glaube man kommt um die Verwendung des Datenpunktes "Evenet Counter" nicht rum? -
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
erneuet "S (Short Push)" drücke passiert nichts
Und du hast wirklich "wurde aktualisiert" angewählt und NICHT "wurde geändert"???
Hast du mein Blockly importiert oder nachgebaut??
-
@kusi ich habe es importiert und die Datenpunkte angepasst.
Habe es mit "wurde aktualisiert" und "wurde geändert" versucht. -
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
Evenet Counter
Was macht der Datenpunkt "Event Counter" genau? Ändert der sich bei jedem Tastendruck??
-
@kusi genau, der Event Counter vom Shelly i3 erhöht sich bei jedem Tasten druck egal ob S, SS oder L um eins.
-
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
erhöht sich bei jedem Tasten druck
Zu meinem Verständnis:
Wenn du mehrmals die gleiche Taste (z.B. S) drücksz, dann erhöht sich der Counter.
Wenn du dann eine andere Taste drückst, dann geht dieser wieder auf 1.Stimmt diese Annahme??
-
@kusi Nein, der Counter erhört sich bei jedem Tasten druck egal ob S, SS oder L.
Die Spots in der Küche werden bsp. so gesteuert. ( wahrscheinlich verbesserungswürdig)
-
@grace13 sagte in Dimmbare Lampe mit mehren Tastern schalten Blockly/Szene:
Counter erhört sich bei jedem Tasten
Bis zur Unendlichkeit??