Zigbee2MQTT RGB LED Controller OpenHab

  • Hi Leute,

    habe einen LED Strip mit einem Zigbee LED Controller - diese gibt es auch bei Zigbee2MQTT sollte also gut einbindbar sein- nun struggle ich aber etwas bei der COnfig auf Zigbee2MQTT Seite und den Farben in OH2. Könnte mir da eventuell jemand aushelfen`?

    https://www.zigbee2mqtt.io/devices/ZC05M.html

    Danke und Grüße

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • also hab alles hinbekommen - aus/an , color temp / brightness aber bei der farbe tu ich mir schwer - hab HSB genommen

    Code
    - id: led_stripe_rohr_color
        channelTypeUID: mqtt:colorRGB
        label: led_stripe_rohr_color
        description: ""
        configuration:
          commandTopic: zigbee2mqtt/led_stripe_rohr/set/color_hs
          colorMode: HSB
          formatBeforePublish: '{"color":{"hsb":"%1$d,%2$d,%3$d"}}'
          stateTopic: zigbee2mqtt/led_stripe_rohr/color_hs

    aber in zigbee2mqtt kommt immer "zigbee2mqtt no converter available for color_hs"


    versteh ich nicht ganz

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • wenn ich es über das frontend mach von zigbee2mqtt funktioniert der color change und das sehe ich im [definition='1','0']log[/definition] - was sagt mir das nun ?

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • Ok hat jetzt geklappt ! Nun zur Sitemap - colorpicker ist nice hier aber nicht sinnvoll - ich würde gerne die Grundfarben rot blau lila gelb grün etc. Direkt auswählen können. In der zigbee2mqtt gui kann ich das für das stripe - könnte mir hier die xy Daten was es zu senden gilt kopieren aber wie lasse ich das senden per Schalter? Dropdown-Menü ? Dummyshalter? Rule ?

    Ihr ne Idee ? So sieht es im Zigbee Menu aus:

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

    Einmal editiert, zuletzt von xSaSx (20. September 2022 um 06:07)

  • Hi @horschte,

    kann ich das direkt aus der sitemap machen oder brauch ich dann ne rule ?

    Dann müsste ich für jede Farbe nen Switch Anlegen und es so machen?:

    Code
    rule "MyMQTTRule
    when
        Item LED_ROT changed
    then
        val mqttActions = getActions("mqtt", "mqtt:broker:MQTTBrokerTest")
         mqttActions.publishMQTT("MyTopic", color.red)
    end


    oder kann ich in von der sitemap aus einen xy farbcode senden ? also

    Code
    switch item=LED-Red {sende rot}

    oder kann ich vl. sogar einen mqtt switch anlegen der genau das sendet und ich ihn nur über die sitemap trigger ?

    also:

    Code
    switch item=LED-Red
    Code
    switch LED-Red { mqtt=">[mymosquitto:/led_stripe_rohr/set/color:*:rot]"

    Wie wäre es denn am geschicktesten? und wie würde so ein syntax aussehen. Will kein Colorpicker weil ich Alexa sagen will welche Farbe sie einstellen soll und dazu brauche ich ja exakte Trigger-Punkte

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • Nimm in der sitemap eine selection und ein string item und definiere dort die Farben

    die Rule machst du dann in der art

    when
    Item selectionstring changed
    then
    val mqttActions = getActions("mqtt", "mqtt:broker:MQTTBrokerTest"
    mqttActions.publishMQTT("MyTopic", selsctionstring.state)
    end

  • hi @Momo90,


    ok mit einer selection in der sitemap komme ich klar

    sieht ja dann so aus :

    Code
    Selection item=led_rohr_color label="Farbe" mappings=["grün"türkis","blau","lila","rot"]


    wie sieht mein MQTT command aus um eine Farbe zusenden ? in der [definition='1','0']log[/definition] steht folgendes wenn ich eine auswähle im zigbeefrontend:

    Code
    Zigbee2MQTT:debug 2022-09-19 15:42:48: Publishing 'set' 'color' to 'led_stripe_rohr'
    
    
    Zigbee2MQTT:info  2022-09-19 15:43:02: MQTT publish: topic 'zigbee2mqtt/led_stripe_rohr/color-x', payload '0.6307692307692307'
    
    
    Zigbee2MQTT:info  2022-09-19 15:43:02: MQTT publish: topic 'zigbee2mqtt/led_stripe_rohr/color-y', payload '0.3230769230769231'

    und wie würden dann die string items aussehen ? Sorry bin da echt nen noob drin :D

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • ein selection sitemap eintrag für ein color item kann doch den wert auch so senden, da braucht es keine rule....bspw
    Selection item=Farbelabel="Farbe" mappings=["0,100,100"="Rot", "120,100,100"="Grün"]

    bei dem LED stripe kommt aber nur so ein xy wert an mit 0.xxxxx und nicht ein 3 stelliger mit zB 120,100,100 damit fängt er nichts an.
    Wenn es natürlich so irgendwie gehen könnte direkt aus der Sitemap raus mit Selection ohne rules etc wäre das mega cool - dann wäre nur die Frage wie ich das Alexa beibringen kann auf grün für grün zu hören weil ich ja keine wirklichen items dahinter hab

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • Ei! Das sieht aber anders aus, als ich geglaubt habe

    Versuch mal (auch wenn das echt hässlich gelöst ist):

    Selection item=led_rohr_color label="Farbe" mappings=["{\"color\":{\"x\":0.6307692307692307,\"y\":0.3230769230769231}}"="rot"]

    wobei ich nicht weiß ob die x und y werte tatsächlich rot sind. such dir auch noch die x und y werte für andere farben raus und ergänze sie im mapping

    Code
    rule "MyMQTTRule
    when
        Item led_rohr_color changed
    then
        val mqttActions = getActions("mqtt", "mqtt:broker:MQTTBrokerTest")
         mqttActions.publishMQTT("zigbee2mqtt/led_stripe_rohr/set", led_rohr_color.state)
    end
  • hi momo, danke das teste ich gleich mal wenn ich daheim bin - farbcodes etc sind kein ding die finde ich raus - was dann eher noch die frage wäre wie ich alexa sagen kann mach bla mach rot mit dem mappings ?

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • Für Alexa brauchst meiner Meinung nach einen ganz anderen ansatz. Mit Group endpoints, so dass du sagen kannst "Alexa stelle Ledrohr auf rot" oder "Alexa stelle Ledrohr auf 50%" dafür brauchst aber wieder die herkömmlichen Color und Dimmer Items
    Aber die kannst ja paralell zu der selection Variante machen

    Edit: Statt der rule kanns es auch über eine mqtt.things datei lösen. Ich weiß aber nicht ob du OH textbasiert konfiguriert hast. Wenn nein, zahlt es sich nur deshalb nicht aus damit zu beginnen

    Einmal editiert, zuletzt von Momo90 (20. September 2022 um 11:08)

  • doch das meiste ist textbasierend. wie würde das dann aussehen ? könnte ja auch schalter anlegen mit bei format before publish mit festen werten oder?

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

    Einmal editiert, zuletzt von xSaSx (20. September 2022 um 12:05)

  • Format before publish habe ich anfänglich auch überlegt. Bringts aber nicht da du 2 werte hast und wegen dem JSON objekt wahrscheinlich escapen musst

    mqtt.things

    Code
    Thing topic LED "LED" {
            Channels:
                Type string : LedFarbe       
                    [commandTopic="zigbee2mqtt/led_stripe_rohr/set"]
    }


    led.items

    Code
    String                      LEDFarbe
                                {channel="mqtt:topic:MQTTBrokerTest:LED:LedFarbe"}


    default.sitemap

    Code
    Selection item=LEDFarbe label="Farbe" mappings=["{\"color\":{\"x\":0.6307692307692307,\"y\":0.3230769230769231}}"="rot"]


    oder du machst das mapping bei den Items mit einer .map datei, sollte auch gehen

  • Also hab wieder auf RGB umgestellt und mein Outgoing Value Format auf {"color": {"rgb": "%s,%s,%s"}} gestellt nun funktioniert die sitemap mit:


    Code
    Selection item=Office_LED_Rohr_color label="Farbe" mappings=["60,100,100"="gelb","120,100,100"="grün","180,100,100"="türkis","240,100,100"="blau","300,100,100"="lila","350,100,100"="rot"]

    vielen dank ! nun wäre nur noch die Frage wie ich die einzelnen Farben als item alexa zuweisen kann das ich sagen kann Alexa "rot"

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!