Ich antworte mir mal selbst.
Ich denke das könnte für Andere hilfreich sein.
Ich bin wieder von 4 x Weiß auf Color gegangen, das wird dann etwas weniger Aufwändig.
Dann sehen die Datenpunkte im MQTT so aus.
pasted-from-clipboard.png
Den Inhalt vom Status habe ich mir dann rauskopiert
{
"ison": true,
"source": "mqtt",
"has_timer": false,
"timer_started": 0,
"timer_duration": 0,
"timer_remaining": 0,
"mode": "color",
"red": 0,
"green": 0,
"blue": 0,
"white": 0,
"gain": 100,
"effect": 0,
"transition": 0,
"power": 5.79,
"overpower": false
}
Das ist ein Typischer json-String.
Wenn ich diesen jetzt in den Datenpunkt ...set kopiere und an z.B rot den Wert von 15 - 255 verändere so verändere ich auch die Helligkeit der Farbe rot.
So weit so gut.
Das ist mein Test Blockly.
pasted-from-clipboard.png
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="AiD6aO;T4,n.2Xzu-OlF">rot</variable>
<variable id=";9kXv15y%[BOZidN%W1B">gruen</variable>
<variable id="JJYe,JvDo|37Pf._=$G5">blau</variable>
<variable id="r8W7N1N1SuVi?BB`do|~">weiss</variable>
<variable id=":cKnaYeOJdiHl;OUa4?L">RGBW_Befehl</variable>
</variables>
<block type="schedule" id=";^A#v6cg~$:nhjUq.mY!" x="212" y="238">
<field name="SCHEDULE">*/10 * * * * *</field>
<statement name="STATEMENT">
<block type="variables_set" id="j;QKIBs`cYXVZouW1-O3">
<field name="VAR" id="AiD6aO;T4,n.2Xzu-OlF">rot</field>
<value name="VALUE">
<block type="math_number" id=",?4FjgxBX%?Fs1H,J7_G">
<field name="NUM">15</field>
</block>
</value>
<next>
<block type="variables_set" id="`0iKqCfnkru@}nsKw{2a">
<field name="VAR" id=";9kXv15y%[BOZidN%W1B">gruen</field>
<value name="VALUE">
<block type="math_number" id="26hsgD?h|Y7l!*Q{/SDw">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="Pmx:*4pBXmAqC^u+eS;q">
<field name="VAR" id="JJYe,JvDo|37Pf._=$G5">blau</field>
<value name="VALUE">
<block type="math_number" id="Izlm~JQGd.`V^8SXUS$c">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="B1qOJ`rh^ocnQ~#mUf1E">
<field name="VAR" id="r8W7N1N1SuVi?BB`do|~">weiss</field>
<value name="VALUE">
<block type="math_number" id="e6z{jCEb:*!]Ozz84Koa">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="controls_if" id="}+09XNyDj]L/1~NOcexA">
<value name="IF0">
<block type="logic_boolean" id="5%nrDj$G|L/arw#KQnfk">
<field name="BOOL">TRUE</field>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id=")),etIy(8z%?Z2__uFf@">
<field name="VAR" id=":cKnaYeOJdiHl;OUa4?L">RGBW_Befehl</field>
<value name="VALUE">
<block type="text_join" id="R]e)IGf7#W=kst06;[NG">
<mutation items="26"></mutation>
<value name="ADD0">
<block type="text" id="c`s1OUY|GdpfH_3y5XdT">
<field name="TEXT">{</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="H2DZtv4x8myE:LRe1*pz">
<field name="TEXT">"ison": true,</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="_,iVf+$,qNM9k=x+}Ffa">
<field name="TEXT">"source": "mqtt",</field>
</block>
</value>
<value name="ADD3">
<block type="text" id="!S$i}h5Yqghi!~R^_QFG">
<field name="TEXT">"has_timer": false,</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="99#L}LR/lmk80N`sTE_i">
<field name="TEXT">"timer_started": 0,</field>
</block>
</value>
<value name="ADD5">
<block type="text" id="aV1J:sXdR.J4-1??SYqw">
<field name="TEXT">"timer_duration": 0,</field>
</block>
</value>
<value name="ADD6">
<block type="text" id="Jlu9;,Gu3n-E:Fmeg0(+">
<field name="TEXT">"timer_remaining": 0,</field>
</block>
</value>
<value name="ADD7">
<block type="text" id="YHoc8U~(P_f8nw4agCV2">
<field name="TEXT">"mode": "color",</field>
</block>
</value>
<value name="ADD8">
<block type="text" id="j92-kN}r?tK0}blJo2E.">
<field name="TEXT">"red": </field>
</block>
</value>
<value name="ADD9">
<block type="variables_get" id="4[n-v?QS^(fbw7yB7`l2">
<field name="VAR" id="AiD6aO;T4,n.2Xzu-OlF">rot</field>
</block>
</value>
<value name="ADD10">
<block type="text" id="z!:t#}aJa|.{cfwoo^y^">
<field name="TEXT">, </field>
</block>
</value>
<value name="ADD11">
<block type="text" id="P:KG}A3/y#x^tz*RLvd6">
<field name="TEXT">"green": </field>
</block>
</value>
<value name="ADD12">
<block type="variables_get" id="K[|)/:o/]6l3+g@*inCx">
<field name="VAR" id=";9kXv15y%[BOZidN%W1B">gruen</field>
</block>
</value>
<value name="ADD13">
<block type="text" id="d5Ew#fsl|HG(a2}-/NTx">
<field name="TEXT">, </field>
</block>
</value>
<value name="ADD14">
<block type="text" id="-hyXN^,}l5f:T)V6G~Sd">
<field name="TEXT">"blue": </field>
</block>
</value>
<value name="ADD15">
<block type="variables_get" id="v$Ju=*WA{WcL8w!9SRE^">
<field name="VAR" id="JJYe,JvDo|37Pf._=$G5">blau</field>
</block>
</value>
<value name="ADD16">
<block type="text" id="XaON8*Pu[4]RmUXLXZ4~">
<field name="TEXT">, </field>
</block>
</value>
<value name="ADD17">
<block type="text" id="z-8RWgT:=`dSE;lP?ra!">
<field name="TEXT">"white": </field>
</block>
</value>
<value name="ADD18">
<block type="variables_get" id="{9bOdg3~8JIEug$AgmLa">
<field name="VAR" id="r8W7N1N1SuVi?BB`do|~">weiss</field>
</block>
</value>
<value name="ADD19">
<block type="text" id="$;YXm1|=%kOR6CHL2Z*F">
<field name="TEXT">, </field>
</block>
</value>
<value name="ADD20">
<block type="text" id="^A}op(]`fEw5!?I53?)%">
<field name="TEXT">"gain": 100, </field>
</block>
</value>
<value name="ADD21">
<block type="text" id=":ZK/3dgQ=.OP:qub.1G4">
<field name="TEXT">"effect": 0,</field>
</block>
</value>
<value name="ADD22">
<block type="text" id="|X0/MFDn@*9-}]=;W-?$">
<field name="TEXT">"transition": 0,</field>
</block>
</value>
<value name="ADD23">
<block type="text" id="30_|B($q=7KaUgdK2Q:(">
<field name="TEXT">"power": 0,</field>
</block>
</value>
<value name="ADD24">
<block type="text" id="9J2F1cyBfk$IpKym+NJ]">
<field name="TEXT">"overpower": false</field>
</block>
</value>
<value name="ADD25">
<block type="text" id=")KowUV|+Ej[s5QqJ=QIe">
<field name="TEXT">}</field>
</block>
</value>
</block>
</value>
<next>
<block type="control" id="wC5q]hW{-uG.lW0|e$Qs">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">mqtt.0.shellies.shellyrgbw2-49F1E5.color.0.set</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="#D0*s%In:~9q)bnXeqRb">
<field name="VAR" id=":cKnaYeOJdiHl;OUa4?L">RGBW_Befehl</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Alles anzeigen
Wenn ich da die Werte oben verändere so funktioniert die ganze Sache.
Jetzt ist der Weg für mein Co2 Licht geebnet und der Rest ist Formsache.
Wofür die Anderen Einträge gut sind weis ich noch nicht, möglicherweise können die auch weggelassen werden.