Skip to content

Request support for FancyLEDS 3 HDMI 2.1 Fancy Sync Box #3664

@LordShadowen

Description

@LordShadowen

Log message

[custom_components.tuya_local.config_flow] Device matches lytmi_hdmisync_backlight with quality of 82%. DPS: {"updated_at": 1756121708.136649, "20": false, "22": 1000, "23": 10, "24": "000000000386", "25": "82000000000000000000000000000000", "101": 1, "105": 0, "107": true, "108": 10, "109": false, "113": 100}

Product ID

9cgdcqpe9iqg9tjn

Product Name

FancyLEDS 3 HDMI 2.1 Fancy Sync Box

DPS information

{
  "result": {
    "model": "{\"modelId\":\"e1kj5m84\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"\",\"properties\":[
{\"abilityId\":20,\"accessMode\":\"rw\",\"code\":\"switch_led\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_power\",\"attribute\":\"1027\"},\"name\":\"开关\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":21,\"accessMode\":\"rw\",\"code\":\"work_mode\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_mode\",\"attribute\":\"1024\"},\"name\":\"模式\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}},
{\"abilityId\":22,\"accessMode\":\"rw\",\"code\":\"bright_value\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-liangdu1\",\"attribute\":\"1026\"},\"name\":\"亮度值\",\"typeSpec\":{\"type\":\"value\",\"max\":1000,\"min\":10,\"scale\":0,\"step\":1}},
{\"abilityId\":23,\"accessMode\":\"rw\",\"code\":\"temp_value\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-dp_half\",\"attribute\":\"1154\"},\"name\":\"冷暖值\",\"typeSpec\":{\"type\":\"value\",\"max\":1000,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":24,\"accessMode\":\"rw\",\"code\":\"colour_data\",\"description\":\"类型:字符;\\nValue: 000011112222;\\n0000:H(色度:0-360,0X0000-0X0168);\\n1111:S (饱和:0-1000, 0X0000-0X03E8);\\n2222:V (明度:0-1000,0X0000-0X03E8)\",\"extensions\":{\"iconName\":\"icon-yanse\",\"attribute\":\"1024\"},\"name\":\"彩光\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},
{\"abilityId\":25,\"accessMode\":\"rw\",\"code\":\"scene_data\",\"description\":\"类型:字符; \\nValue: 0011223344445555666677778888;\\n00:情景号;\\n11:单元切换间隔时间(0-100);\\n22:单元变化时间(0-100);\\n33:单元变化模式(0静态1跳变2渐变);\\n4444:H(色度:0-360,0X0000-0X0168);\\n5555:S (饱和:0-1000, 0X0000-0X03E8);\\n6666:V (明度:0-1000,0X0000-0X03E8);\\n7777:白光亮度(0-1000);\\n8888:色温值(0-1000);\\n注:数字1-8的标号对应有多少单元就有多少组\",\"extensions\":{\"iconName\":\"icon-shoucang\",\"attribute\":\"1024\"},\"name\":\"场景\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},
{\"abilityId\":26,\"accessMode\":\"rw\",\"code\":\"countdown\",\"description\":\"\",\"extensions\":{\"iconName\":\"icon-a_nav_timer\",\"attribute\":\"1026\"},\"name\":\"倒计时\",\"typeSpec\":{\"type\":\"value\",\"max\":86400,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":27,\"accessMode\":\"wr\",\"code\":\"music_data\",\"description\":\"类型:字符串;\\nValue: 011112222333344445555;\\n0:   变化方式,0表示直接输出,1表示渐变;\\n1111:H(色度:0-360,0X0000-0X0168);\\n2222:S (饱和:0-1000, 0X0000-0X03E8);\\n3333:V (明度:0-1000,0X0000-0X03E8);\\n4444:白光亮度(0-1000);\\n5555:色温值(0-1000)\",\"extensions\":{\"iconName\":\"icon-dp_mic\",\"attribute\":\"1024\"},\"name\":\"音乐律动\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},
{\"abilityId\":28,\"accessMode\":\"wr\",\"code\":\"control_data\",\"description\":\"类型:字符串 ;\\nValue: 011112222333344445555  ;\\n0:   变化方式,0表示直接输出,1表示渐变;\\n1111:H(色度:0-360,0X0000-0X0168);\\n2222:S (饱和:0-1000, 0X0000-0X03E8);\\n3333:V (明度:0-1000,0X0000-0X03E8);\\n4444:白光亮度(0-1000);\\n5555:色温值(0-1000)\",\"extensions\":{\"iconName\":\"icon-dp_box2\",\"attribute\":\"1024\"},\"name\":\"调节\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},
{\"abilityId\":101,\"accessMode\":\"rw\",\"code\":\"r_l\",\"description\":\"0:左边安装,1: 右边安装\",\"name\":\"安装位置\",\"typeSpec\":{\"type\":\"value\",\"max\":1,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},
{\"abilityId\":102,\"accessMode\":\"rw\",\"code\":\"strip_bar\",\"description\":\"0:灯带,1: 灯柱\",\"name\":\"灯具类型\",\"typeSpec\":{\"type\":\"value\",\"max\":1,\"min\":0,\"scale\":1,\"step\":1,\"unit\":\"\"}},
{\"abilityId\":103,\"accessMode\":\"wr\",\"code\":\"control_r_l\",\"description\":\"0:进入安装位 置设置; 1:完 成并退出安装 位置设置 2:取 消并退出安装 位置设置\",\"name\":\"安装位置设置\",\"typeSpec\":{\"type\":\"value\",\"max\":2,\"min\":0,\"scale\":1,\"step\":1,\"unit\":\"\"}},
{\"abilityId\":104,\"accessMode\":\"wr\",\"code\":\"scen\",\"description\":\"\",\"extensions\":{\"scope\":\"\"},\"name\":\"情景\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"screen\",\"video\",\"game\",\"rainbow\",\"fire\",\"lighting\",\"firework\",\"star\",\"water\",\"particle\",\"fluid\",\"gravity\",\"newton\",\"breath\",\"static_color\",\"music_dimmer\",\"screen_rhythm\",\"music_yuedong\",\"music_freq\",\"music_elect\",\"music_smooth\"]}},
{\"abilityId\":105,\"accessMode\":\"rw\",\"code\":\"hdmi_switch\",\"description\":\"0-3:HDMI1-HDMI4\",\"name\":\"切换HDMI\",\"typeSpec\":{\"type\":\"value\",\"max\":3,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}},
{\"abilityId\":106,\"accessMode\":\"rw\",\"code\":\"status_report\",\"description\":\"==============================================================\\n数据类型:raw类型\\n字节数:5\\n第零字节:HDMI输入状态及选中状态指示,\\n\\t第0~3位:分别表示输入0~3的HDMI通道插入状态;\\n\\t第4~5位:表示选中的输入通道\\n\\t如HDMI 通道0和通道2插入(且选中第1通道),则当前字节表示:0x15==>0b0001 0101\\n\\t\\n第一字节:HDMI输出插入状态识别指示,\\n\\t数值0:未能识别或未插入输出设备\\n\\t数值1:成功识别输出设备\\n\\n第二字节:HDR/SDR状态指示:\\n\\t数值0:SDR\\n\\t数值1:HDR\\n\\n第三字节:灯带第一通道的像素数\\n第四字节:灯带第二通道的像素数\",\"name\":\"接口状态提示\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":107,\"accessMode\":\"rw\",\"code\":\"hdmi_enable\",\"description\":\"\",\"name\":\"HDMI使能\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":108,\"accessMode\":\"rw\",\"code\":\"light_db\",\"description\":\"随屏模式下灯光的灵敏度(柔化程度)。 0:最低,1000:最高,画面实时跟随\",\"name\":\"灯光灵敏度\",\"typeSpec\":{\"type\":\"value\",\"max\":1000,\"min\":0,\"scale\":1,\"step\":10,\"unit\":\"\"}},
{\"abilityId\":109,\"accessMode\":\"rw\",\"code\":\"tv_sync_onoff\",\"description\":\"0:关闭,1:开启\",\"name\":\"TV同步开关\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":110,\"accessMode\":\"wr\",\"code\":\"tv\",\"description\":\"\",\"name\":\"TV控制\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"DIR_UP\",\"DIR_RIGHT\",\"DIR_DOWN\",\"DIR_LEFT\",\"FUNC_OK\",\"FUNC_BACK\",\"FUNC_HOME\",\"FUNC_POWER\",\"SOUND_ADD\",\"SOUND_SUB\",\"SOUND_OP\",\"SETTING\"]}},
{\"abilityId\":111,\"accessMode\":\"wr\",\"code\":\"hotkey\",\"description\":\"\",\"name\":\"快捷控制\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"HOTKEY0\",\"HOTKEY1\"]}},
{\"abilityId\":112,\"accessMode\":\"rw\",\"code\":\"hdr_auto\",\"description\":\"\",\"name\":\"hdr_auto\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":113,\"accessMode\":\"rw\",\"code\":\"color_enhance\",\"description\":\"在hdr自动识别关闭的时候,可手动调节hdr颜色增强程度\",\"name\":\"color_enhance\",\"typeSpec\":{\"type\":\"value\",\"max\":1000,\"min\":0,\"scale\":0,\"step\":1,\"unit\":\"\"}}]}]}"
  },
  "success": true,
  "t": 1756140730022,
  "tid": "d754a43b81d311f0a25e9ed280a40f39"
}
Details
[
   {
      "id":20,
      "name":"switch_led",
      "type":"Boolean",
      "format":"{}",
      "enumMap":{
         
      }
   },
   {
      "id":21,
      "name":"work_mode",
      "type":"Enum",
      "format":"{\"range\":[\"white\",\"colour\",\"scene\",\"music\"]}",
      "enumMap":{
         
      }
   },
   {
      "id":22,
      "name":"bright_value",
      "type":"Integer",
      "format":"{\"min\":10,\"max\":1000,\"scale\":0,\"step\":1}",
      "enumMap":{
         
      }
   },
   {
      "id":23,
      "name":"temp_value",
      "type":"Integer",
      "format":"{\"min\":0,\"max\":1000,\"scale\":0,\"step\":1}",
      "enumMap":{
         
      }
   },
   {
      "id":24,
      "name":"colour_data",
      "type":"Json",
      "format":"{\"h\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":360,\"step\":1},\"s\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":1000,\"step\":1},\"v\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":1000,\"step\":1}}",
      "enumMap":{
         
      }
   },
   {
      "id":25,
      "name":"scene_data",
      "type":"Json",
      "format":"{\"scene_num\":{\"min\":1,\"scale\":0,\"max\":8,\"step\":1},\"scene_units\": {\"unit_change_mode\":{\"range\":[\"static\",\"jump\",\"gradient\"]},\"unit_switch_duration\":{\"min\":0,\"scale\":0,\"max\":100,\"step\":1},\"unit_gradient_duration\":{\"min\":0,\"scale\":0,\"max\":100,\"step\":1},\"bright\":{\"min\":0,\"scale\":0,\"max\":1000,\"step\":1},\"temperature\":{\"min\":0,\"scale\":0,\"max\":1000,\"step\":1},\"h\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":360,\"step\":1},\"s\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":1000,\"step\":1},\"v\":{\"min\":0,\"scale\":0,\"unit\":\"\",\"max\":1000,\"step\":1}}}",
      "enumMap":{
         
      }
   },
   {
      "id":26,
      "name":"countdown",
      "type":"Integer",
      "format":"{\"min\":0,\"max\":86400,\"scale\":0,\"step\":1}",
      "enumMap":{
         
      }
   }
]

Information about how the device functions

This is the updated HDMI 2.1 version of the already supported 2.0 device (listed as "Fancy LEDs screen sync light 2.0" in DEVICES.md)
My model has 3 HDMI ports (https://fancyleds.com/en-eu/products/3-hdmi-2-1-fancy-sync-box)
There is also a single HDMI port model, but I don't have one and can't say if there are differences.

As listed in the logs, the closest match the integration finds is "lytmi_hdmisync_backlight", which I believe is "Lytmi Fantasy/Neo 3 HDMI sync backlight" in DEVICES.md

After quite a bit of tinkering, I got it to work in a quite usable way using the lytmi device and protocol 3.4.
However, there are a few issues - here are my findings:

The native app supports choosing color temperature directly if the Scene "Calm" is selected (which corresponds to "Reading" in Tuya Local).
However, in HA we only have the standard RGB selection in all cases.

This is due to two reasons:

  • dps 23 is not present (which controls the color temperature value)
  • even if we had it, Tuya Local only reports one color mode back to HA, so it will always default to the rgbhsv DPS

One hacky workaround I found was to edit the file tuya_local/devices/lytmi_hdmisync_backlight.yaml and create a second light entity that exposes only the temperature control.
This creates two light entities (one with only a RGB color wheel and another with only a Temperature selector), and each one only works if we have the correct scene selected. It's a bit clunky, but it works.
Not sure what the cleanest way would be - if Tuya Local can report both mode color modes back to HA that would give us both sliders on the UI of the same light device, which would be nicer.

entities:

- entity: light  
    name: HDMI sync backlight RGB  
    dps:
    - id: 20  
        name: switch  
        type: boolean
    - id: 22  
        name: brightness  
        type: integer  
        range:  
        min: 10  
        max: 1000
    - id: 24  
        name: rgbhsv  
        type: hex  
        format:
        - name: h  
            bytes: 2  
            range:  
            min: 0  
            max: 360
        - name: s  
            bytes: 2  
            range:  
            min: 0  
            max: 1000
        - name: w  
            bytes: 2  
            range:  
            min: 0  
            max: 1000
    - id: 107  
        type: boolean  
        name: unknown_107
- entity: light  
    name: HDMI sync backlight White  
    dps:
    - id: 20  
        name: switch  
        type: boolean
    - id: 22  
        name: brightness  
        type: integer  
        range:  
        min: 10  
        max: 1000
    - id: 23  
        name: color_temp  
        type: integer  
        range:  
        min: 10  
        max: 1000  
        mapping:
        - target_range:  
            min: 2700  
            max: 6500
    - id: 107  
        type: boolean  
        name: unknown_107  

Finally, the naming of things is different, even though there's an equivalent of almost everything. The "Scenes" are the master control of functionality, but in the app they are grouped in 3 sections/tabs: Sync, Sound & Scene

  • "Sync" modes
    • Movie = Low
    • Leisure = Medium
    • Gaming = High
    • "Degree of diffusion" = "Speed of Diffusion"
    • While one of these scenes is selected, color options on the main Light control do nothing
  • "Sound" modes
    • Classic = Standard
    • Pop = Punk
    • Rock = Rock
    • Absolute = Ultimate
    • Electror = Electro
    • Ambient = Retro
    • While one of these scenes is selected, color options on the main Light control do nothing
  • "Scene" modes, but with NO color controls
    • Rainbow = Rainbow
    • Fire = Fire
    • Firework = Fireworks
  • "Scene" modes, but WITH color controls
    • Reading = Calm
      • On the app, this enables a color temperature selector and no RGB
    • Star = Star
    • Drip = Rain
    • Practice = Atom
    • Flow = Smooth
    • Ball = Bounce
    • Swing = Kinectic
    • Breath = Breathe
    • Pure = Color
      • This last one is the only pure static color choice
  • "TV synchronization switch" = "Scene mode CEC"
  • "Saturation" (for HDR and Dolby Vision) - could not find anything related to this. In the app it offers "Low", "Medium", "High"

If there's anything else I can provide, let me know

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions