Hallo zusammen,
ich bin gerade etwas am verzweifeln.
Wenn ich auf die Farben im Colorpicker klicke, dann werden diese an die MQTT2 Message angehängt und versendet.
ABER! Ich benötige den Farbcode auch im reading "rgb" und dort steht immer nur "set" drin.
Was mache ich falsch?
In einem Dummy-Beispiel soll ein "readingList rgb" gesetzt werden und das funktioniert dann auch (habs getestet), in meinem Device sagt er beim setReading aber dass er zuwenig Attribute hat (also wenn ich eine neue Zeile nur mir rgb hinzufüge).
Was mache ich falsch?
Internals:
CID flipstrip5.home
DEF flipstrip5.home
DEVICETOPIC MQTT2_flipstrip5.home
FUUID 5ccca331-f33f-7d7f-59bc-79e0a13fe0bc111e
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 50
MQTT2_FHEM_Server_TIME 2019-05-10 23:49:24
MSGCNT 50
NAME MQTT2_flipstrip5.home
NR 139
STATE OFF
TYPE MQTT2_DEVICE
READINGS:
2019-05-10 23:49:24 brightness 255
2019-05-10 23:49:24 color_b 0
2019-05-10 23:49:24 color_g 255
2019-05-10 23:49:24 color_r 0
2019-05-10 23:49:24 effect 0
2019-05-10 23:32:15 rgb set
2019-05-10 23:49:24 speed 200
2019-05-10 23:49:24 state OFF
2019-05-10 23:19:01 status ws2801 ledstrip alive: flipstrip5.home
Attributes:
DbLogExclude .*
IODev MQTT2_FHEM_Server
alexaName flur
devStateIcon {Color::devStateIcon($name,"rgb","Color","state")}
genericDeviceType light
icon light_control
readingList flipstrip5.home:hass/status:.* status
flipstrip5.home:flipstrip5\.home/out:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
setList off:noArg flipstrip5.home/in off
on:noArg flipstrip5.home/in on
rgb:colorpicker,rgb flipstrip5.home/in
setStateList on off
webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb FFFFFF:on:off
Wenn ich das readingList im Dummy öffne, dann gibt es nur die kleine textbox und ich kann "rgb" eintragen. Bei dem mqtt device erhalte ich beim readingList die große textbox und dort sind die json parse Sachen drin. Hier ist es nicht möglich nur rgb hinzu zufügen. Und dann bekomme ich die Meldung, daß es nicht genügend attribute sind. Wo ist bei diesen readingList Boxen der Unterschied?
Ich habe rausbekommen, dass sich diese readingList um eine mit Regexp handelt. Deswegen auch die Meldungen mit den "MQTT2_flipstrip5.home attr readingList: more parameters needed". Allerdings löst auch das nicht mein Problem.
Sobald ich im webCmd z.b. das 00ff00:rgb mit einem neuen Reading versehe (rgb2) dann wird auch nur das "set" in das Reading geschrieben. Wie bekomme ich den angeklickten Farbwert in das Reading?
Bei einem Klick auf den Colorpicker oder auf die Farbe, soll der HEX Wert in ein Reading geschrieben werden.
bitte Thread nach MQTT verschieben, dort scheint es besser aufgehoben zu sein.
Verschieben kannst du selbst ;) .
Hier würde ich mal tippen, dass du zwar rgb versendest, aber darauf keine direkte Antwort kommt, sondern die rgb-Einzelwerte. Die kann man mit einem userreading wieder zu einem rgb-Wert zusammenbasteln, Beispiele sind in mqtt2.template (lib/AttrTemplate) enthalten.