Seite 1 von 1

RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 12. Jan 2020 21:39
von b-tronic
Hi,

kann mir jemand sagen wie ich über Openhab2 den Colorwert beschreiben kann:

Thing in Openhab:

Code: Alles auswählen

    Thing topic sonoffb1 "Sonoff B1" @ "Aussen" {
    Channels:
        Type string   : reachable  "Reachable"            [ stateTopic="tele/tasmota/LWT" ]
        Type switch   : power      "Power"                [ stateTopic="stat/tasmota/POWER", commandTopic="cmnd/tasmota/POWER" ]
        Type switch   : fade       "Fade"                 [ stateTopic="tele/tasmota/STATE", commandTopic="cmnd/tasmota/FADE", transformationPattern="JSONPATH:$.Fade" ]
        Type dimmer   : dimmer     "Dimmer"               [ stateTopic="tele/tasmota/STATE", commandTopic="cmnd/tasmota/DIMMER", transformationPattern="JSONPATH:$.Dimmer" ]
        Type string   : mode       "Mode"                 [ stateTopic="tele/tasmota/STATE", commandTopic="cmnd/tasmota/SCHEME", transformationPattern="JSONPATH:$.Scheme" ]
        Type colorHSB : colour     "Colour"               [ stateTopic="tele/tasmota/STATE", commandTopic="cmnd/tasmota/HSBColor", transformationPattern="JSONPATH:$.HSBColor" ]
        Type number   : rssi       "WiFi Signal Strength" [ stateTopic="tele/tasmota/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
    }
So sieht der Log der Birne aus:

Code: Alles auswählen

stat/tasmota/RESULT = {"POWER":"ON","Dimmer":20,"Color":"50,0,0,0,0","HSBColor":"0,100,20","Channel":[20,0,0,0,0],"CT":465}
Wenn ich über Openhab die Lampe ansteuere wird nur Power,Dimmer und HSBColor angesteuert, ich brauche aber die Color Variable.

Die Belegung der Color Variable ist R,G,B,Warmweis,Kaltweis

Wie muß ich Thing und Item anlegen damit die Color Variable angesteuert wird ?

MfG B-Tronic

Re: RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 13. Jan 2020 11:19
von seppy
Hi,
sollte gehen, aber ich habe es bisher nur eingebaut aber noch nicht getestet:

thing:

Code: Alles auswählen

Thing mqtt:topic:ThgSmartLEDPoolwand1 "Poolwand LED 1" (mqtt:broker:mqtthomebox) {
    Channels:
        Type switch : PowerSwitch    
            "Power Switch"
            [stateTopic="stat/mqttclient_led1/POWER", commandTopic="cmnd/mqttclient_led1/POWER", on="ON", off="OFF"]
        Type switch : PowerSwitchRes
            "Switch State"
            [stateTopic="stat/mqttclient_led1/RESULT", transformationPattern="JSONPATH:$.POWER",on="ON",off="OFF"]
        Type colorHSB : LedColor
            "Color"
            [stateTopic="stat/mqttclient_led1/Color", transformationPattern="JSONPATH:$.Color", commandTopic="cmnd/mqttclient_led1/Color"]
items:

Code: Alles auswählen

Color SmartLEDPoolwand1Color
	"LED 1 Farbe"
	<colorpicker>
	(gAussenSmartLEDColor)
	{channel="mqtt:topic:ThgSmartLEDPoolwand1:LedColor"}
sitemap:

Code: Alles auswählen

Colorpicker item=SmartLEDPoolwand1Color label="Poolwand LED 1 Farbe" icon="colorpicker"
So sollte es in der Theorie funktionieren, gestestet habe ich aber noch nicht.

Grüße,
Seppy

Re: RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 13. Jan 2020 19:11
von b-tronic
Geht leider nicht.

Beim Type ColorHSB werden nur die 3 Farbwerte beschrieben, also bei der Color Tasmota Variable die ersten 3 Felder.

Das geht bei meiner Lampe auch mit dem direkten HSB Wert:

stat/tasmota/RESULT = {"POWER":"ON","Dimmer":13,"Color":"0,0,0,33,0","HSBColor":"0,0,0","Channel":[0,0,0,13,0],"CT":153}

Ich will jedoch den 4. und 5. Color Wert beschreiben, z.B. mit einem Dimmer Type, aber wie kann ich die Variable deklarieren das
die ersten 3 Werte mit "0" beschrieben werden und der 4. oder 5. Wert mit dem Wert der Dimmer Variable ?

Re: RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 26. Jan 2020 08:33
von b-tronic
So funktioniert es:

Thing

Code: Alles auswählen

Thing topic sonoffb1 "Sonoff B1" @ "Aussen" {
    Channels:
        Type string   : reachable  	"Reachable"            [ stateTopic="tele/tasmota/LWT" ]
        Type switch   : PowerSwitch  	"Power Switch"         [ stateTopic="stat/tasmota/RESULT", commandTopic="cmnd/tasmota/POWER" ]
        Type switch   : PowerSwitchRes  "Switch State"         [ stateTopic="state/tasmota/RESULT", commandTopic="cmnd/tasmota/POWER" ]
        Type string   : LedColor        "Color"                [ stateTopic="stat/tasmota/RESULT", commandTopic="cmnd/tasmota/Color" ]
        Type number   : rssi       "WiFi Signal Strength"      [ stateTopic="tele/tasmota/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
    }
Item

Code: Alles auswählen

Switch Lamp_Power            "Lamp General On/Off"            (Lights) {channel="mqtt:topic:mosquitto:sonoffb1:PowerSwitch"}
String Lamp_ColorRGBCWString "Color RGBCW hex [0x%s]" <light> (Lights) {channel="mqtt:topic:mosquitto:sonoffb1:LedColor"}
Color  Lamp_ColorHSB         "Color HSB"              <light> (Lights)
Dimmer Lamp_CWDimmer         "Dimmer Cold White"      <light> (Lights)
Dimmer Lamp_WWDimmer         "Dimmer Warm White"      <light> (Lights)
Rules:

Code: Alles auswählen

rule "RGB Lampe Farbe"
when
    Item Lamp_ColorHSB received command 
then

    var r = ((Lamp_ColorHSB.state as HSBType).getRed * 255 / 100).intValue
    var g = ((Lamp_ColorHSB.state as HSBType).getGreen * 255 / 100).intValue
    var b = ((Lamp_ColorHSB.state as HSBType).getBlue * 255 / 100).intValue

    var ww = 0
    var cw = 0
    var rgbw = String.format("%02x%02x%02x%02x%02x", r, g, b, cw, ww)
    Lamp_ColorRGBCWString.sendCommand(rgbw)
end


rule "RGB Lampe Warmwhite"
when

    Item Lamp_WWDimmer received command

then

    var r = 0
    var g = 0
    var b = 0
    var ww = ((Lamp_WWDimmer.state as Number) * 255 / 100).intValue
    var cw = 0
    var rgbw = String.format("%02x%02x%02x%02x%02x", r, g, b, cw, ww)
    Lamp_ColorRGBCWString.sendCommand(rgbw)
end


rule "RGB Lampe Coldwhite"
when

    Item Lamp_CWDimmer received command

then

    var r = 0
    var g = 0
    var b = 0
    var cw = ((Lamp_CWDimmer.state as Number) * 255 / 100).intValue
    var ww = 0
    var rgbw = String.format("%02x%02x%02x%02x%02x", r, g, b, cw, ww)
    Lamp_ColorRGBCWString.sendCommand(rgbw)
end
Sitemap:

Code: Alles auswählen

Colorpicker item=Lamp_ColorHSB label="LED 1 Farbe" icon="colorpicker"
Default item=Lamp_WWDimmer
Default item=Lamp_CWDimmer


Re: RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 28. Mai 2020 16:59
von StephanR
Hallo b-tronic, hallo Seppy,

an beide Danke für die Hinweise hier, sie haben bereits einiges geholfen.

Ich nutze z. Z. die aktuellste Version von OpenHab2 und versuche eine mit "Tasmota 8.1.0.2 by Theo Arends"
geflaste SB50 BULB E27 LED Birne zu integrieren.

Kann mir jemand von Euch bitte mitteilen, ob bei Euch das Gleiche Verhalten auf einer Sitemap auftritt,
wenn der Colorpicker zum Einsatz kommt?

Mein Problem ist, dass die Farbe der Lampe über das "colorwheel" ausgewählt wird.
Via MQTT Client kann ich feststellen, dass korrekte Werte ermittelt / verschickt werden.

Nun nach Auswahl der Farbe (Farbkreis wurde verschoben!) klicke ich auf "OK" - in der Hoffnung OpenHab2 speichert den gewählten Farbwert für dieses Item. Wenn ich nun den Colorpicker erneut aufrufe, steht der Farbkreis in der Mitte und nicht dort, wo der Farbkreis stand bevor auf "OK" geklickt wurde. Ebenso der Wert für Farbsättigung wandert immer in die Mitte zurück.

Ist dies bei Euch ebenso?

Danke für potentielle Hilfe von StephanR

Re: RGB Lampe E27 Tasmota mit RGBWW

Verfasst: 28. Mai 2020 17:28
von StephanR
Hallo, das Problem hat sich erledigt.

Die Ursache ist schlicht und einfach:
warte bis OpenHab2 dies Daten nach einem "OK" gespeichert hat und dann schau nach, ob dieses Phänomen noch existiert.

Bei genug Warten (15 Sekunde!?) und dann erneutes Aufrufen vom "colorwheel" steht der Farbkreis und die Farbsättigung an richtiger Stelle.