RGB Colorpicker Reading

Begonnen von dr4g0n, 10 Mai 2019, 23:30:14

Vorheriges Thema - Nächstes Thema

dr4g0n

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

dr4g0n

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?

dr4g0n

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.

dr4g0n

bitte Thread nach MQTT verschieben, dort scheint es besser aufgehoben zu sein.

Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files