Ich möchte in einem Skript den Datenpunkt Level eines Hue Leuchtmittels (über die original Funktion in der CCU eingebunden) ändern.
Solange mir der Name des Datenpunktes bekannt ist, ist das auch kein Problem.
Nun steht mir in meinem Skript aber erstmal nur des Name des Gerätes zur Verfügung und darüber möchte ich den Datenpunkt Level ändern.
Versucht habe ich es so:
Code: Alles auswählen
string hue_channel = "VIR-LG-RGBW-DIM HU-Hue lightst:1";
object o_hue = (dom.GetObject(ID_CHANNELS)).Get(hue_channel);
dom.GetObject(o_hue).State(0.5);
Das ich diesen z.B. über die XML-Api auslesen kann, ist mir bekannt, ist für das Skript aber so nicht nutzbar, da es später einfach per copy&paste funktionieren soll.
So sieht das Device in der XML-Api aus:
Code: Alles auswählen
<device name="VIR-LG-RGBW-DIM HU-Hue lightst" ise_id="1275">
<channel name="VIR-LG-RGBW-DIM HU-Hue lightst:0" ise_id="1276" index="0" visible="true" operate="true"/>
<channel name="VIR-LG-RGBW-DIM HU-Hue lightst:1" ise_id="1277" index="1" visible="true" operate="true">
<datapoint name="VirtualDevices.HU-Hue lightst:1.LEVEL" type="LEVEL" ise_id="1278" value="0.000000" valuetype="4" valueunit="100%" timestamp="1532861095" operations="3"/>
<datapoint name="VirtualDevices.HU-Hue lightst:1.RGBW" type="RGBW" ise_id="1279" value="rgb(255,255,255,255)" valuetype="20" valueunit="" timestamp="1532861095" operations="3"/>
<datapoint name="VirtualDevices.HU-Hue lightst:1.WHITE" type="WHITE" ise_id="1280" value="2000.000000" valuetype="4" valueunit="100%" timestamp="1532861095" operations="3"/>
</channel>
</device>
Gerti