Seite 1 von 1

Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Verfasst: 1. Okt 2025 08:22
von Machineman
Hallo Community,

seit einigen Tagen versuche ich bei einem LED-Streifen (RGBWW) mit einem Shelly Pro RGBWW PM in openHAB 5.01 mit einem Colorpicker-item über MQTT die RGB-Farbe zu verändern, was mir leider nicht gelingen will. Erfolgreich konnte ich bis jetzt den Shelly mit einem Switch- und Dimmer-Item ansteuern und den Ein-/Aus-Status abfragen:

Thing:

Code: Alles auswählen

Type string : StatusRGB "Lichtleiste" [ stateTopic="shellyprorgbwwpm-eca456ea7890/status/rgb:0", transformationPattern="JSONPATH:$.output" ]
Type dimmer : DimmerRGB  [ stateTopic = "shellyprorgbwwpm-eca456ea7890/events/rpc", transformationPattern="JSONPATH:$.params.rgb:0.brightness", commandTopic="shellyprorgbwwpm-eca456ea7890/rpc", formatBeforePublish = "{\"id\":0,\"src\":\"shellyprorgbwwpm-eca456ea7890\",\"method\":\"RGB.Set\",\"params\":{\"id\":0,\"on\":true,\"brightness\":%s}}", min="0", max="100", step="1"  ]
Type switch : SchalterRGB  [ stateTopic = "shellyprorgbwwpm-eca456ea7890/events/rpc", transformationPattern="JSONPATH:$.params.rgb:0.output", commandTopic="shellyprorgbwwpm-eca456ea7890/rpc",formatBeforePublish="{\"id\":0,\"src\":\"shellyprorgbwwpm-eca456ea7890\",\"method\":\"RGB.Set\",\"params\":{\"id\":0,\"on\":%s}}",  off=false, on=true ]
Type color : LichtleisteColorRGB [ stateTopic = "shellyprorgbwwpm-eca456ea7890/events/rpc", transformationPattern="JSONPATH:$.params.rgb:0.rgb", commandTopic="shellyprorgbwwpm-eca456ea7890/rpc", formatBeforePublish = "{\"rgb\":0,\"src\":\"shellyprorgbwwpm-eca456ea7890\",\"method\":\"RGB.Set\",\"params\",\"rgb\":0\",\"rgb\":{\"red\":%1$d,\"green\":%2$d,\"blue\":%3$d}}"  ]
Item:

Code: Alles auswählen

Switch SchalterRGB "Lichtleiste [%s]" { channel="mqtt:topic:mosquitto:ShellyRGBWW_PRO:SchalterRGB" }
Dimmer DimmerRGB   "Lichtleiste [%s]" { channel="mqtt:topic:mosquitto:ShellyRGBWW_PRO:DimmerRGB" }
String StatusRGB "Lichtleiste Status" { channel="mqtt:topic:mosquitto:ShellyRGBWW_PRO:StatusRGB" }
Color  LichtleisteColorRGB "Farbauswahl bunt" { channel="mqtt:topic:mosquitto:ShellyRGBWW_PRO:LichtleisteColorRGB" }
Sitemap:

Code: Alles auswählen

sitemap Haus label="OPENHAB Laptop" {

Frame label= "Licht" {
        Text label="Lichtleiste"    icon="light"    
        {
            Switch item=SchalterRGB icon="light"
            Slider item=DimmerRGB icon="light"
            Text item=StatusRGB icon=""
            Colorpicker item=LichtleisteColorRGB    
        }
                     }
				    }
Als RPC-JSON erhalte ich aus dem MQTT-Explorer folgende Werte:

Code: Alles auswählen

{"src":"shellyprorgbwwpm-eca456ea7890","dst":"shellyprorgbwwpm-eca456ea7890/events","method":"NotifyStatus","params":{"ts":1759252907.23,"rgb:0":{"brightness":3,"output":true,"rgb":[255,240,221],"source":"HTTP_in"}}}
Formatiert mit dem JSON-Formatter:

Code: Alles auswählen

{
  "src": "shellyprorgbwwpm-eca456ea7890",
  "dst": "shellyprorgbwwpm-eca456ea7890/events",
  "method": "NotifyStatus",
  "params": {
    "ts": 1759252907.23,
    "rgb:0": {
      "brightness": 3,
      "output": true,
      "rgb": [
        255,
        240,
        221
      ],
      "source": "HTTP_in"
    }
  }
}
Mittlerweile sind mir die Ideen ausgegangen und die Shelly Hilfe https://shelly-api-docs.shelly.cloud/ge ... tt-control hilft mir gerade auch nicht dabei. Hat vielleicht von Euch jemand eine Idee, wie der entsprechende Topic für das Thing Color aussehen muß ?

LG Carsten

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Verfasst: 1. Okt 2025 14:27
von Harka
Moin,
ich habe mit Shelly nix Farbiges am Laufen.
Wo auf jeden Fall ein Fehler zu sein scheint ist dein formatBeforePublish. rgb muss ein Array sein und auch sonst ist es etwas wild.
Versuch mal:

Code: Alles auswählen

{\"id\": 0,\"src\": \"shellyprorgbwwpm-eca456ea7890\",\"method\": \"RGBW.Set\", \"params\": {\"rgb\": [ %1$d,\t%2$d, %3$d\t]}}
Lt. Shelly-Forum kannst Du Dich an dieses Format orientieren:

Code: Alles auswählen

topic: shellies/rgbw2/rpc
json:
{
    "id": 0,
    "src": "shellies/rgbw2/rpc-response",
    "method": "RGBW.Set",
    "params": {
        "id": 0,
        "on": false,   <<< oder true
        "brightness": 100,
        "rgb": [
            128,
            255,
            0
        ],
        "white": 80
    }
}

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Verfasst: 1. Okt 2025 18:00
von Machineman
Hallo Harka,

danke für die Rückmeldung, hat aber leider nicht funktioniert. Werde noch ein wenig rumprobieren müssen.

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Verfasst: 7. Okt 2025 22:06
von Machineman
Nach rumprobieren funktioniert jetzt das Colorwheel :

Code: Alles auswählen

Type color : LichtleisteColorRGB [ stateTopic = "shellyprorgbwwpm-eca456ea7890/events/rpc", transformationPattern="JSONPATH:$.params.rgb:0.rgb", commandTopic="shellyprorgbwwpm-ece334ee5684/rpc", colorMode="RGB", formatBeforePublish = "{\"id\":0,\"src\":\"shellyprorgbwwpm-eca456ea7890\",\"method\":\"RGB.Set\",\"params\":{\"id\":0,\"on\":true,\"rgb\":[%1$d,%2$d,%3$d]}}}"  ]
Leider bekomme ich trotz funktionierendem Colorwheel eine Warnung im Log-File angezeigt:

Code: Alles auswählen

 Command '[115, 64, 6]' from channel 'mqtt:topic:mosquitto:ShellyRGBWW_PRO:LichtleisteColorRGB' not supported by type 'ColorValue': For input string: "[115"
Weiß jemand, was es mit dieser Meldung auf sich hat und wie ich sie wegbekomme ?

LG Carsten

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Verfasst: 10. Okt 2025 08:59
von Olive18
Hallo, gibt es neue Fortschritte? Ich glaube, ich brauche genauso Hilfe wie Sie.