[erledigt] Tasmota RGB reading Color und Dimmer

Begonnen von peter_w, 24 Februar 2022, 21:31:34

Vorheriges Thema - Nächstes Thema

peter_w

Hallo zusammen,

ich beiße mich gerade durch meine ganzen Tasmota Geräte von MQTT auf MQTT2 zu verschieben.
Ein Tip aus dem Forum hat mich auf die Spur gebracht wie das recht schmerzfrei geht, den MQTT2_SERVER einfach auf Port 1884 parallel zum Mosquito zu betrieben und die Gerät nacheinander zu verschieben.
Die ersten Zigbee Geräte die ich über die Tasmota Bridge einbinden wollte haben den ausschlag gegeben, das klappt mit MQTT2 viel entspannter. Nun zum Problem  :)

Ich hänge gerade an einem RGB Modul das ich auf MQTT prima am laufen hatte, und was sich gerade etwas bockig zeigt.
Internals:
   CFGFN     
   CID        DVES_0909C0
   DEF        DVES_0909C0
   DEVICETOPIC MQTT2_DVES_0909C0
   FUUID      6217afb5-f33f-9f5a-fee2-4ca1bc4180a41055
   IODev      mqtt2s
   LASTInputDev mqtt2s
   MSGCNT     81
   NAME       MQTT2_DVES_0909C0
   NR         114140
   STATE      off
   TYPE       MQTT2_DEVICE
   mqtt2s_CONN mqtt2s_192.168.0.59_51552
   mqtt2s_MSGCNT 81
   mqtt2s_TIME 2022-02-24 17:59:31
   .attraggr:
   .attrminint:
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1645720910.88653
           VALUE      off
       state_1:
         logdb:
           TIME       1645719576.55886
           VALUE      off
       state_2:
         logdb:
           TIME       1645719576.55886
           VALUE      on
       state_3:
         logdb:
           TIME       1645719576.55886
           VALUE      toggle
       state_4:
         logdb:
           TIME       1645719576.55886
           VALUE      hold
   JSONMAP:
     Channel_0  0
     Channel_1  0
     Channel_2  0
     Channel_3  0
     Channel_4  0
     Color      0
     Dimmer     0
     HSBColor   0
     POWER1     0
     POWER2     0
     POWER3     0
     POWER4     0
   OLDREADINGS:
   READINGS:
     2022-02-24 17:41:39   Color           set
     2022-02-24 17:29:16   Dimmer          set
     2022-02-24 17:59:31   Fade            off
     2022-02-24 17:59:31   Heap            27
     2022-02-24 17:17:57   IODev           mqtt2s
     2022-02-24 17:59:31   LedTable        off
     2022-02-24 17:59:31   LoadAvg         19
     2022-02-24 17:59:31   MqttCount       1
     2022-02-24 17:24:56   SaveData        on
     2022-02-24 17:59:31   Scheme          0
     2022-02-24 17:24:56   SetOption26     on
     2022-02-24 17:59:31   Sleep           50
     2022-02-24 17:59:31   SleepMode       Dynamic
     2022-02-24 17:59:31   Speed           20
     2022-02-24 17:24:55   StateText1      off
     2022-02-24 17:24:55   StateText2      on
     2022-02-24 17:24:55   StateText3      toggle
     2022-02-24 17:24:56   StateText4      hold
     2022-02-24 17:59:31   Time            2022-02-24T17:59:31
     2022-02-24 17:59:31   Uptime          0T00:40:09
     2022-02-24 17:59:31   UptimeSec       2409
     2022-02-24 17:59:31   Wifi_AP         1
     2022-02-24 17:59:31   Wifi_BSSId      3C:A6:2F:31:1D:4F
     2022-02-24 17:59:31   Wifi_Channel    6
     2022-02-24 17:59:31   Wifi_Downtime   0T00:00:03
     2022-02-24 17:59:31   Wifi_LinkCount  1
     2022-02-24 17:59:31   Wifi_Mode       11n
     2022-02-24 17:59:31   Wifi_RSSI       76
     2022-02-24 17:59:31   Wifi_SSId       HoPiJaBox
     2022-02-24 17:59:31   Wifi_Signal     -62
     2022-02-24 17:24:55   attrTemplateVersion 20200522 or prior
     2022-02-24 17:41:50   state           off
Attributes:
   autocreate 1
   comment    NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota_0909C0/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
   devStateIcon {Color::devStateIcon($name,"rgb","Color","Dimmer","state")}
   icon       light_control
   jsonMap    POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
   model      tasmota_rgb_led_controller
   readingList tele/tasmota_0909C0/LWT:.* LWT
  tele/tasmota_0909C0/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_0909C0/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_0909C0/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ?  json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_0909C0/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/tasmota_0909C0/POWER1:.* state
  stat/tasmota_0909C0/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
   room       MQTT2_DEVICE
   setList    off:noArg cmnd/tasmota_0909C0/POWER1 0
  on:noArg cmnd/tasmota_0909C0/POWER1 1
  toggle:noArg cmnd/tasmota_0909C0/POWER1 2
  Color:colorpicker,RGB cmnd/tasmota_0909C0/COLOR
  Dimmer:colorpicker,BRI,0,5,100 cmnd/tasmota_0909C0/DIMMER
   setStateList on off toggle
   webCmd     Color:Dimmer:Color ff0000:Color 00ff00:Color 0000ff:toggle:on:off

Ich habe als Basis das Template tasmota_rgb_led_controller verwendet.

In der Oberfläche erscheinen auch die ELemente zum Bedienen und ich kann das Gerät auch steuern, nur der Rückweg klappt nicht.

Was ich nicht verstehe:
Es werden die Readings: Color, Dimmer und Fade angelegt, aber statt einer Zahl erscheint da "set"

Wenn ich z.B. auf  die Schaltfläche von Color ff0000 klicke, kommt alles beim Gerät an und ich bekomme im Log des Gerätes:
stat/tasmota_0909C0/RESULT = {"POWER1":"on","Dimmer":100,"Color":"FF0000","HSBColor":"0,100,100","Channel":[100,0,0]}

Meine Erwartung: Laut readingList   "stat/tasmota_0909C0/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }"
Müssten doch die richtigen Readings angelegt werden oder ?

Wäre ganz Dankbar für einen Hinweis
Peter
Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O

peter_w

Ich habe das Problem selbst gefunden.

Im Attribut  jsonMap stand folgendes: POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0

In readingList war die Zeile: stat/tasmota_0909C0/RESULT:.* { json2nameValue($EVENT,'',$[b]JSONMAP[/b]) }
die hat wohl die Erzeugung der Readings verhindert.

Auf "stat/tasmota_0909C0/RESULT:.* { json2nameValue($EVENT) }" geändert, jetzt geht es.

Release  : 5.8
Raspberry Pi 3
CUL V 1.63 CSM868 HomeMatic (SCC)
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-SCo,HM-WDS10-TH-O