Zigbee Leuchte über KNX Taster steuern

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

technick90
Beiträge: 75
Registriert: 24. Jul 2019 16:56
Answers: 1

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von technick90 »

Ergebnis ist leider identisch. Nur das es im Log jetzt so aussieht, dass er mit dem Einschalten direkt den Befehl 0,392% sendet..

Code: Alles auswählen

20:54:44.853	INFO	openhab.event.ItemCommandEvent
Item 'MQTTTuyaE14_Dimmen' received command ON
20:54:45.168	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Power' changed from OFF to ON
20:54:45.172	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Dimmen' changed from 99.60784313725490196078431372549020 to 0.3921568627450980392156862745098039
20:54:45.731	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Power' changed from ON to OFF
Das passt auch zu meinen Problem davor. Da hatte ich nur An/Aus auf dem Taster gelegt und das Licht ging nicht immer an, dann wurde sicher 0,392% gesendet, was Zigbee als Aus interpretiert.

Ich verstehe es wirklich nicht.

Benutzeravatar
udo1toni
Beiträge: 15500
Registriert: 11. Apr 2018 18:05
Answers: 249
Wohnort: Darmstadt

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von udo1toni »

Und wenn Du in openHAB selbst ein einfaches ON sendest, geht das Licht normal an?
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

technick90
Beiträge: 75
Registriert: 24. Jul 2019 16:56
Answers: 1

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von technick90 »

Dann sendet er tatsächlich nur ein ON und der Dimmwert entspricht dem zuletzt in zigbee gespeicherten Wert.
Der Fehler kommt dann also vom KNX oder der KNX-Schnittstelle. Hmmm. So ein Mist.
Mit den direkt per KNX angesteuerten Lampen, ohne Obenhab dazwischen, funktioniert alles.
Habe aber halt ein paar Lampen mit zigbee nachträglich Smart gemacht..

Benutzeravatar
udo1toni
Beiträge: 15500
Registriert: 11. Apr 2018 18:05
Answers: 249
Wohnort: Darmstadt

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von udo1toni »

Du kannst in openHAB das knx Addon auf Debug stellen und schauen, was an Befehlen in openHAB ankommt.

Ich habe einige Steuerfunktionen, die über knx Taster und openHAB Geräte außerhalb des knx Systems steuern (über switch-control, rollershutter-control und dimmer-control), bei mir gibt es keinerlei Auffälligkeiten.
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

technick90
Beiträge: 75
Registriert: 24. Jul 2019 16:56
Answers: 1

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von technick90 »

Hmmm, soweit ich das richtig lese, kommt der Dimmwert 0,392 von Openhab.

Hier das Ausschalten per Taster:

Code: Alles auswählen

07:42:50.211	DEBUG	org.openhab.binding.knx.internal.handler.DeviceThingHandler
onGroupWrite Thing 'knx:device:6f37f488b5:2210f6812f' received a GroupValueWrite telegram from '1.1.25' for destination '1/2/110'
07:42:50.215	INFO	openhab.event.ItemCommandEvent
Item 'MQTTTuyaE14_Dimmen' received command OFF
07:42:50.524	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Dimmen' changed from 99.60784313725490196078431372549020 to 0
07:42:50.526	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Power' changed from ON to OFF
07:42:50.555	DEBUG	org.openhab.binding.knx.internal.client.AbstractKNXClient
Wrote value '0' to datapoint 'command DP 1/2/114 'knx:ip:6f37f488b5', DPT 5.001, low priority' (0. attempt).
07:42:50.931	DEBUG	org.openhab.binding.knx.internal.client.AbstractKNXClient
Wrote value '0' to datapoint 'command DP 1/2/114 'knx:ip:6f37f488b5', DPT 5.001, low priority' (0. attempt).
Und hier das Einschalten per Taster:

Code: Alles auswählen

07:42:53.286	DEBUG	org.openhab.binding.knx.internal.handler.DeviceThingHandler
onGroupWrite Thing 'knx:device:6f37f488b5:2210f6812f' received a GroupValueWrite telegram from '1.1.25' for destination '1/2/110'
07:42:53.288	INFO	openhab.event.ItemCommandEvent
Item 'MQTTTuyaE14_Dimmen' received command ON
07:42:53.504	DEBUG	org.openhab.binding.knx.internal.handler.DeviceThingHandler
onGroupWrite Thing 'knx:device:6f37f488b5:2210f6812f' received a GroupValueWrite telegram from '1.1.25' for destination '1/2/110'
07:42:53.507	INFO	openhab.event.ItemCommandEvent
Item 'MQTTTuyaE14_Dimmen' received command ON
07:42:53.520	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Dimmen' changed from 0 to 0.3921568627450980392156862745098039
07:42:53.521	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Power' changed from OFF to ON
07:42:53.550	DEBUG	org.openhab.binding.knx.internal.client.AbstractKNXClient
Wrote value '0.3921568627450980392156862745098039' to datapoint 'command DP 1/2/114 'knx:ip:6f37f488b5', DPT 5.001, low priority' (0. attempt).
07:42:53.835	DEBUG	org.openhab.binding.knx.internal.client.AbstractKNXClient
Wrote value '0.3921568627450980392156862745098039' to datapoint 'command DP 1/2/114 'knx:ip:6f37f488b5', DPT 5.001, low priority' (0. attempt).
07:42:53.974	INFO	openhab.event.ItemStateChangedEvent
Item 'MQTTTuyaE14_Power' changed from ON to OFF
07:42:53.996	DEBUG	org.openhab.binding.knx.internal.client.AbstractKNXClient
Wrote value '0.3921568627450980392156862745098039' to datapoint 'command DP 1/2/114 'knx:ip:6f37f488b5', DPT 5.001, low priority' (0. attempt).
KNX sendet nur ein ON auf 1/2/110 und openhab sendet als Status dann 0,392 an 1/2/114 zurück. Von KNX kommt kein Dimmwert soweit ich das richtig sehe.

Benutzeravatar
udo1toni
Beiträge: 15500
Registriert: 11. Apr 2018 18:05
Answers: 249
Wohnort: Darmstadt

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von udo1toni »

So sieht's aus.
Aus irgendeinem Grund sendet das Tuya Device unmittelbar nach dem Einschalten den aktuellen Helligkeitswert, der dann seltsamerweise als Befehl gewertet wird. Das darf eigentlich nicht sein.

Hatten wir uns schon über die Konfiguration des Tuya Geräts unterhalten?
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

technick90
Beiträge: 75
Registriert: 24. Jul 2019 16:56
Answers: 1

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von technick90 »

In Zigbee habe ich zwei Leuchten in einer Gruppe zusammengefasst.
Auch wenn ich nur eine ansteuere tritt das Problem auf.

Konnte den Fehler gerade auch direkt in zigbee2mqtt nachstellen, einschalten und Schwupp, springt auf 0%.
Dort gibt es lediglich die Einstellung:
Color power on behavior = previous

Ansonsten noch
State actions will also be published as 'action' when true (default false).
Explizit gesetzt ist hier nix.

Habe mir jetzt einen Workaround gebaut.
Wenn das Dimmen Item ein Command ON empfängt, wird nach 1s 100% als Wert gesendet.
Ich kann damit leben, zumeist ist das Licht eh mit 100% an.

Ich denke wir können das damit abschließen. Wieder mal vielen Dank für die Hilfe.

Nachtrag:
Habe es eben mit Innr Leuchten probiert (steuere ich bisher nur über Alexa). Selbes Ergebnis, nur das diese Leuchten auch bei 0,392% etwas leuchten.

Benutzeravatar
udo1toni
Beiträge: 15500
Registriert: 11. Apr 2018 18:05
Answers: 249
Wohnort: Darmstadt

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von udo1toni »

Unschön, aber ja.

Du könntest den zuletzt gewählten Einschaltwert über die Persistence ermitteln, allerdings wäre die Herangehensweise dann eine andere.
Der Taster muss auf ein separates Item geführt werden, statt den Taster Channel direkt mit dem Zigbee Item zu verbinden. Das bedeutet im Umkehrschluss, dass Du zwei Rules benötigst, eine für den Befehl, eine für die Rückmeldung. Ungefähr so:

Code: Alles auswählen

rule "knx 2 zigbee" 
when
    Item DimTaster received command
then
    switch(receivedCommand.toString) {
    case "OFF" : MyDimmer.sendCommand(OFF)
    case "ON" : {
                  if((MyDimmer.state as Number) > 0)
                      MyDimmer.sendCommand(100)
                  else
                      MyDimmer.sendCommand(MyDimmer.previousState(true).state.toString)
                  }
    case "INCREASE" : MyDimmer.sendCommand(INCREASE)
    case "DECREASE" : MyDimmer.sendCommand(DECREASE)
    }
end

rule "zigbee 2 knx" 
when
    Item MyDimmer changed
then
   DimTaster.postUpdate(MyDimmer.state)
end
Das Item MyDimmer ist der "echte" Dimmer. Das Item muss mit einem historiebehafteten Persistence Service (...nicht mapDB) mindestens mit everyChange Strategy persistiert werden. Sollte es sich nicht um die default Persistence handeln, muss der Name als zweiter Parameter angegeben weden.
.previousState(true) liefert dann (weil der Status zu dem Zeitpunkt 0 ist) den letzten von 0 verschiedenen Status.

Das Item DimTaster ist das Dimmer Item, welches mit dem knx-control Channel verlinkt ist. Der Rest sollte einigermaßen selbsterklärend sein :)
openHAB5.0.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox 9.1.2 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte

technick90
Beiträge: 75
Registriert: 24. Jul 2019 16:56
Answers: 1

Re: Zigbee Leuchte über KNX Taster steuern

Beitrag von technick90 »

Die Rule funktioniert wie gewünscht. Workarounds halten am längsten, vielen Dank! :D

Antworten