Wood Grain 550ML Aromatherapy Diffuser
Wood Grain 550ML

Available from:

GPIO #Component
GPIO00 User
GPIO01 User
GPIO02 User
GPIO03 User
GPIO04 User
GPIO05 User
GPIO09 None
GPIO10 None
GPIO12 User
GPIO13 User
GPIO14 User
GPIO15 User
GPIO16 User



by blakadder

Please read TuyaMCU to understand the terminology and configuration process.

Flashed via serial by using TYWE3S pins. Might work with Tuya Convert.

Tuya Product ID: GQxEe5orh45cMgA61.0

PCB code: KCL-M1801C_M 2018_11_12 V5.0


dpID 2 device mode: 0 = off / 1 = continuous / 2 = intermittent / 3 = timer
dpID 4 set timer (180 min max) not needed with Tasmota, there’s a Timer function
dpID 6 light control: 0 = off / 1 = rgb cycle / 2 = white / 3 = single color
dpID 7 led dimmer
dpID 8 led color: 14 char value in hex (can define only RGB and send HSV value as max: RRGGBBffff6464)
dpID 9 error notification: 70 = ok / 1 = error
dpID 101 mist strength: 0 = low / 1 = high

I found the built in buzzer very annoying and desoldered it for quieter operation!


After applying the template and configuring Wi-Fi and MQTT issue

Backlog SetOption66 1; TuyaMCU 21,7; TuyaMCU 11,111; TuyaMCU 12,101; TuyaMCU 13,133; TuyaMCU 14,9; TuyaMCU 15,115; DimmerRange 1,255; SetOption59 1; SwitchMode 1

For diffuser control and status:

Rule1 ON TuyaReceived#Data=55AA00070005020400010012 do Power1 0 ENDON ON TuyaReceived#Data=55AA00070005020400010113 do Power1 1 ENDON ON TuyaReceived#Data=55AA00070005020400010214 do Power1 1 ENDON ON TuyaReceived#Data=55AA00070005020400010315 do TuyaSend4 2,1 ENDON ON Power1#State=1 do TuyaSend4 2,1 ENDON ON Power1#State=0 do TuyaSend4 2,0 ENDON

For light control and status:

Rule2 ON Power3#State=1 do backlog Tuyasend4 6,3; publish2 tele/diffuser/STATE {"Light":"ON","LightMode":"color"} ENDON ON Event#light_off do TuyaSend4 6,0 ENDON ON Event#rgb_cycle do TuyaSend4 6,1 ENDON ON Event#white do TuyaSend4 6,2 ENDON ON Event#color do TuyaSend4 6,3 ENDON ON Power3#State=0 do Backlog TuyaSend4 6,0; publish2 tele/diffuser/STATE {"Light":"OFF"} ENDON
Rule3 ON TuyaReceived#Data=55AA00070005060400010319 do Power3 1 ENDON ON TuyaReceived#Data=55AA00070005060400010117 do Publish2 tele/diffuser/STATE {"Light":"ON","LightMode":"rgb_cycle"} ENDON ON TuyaReceived#Data=55AA00070005060400010016 do Power3 0 ENDON ON TuyaReceived#Data=55AA00070005060400010218 do Publish2 tele/diffuser/STATE {"Light":"ON","LightMode":"white"} ENDON

Don’t forget to activate rules

Backlog Rule1 1; Rule2 1; Rule3 1

Label webUI buttons:

Backlog WebButton1 Power; WebButton2 Mist; WebButton3 Light; WebButton4 Error; WebButton5 -

What you get

  • fnid11 = Relay1 serves as device power status with the help of Rule1, dummy relay no control
  • fnid12 = Relay2 is mist strength status and control
  • fnid13 = Relay3 turns light on or off with Rule2 and Rule3
  • fnid14 = Relay4 is used for error status (ON = error), no control
  • find15 = Relay5 is a dummy relay so the dimmer doesn’t control the other relays if we don’t make one dimmer uses the last relay and would trigger errors
  • fnid21 = Dimmer

Light mode and status are reported to mqtt topic tele/diffuser/STATE and command Event is used to change light modes using TuyaSend4 command. All this is defined in Rule2

Color can be changed using TuyaSend3 8,RRGGBB64646464 (RR, GG and BB are hex value) only in color mode.

Dimming works using slider and Dimmer command.

Home Assistant configuration

This implementation is suited to specific needs and does not incorporate all features of the device, mostly to avoid weird situations and wrong states being reported.

Fan is the diffuser. Light component is the device’s RGB light.
Binary sensor uses Relay4 to show when the diffuser is out of water.


  - platform: mqtt
    name: "Diffuser"
    availability_topic: "tele/diffuser/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    state_topic: "stat/diffuser/POWER1"
    command_topic: "cmnd/diffuser/POWER1"
    payload_on: "ON"
    payload_off: "OFF"
    speed_state_topic: "tele/diffuser/STATE"
    speed_value_template: "{{ value_json.POWER2 }}"
    speed_command_topic: "cmnd/diffuser/POWER2"
    payload_low_speed: "OFF"
    payload_high_speed: "ON"
    qos: 1
      - low
      - high

  - platform: mqtt
    name: "Diffuser Water"
    state_topic: "stat/diffuser/POWER4"
    payload_on: "ON"
    payload_off: "OFF"
    availability_topic: "tele/diffuser/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    qos: 1
    device_class: problem

  - platform: mqtt
    name: "Diffuser Lamp"
    command_topic: "cmnd/diffuser/POWER3"
    state_topic: "tele/diffuser/STATE"
    state_value_template: "{% if value_json.Light is defined %}{{ value_json.Light }}{% endif %}"
    payload_on: "ON"
    payload_off: "OFF"
    brightness_command_topic: "cmnd/diffuser/DIMMER"
    brightness_state_topic: "tele/diffuser/STATE"
    brightness_scale: 100
    brightness_value_template: "{{ value_json.Dimmer }}"
    effect_command_topic: "cmnd/diffuser/EVENT"
    effect_state_topic: "tele/diffuser/STATE"
    effect_value_template: "{% if value_json.Light is defined %}{{ value_json.LightMode }}{% endif %}"
      - rgb_cycle
      - color
      - white
    availability_topic: "tele/diffuser/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    qos: 1
    retain: false
    rgb_command_topic: "cmnd/diffuser/TUYASEND3"
    rgb_command_template: "{% set brightness = state_attr('light.diffuser_lamp','brightness') | int %}{{ '8,%02x%02x%02xffff6464' | format(red, green, blue)}}"
    rgb_value_template: "{% if value_json.TuyaReceived is defined and value_json['TuyaReceived'].DpId == 8 %}{{ (value_json['TuyaReceived'].Type3Data[0:2]|int(base=16),value_json['TuyaReceived'].Type3Data[2:4]|int(base=16),value_json['TuyaReceived'].Type3Data[4:6]|int(base=16)) | join(',')}}{% endif %}"
    rgb_state_topic: "tele/diffuser/RESULT"

All entities under one card: Final config

Here’s a list of captured serial codes used for debugging:

set wifi led state
diffuser off
continuous mode
intermittent mode
countdown mode
countdown 1 min
countdown 1 hr
countdown 3 hr
high speed
low speed
dimmer 0%
dimmer 100%
light on
light off
white light
rgb cycle
color green
color blue
color yellow
color red
color purple