Ich habe leider im Forum nichts gefunden. Es geht darum, einen beliebigen Status zum Beispiel von einem Licht HUE über KNX abzufragen. Wenn ich jetzt per ETS einen Wert lese kommt keine Antwort, ich denke hier muss eine Logic für erstellt werden. Kann mir da einer weiterhelfen?
NEWS
Latest posts made by shadow18
-
Abfrage von Daten aus iobrocker per KNX Bus auslesen
-
RE: Datenmapping KNX > HUE - HUE > KNX
@paul53 danke trotzdem für die Hilfe.
Ich habe das alte noch ein wenig optimiert, so funktioniert es einwandfrei.
Hier noch der Blocky Code, falls andere diesen benötigen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="T~`/,zsTzrW~5?2hUoja" x="-2887" y="-937"> <field name="COMMENT">KNX schalten und Helligkeit setzen</field> <next> <block type="on_ext" id="sW9}K$jM|ubI0LaaQ?AN"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="2es_x0f[u@d[7gf3PIg="> <field name="oid">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_schalten</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="eI6eFeX(fcqK?n+}bd+r"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Hue_lightstrip_plus_1.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_toboolean" id=",(NsX*lvw6E?8lC*SI`c"> <value name="VALUE"> <block type="on_source" id="TlstZ{sS~%H+L6Yh$iDK"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="Pn#.R~sPbk]bU)gu.v;X"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="yMSqOpiV`+lN;*PWeHW)"> <field name="oid">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_Helligkeitswert</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="9y5yytGCSt$WP$CC}wm/"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Hue_lightstrip_plus_1.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="Gnf;(7l=^A6;6#)OIqs|"> <field name="ATTR">val</field> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_Helligkeitswert</field> </block> </value> </block> </statement> <next> <block type="comment" id="Zt!a?;Qi5}{Kete@3z$Z"> <field name="COMMENT">KNX RGB setzen</field> <next> <block type="on_ext" id="o5OeOn})e%C3SC.FY#3B"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="b=.S@|0LH3WaZiE7TQnY"> <field name="oid">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_R</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="lH+F}uxKV5UQC0X.w@S7"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Hue_lightstrip_plus_1.r</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="$_p2*%[cOLy@PEirI=~u"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="eqz+9knwAcCYk5m*q+I_"> <field name="NUM">1</field> </shadow> <block type="get_value" id="V0;Cjx!Le^P,q%V$W#j+"> <field name="ATTR">val</field> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_R</field> </block> </value> <value name="B"> <shadow type="math_number" id="xvUjXH}v*y6dZ7qA#~VW"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="ei_{([w?bwzVGLGZb-;e"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="U{yHh`tY6f8Xt:MX^RJj"> <field name="oid">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_G</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="Y+/b_KUcfnTHVrg=GL-M"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Hue_lightstrip_plus_1.g</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="STt-9^l4V:C@A@5#s%oh"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="AsNKVkqC!6;kN=[1u}iG"> <field name="NUM">1</field> </shadow> <block type="get_value" id="MDCFr831ITN^Ir?R6.1A"> <field name="ATTR">val</field> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_G</field> </block> </value> <value name="B"> <shadow type="math_number" id="%6fLuA;lTtYA+)nZopz3"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="BaKlRg0cpY:q^Q~q$KO)"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="3C:IJ3=wPu!x!t8RZKH,"> <field name="oid">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_B</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="s?~|E1%6Fc7JRr+G:~H0"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Hue_lightstrip_plus_1.b</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="T9=M1u]uRwWFZH|r/_r="> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="AsNKVkqC!6;kN=[1u}iG"> <field name="NUM">1</field> </shadow> <block type="get_value" id="NswJY5d_Hut,!1j+Fp^z"> <field name="ATTR">val</field> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_B</field> </block> </value> <value name="B"> <shadow type="math_number" id="FB#@a*F#9`DK(-eBVcmV"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="comment" id="fQClQ1-Ay[n6k}}GNc(Q" x="-1837" y="-962"> <field name="COMMENT">HUE Status nach KNX Schalten und Helligkeit</field> <next> <block type="on_ext" id="Hz/aqz[iTr3Z~3%GM20["> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="UNTJ[CW54VoHo#WRu_o~"> <field name="oid">hue.0.Hue_lightstrip_plus_1.on</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="O,1z~Di@EnWb{4Lxl2E."> <value name="IF0"> <block type="logic_compare" id="fJLX5shUc=/{Sw,!jD@q"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="#0LB_r2Dy}zDp;[$k?@S"> <field name="ATTR">state.from</field> </block> </value> <value name="B"> <block type="text" id="GjO`626V][CrVBb|d@b`"> <field name="TEXT">system.adapter.javascript.0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="_3+#qx4rJcFfT;0wqeHw"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_schalten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_toboolean" id="^(4`f@OJ}2sk]MJLz~NF"> <value name="VALUE"> <block type="on_source" id="0/JBNpq||h~f[m/~j`%L"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </statement> <next> <block type="update" id="+FSIg4J|K[4gs!)oc.w%"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_schalten_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="mCE;,kO[/}7M]Ea,A5yk"> <field name="ATTR">val</field> <field name="OID">hue.0.Hue_lightstrip_plus_1.on</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id=";Yg%$9`!-8;CL`vSH0El"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="u6%*qZY38R8;RJkIXrkd"> <field name="oid">hue.0.Hue_lightstrip_plus_1.level</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="E[P.5DjPHk_;eGn2o2Yb"> <value name="IF0"> <block type="logic_compare" id="a1cHJ+74vZ4wWtMR/.fp"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="gc`qX-R%~{?x~v-ZTha)"> <field name="ATTR">state.from</field> </block> </value> <value name="B"> <block type="text" id="4/exVgGa+OQer%f~A:IG"> <field name="TEXT">system.adapter.javascript.0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="_plSilsfI)RQZ4=IjrL_"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_Helligkeitswert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="MC,Av;i(66.A^fa4rsWe"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> <next> <block type="update" id="f:]zy$}82$KXsg=oc}I~"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_Helligkeitswert_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="`HQQ]6Ss=XgAWhTXUW2E"> <field name="ATTR">val</field> <field name="OID">hue.0.Hue_lightstrip_plus_1.level</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="6-#R(8dN2n5;g3VwH#L?"> <field name="COMMENT">HUE Status nach KNX RGB</field> <next> <block type="on_ext" id="A(9mRWI:M@(VojA=0/:O"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="aHlmkGx3ut`Q5Q;2ywP0"> <field name="oid">hue.0.Hue_lightstrip_plus_1.r</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="6nO-O0_(~w;B]LYaTZKU"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_R_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="y|I/UBT^{YK^xs0l:WD3"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="J!..N`GU}R$9+4V-yeYn"> <field name="NUM">1</field> </shadow> <block type="get_value" id="bETfr_q+~1;#%P~aNK-M"> <field name="ATTR">val</field> <field name="OID">hue.0.Hue_lightstrip_plus_1.r</field> </block> </value> <value name="B"> <shadow type="math_number" id="Pq4:rSs%2pDSg${Ofe`o"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="e[=.7ashK4?LZX%JYE^7"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_qJ07wWc5@T?ltZ08hi?"> <field name="oid">hue.0.Hue_lightstrip_plus_1.g</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="@NJeBTDC#H*01~CQ~|c`"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_G_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="$LkKrSEKc1()7V^CXZ`!"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="J!..N`GU}R$9+4V-yeYn"> <field name="NUM">1</field> </shadow> <block type="get_value" id="LGx-2`Gvw=)7)2k(qew1"> <field name="ATTR">val</field> <field name="OID">hue.0.Hue_lightstrip_plus_1.g</field> </block> </value> <value name="B"> <shadow type="math_number" id="^M~.H+T)Q6w*AS{{`7_-"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="on_ext" id="`:Y*ssY+Y_QF$wL}?.:="> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="eh(x_X+WmA7f](y[.OZu"> <field name="oid">hue.0.Hue_lightstrip_plus_1.b</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="j=UR+3^:M3$UH7Q8G|:Z"> <mutation delay_input="false"></mutation> <field name="OID">knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_B_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="zgF_m_lvpSya.%:n)cx2"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="J!..N`GU}R$9+4V-yeYn"> <field name="NUM">1</field> </shadow> <block type="get_value" id="jgn}0iTXT5tMG_zBCVOd"> <field name="ATTR">val</field> <field name="OID">hue.0.Hue_lightstrip_plus_1.g</field> </block> </value> <value name="B"> <shadow type="math_number" id="]QqvLuJ7Ot3uqc}NAR-)"> <field name="NUM">2.54</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
RE: Datenmapping KNX > HUE - HUE > KNX
Ich steuere über KNX das HUE System. Also ist die letze Logic der Trigger nicht richtig.
Wenn ich nun über KNX das die Helligkeit setzt, schaltet sowohl Schalten als auch Schalten Status ein, das geht schon mal. Wenn ich nun aber Schalten auf 1 setze, dann setzt der nur die Helligkeit Status nicht aber die Helligkeit. Ich habe auch ein Java Fehler:
13:05:39.329 warn javascript.0 (20456) at Object.<anonymous> (script.js.common.Philips_HUE.Arbeitszimmer_HUE_lightstrips_plus_neu:25:7)Wenn das mit der Helligkeit noch klappt bin ich zufrieden, danke, dass Du Dir die Zeit dafür nimmst.
-
RE: Datenmapping KNX > HUE - HUE > KNX
Mein Ziel ist es, das ich durch das setzen des levels auch Schalten und Schalten Status gesetzt bekomme
Analog dazu wenn ich on setze, dass Helligkeit und Helligkeit Status gesetzt wird. -
RE: Datenmapping KNX > HUE - HUE > KNX
Also ich habe den KNX Adapter und den HUE Adapter.
hue.0 und knx.0
-
RE: Datenmapping KNX > HUE - HUE > KNX
Ich habe Deine Logik mal übernommen. Auf KNX wird die Farbe nur mit 0-100 übertragen, darum der Faktor mit 2.54.
Der Helligkeitswert wird mit 0-100 übertragen.Das Steuern auf der linken Seite funktioniert ohne Probleme, Problem was ich jetzt noch habe, wie damals auch, dass wenn ich jetzt die Helligkeit setze, dann setzt der zwar den Schalten Status, aber nicht den Schalten. Wenn ich jetzt schalte, setzt der dann natürlich schalten und schalten Status richtig, aber hier wird dann Helligkeit nicht gesetzt sondern nur Helligkeit Status.
Echt ein wenig verhext.
Ich habe auf der Rechten Seite beides probier, sowohl "Schalten Status" also auch "Schalten" -
RE: Datenmapping KNX > HUE - HUE > KNX
Ich habe es jetzt noch einmal umgestellt, funktionieren tut es nun.
Vielleicht kannst du hier noch einmal drüber schauen, ein paar Erklärungen was passiert.Ich brauche bei KNX immer ein Objekt, dass schaltet und eines mit einem Status, darum habe ich die Struktur wie im Foto angelegt. Im ETS habe ich entsprechend die Objekte von einem Dummy Gerät verknüpft, dass der Import mit dem KNX Adapter auch problemlos funktioniert.
Wenn ich nun das Licht einschalte zum beispiel über die Helligkeit schalten, dann muss zusätzlich zu dem Status Schalten auch Schalten gesetzt werden, was nach der Änderung durch Deine mithilfe nun auch perfekt funktioniert.
Ich würde es natürlich auch wenn es nun funktioniert aber falsch ist gerne korrigieren.
{
"from": "system.adapter.knx.0",
"user": "system.user.admin",
"ts": 1581265299300,
"common": {
"name": "Arbeitszimmer HUE lightstrip plus Helligkeitswert Status",
"type": "number",
"role": "indicator",
"min": 0,
"max": 100,
"read": true,
"write": false
},
"native": {
"dpt": "DPT5.001",
"address": "12/2/3",
"addressRefId": "P-021F-0_GA-1326",
"statusGARefId": "",
"actGARefId": "P-021F-0_GA-1325"
},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
},
"_id": "knx.0.ioBroker.HUE_API.Arbeitszimmer_HUE_lightstrip_plus_Helligkeitswert_Status",
"type": "state"
} -
RE: Datenmapping KNX > HUE - HUE > KNX
Ich habe ehrlich gesagt nie einen Unterscheid zwischen steuern und aktualisieren gemerkt, ich habe es nun so gelöst:
-
RE: Datenmapping KNX > HUE - HUE > KNX
@paul53 said in Datenmapping KNX > HUE - HUE > KNX:
Werte beim Senden an KNX den Ursprung des Triggers aus und triggere auf "wurde geändert".
Perfekt, so läuft es! Danke.
Kann dann das so stehen beleiben oder sollte man das mit in den neuen Block einbinden?