NEWS
Datenmapping KNX > HUE - HUE > KNX
-
Ich habe heute mal angefangen eine Logic zusammen zustellen um die HUE über KNX und dem Gira Homeserver zum laufen zu bekommen. Dabei habe ich alle Hürden überwunden.
Jedoch habe ich ein Problem und weiß nicht wie ich das lösen kann ohne in einer Endlosschleife zu hängenIch nutze das normale hue Plugin. KNX seitig ist es so gelöst:
Schalten
Schalten Status
Helligkeit
Helligkeit StatusWas auch gut funktioniert, wenn ich aber zuerst das Objekt Helligkeit setze, wird Schalten Status gesetzt aber nicht Schalten.
Genau so, wenn ich Schalten setze wird Helligkeit Status gesetzt aber Helligkeit nicht.In der Homeserver APP stimmt dann die Anzeige nicht, ich habe hier schon eine Zentrale Adresse unter dem Schalten und der Helligkeit gesetzt, aber auch das hat nicht den gewünschten Erfolg gebracht.
Hat einer noch eine Idee? -
@shadow18
ich habe es zwar noch nicht so ganz verstanden, aber geht vielleicht was über den binde Baustein oder umschalten Baustein ? -
Habe ich mal getestet, dann habe ich eine Endlosschleife. Das Problem ist eben, wenn ich die Helligkeit auf 100% setze, dann setzt er mir den Schalten Status richtig, aber der Schalten bleibt noch auf 0, müsste aber auch auf 1 stehen. Ebenso ist das Problem, wenn ich es einschalte setzt er die Helligkeit Status richtig aber die Helligkeit schalten nicht. dadurch habe ich eine falsche Anzeige in der Gira APP.
-
@shadow18 sagte:
ohne in einer Endlosschleife zu hängen
Werte beim Senden an KNX den Ursprung des Triggers aus und triggere auf "wurde geändert".
-
@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? -
@shadow18 sagte:
Kann dann das so stehen beleiben oder sollte man das mit in den neuen Block einbinden?
Du verwendest "aktualisiere" anstatt "steuere". Was sind das für Datenpunkte, die aktualisiert werden ? Wenn es eigene (virtuelle) Datenpunkte sind, ist "aktualisiere" richtig.
Ich würde 5 einzelne Trigger verwenden, um jeweils nur einen Datenpunkt zu setzen. -
Ich habe ehrlich gesagt nie einen Unterscheid zwischen steuern und aktualisieren gemerkt, ich habe es nun so gelöst:
-
@shadow18 sagte:
ich habe es nun so gelöst:
Das ist völlig unverständlich ! Sind Datenpunkte, die "Status" im Namen enthalten, nicht reine KNX-Statusmeldungen und "read only" ? Wozu "steuere" auf diese Datenpunkte ?
Die Wirkung muss so sein: KNX-Status --> virt. DP (aktualisiere) --> KNX-Kommando (steuere) -
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"
} -
@shadow18 sagte:
falsch ist gerne korrigieren.
Wie die Objekteigenschaften des Datenpunktes "Arbeitszimmer HUE lightstrip plus Helligkeitswert Status" zeigen, sind die Status-Datenpunkte "read only" ("write":false, "role":"indicator"). Es macht keinen Sinn, sie per Script zu setzen, sondern sie müssen als Trigger dienen, damit der tatsächliche Zustand aus KNX an den virtuellen Datenpunkt "Hue lightstrip plus 1.level" übertragen wird.
Linke Seite (Kommandos an KNX): Trigger - virtuelle Datenpunkte, steuere KNX-Datenpunkte (mit Auswertung Ursprung)
Rechte Seite (Status von KNX): Trigger - KNX-Status-Datenpunkte, aktualisiere virtuelle DatenpunkteDa ich weder KNX noch HUE verwende, vermute ich, dass die KNX-Datenpunkte "on" die Zahlenwerte 0 und 1 liefern und die KNX-Farbwerte von 0 bis 254 sind ? Also muss bei den Kommandos (linke Seite) eine Multiplikation und beim Status (rechte Seite) eine Division erfolgen.
-
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" -
@shadow18 sagte:
Auf KNX wird die Farbe nur mit 0-100 übertragen, darum der Faktor mit 2.54.
Verstehe ich nicht ! Wozu dient dann der Faktor 2.54 ?
@shadow18 sagte in Datenmapping KNX > HUE - HUE > KNX:
Ich habe Deine Logik mal übernommen.
Die ist falsch herum. Zeige mal die Objektansicht der Datenpunkte "Hue lightstrip plus 1.??" inkl. Wurzelverzeichnis.
-
Jetzt mit Änderung mit Status
-
@shadow18
Welcher Ordner ist dem Ordner "Hue_lightstrip_plus_1" übergeordnet ?
Wird HUE über den Hue-Adapter oder über KNX gesteuert ? Ich sehe gerade gar nicht mehr durch ! -
Also ich habe den KNX Adapter und den HUE Adapter.
hue.0 und knx.0
-
@shadow18 sagte:
Also ich habe den KNX Adapter und den HUE Adapter.
Was ist Dein Ziel ? Sollen die Helligkeitswerte und Farben in beiden Instanzen gleichgezogen werden, egal wo die Änderung erfolgt ?
Wenn das so ist, kann nicht "aktualisiere" verwendet werden, sondern nur "steuere". -
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. -
@shadow18 sagte:
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.Schalten Status und Helligkeit Status sind Rückmeldungen von KNX. Die lassen sich nicht setzen (außer man hat im Tab "Objekte" den Expertenmodus aktiviert).
Also, wenn level > 0, dann Einschalten und wenn on = true, dann Helligkeit = level, sonst Helligkeit = 0 ? -
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.
-
@shadow18
Du nimmst Kommandos ("write only") als Trigger, was nicht funktionieren kann !
Ich bin raus !!Anmerkung: Bei KNX müssen die Statuswerte den internen Zustand von KNX anzeigen, in Deinem Fall, was in der App dargestellt wird. Falls dem nicht so ist, taugt die App nichts. Die Statuswerte "Schalten Status" und "Helligkeit Status" scheinen ja richtig zu reagieren.