Gledopto RGB-Strip Zigbee einbinden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Andy089
Beiträge: 59
Registriert: 16. Sep 2019 18:57
Answers: 0

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von Andy089 »

Also zum Beispiel Blau Übermittelt HA einmal an:

zigbee2mqtt/LED-Strip/set

Code: Alles auswählen

{
  "state" : "ON",
  "color" : {
    "x" : 0.136,
    "y" : 0.04
  }
}
Und an

zigbee2mqtt/LED-Strip

Code: Alles auswählen

{
  "state" : "ON",
  "brightness" : 255,
  "color_temp" : 127,
  "color" : {
    "x" : 0.136,
    "y" : 0.04
  }
}
Und beim Wechsel zu Rot Übermittelt HA an:

zigbee2mqtt/LED-Strip/set

Code: Alles auswählen

{
  "state" : "ON",
  "color" : {
    "x" : 0.701,
    "y" : 0.299
  }
}
Und an
zigbee2mqtt/LED-Strip:

Code: Alles auswählen

{
  "state" : "ON",
  "brightness" : 255,
  "color_temp" : 37,
  "color" : {
    "x" : 0.701,
    "y" : 0.299
  }
}
 

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von technick90 »

Gibt es schon neue Erkenntnisse?
Ich stehe vor dem gleichem Problem mit einem Osram LED Strip RGBW sowie einer INNR E14 RGBW.
Die scheinen genauso bedient zu werden. Gibt auch color_temp und color mit x und y.

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von udo1toni »

Das ist meines Wissens (noch) nicht implementiert (allerdings gibt es, wenn ich es richtig gesehen habe, dazu einen Issue in github).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von technick90 »

Im Fall der Innr E14 geht die Ansteuerung auch per RGB.
So z. B. erfolgreich mit MQTT Explorer getestet:

Code: Alles auswählen

{"color":{"rgb":"66,158,245"}}
Im Internet habe ich dazu folgende Config für die .things gefunden:

Code: Alles auswählen

	Type colorRGB : color "Farbe" [  
		stateTopic="zigbee2mqtt/Innr_E14_2", 
		transformationPattern="JSONPATH:$.color",
		commandTopic="zigbee2mqtt/Innr_E14_2/set",
		formatBeforePublish="{\"color\":{\"rgb\":\"%s\"}}" ]
    }
Leider ist die Formatierung scheinbar nicht korrekt, es wird beim Ändern der Farbe folgende Fehlermeldung protokolliert:

Code: Alles auswählen

21:25:02.823 [WARN ] [hab.binding.mqtt.generic.ChannelState] - Command '{x=0, y=0}' not supported by type 'ColorValue': {x=0, y=0} is not a valid RGB syntax
Jemand eine Idee dazu?

Zusätzlich habe ich bezogen auf FHEM noch folgenden Thread zur Konvertierung von RGB auf x/y gefunden. Eventuell lässt sich das auf Openhab übertragen.
https://forum.fhem.de/index.php?topic=96783.0

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von udo1toni »

Die Frage ist, was da als stateTopic zurückgeliefert wird. Der befehl als solcher (also commandTopic + formatBeforePublish) kann die Fehlermeldung nicht auslösen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von technick90 »

Aaah, die Fehlermeldung resultiert aus der Rückmeldung.
Das macht dann Sinn, weil zurückgemeldet wird der Farbwert in x und y, nicht in RGB.

Dazu passend gibt es ja für FHEM diesen Beitrag zur Konvertierung von rgb in x und y.
Gibt es bei Openhab auch so eine Möglichkeit?
Also sowohl die Rückmeldung als auch den Befehl zu konvertieren?
Für die Rückmeldung wäre dies sicher mit transforms möglich oder?
Leider reichen meine Kenntnisse dafür nicht aus.

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von udo1toni »

Vermutlich ließe sich eine Transformation am ehesten über JS erledigen, da hier ja doch ein bisschen gerechnet werden muss.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von technick90 »

So habe ich mir das auch schon gedacht nachdem was ich bisher gelesen habe.
Das bekomme ich alleine aber leider nicht hin.
Ich recherchiere mal weiter im Internet.
Ich kann m. E. nicht der erste sein der vor diesen Problem steht. Ich hoffe noch ein fertiges Transformfile zu finden.
Falls ich was finde dokumentiere ich das hier für andere Leute mit dem selben Problem.

Mordi
Beiträge: 32
Registriert: 24. Jan 2021 14:54
Answers: 0

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von Mordi »

Guten Morgen,

Angeschlossen über eine ZBBridge und MQTT

nach 6 Stunden try and error.
Ich glaube ich habe ein ähnliches oder gleiches Modul.
Bei mir heißt das Teil GL-C-008 und ist auch von Gledopto
Die LED Leiste ist eine RGB-CCT.

Aus und einschalten kann ich diese über:

Code: Alles auswählen

  - id: Schreibtisch_LED_Leiste_Power
    channelTypeUID: mqtt:switch
    label: Schreibtischlampenschalter
    description: ""
    configuration:
      commandTopic: cmnd/tasmota_945D3D/ZBSend
      stateTopic: stat/tasmota_945D3D/RESULT
      transformationPattern: JSONPATH:$.Power
      off: '{"Device":"0x54BA","Send":{"Power":0}}'
      on: '{"Device":"0x54BA","Send":{"Power":1}}'
Ich bekomme das RGB Licht über Openhab3 bekomme ich nicht hin.
Ich kann diese über MQTT.fx steuern über:

Code: Alles auswählen

x=Wert

cmnd/tasmota_945D3D/0x54BA/ZBsend
{"Device":"0x54BA","Send":{"HUE":x}}
{"Device":"0x54BA","Send":{"color":"x,y"}}
{"Device":"0x54BA","Send":{"CT":x}}
{"Device":"0x54BA","Send":{"Dimmer":x}}
Die weißen, Dimmer habe ich bis dato noch gar nicht versucht zu programmieren.

Mein MQTT.fx ausgaben sehen wie folgt aus:

Bei Veränderung der Lichtfarbe

Code: Alles auswählen

{
  "ZbReceived" : {
    "0x54BA" : {
      "Device" : "0x54BA",
      "ColorMode" : 1,
      "X" : 48240,
      "Y" : 17125,
      "RGB" : "FA0008",
      "RGBb" : "2A0001",
      "Endpoint" : 11,
      "LinkQuality" : 81
    }
  }
}
Bei Veränderung der Weißen LED:

Code: Alles auswählen

{
  "ZbReceived" : {
    "0x54BA" : {
      "Device" : "0x54BA",
      "CT" : 196,
      "Endpoint" : 11,
      "LinkQuality" : 81
    }
  }
}
Beim Dimmer:

Code: Alles auswählen

{
  "ZbReceived" : {
    "0x54BA" : {
      "Device" : "0x54BA",
      "Dimmer" : 126,
      "Endpoint" : 11,
      "LinkQuality" : 81
    }
  }
}
Ein paar Informationen konnte ich hier entnehmen, die mich nicht weitergebracht haben.

https://www.zigbee2mqtt.io/devices/GL-C-008P.html

Wie bekomme ich den Jsonpath gebacken?

Leider stürzt meine Zbbridge mit Tasmota mit der HUE Emulation ab, das wäre sicher einfacher gewesen.

Vielleicht hat hier jemand eine Idee.

Vielen Dank!

Mordi

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

Re: Gledopto RGB-Strip Zigbee einbinden

Beitrag von udo1toni »

Der Schalter wird so nicht korrekt funktionieren. Stattdessen musst Du ein formatBeforePublish setzen.

Code: Alles auswählen

  - id: Schreibtisch_LED_Leiste_Power
    channelTypeUID: mqtt:switch
    label: Schreibtischlampenschalter
    description: ""
    configuration:
      commandTopic: cmnd/tasmota_945D3D/ZBSend
      stateTopic: stat/tasmota_945D3D/RESULT
      transformationPattern: JSONPATH:$.Power
      formatBeforePublish:  '{"Device":"0x54BA","Send":{"Power":%s}}'
      off: '0'
      on: '1'
Denn $.Power enthält ja nur den Wert 0 oder 1, nicht ein JSON im entsprechenden Format. Der Unterschied wird dann deutlich, wenn die Lampe mal nicht über openHAB gesteuert wird, dann kann openHAB nicht erkennen, dass sich der Status der Lampe geändert hat.

Bezüglich der Color Steuerung wird es auf ein externes Script hinauslaufen, da das Modul ein Format verwendet, welches von openHAB so nicht unterstützt wird (xy- mit getrenntem Helligkeitswert). Die alternative RGB wird vermutlich auch nicht funktionieren, da die Lampe hier offensichtlich HEX-Werte verwendet. Kann man machen, ist dann halt Grütze.

Meine Mutmaßung dazu (ich habe sowas noch nicht umgesetzt): Du legst einen String Channel an, in dem das JSON ankommen bzw. Abgehend landet. Diesen Channel nutzt Du mit einem String Item.
Du legst ein Color Item an, welches zum Steuern verwendet wird und den aktuellen Zustand anzeigt.
Du schreibst zwei Rules, die eine reagiert auf changed für das String Item, die andere reagiert auf received command für das Color Item.
Die erste Rule extrahiert über ihren Code den Status dr Lampe und schreibt den Status als HSBvalue in das Color Item.
Die zweite Rule wandelt den Befehl vom Color Item in den passenden Befehl als JSON Objekt und sendet diesen an den Channel.

Einen einfachen Dimmer kann man aber als Hersteller nicht so einfach verhunzen. Abbildung analog zum Switch Channel, nur mit dem Brightnes-Parameter statt Power. Kann natürlich sein, dass auch dort HEX-Zahlen verwendet werden, dann vielleicht einfach ein Erschießungskommando in die Entwicklungsabteilung der Firma schicken (ok, in der jetzigen Lage unpassender Humor...). Man könnte in diesem Fall versuchen, den Wert mittels JS umzuwandeln, aber vermutlich wäre dann eine Kombination zweier Rules analog zum Color Channel die leichtere Variante.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten