Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request support for ROYAL FRESH Full DC EU Inverter #1652

Closed
evd1ser opened this issue Feb 13, 2024 · 1 comment
Closed

Request support for ROYAL FRESH Full DC EU Inverter #1652

evd1ser opened this issue Feb 13, 2024 · 1 comment

Comments

@evd1ser
Copy link

evd1ser commented Feb 13, 2024

Information about DPS mappings

{
  "modelId": "000003lxwx",
  "services": [
    {
      "actions": [],
      "code": "",
      "description": "",
      "events": [],
      "name": "默认服务",
      "properties": [
        {
          "abilityId": 1,
          "accessMode": "rw",
          "code": "Power",
          "description": "",
          "extensions": {
            "iconName": "icon-dp_power",
            "attribute": "1"
          },
          "name": "开关",
          "typeSpec": {
            "type": "bool",
            "typeDefaultValue": false
          }
        },
        {
          "abilityId": 2,
          "accessMode": "rw",
          "code": "temp_set",
          "description": "摄氏:16~31\n华氏:61~88",
          "extensions": {
            "iconName": "icon-dp_temp"
          },
          "name": "设置温度",
          "typeSpec": {
            "max": 880,
            "min": 160,
            "scale": 1,
            "step": 5,
            "type": "value",
            "typeDefaultValue": 160,
            "unit": "℃"
          }
        },
        {
          "abilityId": 3,
          "accessMode": "ro",
          "code": "temp_current",
          "description": "",
          "extensions": {
            "iconName": "icon-dp_sun"
          },
          "name": "当前温度",
          "typeSpec": {
            "max": 100,
            "min": -20,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": -20,
            "unit": "℃"
          }
        },
        {
          "abilityId": 4,
          "accessMode": "rw",
          "code": "mode",
          "description": "",
          "extensions": {
            "iconName": "icon-dp_mode"
          },
          "name": "工作模式",
          "typeSpec": {
            "range": [
              "cold",
              "hot",
              "wet",
              "wind",
              "auto"
            ],
            "type": "enum",
            "typeDefaultValue": "cold"
          }
        },
        {
          "abilityId": 5,
          "accessMode": "rw",
          "code": "windspeed",
          "description": "强劲/高风/中高风/中风/中低风/低风/静音/自动",
          "extensions": {
            "iconName": "icon-dp_wind"
          },
          "name": "风速",
          "typeSpec": {
            "range": [
              "strong",
              "high",
              "mid_high",
              "mid",
              "mid_low",
              "low",
              "mute",
              "auto"
            ],
            "type": "enum",
            "typeDefaultValue": "strong"
          }
        },
        {
          "abilityId": 18,
          "accessMode": "rw",
          "code": "humidity_current",
          "description": "",
          "extensions": {
            "iconName": "icon-dp_wet"
          },
          "name": "当前湿度",
          "typeSpec": {
            "max": 100,
            "min": 0,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 0,
            "unit": "%"
          }
        },
        {
          "abilityId": 20,
          "accessMode": "ro",
          "code": "Fault",
          "description": "",
          "extensions": {
            "iconName": "icon-dp_warming",
            "scope": "fault"
          },
          "name": "Fault",
          "typeSpec": {
            "label": [
              "E0",
              "E1",
              "E2",
              "E3",
              "E4",
              "E5",
              "E6",
              "E7",
              "E8",
              "E9",
              "EA",
              "Eb",
              "EC",
              "EE",
              "EF",
              "EP",
              "EU",
              "EH",
              "EJ",
              "En",
              "Ey",
              "F9",
              "FA",
              "H1",
              "H2",
              "bd"
            ],
            "maxlen": 26,
            "type": "bitmap",
            "typeDefaultValue": 0
          }
        },
        {
          "abilityId": 101,
          "accessMode": "ro",
          "code": "pm25",
          "description": "",
          "name": "PM2.5",
          "typeSpec": {
            "max": 3000,
            "min": 0,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 0,
            "unit": ""
          }
        },
        {
          "abilityId": 102,
          "accessMode": "rw",
          "code": "fresh_air",
          "description": "",
          "name": "新风",
          "typeSpec": {
            "range": [
              "auto",
              "low",
              "mid",
              "strong",
              "off"
            ],
            "type": "enum",
            "typeDefaultValue": "auto"
          }
        },
        {
          "abilityId": 103,
          "accessMode": "ro",
          "code": "freshair_filter",
          "description": "新风标识位为1时生效",
          "name": "新风脏堵",
          "typeSpec": {
            "type": "bool",
            "typeDefaultValue": false
          }
        },
        {
          "abilityId": 104,
          "accessMode": "ro",
          "code": "SN_SW_ver",
          "description": "20210816:固件上报即可,面板暂不解析。预留功能。",
          "name": "SN及软件版本",
          "typeSpec": {
            "maxlen": 128,
            "type": "raw"
          }
        },
        {
          "abilityId": 105,
          "accessMode": "rw",
          "code": "sleep",
          "description": "无、标准、老人、儿童",
          "name": "睡眠",
          "typeSpec": {
            "range": [
              "off",
              "normal",
              "old",
              "child"
            ],
            "type": "enum",
            "typeDefaultValue": "off"
          }
        },
        {
          "abilityId": 110,
          "accessMode": "ro",
          "code": "markbit",
          "description": "用以表示是否有该功能。\n0、除湿模式下温度是否可调 \n1、送风模式下温度是否可调 \n2、自动模式下温度是否可调 \n3、新风量标识 \n4、矢量送风 \n5、左右扫风 \n6、光敏 \n7、智能除湿防霉变 \n8、湿度传感器 \n9、蒸发器清洁 \n10、省钱看得见 \n11、电量统计 \n12、发电机模式 \n13、高温风/凉感风 \n14、空气质量检测功能 \n15、置为空(原:湿度功能) \n16、置为空(原:设备运行省钱看得见,温度曲线展示) \n17、8℃制热 \n18、滤网脏堵功能 \n20、PM2.5有无\n21、温标切换,1为华氏度,0为摄氏度\n22、柔风\n23、左右广角送风\n24、新风功能有无\n",
          "extensions": {
            "scope": "fault"
          },
          "name": "标识位",
          "typeSpec": {
            "label": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "10",
              "11",
              "12",
              "13",
              "14",
              "15",
              "16",
              "17",
              "18",
              "19",
              "20",
              "21",
              "22",
              "23",
              "24"
            ],
            "maxlen": 25,
            "type": "bitmap",
            "typeDefaultValue": 0
          }
        },
        {
          "abilityId": 113,
          "accessMode": "rw",
          "code": "up_down_sweep",
          "description": "无/上下送风/上送风/下送风",
          "name": "上下扫风",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 114,
          "accessMode": "rw",
          "code": "left_right_sweep",
          "description": "无/左右送风/左送风/中送风/右送风/偏左送风/偏右送风/广角送风",
          "name": "左右扫风",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 115,
          "accessMode": "ro",
          "code": "totalN",
          "description": "",
          "extensions": {
            "trigger": "direct"
          },
          "name": "电量整数",
          "typeSpec": {
            "max": 1000000,
            "min": 0,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 0,
            "unit": ""
          }
        },
        {
          "abilityId": 116,
          "accessMode": "ro",
          "code": "totalP",
          "description": "",
          "extensions": {
            "trigger": "direct"
          },
          "name": "电量小数",
          "typeSpec": {
            "max": 1000000,
            "min": 0,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 0,
            "unit": ""
          }
        },
        {
          "abilityId": 119,
          "accessMode": "rw",
          "code": "money",
          "description": "无/默认省电/定额省电/定温省电",
          "name": "省钱看的见",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 120,
          "accessMode": "rw",
          "code": "energy",
          "description": "",
          "name": "发电机模式",
          "typeSpec": {
            "range": [
              "off",
              "L1",
              "L2",
              "L3"
            ],
            "type": "enum",
            "typeDefaultValue": "off"
          }
        },
        {
          "abilityId": 122,
          "accessMode": "ro",
          "code": "fault2",
          "description": "预留",
          "extensions": {
            "scope": "fault"
          },
          "name": "故障报警2",
          "typeSpec": {
            "label": [
              "P6",
              "P7",
              "P8",
              "P9",
              "PA",
              "F0",
              "F1",
              "F2",
              "F3",
              "F4",
              "F5",
              "F6",
              "F7",
              "F8",
              "Fb",
              "FC",
              "FE",
              "FF",
              "FH",
              "FP",
              "FU",
              "Fj",
              "Fn",
              "Fy",
              "bf",
              "bc",
              "bj"
            ],
            "maxlen": 27,
            "type": "bitmap",
            "typeDefaultValue": 0
          }
        },
        {
          "abilityId": 123,
          "accessMode": "rw",
          "code": "boolCode",
          "description": "两个字节,\n第一个字节:\nbit0:eco,\nbit1:智能除湿防霉变, \nbit2:蒸发器清洁, \nbit3:灯光, \nbit4:蜂鸣,\nbit5:健康,\nbit6:空(原清洁,重复),\nbit7:光敏。\n\n第二个字节:\nbit0:干燥,\nbit1:空(原来是高温风/凉感风),\nbit2:空(原来是水平风摆),\nbit3:空(原来是垂直风摆) \nbit4: 8℃制热 \nbit5:滤网检测\nbit6:华氏加1标志位\nbit7:柔风",
          "name": "布尔型",
          "typeSpec": {
            "maxlen": 255,
            "type": "string",
            "typeDefaultValue": ""
          }
        },
        {
          "abilityId": 125,
          "accessMode": "ro",
          "code": "airquality",
          "description": "优/良/中/差/很差/非常差",
          "name": "空气质量",
          "typeSpec": {
            "range": [
              "great",
              "good",
              "middle",
              "bad",
              "verybad",
              "veryverybad"
            ],
            "type": "enum",
            "typeDefaultValue": "great"
          }
        },
        {
          "abilityId": 126,
          "accessMode": "rw",
          "code": "up_down_freeze",
          "description": "当前位置定格/上定格/偏上定格/中定格/偏下定格/下定格/",
          "name": "上下定格",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 127,
          "accessMode": "rw",
          "code": "left_right_freeze",
          "description": "当前位置定格/左定格/偏左定格/中定格/偏右定格/右定格/广角定格/左广角定格/右广角定格",
          "name": "左右定格",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "8",
              "6",
              "7"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 128,
          "accessMode": "ro",
          "code": "style",
          "description": "挂机/柜机",
          "name": "机型",
          "typeSpec": {
            "range": [
              "0",
              "1"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 129,
          "accessMode": "rw",
          "code": "kwh",
          "description": "可选1~5kwh",
          "name": "功率",
          "typeSpec": {
            "range": [
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "enum",
            "typeDefaultValue": "1"
          }
        },
        {
          "abilityId": 130,
          "accessMode": "rw",
          "code": "savemoney_temp",
          "description": "用于省钱看得见中的定温省电的温度设置",
          "name": "定温温度",
          "typeSpec": {
            "max": 31,
            "min": 26,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 26,
            "unit": "℃"
          }
        },
        {
          "abilityId": 131,
          "accessMode": "ro",
          "code": "dirty_filter",
          "description": "",
          "name": "滤网脏堵",
          "typeSpec": {
            "type": "bool",
            "typeDefaultValue": false
          }
        },
        {
          "abilityId": 132,
          "accessMode": "rw",
          "code": "hot_cold_wind",
          "description": "",
          "name": "高温风/凉感风",
          "typeSpec": {
            "type": "bool",
            "typeDefaultValue": false
          }
        },
        {
          "abilityId": 133,
          "accessMode": "rw",
          "code": "wind",
          "description": "0:水平垂直关    \n1:水平开 垂直关\n2:水平关 垂直开\n3:水平垂直开",
          "name": "水平摆风/垂直摆风",
          "typeSpec": {
            "range": [
              "0",
              "1",
              "2",
              "3"
            ],
            "type": "enum",
            "typeDefaultValue": "0"
          }
        },
        {
          "abilityId": 134,
          "accessMode": "ro",
          "code": "work_time",
          "description": "",
          "name": "运行状态时间",
          "typeSpec": {
            "maxlen": 255,
            "type": "string",
            "typeDefaultValue": ""
          }
        },
        {
          "abilityId": 135,
          "accessMode": "ro",
          "code": "run_time",
          "description": "用于运行时间累计,每2分钟上报1次。因此运行时间是2*次数",
          "name": "运行时间",
          "typeSpec": {
            "max": 65525,
            "min": 0,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 0,
            "unit": "次"
          }
        },
        {
          "abilityId": 136,
          "accessMode": "rw",
          "code": "temp_set_f",
          "description": "",
          "name": "温度设置-℉",
          "typeSpec": {
            "max": 88,
            "min": 61,
            "scale": 0,
            "step": 1,
            "type": "value",
            "typeDefaultValue": 61,
            "unit": "℉"
          }
        }
      ]
    }
  ]
}

Product ID

"product_id": "mcnywzjlugvvvnjj",

Information about how the device functions

my example yaml:

name: royal fresh airconditioner
products:
  - id: mcnywzjlugvvvnjj
    name: ROYAL FRESH Full DC EU Inverter
primary_entity:
  entity: climate
  translation_key: aircon_extra
  dps:
    - id: 1
      name: hvac_mode
      type: boolean
      mapping:
        - dps_val: false
          value: "off"
          icon: "mdi:hvac-off"
        - dps_val: true
          constraint: mode
          conditions:
            - dps_val: auto
              icon: "mdi:hvac"
              value: heat_cool
            - dps_val: cold
              icon: "mdi:snowflake"
              value: cool
            - dps_val: hot
              icon: "mdi:fire"
              value: heat
            - dps_val: wind
              icon: "mdi:fan"
              value: fan_only
            - dps_val: wet
              icon: "mdi:water"
              value: dry
    - id: 2
      name: temperature
      type: integer
      range:
        min: 160
        max: 310
      mapping:
        - scale: 10
          step: 5
          constraint: mode
          conditions:
            - dps_val: wet
              invalid: true
            - dps_val: wind
              invalid: true
    - id: 3
      name: current_temperature
      type: integer
    - id: 4
      name: mode
      type: string
      hidden: true
    - id: 5
      name: fan_mode
      type: string
      mapping:
        - dps_val: auto
          value: auto
        - dps_val: mute
          value: quiet
        - dps_val: low
          value: low
        - dps_val: mid_low
          value: medlow
        - dps_val: mid
          value: medium
        - dps_val: mid_high
          value: medhigh
        - dps_val: high
          value: high
        - dps_val: strong
          value: strong
    - id: 20
      name: fault_code
      type: bitfield
    - id: 105
      name: sleep_mode
      type: string
    - id: 110
      name: flags
      type: bitfield
    - id: 113
      name: swing_mode
      type: string
      mapping:
        - dps_val: "0"
          constraint: horizontal_swing
          conditions:
            - dps_val: "0"
              value: "off"
            - dps_val: "1"
              value: horizontal
            - value: horizontal
        - dps_val: "1"
          constraint: horizontal_swing
          conditions:
            - dps_val: "0"
              value: vertical
            - dps_val: "1"
              value: both
            - value: both
        - dps_val: "2"
          constraint: horizontal_swing
          conditions:
            - dps_val: "0"
              value: vertical
            - value: both
        - dps_val: "3"
          constraint: horizontal_swing
          conditions:
            - dps_val: "0"
              value: vertical
            - value: both
    - id: 114
      name: horizontal_swing
      type: string
      hidden: true
    - id: 119
      name: electricity_management
      type: string
    - id: 120
      name: gen_mode
      type: string
    - id: 123
      name: flags_2
      type: hex
    - id: 126
      name: vertical_flow_position
      type: string
    - id: 127
      name: horizontal_flow_position
      type: string
    - id: 128
      name: model_code
      type: string
    - id: 129
      name: energy
      type: string
    - id: 130
      name: eco_temp
      type: integer
    - id: 132
      name: hot_cool
      type: boolean
    - id: 133
      name: swing_action
      type: string
    - id: 134
      name: statistics
      type: json
secondary_entities:
  - entity: sensor
    category: diagnostic
    class: humidity
    dps:
      - id: 18
        name: sensor
        type: integer
        unit: "%"
        class: measurement
  - entity: sensor
    class: pm25
    dps:
      - id: 101
        name: sensor
        class: measurement
        type: integer
        unit: ugm3
  - entity: sensor
    name: Air Quality
    class: enum
    icon: "mdi:factory"
    dps:
      - id: 125
        type: string
        name: sensor
        mapping:
          - dps_val: "great"
            value: "Great"
          - dps_val: "good"
            value: "Good"
          - dps_val: "middle"
            value: "Middle"
          - dps_val: "bad"
            value: "Bad"
          - dps_val: "verybad"
            value: "Very bad"
          - dps_val: "veryverybad"
            value: "Very very bad"
  - entity: select
    name: Fresh air
    category: config
    icon: "mdi:air-filter"
    dps:
      - id: 102
        type: string
        name: option
        mapping:
          - dps_val: "auto"
            value: "auto"
          - dps_val: "low"
            value: "low"
          - dps_val: "mid"
            value: "mid"
          - dps_val: "strong"
            value: "strong"
          - dps_val: "off"
            value: "off"
  - entity: binary_sensor
    name: Freshair filter
    class: problem
    category: diagnostic
    icon: "mdi:air-filter"
    dps:
      - id: 103
        type: boolean
        name: sensor
  - entity: select
    name: Vertical swing
    category: config
    icon: "mdi:arrow-up-down-bold"
    dps:
      - id: 113
        type: string
        name: option
        mapping:
          - dps_val: "0"
            value: "Off"
          - dps_val: "1"
            value: Full
          - dps_val: "2"
            value: Upper
          - dps_val: "3"
            value: Lower
  - entity: select
    name: Vertical position
    category: config
    icon: "mdi:unfold-more-horizontal"
    dps:
      - id: 126
        type: string
        name: option
        mapping:
          - dps_val: "0"
            value: Unknown
          - dps_val: "1"
            value: Top
          - dps_val: "2"
            value: Slightly Up
          - dps_val: "3"
            value: Middle
          - dps_val: "4"
            value: Slightly Down
          - dps_val: "5"
            value: Bottom
  - entity: select
    name: Horizontal swing
    category: config
    icon: "mdi:arrow-left-right-bold"
    dps:
      - id: 114
        type: string
        name: option
        mapping:
          - dps_val: "0"
            value: "Off"
          - dps_val: "1"
            value: Full
          - dps_val: "2"
            value: Left
          - dps_val: "3"
            value: Center
          - dps_val: "4"
            value: Right
          - dps_val: "5"
            value: "right air supply"
          - dps_val: "6"
            value: "wide angle air supply"
          - dps_val: "7"
  - entity: select
    name: Horizontal freeze position
    category: config
    icon: "mdi:unfold-more-vertical"
    dps:
      - id: 127
        type: string
        name: option
        mapping:
          - dps_val: "0"
            value: Unknown
          - dps_val: "1"
            value: Left Fix
          - dps_val: "2"
            value: A Bit left Fix
          - dps_val: "3"
            value: Middle Fix
          - dps_val: "4"
            value: A bit Right Fix
          - dps_val: "5"
            value: Right Fix
  - entity: select
    name: Sleep mode
    category: config
    icon: "mdi:weather-night"
    dps:
      - id: 105
        type: string
        name: option
        mapping:
          - dps_val: "off"
            value: "Off"
          - dps_val: "normal"
            value: Standard
          - dps_val: "old"
            value: "Elderly"
          - dps_val: "child"
            value: "Child"
  - entity: select
    name: Electricity Management
    category: config
    icon: "mdi:lightning-bolt-outline"
    dps:
      - id: 119
        type: string
        name: option
        mapping:
          - dps_val: "0"
            value: "None"
          - dps_val: "1"
            value: Default power saving
          - dps_val: "2"
            value: "Quota power saving"
          - dps_val: "3"
            value: "Fixed temperature power saving"
  - entity: switch
    name: Display
    category: config
    icon: "mdi:lightbulb-on-outline"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "0008"
  - entity: switch
    name: Soft wind
    category: config
    icon: "mdi:weather-windy"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "8000"
  - entity: switch
    name: Anti-mildew
    category: config
    icon: "mdi:water-off-outline"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "0100"
  - entity: switch
    name: Health
    category: config
    icon: "mdi:heart-outline"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "0020"
  - entity: switch
    name: Anti-freeze
    category: config
    icon: "mdi:radiator"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "1000"
  - entity: switch
    name: Eco mode
    category: config
    icon: "mdi:leaf"
    dps:
      - id: 123
        type: hex
        name: switch
        mapping:
          - scale: 1
            mask: "0001"
  - entity: binary_sensor
    name: Fault
    class: problem
    category: diagnostic
    dps:
      - id: 20
        type: bitfield
        name: sensor
        mapping:
          - dps_val: 0
            value: false
          - value: true
  - entity: binary_sensor
    name: Dirty filter
    class: problem
    category: diagnostic
    dps:
      - id: 131
        type: boolean
        name: sensor

  - entity: sensor
    name: energy
    class: energy
    category: diagnostic
    dps:
      - id: 129
        type: integer
        name: sensor
        unit: kWh

@evd1ser evd1ser added the new device Unsupported device label Feb 13, 2024
@make-all make-all added the config provided Config included by reporter label Feb 13, 2024
@make-all make-all added awaiting confirmation Wating for confirmation the issue is solved unreleased Will be in next release and removed config provided Config included by reporter labels Mar 31, 2024
@make-all
Copy link
Owner

Seems like a duplicate of PR #1703

@make-all make-all removed new device Unsupported device awaiting confirmation Wating for confirmation the issue is solved unreleased Will be in next release labels Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants