Ich habe einen Xiaomi Button und eine Yeelight und möchte diese bei langem drücken des Buttons dimmen. Nur weiß ich nicht wie das verwirklichen soll und es überhaupt funktioniert. Kann mir jemand weiterhelfen und evtl. ein Blockly bereitstellen
Kann mir jemand bei einem Blockly helfen um zu dimmen?
-
-
Hab selber noch keine Xiaomi Buttons (sind noch unterwegs).
Aber hast du denn unter den Objekten einen Datenpunkt für „Long press“ oder ähnlich?
Dann müsstest du im blocken nur eine Schleife anlegen, die falls „Long press = true“ das Licht schrittweise runterregelt.
Bin leider unterwegs und kann jetzt nicht besser beschreiben
-
Hab selber noch keine Xiaomi Buttons (sind noch unterwegs).
Aber hast du denn unter den Objekten einen Datenpunkt für „Long press“ oder ähnlich?
Dann müsstest du im blocken nur eine Schleife anlegen, die falls „Long press = true“ das Licht schrittweise runterregelt.
Bin leider unterwegs und kann jetzt nicht besser beschreiben
Wie cruunnerr schon schrieb, Du musst mit dem Long Klick arbeiten. Schleifen sind jetzt nicht so mein Ding, aber da kann Dir ein anderer bestimmt helfen
-
Hab jetzt mal folgendes Script erstellt das ich im iobroker Forum gefunden habe aber es funktioniert leider auch nicht. Zudem lässt sich dann die Lampe mit dem einfachen Klick nicht mehr ausschalten
Code
Display More<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="V7P|6xmV3G,ni~jHG]*O" x="-2287" y="-1438"> <mutation items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="N1pdo/5H[:5PyNXhgvK2"> <field name="oid">zigbee.0.00158d0001e75a97.click</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="=aPr0x52!*^bg1LcR/Gs"> <field name="oid">zigbee.0.00158d0001e75a97.double_click</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="uL!6a4IqJ,hZZH*6V9tm"> <field name="oid">zigbee.0.00158d0001e75a97.triple_click</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="U6JlQv+IrjpM::trG1J`"> <field name="oid">zigbee.0.00158d0001e75a97.long_click</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")~WmF+*DFn%BCQa9X~KA"> <value name="IF0"> <block type="get_value" id="6I@s%F_L|1k_]oDV!M61"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.click</field> </block> </value> <statement name="DO0"> <block type="toggle" id="%J0=y^cW{lQnh)zLY^y["> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.power</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <next> <block type="controls_if" id="HO9xo:.UJg~3)9Hj2[^v"> <value name="IF0"> <block type="get_value" id="k0IhjX9DPOjs=FJ{E,Zz"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.double_click</field> </block> </value> <statement name="DO0"> <block type="control" id="?qf^k!Y2xxpW{DMq2?o="> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.rgb</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="m-j;XN,%J8{3/eN,zy`h"> <field name="TEXT">#000cff</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="USrEY0[R-hNSXkkPE@M|"> <value name="IF0"> <block type="get_value" id="8]bQ:;9jVpzsl9.3XEIe"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.long_click</field> </block> </value> <statement name="DO0"> <block type="control" id="r55gZqTd@.zfQH:Ksww,"> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=";;zDaU.)@R5-%*/U-s_/"> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_setinterval" id="5DqeYX;*f0:6SWwmI3+D"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="=3Gr#xn/:`ILx9y|(_!0"> <value name="IF0"> <block type="logic_compare" id="V5]8ES=-[Qa|#k07|)/1"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="N9yf?o/jF8alS{sYd)_g"> <field name="ATTR">val</field> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> </block> </value> <value name="B"> <block type="math_number" id="Tu^}z^xyqLECMC,(XcoA"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="|t1=49LCQf5Z.@83MmF1"> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="UPoBCl]`AfDA[f:(N)kD"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="~Y-DJAScb8[e6WoH6Z[F"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Pb/!Em#JlOEdfTvx0wv!"> <field name="ATTR">val</field> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> </block> </value> <value name="B"> <shadow type="math_number" id="OS;{8;r2mn~EV;!@vS;)"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="timeouts_clearinterval" id="aNMcO)u/hfkV1}#PwJ?D"> <field name="NAME">Intervall</field> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
ich bin auch noch recht neu aber so würde ich es versuchen.
Code
Display More<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="V7P|6xmV3G,ni~jHG]*O" x="-1937" y="-1212"> <mutation items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="N1pdo/5H[:5PyNXhgvK2"> <field name="oid">zigbee.0.00158d0001e75a97.click</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="=aPr0x52!*^bg1LcR/Gs"> <field name="oid">zigbee.0.00158d0001e75a97.double_click</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="uL!6a4IqJ,hZZH*6V9tm"> <field name="oid">zigbee.0.00158d0001e75a97.triple_click</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="U6JlQv+IrjpM::trG1J`"> <field name="oid">zigbee.0.00158d0001e75a97.long_click</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")~WmF+*DFn%BCQa9X~KA"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="cW]Q|Xu0.LkC3W[OLXqV"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6I@s%F_L|1k_]oDV!M61"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.click</field> </block> </value> <value name="B"> <block type="logic_boolean" id="^:Hv{/D)7e7hFWsY}f|d"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="toggle" id="%J0=y^cW{lQnh)zLY^y["> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.power</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="%96|DFtk3:uE9FA@b*~z"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="k0IhjX9DPOjs=FJ{E,Zz"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.double_click</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?C.(nvvb^NkXQ.*B=([."> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="?qf^k!Y2xxpW{DMq2?o="> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.rgb</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="m-j;XN,%J8{3/eN,zy`h"> <field name="TEXT">#000cff</field> </block> </value> <next> <block type="control" id="|9RP[1EhW3P{9JjUV*jY"> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.rgb</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="85Lt?qIx_I8f3X@B3A|s"> <field name="TEXT">#000cff</field> </block> </value> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="LV!S)/6%Bj^,bcq8@E~L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="wj}DI*gbg}5[Dl77?(oA"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.triple_click</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Li56(k`azX8-0^rAC%D-"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO2"> <block type="toggle" id="h[aP^qwmVhO?Yoqn)XVu"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Smart-Home-Devices.3c4c0cc4-29c5-465e-b723-2fcf9e7ca284.powerState</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <value name="IF3"> <block type="logic_compare" id="ZJSXYroT+ly.b^N_~ckN"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8]bQ:;9jVpzsl9.3XEIe"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0001e75a97.long_click</field> </block> </value> <value name="B"> <block type="logic_boolean" id="(Eez:Zd+Y?f?UBKR]{Sg"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO3"> <block type="control" id="r55gZqTd@.zfQH:Ksww,"> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=";;zDaU.)@R5-%*/U-s_/"> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_setinterval" id="5DqeYX;*f0:6SWwmI3+D"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="=3Gr#xn/:`ILx9y|(_!0"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="V5]8ES=-[Qa|#k07|)/1"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="N9yf?o/jF8alS{sYd)_g"> <field name="ATTR">val</field> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> </block> </value> <value name="B"> <block type="math_number" id="Tu^}z^xyqLECMC,(XcoA"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="|t1=49LCQf5Z.@83MmF1"> <mutation delay_input="false"></mutation> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="UPoBCl]`AfDA[f:(N)kD"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="~Y-DJAScb8[e6WoH6Z[F"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Pb/!Em#JlOEdfTvx0wv!"> <field name="ATTR">val</field> <field name="OID">yeelight-2.0.color-0x00000000052c02f6.control.active_bright</field> </block> </value> <value name="B"> <shadow type="math_number" id="OS;{8;r2mn~EV;!@vS;)"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="aNMcO)u/hfkV1}#PwJ?D"> <field name="NAME">Intervall</field> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
Das Skript funktioniert leider nicht. Mit dem Long Klick hast du recht. Er müsste auf true stehen bleiben solange ich den Taster gedrückt halte. Bei den Buttons ist es aber so das wenn ein Longklick ausgeführt wird das er nur kurz true und dann wieder auf false wechselt. Also wie ein einfach klick auf den Taster.
-
Was mir gerade aufgefallen ist, du hast doch ein Xiaomi Button und triggerst auf zigbee. Meiner Meinung nach falsch.
Hast Du unter den Objekten den mihome.0 ?
-
Ich habe nen [definition='64','0']CC2531[/definition] und die Xiaomi Sensoren, Buttons usw. sind alle über Zigbee auf diesem Stick angebunden und funktionieren auch. Einen Xiaomi Hub hab ich nicht und benötige deswegen auch nicht Mi-Home
-
Hier das Video dazu was du alles über den [definition='64','0']CC2531[/definition] anbinden kannst.
External Content www.youtube.comContent embedded from external sources will not be displayed without your consent.Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy. -
okay, dann sollte der Trigger auch anspringen .
Hast Du mal ein Debug gemacht um zu sehen wo er hängt ?
-
Der Trigger löst ja aus. Aber nur kurz. Bei einem Dimmer sollter er meiner Meinung solange auslösen bis ich von der Taste wieder weg gehe. Er löst aber nur 1x kurz aus, egal wie lange ich auf der Taste bleibe
-
Da gebe ich Dir recht, sollte so lange auf true bleiben wie gedrückt.
Bei mir ist es so mit dem Xiaomi Sensoren in Verbindung mit dem Xiaomi Hub.
Vermutlich kann man bei dem [definition='64','0']CC2531[/definition] noch etwas einstellen. Kenne mich mit dem Teil aber nicht aus.
-
Hmm. Das ist komisch das diese beim Hub auf true bleiben solange gedrückt
-
Mein [definition='64','0'][definition='64','0']CC2531[/definition][/definition] ist bereits angekommen, aber ich warte noch auf den Programmer.
Hab mir dann noch die Wireless Taster bestellt.
Laut Doku vom Zigbee Adapter, gibt es zwar kein "long press", aber ein "hold" und "release".
Daraus müsste sich auch ein entsprechendes Skript zusammenstellen lassen.
Gibt es denn irgendeinen anderen Datenpunkt, der auf true bleibt solange du gerückt hältst?
Alternativ könnte man (falls du den nicht brauchst) auch versuchen mit dem Double Klick arbeiten.
Wenn Double Klick true => anfangen Licht zu Dimmen bis nächster Double Klick erkannt wird oder Licht dunkel ist
Ist dann halt mehr Drückerei....
-
Das selbe Problem hatte ich auch. Der Programmer war bei mir 5 Wochen auf Reise bis ich diesen endlich bekommen habe. Den Stick hatte ich schon bereits nach 2,5 Wochen. Das Problem ist aber beim Stick das dieser keine hohe Reichweite aufweist. Ein CC2530 mit Antenne wäre sinnvoller oder diesen als zusätzlichen Router hinter dem [definition='64','0']CC2531[/definition] benutzen. Die Datenpunkte am Button lösen immer ein kurzes true aus egal was gedrückt. Vielleicht hab ich mich oben falsch ausgedrückt denn ich habe den [definition='62','0']Aqara[/definition] Button rund und nicht den MiJia Button und der Aquara löst immer ein kurzes true aus, egal was gedrückt (single, long etc.) wird.
Gruß Stöcki
-
Hi, ich habe auch den runden Aquara Button, beim mir ist der mit dem Xiaomi [definition='69','0']Gateway[/definition] gekoppelt, und so lange ich Ihn festhalte steht Long Press bei mit auf True.
Das Script das du gepostet hast dimmt übrigens nicht, sondern simuliert im Prinzip einen Sonnenaufgang. Wenn man Long Press gedrückt hat geht die Lampe auf 0 Prozent und geht dann jede Sekunde 1 Prozent höher, bis 100% erreicht sind.
-
Also, wenn dein Button beim festhalten auf True bleibt, würde ich das so lösen.
Man braucht eine zusätzliche Variable. Beim Ersten drücken wird die Helligkeit um 5 Prozent pro Sekunde angehoben, bis man los lässt oder 100 Prozent erreicht sind. Beim Zweiten drücken dimmt die Lampe so lange um 5 Prozent pro Sekunde runter bis man los lässt oder 5 Prozent erreicht sind. Beim Loslassen wird die Variable umgeschaltet und der jeweilige Intervall beendet.
Der Code ist leider zu lang. Hier die Textdatei
-
Wenn der Button nicht auf True bleibt, so lange er gedrückt wird. Müsste man das so lösen, das beim ersten Druck die Lampe anfängt Hochzudimmen. Beim zweiten Druck wird das beendet. Beim nächsten Druck dimmt die Lampe runter, beim nächsten Druck wird das beendet, usw. Bei erreichen von 100 oder 5 % schalten sie das Dimmen automatisch aus. Dazu braucht man 4 zusätzliche Variablen.
Zusätzlich habe ich zur Sicherheit noch eingefügt das Dimmen2Ende gesetzt wird falls alle Variablen false sind.
-
Vielen Dank. Ich werde mich mal in den Script einlesen und testen. Hoffe das ich es noch vor dem WE schaffe. Trotzdem nochmals Danke
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!