Tuya fan with 2 lights but only 1 light on/off available in HA

I have an Orison fan that has 2 different lights on it (bottom white light with color temperature range, and upper RGB light) (Link to product). It has Tuya/Smart Life integration, and in the Smart Life app all features can be controlled and includes on/off toggles for both lights independently (as well as a remote that can control all functions).

The issue is that in Home Assistant, it shows up as a fan entity and a single light entity. The single light entity does have the ability to adjust both lights for color temperature point and an RGB, but only a single on/off toggle and single brightness toggle, so full functionality is not available via Home Assistant.
HA Light
Is there any way to get this to work?

My biggest issue that I am ultimately trying to solve is that I have Google Home integration setup through HA and want to use voice commands to control turning off the white light and leaving the RGB on. This is a light in my kids room, so often we read to them at night with the lights on and then turn the white light off, leaving the RGB on a low brightness for them to go to sleep, but when I say to turn off the lights, both go out. It actually is interesting that if both lights are off and I use any commands to turn it on, both come on. However, if the white light is manually turned off (leaving the RGB on), I can control brightness and color via voice without the white light turning on, unless I say “turn lights to white” to which both come on again.

Did you ever solve this? I was looking at this fan.

Have 3 of these fans and rhe same issue on all. Only 1 of the 2 lights is showing in HA.

did anyone try local tuya with the fan/light ?-- looking to get one.

Does Tuya has any plan to fix this issue?

Hi. Has any of you found a solution to this? I have the same issue but with a ceiling light, also with a led for the white CCT and one on top for RGB.

I have one of these fans. I finally successfully set up the fan light locally with tuyalocal. Tuya cloud and local tuya both don’t work for me.

Along the way I’ve had the same concern about the top rgb light. I have not tried to fix yet but did notice there is one more hidden field type called mix_rgbcw or something like that. Actually, see the other orison neo fan light config in the tuyalocal repo. I noticed this field in the tuya dev console debug page when using the app to change the top light.

It seems though the payload is base64 encoded and shares the single led_switch control with the bottom light.

I have several of these fans and I managed to make a tuyalocal template to control the white and RGB separately but that doesn’t help for color control I’m hoping someone here can be of some help on that but here is my template if anyone wants it

- light:
    friendly_name: Light
    entity_category: None
    brightness: '22'
    color_temp: '23'
    brightness_lower: 10
    brightness_upper: 1000
    color_mode_set: '1'
    color_temp_min_kelvin: 2700
    color_temp_max_kelvin: 6500
    color_temp_reverse: false
    scene_values: {}
    music_mode: false
    id: '107'
    platform: light
    icon: ''
- fan:
    friendly_name: Fan
    entity_category: None
    fan_speed_control: '62'
    fan_direction: '63'
    fan_direction_forward: forward
    fan_direction_reverse: reverse
    fan_speed_min: 1
    fan_speed_max: 100
    fan_speed_ordered_list: disabled
    id: '60'
    platform: fan
    icon: mdi:fan
- light:
    friendly_name: Light RGB
    entity_category: None
    brightness_lower: 29
    brightness_upper: 1000
    color_mode: '21'
    color_mode_set: '0'
    color: '24'
    color_temp_min_kelvin: 2700
    color_temp_max_kelvin: 6500
    color_temp_reverse: false
    scene_values: {}
    music_mode: false
    id: '108'
    platform: light
    icon: ''

I’ve also got it working with tuya-local, and it auto-discovered the device, but I too am frustrated by the lack of individual light control - and does anybody know what the heck the “night light” is supposed to be?!

I figured it out. I used this LocalTuya - Using Tuya IoT Platform to obtain not only Local Keys, but also DP (data point) IDs to get the DP info for the device from Tuya’s IoT site. This is what it dumps out. You can add the 3 devices when you set it up in Local Tuya. I created 2 lights, and one fan. You can add the sub-items (fan speed/direction/light brightness/color) in each device setup window. Here’s the values for that fan. The dp_id matches what is offered in Local Tuya’s device setup.

    "properties": [
      {
        "code": "switch_led",
        "custom_name": "",
        "dp_id": 20,
        "time": 1756873131331,
        "type": "bool",
        "value": false
      },
      {
        "code": "work_mode",
        "custom_name": "",
        "dp_id": 21,
        "time": 1756823173472,
        "type": "enum",
        "value": "white"
      },
      {
        "code": "bright_value",
        "custom_name": "",
        "dp_id": 22,
        "time": 1756871226039,
        "type": "value",
        "value": 1000
      },
      {
        "code": "temp_value",
        "custom_name": "",
        "dp_id": 23,
        "time": 1756873131314,
        "type": "value",
        "value": 533
      },
      {
        "code": "colour_data",
        "custom_name": "",
        "dp_id": 24,
        "time": 1756871201853,
        "type": "string",
        "value": "00ee03e803e8"
      },
      {
        "code": "scene_data",
        "custom_name": "",
        "dp_id": 25,
        "time": 1756823173472,
        "type": "string",
        "value": "000e0d0000000000000000c80000"
      },
      {
        "code": "music_data",
        "custom_name": "",
        "dp_id": 27,
        "time": 1753113888940,
        "type": "string",
        "value": ""
      },
      {
        "code": "control_data",
        "custom_name": "",
        "dp_id": 28,
        "time": 1753113888940,
        "type": "string",
        "value": ""
      },
      {
        "code": "do_not_disturb",
        "custom_name": "",
        "dp_id": 34,
        "time": 1756823173479,
        "type": "bool",
        "value": false
      },
      {
        "code": "segment_dimming",
        "custom_name": "",
        "dp_id": 52,
        "time": 1756848364561,
        "type": "raw",
        "value": "AAEDAAAAAAAAA+gB9AAAAAAAAAPoAAAAAAAAAAAD6APo"
      },
      {
        "code": "colour_switch",
        "custom_name": "",
        "dp_id": 54,
        "name": "Orison Color Light",
        "time": 1756873131322,
        "type": "bool",
        "value": false
      },
      {
        "code": "rgbic_work_mode",
        "custom_name": "",
        "dp_id": 55,
        "time": 1756823173472,
        "type": "enum",
        "value": "colour"
      },
      {
        "code": "dreamlight_scene_mode",
        "custom_name": "",
        "dp_id": 56,
        "time": 1756848364397,
        "type": "raw",
        "value": "AU8PGRkAAABkALxkAC1OAABkAGQ8"
      },
      {
        "code": "dreamlightmic_music_data",
        "custom_name": "",
        "dp_id": 57,
        "time": 1756848364458,
        "type": "raw",
        "value": "AQAAA2QyAAAAZAAAZAB4ZADwZAA8ZAC0ZAEsZAAAAAAAAA=="
      },
      {
        "code": "paint_colour_data",
        "custom_name": "",
        "dp_id": 61,
        "time": 1756871206485,
        "type": "raw",
        "value": "AAAADAAA7gPoA+g="
      },
      {
        "code": "white_switch",
        "custom_name": "",
        "dp_id": 63,
        "name": "Orison Ceiling Fan",
        "time": 1756872003115,
        "type": "bool",
        "value": false
      },
      {
        "code": "fault",
        "custom_name": "",
        "dp_id": 101,
        "time": 1753113888940,
        "type": "bitmap",
        "value": 0
      },
      {
        "code": "fan_beep",
        "custom_name": "",
        "dp_id": 102,
        "time": 1753119237051,
        "type": "bool",
        "value": false
      },
      {
        "code": "fan_countdown_left",
        "custom_name": "",
        "dp_id": 103,
        "time": 1753113888940,
        "type": "value",
        "value": 0
      },
      {
        "code": "fan_direction",
        "custom_name": "",
        "dp_id": 104,
        "time": 1756871978844,
        "type": "enum",
        "value": "forward"
      },
      {
        "code": "fan_speed",
        "custom_name": "",
        "dp_id": 105,
        "time": 1756871978888,
        "type": "value",
        "value": 3
      },
      {
        "code": "fan_mode",
        "custom_name": "",
        "dp_id": 106,
        "time": 1756823175106,
        "type": "enum",
        "value": "fresh"
      },
      {
        "code": "fan_switch",
        "custom_name": "",
        "dp_id": 107,
        "name": "Fan Switch",
        "time": 1756872021362,
        "type": "bool",
        "value": false
      },
      {
        "code": "solid_mode",
        "custom_name": "",
        "dp_id": 111,
        "time": 1753113888947,
        "type": "enum",
        "value": "mode1"
      },
      {
        "code": "set_rgb_order",
        "custom_name": "",
        "dp_id": 112,
        "time": 1756823173515,
        "type": "enum",
        "value": "GRB"
      },
      {
        "code": "lightpixel_number_set",
        "custom_name": "",
        "dp_id": 113,
        "time": 1756823173490,
        "type": "value",
        "value": 100
      },
      {
        "code": "switch_night_light",
        "custom_name": "",
        "dp_id": 116,
        "time": 1756823173504,
        "type": "bool",
        "value": false
      },
      {
        "code": "rhythm_mode",
        "custom_name": "",
        "dp_id": 117,
        "time": 1756848364699,
        "type": "raw",
        "value": "AAAAAAA="
      }
    ]
  },

Is there a quick way to implement this ? Have the same issue, one light for two lights and its annoying