Suche Skript (Blockly) für DUO RGBW

  • Hat jemand zufälligerweise es geschafft mehrere Shelly DUO RGBW gleichzeitig (stufenlos, Slider) zu steuern?

    - Helligkeit (im White-Modus und im Color-Modus)

    - Lichtfarbe (White-Modus)

    Alle anderen relevanten Dinge, wie Farbe direkt setzen, Farbtemperatur (warm, weiss, kalt) und Effekte habe ich über Mediola-Shelly-Plug-in gelöst.

    Danke schon mal im Voraus!

    Theorie ist wenn man alles weiß und nichts funktioniert. Praxis ist wenn alles funktioniert und keiner weiß warum.

    FAQ Fehlerbehebung / FAQ troubleshooting         http-Request - Überblick / http-Request - overview

    Spoiler anzeigen

    Homematic/IP mit CCU3, iOBroker auf Raspberry Pi4 mit M.2 SSD / Diagramme per Flot / Visualisierung mit Mediola AIO CREATOR NEO / FRITZ!Mesh-WLAN

    Shelly (1, 1L, 1PM, 2.5, Dimmer/2, RGBW2, EM, UNI, PlugS, Flood, TRV, Gas, Motion, Motion2, Duo, Vintage, Button/1, Temp-AddOn / PLUS: 1, 1PM, 2PM, i4, H&T2, PlugS, Smoke / PRO: 1,1PM, 2, 2PM, 3EM)

  • Hallo,

    hier ein Blockly was das umsetzen kann.

    Master eintragen mit .lights

    Blub2 ..

    Blub3.

    ggf. erweitern....

    Triggerblock den Master mit .lights.* eintragen, damit alles was danach kommt getriggert wird.

    Die interne Variable Auslöser wird mit dem Text was nach "lights." (Kanal ID) gefüttert

    bei schreibe Objekt ID "steuern", werden die Texte zusammengeführt und ergeben die ID die geändert werden soll. also Bulb-2+Auslöser"text"

    sollte so klappen, ggf. erweiter wenn es mehr als 3 Bulbs sein, oder kürzen.


    Bildschirmfoto vom 2023-01-03 20-53-49.png

    es werden alle Änderungen weiter gegeben die nach lights. folgen

    Bildschirmfoto vom 2023-01-03 21-02-27.png


    Spoiler anzeigen

    <xml xmlns="https://developers.google.com/blockly/xml">

    <variables>

    <variable id="sCJ$u|c0CztjMD,NY1dH">Bulb-Master</variable>

    <variable id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</variable>

    <variable id="AXkj4VSO)r)E7`e):NvG">Bulb-3</variable>

    <variable id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</variable>

    </variables>

    <block type="variables_set" id="V~=xb`!89yOg}WIBC`Y(" x="313" y="88">

    <field name="VAR" id="sCJ$u|c0CztjMD,NY1dH">Bulb-Master</field>

    <value name="VALUE">

    <block type="text" id="r3!78ftUv2^^2V.F3$]C">

    <field name="TEXT">shelly.0.SHCB-1#483FDA9285A6#1.lights</field>

    </block>

    </value>

    <next>

    <block type="variables_set" id="O]O#-|;,4TFHzh=mu!B9">

    <field name="VAR" id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</field>

    <value name="VALUE">

    <block type="text" id="f2jL2~f7WvTa6;D;l}ME">

    <field name="TEXT">shelly.0.SHCB-1#483FDA928657#1.lights</field>

    </block>

    </value>

    <next>

    <block type="variables_set" id="D:D*Y7u+?{/CpYHXDarW">

    <field name="VAR" id="AXkj4VSO)r)E7`e):NvG">Bulb-3</field>

    <value name="VALUE">

    <block type="text" id="V3^Nf~oNW.EQl:8@S[4F">

    <field name="TEXT">shelly.0.SHCB-1#8CAAB555DFF7#1.lights</field>

    </block>

    </value>

    <next>

    <block type="on_ext" id=":W$E,VqIx/:{gZt#LT2.">

    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>

    <field name="CONDITION">ne</field>

    <field name="ACK_CONDITION"></field>

    <value name="OID0">

    <shadow type="field_oid" id="6q7}+8YpZCU4RKmeDX,u">

    <field name="oid">default</field>

    </shadow>

    <block type="selector" id="=]6:]+x{+NEpe!(kyu}v">

    <field name="TEXT">shelly.0.SHCB-1#483FDA9285A6#1.lights*</field>

    </block>

    </value>

    <statement name="STATEMENT">

    <block type="variables_set" id="%)Tt;/QyC$]IS5@+F`-f">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    <value name="VALUE">

    <block type="text_getSubstring" id="{raPA?Db|rR,Fb*kE(yl">

    <mutation at1="true" at2="false"></mutation>

    <field name="WHERE1">FROM_START</field>

    <field name="WHERE2">LAST</field>

    <value name="STRING">

    <block type="on_source" id="Pb32{*V+X##/uf,_TUk;">

    <field name="ATTR">id</field>

    </block>

    </value>

    <value name="AT1">

    <block type="math_arithmetic" id="plFtBQ~1aDt@H]3_Z@5:">

    <field name="OP">ADD</field>

    <value name="A">

    <shadow type="math_number">

    <field name="NUM">1</field>

    </shadow>

    <block type="text_length" id="EOk3}.vrKBtK3t}zZ?EI">

    <value name="VALUE">

    <shadow type="text">

    <field name="TEXT">abc</field>

    </shadow>

    <block type="on_source" id="jPE[B%|9G3+Mx~rj`F%i">

    <field name="ATTR">channelId</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <shadow type="math_number" id="is9~)6b^T_`Tv(Gn?wV/">

    <field name="NUM">1</field>

    </shadow>

    </value>

    </block>

    </value>

    </block>

    </value>

    <next>

    <block type="control_ex" id="lohW#9cs`9qG*OkqwD]u" inline="true">

    <field name="TYPE">false</field>

    <field name="CLEAR_RUNNING">FALSE</field>

    <value name="OID">

    <shadow type="field_oid" id="hiVqJFlClrN`h%)pTw!|">

    <field name="oid">Object ID</field>

    </shadow>

    <block type="text_join" id="gS,-GA-~Hx$SW?a#dL)U">

    <mutation items="2"></mutation>

    <value name="ADD0">

    <block type="variables_get" id=",|H:eexVc+EBiO+[t@aY">

    <field name="VAR" id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</field>

    </block>

    </value>

    <value name="ADD1">

    <block type="variables_get" id="F9*H#7#U|8vo)P$IUGQB">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    </block>

    </value>

    </block>

    </value>

    <value name="VALUE">

    <shadow type="logic_boolean" id="K@(Kh;(h~|I3KZ:Q^BWm">

    <field name="BOOL">TRUE</field>

    </shadow>

    <block type="on_source" id="68os(~!d)QnvZLaPRAxo">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="DELAY_MS">

    <shadow type="math_number" id="ND=:acp},`;srEbEsbT+">

    <field name="NUM">0</field>

    </shadow>

    </value>

    <next>

    <block type="control_ex" id="=Kx$PMeG,r7scYeb.?A{" inline="true">

    <field name="TYPE">false</field>

    <field name="CLEAR_RUNNING">FALSE</field>

    <value name="OID">

    <shadow type="field_oid">

    <field name="oid">Object ID</field>

    </shadow>

    <block type="text_join" id="7k#Fx1DkpQ9gcg9Z$6%|">

    <mutation items="2"></mutation>

    <value name="ADD0">

    <block type="variables_get" id="d{l(^l9NnCLn]W)yG_D,">

    <field name="VAR" id="AXkj4VSO)r)E7`e):NvG">Bulb-3</field>

    </block>

    </value>

    <value name="ADD1">

    <block type="variables_get" id="YJaaO$qF|OU)4mvZs}*)">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    </block>

    </value>

    </block>

    </value>

    <value name="VALUE">

    <shadow type="logic_boolean">

    <field name="BOOL">TRUE</field>

    </shadow>

    <block type="on_source" id="y6;S-45euwu;DP3po8tF">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="DELAY_MS">

    <shadow type="math_number" id="K,h*j{gX%bxg6FFZ29R)">

    <field name="NUM">0</field>

    </shadow>

    </value>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </xml>

    VG

    Maik

  • Nachtrag:

    wer eine andere Shelly Adapter Version benutzt, muss das Blockly etwas geändert werden.

    Da der/die "mode" in den neuen SYS Ordner gewandert ist. (mit div. anderen Datenpunkten)

    die werden dann auch bei einer Änderung alle gleich gezogen, wer das nicht mag, muss sich da einen Filter bauen

    Bildschirmfoto vom 2023-01-03 21-43-20.png


    Hier wird nun auch der Sys* Ordner getriggert und später wird der Pfad dann den Triggerauslöser angepasst, sys oder lights

    Die "effect" werden in meinem Shelly Adapter Version 6.3.1 nur bei Neustart des Shellys geändert, warum auch immer, da wird also vermutlich nichts passieren.


    Bildschirmfoto vom 2023-01-03 21-43-50.png


    Spoiler anzeigen

    <xml xmlns="https://developers.google.com/blockly/xml">

    <variables>

    <variable id="sCJ$u|c0CztjMD,NY1dH">Bulb-Master</variable>

    <variable id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</variable>

    <variable id="AXkj4VSO)r)E7`e):NvG">Bulb-3</variable>

    <variable id="RqP6naNU7!IpvxlL:{|D">Kanal-ID</variable>

    <variable id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</variable>

    </variables>

    <block type="variables_set" id="V~=xb`!89yOg}WIBC`Y(" x="313" y="88">

    <field name="VAR" id="sCJ$u|c0CztjMD,NY1dH">Bulb-Master</field>

    <value name="VALUE">

    <block type="text" id="r3!78ftUv2^^2V.F3$]C">

    <field name="TEXT">shelly.0.SHCB-1#483FDA9285A6#1</field>

    </block>

    </value>

    <next>

    <block type="variables_set" id="O]O#-|;,4TFHzh=mu!B9">

    <field name="VAR" id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</field>

    <value name="VALUE">

    <block type="text" id="f2jL2~f7WvTa6;D;l}ME">

    <field name="TEXT">shelly.0.SHCB-1#483FDA928657#1</field>

    </block>

    </value>

    <next>

    <block type="variables_set" id="D:D*Y7u+?{/CpYHXDarW">

    <field name="VAR" id="AXkj4VSO)r)E7`e):NvG">Bulb-3</field>

    <value name="VALUE">

    <block type="text" id="V3^Nf~oNW.EQl:8@S[4F">

    <field name="TEXT">shelly.0.SHCB-1#8CAAB555DFF7#1</field>

    </block>

    </value>

    <next>

    <block type="on_ext" id=":W$E,VqIx/:{gZt#LT2.">

    <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>

    <field name="CONDITION">ne</field>

    <field name="ACK_CONDITION"></field>

    <value name="OID0">

    <shadow type="field_oid" id="6q7}+8YpZCU4RKmeDX,u">

    <field name="oid">default</field>

    </shadow>

    <block type="selector" id="=]6:]+x{+NEpe!(kyu}v">

    <field name="TEXT">shelly.0.SHCB-1#483FDA9285A6#1.lights*</field>

    </block>

    </value>

    <value name="OID1">

    <shadow type="field_oid" id="Hut#g?K/^@CXZHuVe@N;">

    <field name="oid">default</field>

    </shadow>

    <block type="selector" id="EuZ2zGy*rrB_8=g[u7S,">

    <field name="TEXT">shelly.0.SHCB-1#483FDA9285A6#1.Sys*</field>

    </block>

    </value>

    <statement name="STATEMENT">

    <block type="variables_set" id="R`Bw?tpEHu93FOQ+b[=9">

    <field name="VAR" id="RqP6naNU7!IpvxlL:{|D">Kanal-ID</field>

    <value name="VALUE">

    <block type="text_getSubstring" id="3LcMZ!lWqJ2lzGIb^S|(">

    <mutation at1="true" at2="false"></mutation>

    <field name="WHERE1">FROM_START</field>

    <field name="WHERE2">LAST</field>

    <value name="STRING">

    <block type="on_source" id="!=/4{.V}U#,m[xNutP~h">

    <field name="ATTR">channelId</field>

    </block>

    </value>

    <value name="AT1">

    <block type="text_indexOf" id="j,(mqO!;JpqYG.uM2Rd~">

    <field name="END">LAST</field>

    <value name="VALUE">

    <block type="on_source" id="PFpZSZ`#:VY,GUy4}]8.">

    <field name="ATTR">channelId</field>

    </block>

    </value>

    <value name="FIND">

    <shadow type="text" id="R+8hnOuC}q5-F5|Yq$V5">

    <field name="TEXT">.</field>

    </shadow>

    </value>

    </block>

    </value>

    </block>

    </value>

    <next>

    <block type="variables_set" id="%)Tt;/QyC$]IS5@+F`-f">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    <value name="VALUE">

    <block type="text_getSubstring" id="{raPA?Db|rR,Fb*kE(yl">

    <mutation at1="true" at2="false"></mutation>

    <field name="WHERE1">FROM_START</field>

    <field name="WHERE2">LAST</field>

    <value name="STRING">

    <block type="on_source" id="Pb32{*V+X##/uf,_TUk;">

    <field name="ATTR">id</field>

    </block>

    </value>

    <value name="AT1">

    <block type="math_arithmetic" id="plFtBQ~1aDt@H]3_Z@5:">

    <field name="OP">ADD</field>

    <value name="A">

    <shadow type="math_number">

    <field name="NUM">1</field>

    </shadow>

    <block type="text_length" id="EOk3}.vrKBtK3t}zZ?EI">

    <value name="VALUE">

    <shadow type="text">

    <field name="TEXT">abc</field>

    </shadow>

    <block type="on_source" id="jPE[B%|9G3+Mx~rj`F%i">

    <field name="ATTR">channelId</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <shadow type="math_number" id="is9~)6b^T_`Tv(Gn?wV/">

    <field name="NUM">1</field>

    </shadow>

    </value>

    </block>

    </value>

    </block>

    </value>

    <next>

    <block type="control_ex" id="lohW#9cs`9qG*OkqwD]u" inline="true">

    <field name="TYPE">false</field>

    <field name="CLEAR_RUNNING">FALSE</field>

    <value name="OID">

    <shadow type="field_oid" id="hiVqJFlClrN`h%)pTw!|">

    <field name="oid">Object ID</field>

    </shadow>

    <block type="text_join" id="gS,-GA-~Hx$SW?a#dL)U">

    <mutation items="3"></mutation>

    <value name="ADD0">

    <block type="variables_get" id=",|H:eexVc+EBiO+[t@aY">

    <field name="VAR" id="Ma(C!`Af=GR.G2d;??P9">Bulb-2</field>

    </block>

    </value>

    <value name="ADD1">

    <block type="variables_get" id="te4qgcQ]2^B@^FGTbEQ9">

    <field name="VAR" id="RqP6naNU7!IpvxlL:{|D">Kanal-ID</field>

    </block>

    </value>

    <value name="ADD2">

    <block type="variables_get" id="F9*H#7#U|8vo)P$IUGQB">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    </block>

    </value>

    </block>

    </value>

    <value name="VALUE">

    <shadow type="logic_boolean" id="K@(Kh;(h~|I3KZ:Q^BWm">

    <field name="BOOL">TRUE</field>

    </shadow>

    <block type="on_source" id="68os(~!d)QnvZLaPRAxo">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="DELAY_MS">

    <shadow type="math_number" id="ND=:acp},`;srEbEsbT+">

    <field name="NUM">0</field>

    </shadow>

    </value>

    <next>

    <block type="control_ex" id="=Kx$PMeG,r7scYeb.?A{" inline="true">

    <field name="TYPE">false</field>

    <field name="CLEAR_RUNNING">FALSE</field>

    <value name="OID">

    <shadow type="field_oid">

    <field name="oid">Object ID</field>

    </shadow>

    <block type="text_join" id="7k#Fx1DkpQ9gcg9Z$6%|">

    <mutation items="3"></mutation>

    <value name="ADD0">

    <block type="variables_get" id="d{l(^l9NnCLn]W)yG_D,">

    <field name="VAR" id="AXkj4VSO)r)E7`e):NvG">Bulb-3</field>

    </block>

    </value>

    <value name="ADD1">

    <block type="variables_get" id="YZT1b9;0cw@:Wk}31Vr9">

    <field name="VAR" id="RqP6naNU7!IpvxlL:{|D">Kanal-ID</field>

    </block>

    </value>

    <value name="ADD2">

    <block type="variables_get" id="YJaaO$qF|OU)4mvZs}*)">

    <field name="VAR" id="odQS(K(Xp.E)E7+n@uPD">Ausloeser</field>

    </block>

    </value>

    </block>

    </value>

    <value name="VALUE">

    <shadow type="logic_boolean">

    <field name="BOOL">TRUE</field>

    </shadow>

    <block type="on_source" id="y6;S-45euwu;DP3po8tF">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="DELAY_MS">

    <shadow type="math_number" id="K,h*j{gX%bxg6FFZ29R)">

    <field name="NUM">0</field>

    </shadow>

    </value>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </xml>

    VG

    Maik

  • neo-v , Hallo Maik,

    vielen Dank! Skript (aus #2) läuft super!

    Shelly-Adapter-Version ist 6.0.0

    Alle gewünschten Einstellungen wie Lichtfarbe, Helligkeit, Farbintensität sind per Slider in der Visu (Mediola) stufenlos einstellbar. Top!

    Theorie ist wenn man alles weiß und nichts funktioniert. Praxis ist wenn alles funktioniert und keiner weiß warum.

    FAQ Fehlerbehebung / FAQ troubleshooting         http-Request - Überblick / http-Request - overview

    Spoiler anzeigen

    Homematic/IP mit CCU3, iOBroker auf Raspberry Pi4 mit M.2 SSD / Diagramme per Flot / Visualisierung mit Mediola AIO CREATOR NEO / FRITZ!Mesh-WLAN

    Shelly (1, 1L, 1PM, 2.5, Dimmer/2, RGBW2, EM, UNI, PlugS, Flood, TRV, Gas, Motion, Motion2, Duo, Vintage, Button/1, Temp-AddOn / PLUS: 1, 1PM, 2PM, i4, H&T2, PlugS, Smoke / PRO: 1,1PM, 2, 2PM, 3EM)