Closed foxriver76 closed 1 year ago
@foxriver76 Hello together, is somebody working on an adapter for the Hue Sync Box? Or any other way to control it? Many thanks in advance!
AFAIK not, however there is a homebridge plug-in which can be used with the iobroker adapter.
Many thanks for your fast response. This would mean that I have to run homebridge with the Hue Sync Box Plugin (in another docker I guess?!) and then connect my ioBroker to the homebridge?!
No, there’s an adapter which is able to use homebridge plug-ins in iobroker https://github.com/ioBroker/ioBroker.ham and in the config of this adapter you can add https://www.npmjs.com/package/homebridge-philips-hue-sync-box
Hmmmm... many thanks! I will try it out as soon as possible :-)
Hi foxriver76! I managed to setup the ham adapter with the hue sync box plugin. Unfortunately I'm failing with the TV accessories: The most important is "Switching HDMI inputs". There is mentioned: "Important: TV accessories must be added to HomeKit manually, the logs show the pin for adding them (should be the same pin as for the plugin)." but I do not know how I could handle this.
I see maybe two paths (where I have no glue :-()
Do you have any idea how I could continue as next? Many many thanks!
My configuration within the hem adapter:
{ "description": "Add configuration for your accessories or platforms according to the docs of the plugins.", "accessories": [], "platforms": [ { "platform": "PhilipsHueSyncBoxPlatform", "syncBoxIpAddress": "192.168.168.38", "syncBoxApiAccessToken"My-Token", "defaultOnMode": "video", "defaultOffMode": "passthrough", "tvAccessory": true, "tvAccessoryType": "tv", "isApiEnabled": true, "apiPort": 40220, "apiToken": "iobroker" } ] }
Because of this configuration I get the following datapoints but nothing for switching the HDMI input:
In the meantime I managed it via API. So therefore I can work without the adapter. The adapter was the door opener to activate the API. Now I can handle the rest via the API on my own. Anyhow... I think it would be very very good to have a "right" adapter here also for others. There are also scripts in the web to make the first connect much easier. I still hope that there will be an adapter in future so that I get rid of my "hack" :-)
Many thanks to foxriver76 for the hint above that there is a possibility via ham adapter!!
Of course, that’s why the issue is still open. If you are familiar with programming or want to get into it, feel free to start this project - many people would be thankful. ;-)
Hi foxriver76,
I think I would have fun developing such an adapter but I will get my second child soon and apart of this I would need time to get into this style of programming and I do not know how I could start such thing. I'm comming originally from the DOS and Windows world and in work life from embedded C, so also ioBroker is very new to me and I'm happy that I reached this point (but my wife complained allready about the time I spend). :-) So I do not think that I can manage this now unfortunately :-(
In the meantime I share a blockly which I used now since a while which is not perfect but working stable for my use cases. Still the homebridge plugin might be needed to activate the API at the Hue Sync Box in case there is in the meantime no better way.
It supports (can be extended on own wishes):
Attention:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="vyCJug5)HK8`Rwpn{!-Y">Kommando</variable>
<variable id="l$P=7UVzy{}NQ#Rkr6~G">TextIpAdresse</variable>
<variable id="Od]AG5T$|zp-J=296=QC">TextToken</variable>
<variable id="T.}M]-wf)!dM1=v9#%/{">StatusBefehlLäuft</variable>
<variable id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</variable>
<variable id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</variable>
<variable id="jz`wEYoKwL1VQxmk%EzN">error</variable>
<variable id="%95FW7)|WIIuF683{m~p">StatusHueSyncBoxNeu</variable>
<variable id="kcN_#B;VPg~B#m`QiI+!">result</variable>
<variable id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</variable>
<variable id="@(Z2Yv|cu`rT/cFI*wk+">HueSyncBoxAdapter_StatusZiel</variable>
<variable id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</variable>
<variable id=")g@da|)nNGp5@Eo;P|a(">HueSyncBoxAdapter_HdmiInputAktuell</variable>
<variable id=";:oeMS@WxP{*?7$|vTu#">TextHdmiSource</variable>
<variable id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</variable>
<variable id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</variable>
<variable id="=1`Ow=]V!FS,zH/,+7P]">ZahlHdmiInputNeu</variable>
<variable id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</variable>
<variable id="F*yPgO+jL1r*=.*g{)*r">HueSyncBoxAdapter_SyncStatusAktuell</variable>
<variable id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</variable>
<variable id="3Al`]9?A8Qgf`fTj5iQD">HueSyncBoxAdapter_SyncStatusZiel</variable>
<variable id="j}6Ip#kdGfo^Sr_OWKNh">TextOperationModeNeu</variable>
<variable id=")]q-Btv6z=^X6L?Fn,T-">ZahlBefehlsabstandGet</variable>
<variable id="?(hWaxi~(cM!h:V({}/Z">HueSyncBoxAdapter_OperationModeAktuell</variable>
<variable id="doJ!(*0n(^`-f-3v3?V$">ZahlBefehlsabstandGetLaufend</variable>
<variable id="}Tr)]$4Kx6Iy!r/hmhPE">HueSyncBoxAdapter_OperationModeZiel</variable>
<variable id="@sXF7#Av/SkyeZ$:#CYj">StatusSyncStatusNeu</variable>
<variable id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</variable>
<variable id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</variable>
<variable id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</variable>
<variable id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</variable>
<variable type="interval" id="Intervall">Intervall</variable>
</variables>
<block type="comment" id="Z]}~1D(,P9]-MvMTEaJa" x="-2288" y="-737">
<field name="COMMENT">Init (Eigener Adapter)</field>
<next>
<block type="comment" id="4j7evl$3Kqgk}69_v)oM">
<field name="COMMENT">=================================================</field>
<next>
<block type="variables_set" id=",de/,zlm.|YyVx/Z*4$u">
<field name="VAR" id="l$P=7UVzy{}NQ#Rkr6~G">TextIpAdresse</field>
<value name="VALUE">
<block type="text" id="bvfh4^~;8k/i,K1#(7@U">
<field name="TEXT">YourIP</field>
</block>
</value>
<next>
<block type="variables_set" id="Pm,7$Y(lQ=V*[-+{*tp)">
<field name="VAR" id="Od]AG5T$|zp-J=296=QC">TextToken</field>
<value name="VALUE">
<block type="text" id="JQS`RB+GrrC)F_DD$aWk">
<field name="TEXT">YourToken</field>
</block>
</value>
<next>
<block type="variables_set" id="GvCV)9r]U0{AiR[#/=ag">
<field name="VAR" id="T.}M]-wf)!dM1=v9#%/{">StatusBefehlLäuft</field>
<value name="VALUE">
<block type="logic_boolean" id="OQKh}gLJ#A]dUu!Yy^ZI">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="fJYX44LAbd#~?Q*1R`sf">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
<value name="VALUE">
<block type="math_number" id="+huUS;IP7cE,qiQd+f93">
<field name="NUM">500</field>
</block>
</value>
<next>
<block type="variables_set" id="r/~r}RxbPYGLgNqw}23o">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
<value name="VALUE">
<block type="math_number" id=";e3H6XFMs30esp!_QL8~">
<field name="NUM">10000</field>
</block>
</value>
<next>
<block type="variables_set" id="`0#w8abv*[OzlHY`PUkp">
<field name="VAR" id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</field>
<value name="VALUE">
<block type="variables_get" id="_!d:;he]$brgGd/LGDcW">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="y/,Qe,JF3FzyF@S@3A~D">
<field name="VAR" id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</field>
<value name="VALUE">
<block type="variables_get" id="yarc(9M1qvZC,P9:y#)V">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="%Z!~UYyb8+d[!M)EtcHy">
<field name="VAR" id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</field>
<value name="VALUE">
<block type="variables_get" id="_[/5IZ^ubScUZ9;kaz,i">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="s]/~U|T{*=P4JC)_Lb{f">
<field name="VAR" id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</field>
<value name="VALUE">
<block type="variables_get" id="UkA~X`0O)P`;42{_}pkJ">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="y%2aT.`P$fvM=Xg92!Mz">
<field name="VAR" id=")]q-Btv6z=^X6L?Fn,T-">ZahlBefehlsabstandGet</field>
<value name="VALUE">
<block type="math_number" id="7)R@^3fUDi]6;`,7~w6)">
<field name="NUM">5000</field>
</block>
</value>
<next>
<block type="variables_set" id="ESk~?]9qdeL6wP`WC4d8">
<field name="VAR" id="doJ!(*0n(^`-f-3v3?V$">ZahlBefehlsabstandGetLaufend</field>
<value name="VALUE">
<block type="math_number" id="MW/!.Cwp,QA@%e|Mg,ql">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="Ka$1SAzc~eFPh1+Pj(`F">
<field name="VAR" id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</field>
<value name="VALUE">
<block type="logic_boolean" id=":2+a%B4oAMVZPR=:(4,H">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="G`?[o2qROF4c4*d*)@~r">
<field name="VAR" id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</field>
<value name="VALUE">
<block type="logic_boolean" id="xsV/FA(SL=B@i[W_M0Pn">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="|jmt%Tl^ns~$4)a1*.KI">
<field name="VAR" id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</field>
<value name="VALUE">
<block type="logic_boolean" id="(^OrZ8AdZ9MY-A/fxK/r">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="Qcr`2c;@@f3xpJ@3K2YM">
<field name="VAR" id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</field>
<value name="VALUE">
<block type="logic_boolean" id="8$?YYs3AM0JHU$4n1?NC">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="U[:#K6iXZ(gdD{P^|H.H">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="d}on}Yiy#?r.=SBv)?8X">
<field name="TEXT">Init done</field>
</shadow>
</value>
<next>
<block type="comment" id="7=3yCQXR-z;tb*L92m6.">
<field name="COMMENT">Cyclically (Eigener Adapter)</field>
<next>
<block type="comment" id="V@tLb:(oB1}RQ$G=[i7C">
<field name="COMMENT">=================================================</field>
<next>
<block type="timeouts_setinterval" id="S~ccCqhU3RU1)I#lLoO%">
<field name="NAME">Intervall</field>
<field name="INTERVAL">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="procedures_callnoreturn" id="clkCX_3Wy|Nf}A%zLI!.">
<mutation name="HueSyncBoxAdapter_Proc"></mutation>
</block>
</statement>
<next>
<block type="comment" id="_UIY:vPuw?duBLy8eoRN">
<field name="COMMENT">OnChange (STATUS)</field>
<next>
<block type="on_ext" id="FqO|47OGvU(i0wkmN6-)">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field>
</shadow>
<block type="field_oid" id="|1v(Q(Ydsp/LzPJn-RzU">
<field name="oid">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS</field>
</block>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="^B,YO`I4aj{^Bh$3;uZc">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="%7FH=(Xm|)ILG!L$w^SF" inline="false">
<field name="OP">OR</field>
<value name="A">
<block type="logic_negate" id="A4){./!/oPc8Uk:4$Q`+">
<value name="BOOL">
<block type="variables_get" id="Fv~FlrA(#/X:FqY7N2H7">
<field name="VAR" id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="iOL#Fhql6{ot4K-.EWHo" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id=".dyo^I|T,4f_fgHPn1Ci">
<field name="VAR" id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="{]pb:[wGFwxBZGmg7p.(">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="lN{`XX5]lH^s44UN!I3j">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="K3.O%`rWHMs52/G}.jVC">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS_COMMAND</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="{/e)mM)l/jlc$Yfm?IKB">
<field name="COMMENT">Status Ausführung bestätigen</field>
<next>
<block type="update" id="[r(ydAa1m^~4L.6u-:5/">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="on_source" id=".Kf3iYj}J$w3tX@j,w)X">
<field name="ATTR">state.val</field>
</block>
</value>
<next>
<block type="variables_set" id="Y+L?#XxM]DQiR1ZS|tD.">
<field name="VAR" id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</field>
<value name="VALUE">
<block type="logic_boolean" id="::=qX6#Ud%pRkd6GmCxT">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="Gvy0pg#Vh.Fen5~A3yF0">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="klt+eKx%a6B9;sBP-x!i">
<field name="TEXT">HueSyncBoxAdapter Änderung Status bestätigt</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="%u^Brx3wKlZv`m|]NIb@">
<field name="COMMENT">Gewünschte Änderung nicht erreicht</field>
</block>
</statement>
</block>
</statement>
<next>
<block type="on_ext" id="2M9s(#%bKU/q%^,ORAbR">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION">false</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field>
</shadow>
<block type="field_oid" id="M3|7j?b=!w1Nn%Yovv6K">
<field name="oid">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS_COMMAND</field>
</block>
</value>
<statement name="STATEMENT">
<block type="comment" id="B|:Ueevm:/LMABmlN,Wj">
<field name="COMMENT">Bei Änderung Statuskommando Konstistenz herstellen</field>
<next>
<block type="controls_if" id="|QdUpS7r}K$@aQ+-`JBT">
<value name="IF0">
<block type="logic_compare" id="N?mJmM@sfEI[~2=[QZ`v">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="|Gut@_kx`K[s?1qrS91k">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="WaQS2N{W_+qa=Q]gv?P[">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="GnA`Fh]H,}d1ujj42}Ij">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Ybr_-ur$vKLBR~vgg~[]">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="Zl}$?j{WS~8yl}703VvX">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text" id="=a1Y0`1g;|xF,w6=KsY=">
<field name="TEXT">video</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="debug" id="F0HvDQNTONs@aOGRNSvE">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="bL/ug}_k$j]|I#B^W32W">
<field name="TEXT">HueSyncBoxAdapter Änderung Statuskommando behandelt</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="JN_3ji9m+.)97r?EEP$0">
<field name="COMMENT">OnChange (HDMI-INPUT)</field>
<next>
<block type="on_ext" id="nyU7W;DyP_E8[ma_0asF">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field>
</shadow>
<block type="field_oid" id="0r^YJ0?S%.lb]t+$pCkW">
<field name="oid">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT</field>
</block>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="R1UByZunTqXp~hc$r6W)">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="!ik)@4jDQrTe;xF{fCW#" inline="false">
<field name="OP">OR</field>
<value name="A">
<block type="logic_negate" id="@ZR*xHb)V@F.@:.Fmvnp">
<value name="BOOL">
<block type="variables_get" id="|Fu2$_0:P;9C}|8!.xZp">
<field name="VAR" id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="p0XAAjO{08@jfl7%wevt" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="CYhh@@_S:nGE(*vGShPv">
<field name="VAR" id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="TtgRycpKUHo!HXU}GRJ@">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="zCAVDJFm,mKGyM:IhpW=">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="[[%PNSiVBMa;-qwI,Do?">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT_COMMAND</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="IU`5e{X8xyeyM?.5KmB+">
<field name="COMMENT">HDMI Input Ausführung bestätigen</field>
<next>
<block type="update" id="zv_Rk;hbz3h(7!gf!*/t">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="on_source" id="?xRbpd]V#zs6hikv~F;h">
<field name="ATTR">state.val</field>
</block>
</value>
<next>
<block type="variables_set" id="bo+ChvP)wCADs+CVCZ%Q">
<field name="VAR" id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</field>
<value name="VALUE">
<block type="logic_boolean" id="F?h@F+Fqe_yzBrX,i=D/">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="-Br!HzlVZk}$DAI(-on9">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="xZdjTGZDh3j!3k.)LI%#">
<field name="TEXT">HueSyncBoxAdapter Änderung HDMI Input bestätigt</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="k`Pei6W1Suw)trY{TK{+">
<field name="COMMENT">Gewünschte Änderung nicht erreicht</field>
</block>
</statement>
</block>
</statement>
<next>
<block type="comment" id="hQTWQc1-.ijUASRW(jn-">
<field name="COMMENT">OnChange (SYNC_STATUS)</field>
<next>
<block type="on_ext" id="ZoP}@P/[|]VMQjVgC%,9">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field>
</shadow>
<block type="field_oid" id="I},xkiWCn/q@y:ykqzi+">
<field name="oid">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS</field>
</block>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="cHvpg}}a/q$}$~-d?.(9">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="v44gzlen}|bvqo-()H;A" inline="false">
<field name="OP">OR</field>
<value name="A">
<block type="logic_negate" id="mE)*,3[ckcNfYRPH9IUA">
<value name="BOOL">
<block type="variables_get" id="ADYS@qh1:/Xu$A;d0*_H">
<field name="VAR" id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="!;URC}wcd+l8RZG%n|)z" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="u2SY.*6/[8h:]s$TkLnr">
<field name="VAR" id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="~#4jwKU-^v(tH+0.){rV">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="sO,}N#b[/h@yzz$.aTl@">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="r@9mae`m,6[Cz.]R61{L">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS_COMMAND</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="!3KA8=KCo.jsYO4q]l,c">
<field name="COMMENT">Sync Status Ausführung bestätigen</field>
<next>
<block type="update" id="5WC+z(@0QK^5dro9jT*W">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="on_source" id=";yF@hp+Qoq*gFuzVF(uT">
<field name="ATTR">state.val</field>
</block>
</value>
<next>
<block type="variables_set" id="Cja5RR1!J;+bLUr^XKt)">
<field name="VAR" id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</field>
<value name="VALUE">
<block type="logic_boolean" id="s]n$kiaqx]qy~ZB//zcA">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="=].2ZmpGS%^SsLr2gw~Q">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="l%JC2L(A#]1-9*VD[WbD">
<field name="TEXT">HueSyncBoxAdapter Änderung Sync Status bestätigt</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="5]b.^$cpth:jvyhPGw!V">
<field name="COMMENT">Gewünschte Änderung nicht erreicht</field>
</block>
</statement>
</block>
</statement>
<next>
<block type="comment" id="{-D$wis/E$-}aI`o8Yfv">
<field name="COMMENT">OnChange (OPERATION_MODE)</field>
<next>
<block type="on_ext" id="4a{r!D48kcM8b30.0/.R">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0">
<shadow type="field_oid">
<field name="oid">0_userdata.0.Wohnung.Beleuchtung.SET</field>
</shadow>
<block type="field_oid" id="Do%%vNMOsKfUHi/^u?uS">
<field name="oid">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE</field>
</block>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="MKw4:-Yli?4Bx1T]M_?;">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="tM34nBSCC0AzTqoIZ.nQ" inline="false">
<field name="OP">OR</field>
<value name="A">
<block type="logic_negate" id="IRIw]);uF/Qb^`TdsYyW">
<value name="BOOL">
<block type="variables_get" id="u$XJV4R.@UqFU,V,C2}l">
<field name="VAR" id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="(VK|PijWLD^?-M.3O);x" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="vF`{82PP?#UnUyR~~lA$">
<field name="VAR" id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="GNJ);tUJs!si[TwOXyRJ">
<field name="OP">EQ</field>
<value name="A">
<block type="on_source" id="v#aD_8s${fp;Dm._L/MW">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="get_value" id="X@Qoc9t6v7!da4ak$RJB">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE_COMMAND</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="w2u/+lt7@v(i,$PRGA`7">
<field name="COMMENT">Operation Mode Ausführung bestätigen</field>
<next>
<block type="update" id="7+bkbZZJ5sXJ((/oPe(,">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE_COMMAND</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="on_source" id="g+_`#7*cx?NFA6|zNGb}">
<field name="ATTR">state.val</field>
</block>
</value>
<next>
<block type="variables_set" id="A7]+}hV-?k)90l]v@]nF">
<field name="VAR" id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</field>
<value name="VALUE">
<block type="logic_boolean" id="?YqYw.wRL^10J[(1sL.g">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="debug" id="EQ9n=RT5*W@D~4e1WY*I">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="IHzJ7$n.{0*-?XcZNOOF">
<field name="TEXT">HueSyncBoxAdapter Änderung Operation Mode bestätigt</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="gVWeo%JVijdM%[!1uA=8">
<field name="COMMENT">Gewünschte Änderung nicht erreicht</field>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
<block type="procedures_defnoreturn" id=";4Mb@unwmhz5F+mI.+J%" x="-1262" y="-737">
<field name="NAME">HueSyncBoxAdapter_Proc</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="controls_if" id="H:#*@HmlRz0+jM-}FMaJ">
<value name="IF0">
<block type="logic_negate" id="/)`U8hPIP=SmzS.BTwTl">
<value name="BOOL">
<block type="variables_get" id="XXK|pg#VOIChtuL-i`!!">
<field name="VAR" id="T.}M]-wf)!dM1=v9#%/{">StatusBefehlLäuft</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="%Wx4Kn2^EOXL$30d|BD)">
<field name="COMMENT">Parallele Mehrfachausführung verhindern</field>
<next>
<block type="variables_set" id="V.(8(CASST`-+N9N:]ul">
<field name="VAR" id="T.}M]-wf)!dM1=v9#%/{">StatusBefehlLäuft</field>
<value name="VALUE">
<block type="logic_boolean" id="L3U_+):4ZOh(jckWT1]3">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="comment" id="jraS8|1vt](CFqiBk^qJ">
<field name="COMMENT">Neuen Befehl ausführen</field>
<next>
<block type="variables_set" id="iKe3erZkQlt+y,|2-%@#">
<field name="VAR" id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</field>
<value name="VALUE">
<block type="get_value" id="/JxJT.Dln2Hw_h)~`rZM">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS</field>
</block>
</value>
<next>
<block type="variables_set" id="-vP]+7I^jnao.]VZ];Nx">
<field name="VAR" id="@(Z2Yv|cu`rT/cFI*wk+">HueSyncBoxAdapter_StatusZiel</field>
<value name="VALUE">
<block type="get_value" id="Jv%QxoCsh#G]]jWh5lz.">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS_COMMAND</field>
</block>
</value>
<next>
<block type="variables_set" id="=4HS%[#%j}U~1fg{1WoZ">
<field name="VAR" id=")g@da|)nNGp5@Eo;P|a(">HueSyncBoxAdapter_HdmiInputAktuell</field>
<value name="VALUE">
<block type="get_value" id="JxIm#{ikBY#4j2;l$=Dx">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT</field>
</block>
</value>
<next>
<block type="variables_set" id="ji_]02e=rqu]3n#mrtaC">
<field name="VAR" id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</field>
<value name="VALUE">
<block type="get_value" id="nJ+ym{w32WT@Zw%PD!j_">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT_COMMAND</field>
</block>
</value>
<next>
<block type="variables_set" id="hTmo]#{m_Y8.%8tSesOk">
<field name="VAR" id="F*yPgO+jL1r*=.*g{)*r">HueSyncBoxAdapter_SyncStatusAktuell</field>
<value name="VALUE">
<block type="get_value" id=":gOVF*,VN5yf1n?Cm2jO">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS</field>
</block>
</value>
<next>
<block type="variables_set" id="4;ERmx=w)$qJT^RnVUYp">
<field name="VAR" id="3Al`]9?A8Qgf`fTj5iQD">HueSyncBoxAdapter_SyncStatusZiel</field>
<value name="VALUE">
<block type="get_value" id=",%^zvA*6h0)JsHPldo5D">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS_COMMAND</field>
</block>
</value>
<next>
<block type="variables_set" id="@Z9?_pWKgUlT4Ko.p,N0">
<field name="VAR" id="?(hWaxi~(cM!h:V({}/Z">HueSyncBoxAdapter_OperationModeAktuell</field>
<value name="VALUE">
<block type="get_value" id="659=tzF0f-rNxE)zY`9%">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE</field>
</block>
</value>
<next>
<block type="variables_set" id="9$?lha8_Q_l%|^pY3@$j">
<field name="VAR" id="}Tr)]$4Kx6Iy!r/hmhPE">HueSyncBoxAdapter_OperationModeZiel</field>
<value name="VALUE">
<block type="get_value" id="[c(Kd-FH9~x4X~VivMCt">
<field name="ATTR">val</field>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE_COMMAND</field>
</block>
</value>
<next>
<block type="comment" id=",-IHh:K2];/^y_DBK]x!">
<field name="COMMENT">Befehle priorisieren und Mindestabstand berücksichtigen</field>
<next>
<block type="controls_if" id="$XA)Iu2TtaqCMK=AU{`n">
<mutation elseif="3" else="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="`1NSHA:0A3J83rxNw8OZ">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="n(1FTe5mF^/pKT+F^!+p">
<field name="VAR" id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="ldiNn4%[^X%QT8=f[A5k">
<field name="VAR" id="@(Z2Yv|cu`rT/cFI*wk+">HueSyncBoxAdapter_StatusZiel</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="j{:nUD?EC;8DGJ1!eU#J">
<field name="COMMENT">Änderung kommandiert (Status)</field>
<next>
<block type="comment" id="Vz!xcBYfN2g:r=cDLvIp">
<field name="COMMENT">Ändern vom Zielwert sperren bis Kommando verarbeitet wurde</field>
<next>
<block type="variables_set" id="^f{)P%IG*b}cCfhD/!x)">
<field name="VAR" id="D{a(j{M#DY|xh#sPe[TT">StatusÄnderungLäufStatus</field>
<value name="VALUE">
<block type="logic_boolean" id="LJ{EwY-atyScs~#yQ400">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="comment" id="F{F9[0I_kYj^oT/S^S@Y">
<field name="COMMENT">Befehlsmindestabstand Set-Befehl</field>
<next>
<block type="math_change" id="p,KT}bA/30y@Mip)ZQC@">
<field name="VAR" id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</field>
<value name="DELTA">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="4f*O@+noEw42?IiqT2*J">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
</block>
</value>
<next>
<block type="controls_if" id="@EZUSYq[2Dnxupi51B^r">
<value name="IF0">
<block type="logic_compare" id="LAn8uKtmOM9:@Jn*b4rd">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="2PR0Etds%;aBtw-i,VJH">
<field name="VAR" id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="l;P)]v[dC?m=0lssovh_">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="@c=Ju)aE2%*vx=e^=_;k">
<field name="COMMENT">"mode":"powersave" (Aus)|"video"|"game"|"music"</field>
<next>
<block type="controls_if" id="x_Wr/VZ}dWDo+qg-WV9b">
<mutation else="1"></mutation>
<value name="IF0">
<block type="variables_get" id="fFm[,^=2Wk_x1Gt)[nYt">
<field name="VAR" id="@(Z2Yv|cu`rT/cFI*wk+">HueSyncBoxAdapter_StatusZiel</field>
</block>
</value>
<statement name="DO0">
<block type="comment" id="+-]moFoH0J~j.8Wt/LR2">
<field name="COMMENT">HueSyncBox einschalten</field>
<next>
<block type="procedures_callnoreturn" id="2tyxr/:V{1gqIH$L?GU/">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="otE*/N9NI|{9aRT_$JZW">
<field name="TEXT">"hdmiActive":true</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="J`6#D?hZQ5zKn*d3H(bI">
<field name="COMMENT">HueSyncBox ausschalten</field>
<next>
<block type="procedures_callnoreturn" id="8#st,+N6cmUX2b4@Mp/k">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="#l{jCHL?x-.,9KgQY9`F">
<field name="TEXT">"hdmiActive":false</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="MWKU@,}{1)?t7Pa4x+,.">
<field name="VAR" id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</field>
<value name="VALUE">
<block type="math_number" id="wy|53E+I2U^y5CQ|ri2(">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="GD+VH#+r32vLvpK:DXk[">
<field name="DELAY">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<next>
<block type="procedures_callnoreturn" id="z=!56$LZDLRR8a!WN{.T">
<mutation name="HueSyncBoxAdapter_GetDatenAbfragen"></mutation>
<next>
<block type="debug" id="{F7}NbL4F4$.W?[@?9[Q">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="j|BeD`9Ms[^):nA2D0Uf">
<field name="TEXT">a1</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_operation" id="skqQPO/YNbk^EW#J~2l{" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="P.rtBYSxBcHRG3]!;;ew">
<field name="VAR" id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="?{cHK+*_/}#2jp8!n`Pw">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="B;nV~s$;7{M(%Yyz#h-l">
<field name="VAR" id=")g@da|)nNGp5@Eo;P|a(">HueSyncBoxAdapter_HdmiInputAktuell</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="CF3GwP[5w24.4A#J77JP">
<field name="VAR" id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="comment" id="d%9XueF)#kKN}G.[V9R?">
<field name="COMMENT">Änderung kommandiert (HDMI Input)</field>
<next>
<block type="comment" id="{/7jUcdv;RfRoD|Otpov">
<field name="COMMENT">Ändern vom Zielwert sperren bis Kommando verarbeitet wurde</field>
<next>
<block type="variables_set" id="Gn;i^K$5H)2RgjZ:IYfx">
<field name="VAR" id="*-X52.|rRfWFq!Cy|j(m">StatusÄnderungLäuftHdmiInput</field>
<value name="VALUE">
<block type="logic_boolean" id="ZZGQ+76|0+dJAI,(._dh">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="comment" id="%W{t{v!Li*fFiu%F{h2h">
<field name="COMMENT">Befehlsmindestabstand Set-Befehl</field>
<next>
<block type="math_change" id="w^[ZsAzpqitfu:yLw-.M">
<field name="VAR" id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</field>
<value name="DELTA">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="s.O5)M#h31S!DlL$2{:R">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
</block>
</value>
<next>
<block type="controls_if" id="JSQ?~[OtY,oeuh}x8_wB">
<value name="IF0">
<block type="logic_compare" id="q!KK--b$li=Lj{UB*9M3">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="!{;]gxMU?X1R(cttk{;B">
<field name="VAR" id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="eu[%^+7~$lsp)/v#fHpY">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="qKN0^p?xvRvh4/chcaaQ">
<field name="COMMENT">"hdmiSource":"input1"|"input2"|"input3"|"input4"</field>
<next>
<block type="controls_if" id="3dl)AlhDy27JGGB$+8mH">
<value name="IF0">
<block type="logic_operation" id="j9cmgfQFVIuZ%G;Pw%b+" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="Nu$MhfU5(b#r(SZa/28.">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="Jww*g4*@[-a:M4301=l;">
<field name="VAR" id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</field>
</block>
</value>
<value name="B">
<block type="math_number" id="fz}G026Ih^_z8z[fdgD.">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="-]o@,C(|AnAh5W(pRzl-">
<field name="OP">LTE</field>
<value name="A">
<block type="variables_get" id=")h%rta,Bg9cpwTTwkq`9">
<field name="VAR" id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</field>
</block>
</value>
<value name="B">
<block type="math_number" id="P,5fR9*K(xX30ee[Z6t8">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="procedures_callnoreturn" id="/zECO.m%q(gVvv|4uQ,P">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text_join" id="x::JGKPV{Ck]SBYuZ#iA">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text" id="/vjqIu)7/trkl;D!Gecb">
<field name="TEXT">"hdmiSource":"input</field>
</block>
</value>
<value name="ADD1">
<block type="convert_tostring" id="ny{.dhho?I7QLtRmqoVI">
<value name="VALUE">
<block type="variables_get" id="mLEW~a{ERlFAEy5-T`=^">
<field name="VAR" id="vs[gJ|^3K3)x#;i?*.cY">HueSyncBoxAdapter_HdmiInputZiel</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="htjJ6_eLX@?/Cj`m[v,R">
<field name="TEXT">"</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="variables_set" id="M*A+=-ft8=k6EbqM5#Gy">
<field name="VAR" id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</field>
<value name="VALUE">
<block type="math_number" id="~R!4B~q+;bBnbE:K(w*0">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="z9(2^bM/w3-nXydiLzg?">
<field name="DELAY">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<next>
<block type="procedures_callnoreturn" id="g.YrsJSx!X]2c8087IL}">
<mutation name="HueSyncBoxAdapter_GetDatenAbfragen"></mutation>
<next>
<block type="debug" id="@i0Fe-FsIg#g(WgacbHQ">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="9~IYqva0a~cczt3d}N:2">
<field name="TEXT">a2</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF2">
<block type="logic_operation" id="vW)S!SO(-mz,wX0p5_lO" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="E_erO.z9q)Z}8ZSfhrX+">
<field name="VAR" id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="D?Z~8S--5#2^^vdHAJ=P">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="V^fj.8Q`mTO-}thP*x$(">
<field name="VAR" id="F*yPgO+jL1r*=.*g{)*r">HueSyncBoxAdapter_SyncStatusAktuell</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="QH3[t(o}%hM2IMq=r+]B">
<field name="VAR" id="3Al`]9?A8Qgf`fTj5iQD">HueSyncBoxAdapter_SyncStatusZiel</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO2">
<block type="comment" id="5z`p.w=,)qWZz^jJr9E~">
<field name="COMMENT">Änderung kommandiert (Sync Status)</field>
<next>
<block type="comment" id="jc+|$8Wu?d@Zp5NsN$r*">
<field name="COMMENT">Ändern vom Zielwert sperren bis Kommando verarbeitet wurde</field>
<next>
<block type="variables_set" id="V82/z^:JLj^pa:N]Nhr7">
<field name="VAR" id="PL_BcsO+fQ3O{u0h3Km0">StatusÄnderungLäuftSyncStatus</field>
<value name="VALUE">
<block type="logic_boolean" id="Z;%y{QR.hbS@Fdm_osJZ">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="comment" id="Bi,^{8;plz#HUeysmN$F">
<field name="COMMENT">Befehlsmindestabstand Set-Befehl</field>
<next>
<block type="math_change" id="qeM1KjrhQ)Ag?xP1{oDv">
<field name="VAR" id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</field>
<value name="DELTA">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="D3Uwt_=5)LeZb*MwL1z*">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
</block>
</value>
<next>
<block type="controls_if" id="!Jr[VPu-+,UBbh`+yr{+">
<value name="IF0">
<block type="logic_compare" id="#7tn[V[vp+t1HQY6NDFV">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="qDoJ*$Fv^?.)~Q-_SS({">
<field name="VAR" id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="*3,}8ZR02`e#0K(r9`]S">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="P)WYM)f8OJ@F!#cjkbcW">
<field name="COMMENT">"syncActive":true|false</field>
<next>
<block type="controls_if" id="-h2ErMbN7p1+0iN0En9Y">
<mutation else="1"></mutation>
<value name="IF0">
<block type="variables_get" id="Z2Q1NQC]YvCKf8^FL||f">
<field name="VAR" id="3Al`]9?A8Qgf`fTj5iQD">HueSyncBoxAdapter_SyncStatusZiel</field>
</block>
</value>
<statement name="DO0">
<block type="comment" id="Udx+z4;}8{,i%Sxn%{hq">
<field name="COMMENT">Sync einschalten</field>
<next>
<block type="procedures_callnoreturn" id="yzz6$RKsIj#g58C0VUc8">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="[J8bd?UyJ=s8cm0A+65Q">
<field name="TEXT">"syncActive":true</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="W^[8@38abdPQd-r6ud=m">
<field name="COMMENT">Sync ausschalten</field>
<next>
<block type="procedures_callnoreturn" id="pwFV4abYWMymfS.f=8o4">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="BNqX[FcgD[,}kk?lc)8u">
<field name="TEXT">"syncActive":false</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="O~,)URM!Xk:,fJ[G)[l(">
<field name="VAR" id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</field>
<value name="VALUE">
<block type="math_number" id="E@Kh=nvqHquw9yNL+VK2">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="yj#0j3@2EA+Ov--8rD8l">
<field name="DELAY">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<next>
<block type="procedures_callnoreturn" id="UA@KrHuRuBs!B*RhNRy?">
<mutation name="HueSyncBoxAdapter_GetDatenAbfragen"></mutation>
<next>
<block type="debug" id="i}{F%Qa%Ee5L2y4VFerI">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="V7NmKY#tp4oiA|l`|+YO">
<field name="TEXT">a3</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF3">
<block type="logic_operation" id="x8?}!B3p_hSgT6~%OkTa" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id="LY:#|r^n#ZRdW$klI_Bj">
<field name="VAR" id="x3$![?vZVGo[rJeSB(L$">HueSyncBoxAdapter_StatusAktuell</field>
</block>
</value>
<value name="B">
<block type="logic_operation" id="2|IDPgxQRreqMnDg^DU;" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="variables_get" id=";+6/buV-Nx_S6A`hiKO(">
<field name="VAR" id="F*yPgO+jL1r*=.*g{)*r">HueSyncBoxAdapter_SyncStatusAktuell</field>
</block>
</value>
<value name="B">
<block type="logic_compare" id="I6Ro+sL}$$.,-F5/Iwm?">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="A[CK_p~(yPelrgCx5(E9">
<field name="VAR" id="?(hWaxi~(cM!h:V({}/Z">HueSyncBoxAdapter_OperationModeAktuell</field>
</block>
</value>
<value name="B">
<block type="variables_get" id=",y$L2WN$oPr/UDHzY}~T">
<field name="VAR" id="}Tr)]$4Kx6Iy!r/hmhPE">HueSyncBoxAdapter_OperationModeZiel</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO3">
<block type="comment" id="R/}{_~WW)F(i$,dX(m58">
<field name="COMMENT">Änderung kommandiert (Operation Mode)</field>
<next>
<block type="comment" id="Z(M:D;HoS=D}eXio5p9.">
<field name="COMMENT">Ändern vom Zielwert sperren bis Kommando verarbeitet wurde</field>
<next>
<block type="variables_set" id="{[|N*m4h7z)GZk.Y}N|g">
<field name="VAR" id="R=DYt_%WW|r-aseC%){j">StatusÄnderungLäuftOperationMode</field>
<value name="VALUE">
<block type="logic_boolean" id=",#C,qLP{eu(_kjaHe;]~">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="comment" id="6$}mBc:tD;:(Yi557P4o">
<field name="COMMENT">Befehlsmindestabstand Set-Befehl</field>
<next>
<block type="math_change" id="wfNtywZHcAg7gY*lLpV^">
<field name="VAR" id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</field>
<value name="DELTA">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="alg(kL#vemje}l!6$g{X">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
</block>
</value>
<next>
<block type="controls_if" id="d_+`VZs#rqhJSdnA1#)9">
<value name="IF0">
<block type="logic_compare" id="n|$o,=R~=_3M(_=yc;?U">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="OYkvhK5xnMcB1BZ[WFmo">
<field name="VAR" id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="sQJCd2#Qp+{mJ~ob=}:`">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="ca#8-OdZfF#{}yR5,UP,">
<field name="COMMENT">"mode":"powersave" (Aus)|"video"|"game"|"music"</field>
<next>
<block type="controls_if" id="7rRcPUJ+v,5?n_]Jg}vL">
<mutation elseif="1" else="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="#jS/1jkC_Y%o/0J:|p.2">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="/0Nx$22-(@Re*m,UNX:[">
<field name="VAR" id="}Tr)]$4Kx6Iy!r/hmhPE">HueSyncBoxAdapter_OperationModeZiel</field>
</block>
</value>
<value name="B">
<block type="text" id="KJWgIni5k9hrTyzI3p(A">
<field name="TEXT">video</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="|~6!c^W:mqw4P:7Z!6!*">
<field name="COMMENT">Video modus</field>
<next>
<block type="procedures_callnoreturn" id="Oh([lxu8LpV0AJ6q`ix2">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="t1#*HFwy2yHBR$g9}TCM">
<field name="TEXT">"mode":"video"</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="gM`[EAxGDa+{pz%.+X~l">
<field name="OP">EQ</field>
<value name="A">
<block type="convert_tostring" id="4Kab~zf7%IGiB62yuAnp">
<value name="VALUE">
<block type="variables_get" id="L`IxE=^=+A-E7ZdEJz}T">
<field name="VAR" id="}Tr)]$4Kx6Iy!r/hmhPE">HueSyncBoxAdapter_OperationModeZiel</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="text" id="4.)CGcqT/o0gUWd]+*!v">
<field name="TEXT">game</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="comment" id="|#GIOv##;$#00L4NPH9,">
<field name="COMMENT">Game modus</field>
<next>
<block type="procedures_callnoreturn" id="y}=9RE}I`EwVf9tUpQJf">
<mutation name="HueSyncBoxAdapter_SetKommandoAusführen">
<arg name="Kommando"></arg>
</mutation>
<value name="ARG0">
<block type="text" id="7Ryyd=C}sh~Mq@)tVOMa">
<field name="TEXT">"mode":"game"</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="RTOgI*EU9OsXxEn9oA4,">
<field name="COMMENT">Nichts tun</field>
</block>
</statement>
<next>
<block type="variables_set" id="]T[cBVUXK$T6m%o+0}gs">
<field name="VAR" id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</field>
<value name="VALUE">
<block type="math_number" id=",=0sHm/-,]kzI:65g$Xk">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="timeouts_wait" id="D}jZ0PbCzqs3Oo4@zxeD">
<field name="DELAY">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<next>
<block type="procedures_callnoreturn" id="(_ck(pCFo@E(3FuqYmX2">
<mutation name="HueSyncBoxAdapter_GetDatenAbfragen"></mutation>
<next>
<block type="debug" id="a1{@c]6JB_Ars2V[$vyG">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="uOn0Zg~u4fTJ}+r40`-p">
<field name="TEXT">a4</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="=Zm%ct)Y4CVFS#2!.jxM">
<field name="COMMENT">Keine Änderung</field>
<next>
<block type="math_change" id="coCI[7E;-#r2XE@gp$]2">
<field name="VAR" id="doJ!(*0n(^`-f-3v3?V$">ZahlBefehlsabstandGetLaufend</field>
<value name="DELTA">
<shadow type="math_number" id="z$u]Zg8q*eIq}spmW{Z-">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="A,%N^M*jjDiqsEnvyq3^">
<field name="VAR" id="/l;Hy]VT~G$%l?nO](@n">ZahlBefehlsabstandMinimal</field>
</block>
</value>
<next>
<block type="controls_if" id="#Rz]B3i]W`0^W7U%KD%X">
<value name="IF0">
<block type="logic_compare" id="YnNYH0g`.u^*$O)RZ!%9">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="!!B-}_Hh0KS]MBEiV*nj">
<field name="VAR" id="doJ!(*0n(^`-f-3v3?V$">ZahlBefehlsabstandGetLaufend</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="6TpzstX(5!zY9xMM[eab">
<field name="VAR" id=")]q-Btv6z=^X6L?Fn,T-">ZahlBefehlsabstandGet</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="procedures_callnoreturn" id="^fk:LCv[FXXSnPOCwwGM">
<mutation name="HueSyncBoxAdapter_GetDatenAbfragen"></mutation>
<next>
<block type="variables_set" id="H{9S4Fv,0v|{HdE^rgE.">
<field name="VAR" id="doJ!(*0n(^`-f-3v3?V$">ZahlBefehlsabstandGetLaufend</field>
<value name="VALUE">
<block type="math_number" id="beV^$[,*Clx?Vr/7HY|L">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="debug" id="XzWQBw_{bjm5TeE~Y:V3">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="1rhEZh]J,^1CFBs20x)N">
<field name="TEXT">b</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="k8~Lkx=:#l9`*.Xd34_z">
<field name="COMMENT">Befehlsmindestabstand Set-Befehl zurück setzen</field>
<next>
<block type="variables_set" id="2{LZj!k{0}Ib7x,sN3X/">
<field name="VAR" id="5ASYhQ+!:Z;O^d8eh8,@">ZahlBefehlsabstandSetStatusLaufend</field>
<value name="VALUE">
<block type="variables_get" id="0K0B?-QbZhZJsb{QSH0]">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="f}-3fSoY[SL,0;hV{mUD">
<field name="VAR" id="Xcm0mm0tcuNxC#x8jN,l">ZahlBefehlsabstandSetHdmiInputLaufend</field>
<value name="VALUE">
<block type="variables_get" id="isP83a;5a*wp3yB=il[~">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="o?wC(;DKMBN^p_[Cx7lx">
<field name="VAR" id="Nzm)u%MB|N/cVV)YQ=6g">ZahlBefehlsabstandSetSyncStatusLaufend</field>
<value name="VALUE">
<block type="variables_get" id="(!sP)5MXKG9mU3|Cywum">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
<next>
<block type="variables_set" id="M,oW,Px{U4HmjDNKt71.">
<field name="VAR" id="gWG.AaYDybP$jsXe~2Ra">ZahlBefehlsabstandSetOperationModeLaufend</field>
<value name="VALUE">
<block type="variables_get" id="4Yw*#n]w+!@5$en)$M2{">
<field name="VAR" id="XZ!Qq,AOFN8:evTd|R2i">ZahlBefehlsabstandSet</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="DR-vIL/r9t%XotzaD?}:">
<field name="COMMENT">Parallele Mehrfachausführung zurück setzen</field>
<next>
<block type="timeouts_wait" id="LKH(^4pQ98xOV27CC=*r">
<field name="DELAY">ZahlBefehlsabstandMinimal</field>
<field name="UNIT">ms</field>
<next>
<block type="variables_set" id="W:OcHTb_GCN/XXnw8X]-">
<field name="VAR" id="T.}M]-wf)!dM1=v9#%/{">StatusBefehlLäuft</field>
<value name="VALUE">
<block type="logic_boolean" id="?RfH/szj?+LBTNPYDuw7">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="Cp[U(:h}AE;UKNAj?}bH" x="-13" y="-737">
<field name="NAME">HueSyncBoxAdapter_GetDatenAbfragen</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="comment" id="JTHGz]G}R{,oe2F=}i2E">
<field name="COMMENT">Daten abfragen</field>
<next>
<block type="exec" id="^cN69UpPHAJ;k;Fq`Kx?">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
<field name="WITH_STATEMENT">TRUE</field>
<field name="LOG"></field>
<value name="COMMAND">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="text_join" id="cF,^?63LsQ.[?Jb-%WH1">
<mutation items="5"></mutation>
<value name="ADD0">
<block type="text" id="l%G}m:ZIA4#`71H1oW6S">
<field name="TEXT">curl -k --header "Authorization: Bearer </field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id=")Nj8CnERU6j{wt~(DkTn">
<field name="VAR" id="Od]AG5T$|zp-J=296=QC">TextToken</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="7q#.cg=eKG^I01VVG:yW">
<field name="TEXT">" -X GET https://</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="eKO2tF7F6Kk{vZ-oW9iv">
<field name="VAR" id="l$P=7UVzy{}NQ#Rkr6~G">TextIpAdresse</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="`!]N.jLAH5^^KKVGjCbw">
<field name="TEXT">/api/v1</field>
</block>
</value>
</block>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="P$oShs=-Iv=s!=zU{%+t">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="]*1-DP`cr!qRIstF=AIr">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="l6cSYj`{;fI}!TzU@n}4">
<field name="VAR" id="jz`wEYoKwL1VQxmk%EzN">error</field>
</block>
</value>
<value name="B">
<block type="logic_null" id="0K2.4h5h))C6Y7GOmfRs"></block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="wiM9:b.2S%N#]gw9*mMh">
<field name="COMMENT">Status</field>
<next>
<block type="variables_set" id="Hlq!KnCBz6e25Em.#S%m">
<field name="VAR" id="%95FW7)|WIIuF683{m~p">StatusHueSyncBoxNeu</field>
<value name="VALUE">
<block type="get_attr" id="g~3@OU}9_L]^tvM1uA:}">
<value name="PATH">
<shadow type="text" id="y)9xIZV/CA0VMNjYF4?P">
<field name="TEXT"></field>
</shadow>
<block type="text" id="h;A+`2U:}cpRX{wXpYY?">
<field name="TEXT">execution.hdmiActive</field>
</block>
</value>
<value name="OBJECT">
<block type="convert_json2object" id="i[r1|cKm}t/KF#g[}/.1">
<value name="VALUE">
<block type="variables_get" id="H1|A(3F.Z6mNGuho?Eq5">
<field name="VAR" id="kcN_#B;VPg~B#m`QiI+!">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="W=kp2X-U6=`}L!_2S9AA">
<field name="COMMENT">HDMI input</field>
<next>
<block type="variables_set" id="%?s~x8}7Os+rfiR*a^5o">
<field name="VAR" id=";:oeMS@WxP{*?7$|vTu#">TextHdmiSource</field>
<value name="VALUE">
<block type="convert_tostring" id="1(!|BUOa[ehf70nz{Gda">
<value name="VALUE">
<block type="get_attr" id="S@04[0yXpV}kp`vg2aHc">
<value name="PATH">
<shadow type="text" id="oDw!dx/7HQQ`WFOk4aej">
<field name="TEXT"></field>
</shadow>
<block type="text" id="]izu7g.T(H`D~N,SeaW6">
<field name="TEXT">execution.hdmiSource</field>
</block>
</value>
<value name="OBJECT">
<block type="convert_json2object" id="@sf%drM{Ym|)qpt,`EVO">
<value name="VALUE">
<block type="variables_get" id="`WJf9~7bKlI:M73sGZCc">
<field name="VAR" id="kcN_#B;VPg~B#m`QiI+!">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="/0_/Q(vo@kj2-wU%:l#!">
<field name="VAR" id="=1`Ow=]V!FS,zH/,+7P]">ZahlHdmiInputNeu</field>
<value name="VALUE">
<block type="convert_tonumber" id="io0@NNnK~Xd6V*b_v}b9">
<value name="VALUE">
<block type="text_getSubstring" id="Y~2?M^4Vn,-f+HjSwRda">
<mutation at1="true" at2="true"></mutation>
<field name="WHERE1">FROM_END</field>
<field name="WHERE2">FROM_END</field>
<value name="STRING">
<block type="variables_get" id="4f;Azn5HR=mwx0(II=-]">
<field name="VAR" id=";:oeMS@WxP{*?7$|vTu#">TextHdmiSource</field>
</block>
</value>
<value name="AT1">
<block type="math_number" id="TPqi!=;nfF.QJ?LeT[u+">
<field name="NUM">1</field>
</block>
</value>
<value name="AT2">
<block type="math_number" id="2:zMyvUMlB6+}~=iC]~)">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="BuY|DD/N@HiUhi_#H(XU">
<field name="COMMENT">Operation Mode</field>
<next>
<block type="variables_set" id="=_L@pl{=hAhfpT()#H21">
<field name="VAR" id="j}6Ip#kdGfo^Sr_OWKNh">TextOperationModeNeu</field>
<value name="VALUE">
<block type="convert_tostring" id="cTT*~H7j{3{32THi0*7J">
<value name="VALUE">
<block type="get_attr" id="fo:(y4o+N=d85:U8-Li%">
<value name="PATH">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="text" id="xw]63GgZ@rP:U5:]e^4f">
<field name="TEXT">execution.mode</field>
</block>
</value>
<value name="OBJECT">
<block type="convert_json2object" id="bp*mr-Tw$89hbpR2LA/u">
<value name="VALUE">
<block type="variables_get" id="g`]Q+!1q{pO)n?9)udW{">
<field name="VAR" id="kcN_#B;VPg~B#m`QiI+!">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="Wq/nn[4TG*[Yk3Ft;y?b">
<field name="COMMENT">Sync Status</field>
<next>
<block type="variables_set" id="e0n7v~xcE8~inzlMj_2.">
<field name="VAR" id="@sXF7#Av/SkyeZ$:#CYj">StatusSyncStatusNeu</field>
<value name="VALUE">
<block type="get_attr" id="Jc/V1~e@h@lN7D,q;?@u">
<value name="PATH">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="text" id="sGrbXwZ*4`,OIAbS_*t,">
<field name="TEXT">execution.syncActive</field>
</block>
</value>
<value name="OBJECT">
<block type="convert_json2object" id="9_K#mQ7KPmuCmiiEz,(5">
<value name="VALUE">
<block type="variables_get" id="fYm.M}0X?O]I7f[}H~b{">
<field name="VAR" id="kcN_#B;VPg~B#m`QiI+!">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="3/yCNkap6hnedE!fAh?Q">
<field name="COMMENT">Auf valide Daten prüfen</field>
<next>
<block type="controls_if" id="HHnk5/2gnk(eMfj3WPs$">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_operation" id="BW_LbV:[MfL`^,xW%F4h" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="%Z~_8ZZ9-eu#S$va?#b[">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="n$2ja3awgFAfNGV|}/|#">
<field name="VAR" id="%95FW7)|WIIuF683{m~p">StatusHueSyncBoxNeu</field>
</block>
</value>
<value name="B">
<block type="logic_null" id="U_dq6[GVG?AVuGT`A3An"></block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="C]Q%wvt5yZ2^mUlh71C0" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_operation" id="l-aX54agS3+eO4=/jP?%" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="IA?N]birQ6aOBWbY$7s+">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="5Lz?EU[%6n)`nPZey_e^">
<field name="VAR" id="=1`Ow=]V!FS,zH/,+7P]">ZahlHdmiInputNeu</field>
</block>
</value>
<value name="B">
<block type="math_number" id="iEGia6Xxn`!OTFluPdeQ">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="}u#[=6d3w2tqo[3+#WO_">
<field name="OP">LTE</field>
<value name="A">
<block type="variables_get" id="twa:niaq}OoQg3Ts{jWt">
<field name="VAR" id="=1`Ow=]V!FS,zH/,+7P]">ZahlHdmiInputNeu</field>
</block>
</value>
<value name="B">
<block type="math_number" id="2L(N2KsKI#e`1}+z5TDW">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="p_=1FEd`AKg`.qBW0DH-" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="DaQJnuyWg)h0*F4zD^)O">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="1wG@oP{(O6aN,v_W(|}R">
<field name="VAR" id="@sXF7#Av/SkyeZ$:#CYj">StatusSyncStatusNeu</field>
</block>
</value>
<value name="B">
<block type="logic_null" id="x7*Oh}kr6yM*)K^eEeDV"></block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="1R{H8,2z^;Q_{1`cyxM2">
<field name="OP">NEQ</field>
<value name="A">
<block type="variables_get" id="V4IkC4mLxs=^cyTeYKyt">
<field name="VAR" id="j}6Ip#kdGfo^Sr_OWKNh">TextOperationModeNeu</field>
</block>
</value>
<value name="B">
<block type="logic_null" id="Y)Lje4m{5_z^Lnl:wx$k"></block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="comment" id="P:{[sOTX=3(hCm=9+uGO">
<field name="COMMENT">Daten valide</field>
<next>
<block type="comment" id="!Bc%_j?kl@FE{F9k5P4-">
<field name="COMMENT">Boolen erst hier kovertieren, da ansonsten Prüfung auf NULL nicht funktioniert</field>
<next>
<block type="update" id="fHro?:c]In!CU2$tMc2P">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_STATUS</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="convert_toboolean" id="M%Jtx1QmiJ|7RWT[eyM7">
<value name="VALUE">
<block type="variables_get" id="_)zG6@0,u@80xyu7}_}F">
<field name="VAR" id="%95FW7)|WIIuF683{m~p">StatusHueSyncBoxNeu</field>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="We5lwi7Vl%dAV(~XY:ft">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_HDMI_INPUT</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="K%t]GLUzubUcr0Ix{H5e">
<field name="VAR" id="=1`Ow=]V!FS,zH/,+7P]">ZahlHdmiInputNeu</field>
</block>
</value>
<next>
<block type="update" id="q|o6E!B]1|LVp3+$ep=x">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_SYNC_STATUS</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="convert_toboolean" id="DThAs`l!Og]o/%jpoa$n">
<value name="VALUE">
<block type="variables_get" id="Ki58@h?3S];Y,D:F=.=H">
<field name="VAR" id="@sXF7#Av/SkyeZ$:#CYj">StatusSyncStatusNeu</field>
</block>
</value>
</block>
</value>
<next>
<block type="update" id="3rRjfF#E4A?/!|Tc9U1d">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alias.0.Wohnzimmer.HueSyncBox.HUESYNCBOX_OPERATION_MODE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="wCRit7~nX2o}RWgsB{Pr">
<field name="VAR" id="j}6Ip#kdGfo^Sr_OWKNh">TextOperationModeNeu</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="comment" id="w_pqUpf?G0yXW5qnniFa">
<field name="COMMENT">Daten korrupt</field>
<next>
<block type="debug" id="KvN!~{u0K!+w{#(:szKh">
<field name="Severity">warn</field>
<value name="TEXT">
<shadow type="text" id="i{;nm(M%[^Kl$,84m?,}">
<field name="TEXT">HueSyncBoxAdapter_GetDatenAbfragen: Bad data received</field>
</shadow>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="debug" id="!mVk!|4]O=e5TOOE.nW7">
<field name="Severity">warn</field>
<value name="TEXT">
<shadow type="text" id="^[;C$[$yKx9t)AMOE|kD">
<field name="TEXT">HueSyncBoxAdapter_DatenAbfragen: Error data received</field>
</shadow>
</value>
<next>
<block type="debug" id="mF^o7qlPgFHWQ4V`$f0H">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="mkAI`f[[LzD+~Dp8k;?!">
<field name="VAR" id="jz`wEYoKwL1VQxmk%EzN">error</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="debug" id="1f*28,J8Ac$6_!NJytt`">
<field name="Severity">debug</field>
<value name="TEXT">
<shadow type="text" id="vJ5$w?.h}JbB:beg96)z">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="b3[N@;cN~cP{{[7b4!^.">
<field name="VAR" id="kcN_#B;VPg~B#m`QiI+!">result</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="WQmdWIWX,SBBP6ZZ63;v" x="1237" y="-738">
<mutation>
<arg name="Kommando" varid="vyCJug5)HK8`Rwpn{!-Y"></arg>
</mutation>
<field name="NAME">HueSyncBoxAdapter_SetKommandoAusführen</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="comment" id=".*Bwdk_C?oC6-lQk{=OZ">
<field name="COMMENT">Befehlsmindestabstand einhalten</field>
<next>
<block type="comment" id="K-5vG(R$Z2CzP6jOc%CU">
<field name="COMMENT">Kommando umsetzen</field>
<next>
<block type="exec" id="/m*rraY7_?[A:Jf1y3u$">
<mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field>
<field name="LOG"></field>
<value name="COMMAND">
<shadow type="text">
<field name="TEXT"></field>
</shadow>
<block type="text_join" id="1)a;KFl5:v.qumaPaOHu">
<mutation items="7"></mutation>
<value name="ADD0">
<block type="text" id="}9c63BvPKDi9t}dP)Qbg">
<field name="TEXT">curl -k --header "Authorization: Bearer </field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="]$Y]!9wc:,m[_zyTFrbc">
<field name="VAR" id="Od]AG5T$|zp-J=296=QC">TextToken</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="i(mx5e|;]%]}?G(T~)OS">
<field name="TEXT">" -X PUT -H "Content-Type: application/json" -d '{</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="zU0I_Qn(DlC=%I337fcx">
<field name="VAR" id="vyCJug5)HK8`Rwpn{!-Y">Kommando</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="jLv?r}QyGe4H%v+yajt-">
<field name="TEXT">}' https://</field>
</block>
</value>
<value name="ADD5">
<block type="variables_get" id="Xj{r+[!XuiCA/Aj],?uE">
<field name="VAR" id="l$P=7UVzy{}NQ#Rkr6~G">TextIpAdresse</field>
</block>
</value>
<value name="ADD6">
<block type="text" id="ak-)@mr|RAIY~.0|jA4Q">
<field name="TEXT">/api/v1/execution</field>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id="@`syXtGL^R}*9IY)DckV">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="O|-T0,9fB37qRcb9QS;3">
<field name="TEXT">HueSyncBoxAdapter SetKommandoAusführen triggered with: WOL</field>
</shadow>
<block type="text_join" id="K05h(ifn8BgQ*/oNkq}f">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id="dM}%VK/~UOF|DyZ:*,E;">
<field name="TEXT">HueSyncBoxAdapter SetKommandoAusführen triggered with: </field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="HR8uMOd}tPZ=-_MKWqPP">
<field name="VAR" id="vyCJug5)HK8`Rwpn{!-Y">Kommando</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
For all interested, I have built an adapter for the Hue Sync Box, who wants, can test it. Currently, it is only installable via GitHub and NPM, I will leave it for 1 week for testing, if there are no serious bugs it will be added to the ioBroker repo.
GitHub: https://github.com/xXBJXx/ioBroker.hue-sync-box
NPM: npm i iobroker.hue-sync-box
For all interested, I have built an adapter for the Hue Sync Box, who wants, can test it. Currently, it is only installable via GitHub and NPM, I will leave it for 1 week for testing, if there are no serious bugs it will be added to the ioBroker repo.
GitHub: https://github.com/xXBJXx/ioBroker.hue-sync-box NPM:
npm i iobroker.hue-sync-box
Nice!!!! I try to find time the next days
@xXBJXx : Many many thanks!!!! I tested it and it works. 🥰
I tested not everything but the most important parts for me. One observation I have... when I update the intensity via the app it gets not updated at hue-sync-box.0.box_philips_hue_sync_box.execution.intensity
. With others it is working.
Greetings!
hue-sync-box.0.box_philips_hue_sync_box.execution.intensity
is not provided by the sync box API
according to the API description the intensity
state is writable only, so I can't query it.
there are many such state which are only writable.
If you change it in the status, it will be changed in the app too.
PS. I am still working on a delete function for states and tokens.
@xXBJXx : Hmmm... understood. With my personal implementation I was checking some status / values via the following code that I called cyclically.
@RkcCorian You do not query the blockly for intensity You have only
hdmiActive
, which is Get and Put
.syncActive
, which is Get and Put
.mode
, which is Get and Put
.hdmiSource
, which is Get and Put
.but intensity
is only Put
and does not appear in the API query
but i already have a solution in sight, i will test it and if it works i will implement the solution
@xXBJXx : Yes, in my case I'm not using intensity but the way that I implemented it gives me this as well. Anyhow... it is not a nice implementation to poll via curl, I'm happy in case you have a better solution. :-)
{"device":{"name":"Hue SyncBox","deviceType":"HSB1","uniqueId":"C42996018CD6","apiLevel":8,"firmwareVersion":"1.8.3","buildNumber":696280590,"termsAgreed":true,"wifiState":"wan","ipAddress":"192.168.168.38","wifi":{"ssid":"Apfelsaft_S","strength":4},"lastCheckedUpdate":"2022-12-20T01:00:48Z","updatableBuildNumber":null,"updatableFirmwareVersion":null,"update":{"autoUpdateEnabled":true,"autoUpdateTime":1},"ledMode":2,"action":"none","pushlink":"idle","capabilities":{"maxIrCodes":24,"maxPresets":16},"beta":false},"hue":{"bridgeUniqueId":"001788FFFE25C015","bridgeIpAddress":"192.168.168.36","groupId":"e10c3a25-a568-4128-80c9-9a1274c0a03d","groups":{"e10c3a25-a568-4128-80c9-9a1274c0a03d":{"name":"Fernsehen","numLights":10,"active":false}},"connectionState":"connected"},"execution":{"mode":"powersave","syncActive":false,"hdmiActive":false,"hdmiSource":"input3","hueTarget":"e10c3a25-a568-4128-80c9-9a1274c0a03d","brightness":84,"lastSyncMode":"video","video":{"intensity":"high","backgroundLighting":false},"game":{"intensity":"intense","backgroundLighting":false},"music":{"intensity":"high","palette":"melancholicEnergetic"},"preset":null},"hdmi":{"input1":{"name":"HDMI 1","type":"generic","status":"unplugged","lastSyncMode":"video"},"input2":{"name":"HDMI 2","type":"generic","status":"unplugged","lastSyncMode":"video"},"input3":{"name":"Fire TV","type":"firetv","status":"plugged","lastSyncMode":"video"},"input4":{"name":"XBox One X","type":"xbox","status":"plugged","lastSyncMode":"game"},"output":{"name":"HDMI Out","type":"generic","status":"plugged","lastSyncMode":"video"},"contentSpecs":"3840 x 2160 @ 60000 - SDR","videoSyncSupported":true,"audioSyncSupported":false},"behavior":{"inactivePowersave":0,"cecPowersave":0,"usbPowersave":0,"hpdInputSwitch":0,"hpdOutputEnableMs":1500,"arcBypassMode":0,"forceDoviNative":0,"input1":{"cecInputSwitch":0,"linkAutoSync":0,"hdrMode":0},"input2":{"cecInputSwitch":0,"linkAutoSync":0,"hdrMode":0},"input3":{"cecInputSwitch":1,"linkAutoSync":1,"hdrMode":0},"input4":{"cecInputSwitch":1,"linkAutoSync":1,"hdrMode":0}},"ir":{"defaultCodes":true,"scan":{"scanning":false,"code":null,"codes":[]},"codes":{"20DF10EF":{"name":"Umschalten auf Fire TV C","execution":{"hdmiSource":"input3"}},"011B26D9":{"name":"Umschalten auf Xbox","execution":{"hdmiSource":"input4"}}}},"registrations":{"1":{"appName":"iobroker","instanceName":"iobroker","role":"user","verified":false,"lastUsed":"2022-12-20T08:24:12Z","created":"2021-06-07T12:19:40Z"},"2":{"appName":"Hue Sync Android","instanceName":"OnePlus9Pro","role":"user","verified":true,"lastUsed":"2022-09-01T21:47:15Z","created":"2021-11-25T08:26:55Z"},"3":{"appName":"Hue Sync Android","instanceName":"b0s","role":"user","verified":true,"lastUsed":"2022-12-19T21:30:14Z","created":"2022-10-09T07:09:40Z"},"0":{"appName":"Hue Sync Android","instanceName":"HWLYA","role":"admin","verified":true,"lastUsed":"2021-11-09T18:52:42Z","created":"2019-12-01T11:57:37Z"}},"presets":{}}
@RkcCorian
die intensity
die du da markiert hast, ist in den einzelnen mode's enthalten diese werden auch von der API abgefragt
hue-sync-box.0.box_dev.execution.game.intensity
hue-sync-box.0.box_dev.execution.music.palette
hue-sync-box.0.box_dev.execution.video.intensity
1/2/3 auf dem Bild, die nur 4 ist eine globale, die immer den aktiven Mode umstellt.
Ich mache jetzt eine Abfrage, welche Mode gerade aktiv ist und die intensity
wird dann in hue-sync-box.0.box_philips_hue_sync_box.execution.intensity
eingetragen
Ahh, oder so. Stehe bereit für einen Test 😀
@RkcCorian zum Testen kannst du es von GitHub installieren, da ist eine neue Version verfügbar.
execution.intensity
sync FunktionAber Achtung! Die neue löschen Funktion mit den zwei Optionen Funktioniert, nur wenn die Box über den Adapter registriert wurde, wenn man den Token nur reinkopiert hat, funktioniert das nicht.
Deshalb am besten die Box neu registrieren lassen und auch die state’s neu anlegen lasen, da dort nämlich auch noch eine ID gesetzt wird, die fürs Löschen wichtig ist.
Hab die Box neu registriert, Intensität geht jetzt auch 👍👍👍
Super Arbeit, danke!!!! Dann schicke ich mein eigenes Skript in die Rente, bzw. ins Archiv :-)
@xXBJXx : Moin! Hab Deinen Adapter nun seit 3 Wochen im Einsatz, funktioniert super, keine Probleme!!! Vielen Dank!!!!!
Adapter ist nun im repository verfügbar
Bitte alle issues und feature requests im Adapter Repository (https://github.com/xXBJXx/ioBroker.hue-sync-box) eintragen.
@xXBJXx Danke für deine Arbeit
Due to the fact that Hue Sync Box has a separate API which would produce lots of overhead, it would be desirable to create a separate adapter.
Some information on the api can be found at https://github.com/ebaauw/homebridge-hue/issues/552#issuecomment-572256796