Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Machineman
Beiträge: 10
Registriert: 30. Jul 2019 18:03
Answers: 0

Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Beitrag 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

Harka
Beiträge: 538
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Beitrag 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
    }
}

Machineman
Beiträge: 10
Registriert: 30. Jul 2019 18:03
Answers: 0

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Beitrag von Machineman »

Hallo Harka,

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

Machineman
Beiträge: 10
Registriert: 30. Jul 2019 18:03
Answers: 0

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Beitrag 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

Olive18
Beiträge: 1
Registriert: Heute 08:18
Answers: 0

Re: Openhab 5.0.1 MQTT Shelly RGB-Farbe ändern

Beitrag von Olive18 »

Hallo, gibt es neue Fortschritte? Ich glaube, ich brauche genauso Hilfe wie Sie.
Oyostepper offer a wide range electric motors including nema 23 stepper motor, linear stepper motor,cnc spindle motor, servo motor online with fast worldwide shipping.

Antworten