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 ETNA VW644MC #2603

Open
stevanov opened this issue Dec 3, 2024 · 2 comments
Open

Request support for ETNA VW644MC #2603

stevanov opened this issue Dec 3, 2024 · 2 comments
Labels
full_info All info needed was provided new device Unsupported device

Comments

@stevanov
Copy link

stevanov commented Dec 3, 2024

Log message

This error originated from a custom integration.

Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:376
integration: Tuya Local (documentation, issues)
First occurred: 11:02:22 (1 occurrences)
Last logged: 11:02:22

Adding VW644MC device with product id hmwl5vpd1zanu6ma

----

Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:393
integration: Tuya Local ([documentation](https://github.com/make-all/tuya-local), [issues](https://github.com/make-all/tuya-local/issues))
First occurred: 10:06:47 (5 occurrences)
Last logged: 10:21:10

    Device matches ble_adaprox_fingerbot with quality of 13%. DPS: {"updated_at": 1733303198.0798934, "1": false, "2": false, "6": 0, "7": "eco", "8": 210, "12": 0, "16": "unwash", "17": 17, "102": false, "103": true, "104": false, "105": false, "107": false, "110": false, "111": "3"}

Product ID

hmwl5vpd1zanu6ma

Product Name

ETNA VW644MC

"Dutch" Dishwasher brand, comes with "etna connect" android app which is Tuya under the Hood. Was able to link the device to Tuya android app and Tuya Developer portal. Would like to help out others so it could be auto detected.

DPS information


==== Query Properties Result  ====
{
  "result": {
    "properties": [
      {
        "code": "switch",
        "custom_name": "",
        "dp_id": 1,
        "time": 1733244407283,
        "type": "bool",
        "value": false
      },
      {
        "code": "start",
        "custom_name": "",
        "dp_id": 2,
        "time": 1733244407283,
        "type": "bool",
        "value": false
      },
      {
        "code": "appointment_time",
        "custom_name": "",
        "dp_id": 6,
        "time": 1733213302170,
        "type": "value",
        "value": 0
      },
      {
        "code": "work_mode",
        "custom_name": "",
        "dp_id": 7,
        "time": 1733244379124,
        "type": "enum",
        "value": "eco"
      },
      {
        "code": "remain_time",
        "custom_name": "",
        "dp_id": 8,
        "time": 1733244379124,
        "type": "value",
        "value": 210
      },
      {
        "code": "fault",
        "custom_name": "",
        "dp_id": 12,
        "time": 1733213287257,
        "type": "bitmap",
        "value": 0
      },
      {
        "code": "clean_state",
        "custom_name": "",
        "dp_id": 16,
        "time": 1733244407283,
        "type": "enum",
        "value": "unwash"
      },
      {
        "code": "temp_current",
        "custom_name": "",
        "dp_id": 17,
        "time": 1733303537183,
        "type": "value",
        "value": 17
      },
      {
        "code": "child_lock",
        "custom_name": "",
        "dp_id": 101,
        "time": 1724499932596,
        "type": "bool",
        "value": false
      },
      {
        "code": "appointment",
        "custom_name": "",
        "dp_id": 102,
        "time": 1733213287257,
        "type": "bool",
        "value": false
      },
      {
        "code": "door",
        "custom_name": "",
        "dp_id": 103,
        "time": 1733291322725,
        "type": "bool",
        "value": true
      },
      {
        "code": "rinse_light",
        "custom_name": "",
        "dp_id": 104,
        "time": 1733213287257,
        "type": "bool",
        "value": false
      },
      {
        "code": "salt_light",
        "custom_name": "",
        "dp_id": 105,
        "time": 1733213287257,
        "type": "bool",
        "value": false
      },
      {
        "code": "pause",
        "custom_name": "",
        "dp_id": 107,
        "time": 1733244407283,
        "type": "bool",
        "value": false
      },
      {
        "code": "auto_open",
        "custom_name": "",
        "dp_id": 110,
        "time": 1733213287257,
        "type": "bool",
        "value": false
      },
      {
        "code": "water_setting",
        "custom_name": "",
        "dp_id": 111,
        "time": 1733213287257,
        "type": "enum",
        "value": "3"
      }
    ]
  },
  "success": true,
  "t": 1733303548735,
  "tid": "e289fd86b21f11ef88331e347d61b0b9"
}

==== Query Things Data Model Result ====

{
  "result": {
    "model": {
      "modelId": "0000024f0f",
      "services": [
        {
          "actions": [],
          "code": "",
          "description": "",
          "events": [],
          "name": "默认服务",
          "properties": [
            {
              "abilityId": 1,
              "accessMode": "rw",
              "code": "switch",
              "description": "",
              "name": "开关",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 2,
              "accessMode": "rw",
              "code": "start",
              "description": "启动:启动当前洗涤程序-0x03\\n退出:退出当前洗涤程序-0x01",
              "name": "启动",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 6,
              "accessMode": "rw",
              "code": "appointment_time",
              "description": "【非必选】可选预约功能",
              "name": "预约时间",
              "typeSpec": {
                "type": "value",
                "max": 1440,
                "min": 0,
                "scale": 0,
                "step": 1,
                "unit": "min"
              }
            },
            {
              "abilityId": 7,
              "accessMode": "rw",
              "code": "work_mode",
              "description": "洗涤程序选择\\nneutral:空档",
              "name": "工作模式",
              "typeSpec": {
                "type": "enum",
                "range": [
                  "neutral",
                  "eco",
                  "90min",
                  "glass",
                  "rapid",
                  "auto",
                  "intensive",
                  "hygiene",
                  "universal",
                  "soak",
                  "self_cleanling",
                  "party"
                ]
              }
            },
            {
              "abilityId": 8,
              "accessMode": "ro",
              "code": "remain_time",
              "description": "",
              "name": "剩余时间",
              "typeSpec": {
                "type": "value",
                "max": 1440,
                "min": 0,
                "scale": 0,
                "step": 1,
                "unit": "分钟"
              }
            },
            {
              "abilityId": 12,
              "accessMode": "ro",
              "code": "fault",
              "description": "0x01(进水故障)\\n0x02(排水故障)\\n0x03(加热故障)\\n0x04(溢流故障)\\n0x05(通信故障)\\n0x06(温度传感器故障)\\n0x07(压力开关报警)\\n0x08(分水阀定位故障,本机型不涉及)\\n0x0c(BLDC故障)\\n0x0e(盖板电机故障)",
              "extensions": {
                "scope": "fault"
              },
              "name": "故障告警",
              "typeSpec": {
                "type": "bitmap",
                "label": [
                  "01",
                  "02",
                  "03",
                  "04",
                  "05",
                  "06",
                  "07",
                  "08",
                  "0c",
                  "0e"
                ],
                "maxlen": 10
              }
            },
            {
              "abilityId": 16,
              "accessMode": "ro",
              "code": "clean_state",
              "description": "unwash:未洗涤\\npre_wash:预洗\\nwash:主洗\\nrinse:漂洗\\ndrying:干燥\\nend:结束\\nstandby:待机",
              "name": "洗涤状态",
              "typeSpec": {
                "type": "enum",
                "range": [
                  "unwash",
                  "pre_wash",
                  "wash",
                  "rinse",
                  "drying",
                  "end",
                  "standby"
                ]
              }
            },
            {
              "abilityId": 17,
              "accessMode": "ro",
              "code": "temp_current",
              "description": "",
              "name": "当前温度",
              "typeSpec": {
                "type": "value",
                "max": 255,
                "min": 0,
                "scale": 0,
                "step": 1,
                "unit": "℃"
              }
            },
            {
              "abilityId": 101,
              "accessMode": "rw",
              "code": "child_lock",
              "description": "",
              "name": "童锁",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 102,
              "accessMode": "rw",
              "code": "appointment",
              "description": "",
              "name": "预约",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 103,
              "accessMode": "ro",
              "code": "door",
              "description": "",
              "name": "门开关",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 104,
              "accessMode": "ro",
              "code": "rinse_light",
              "description": "不缺/缺亮碟剂",
              "name": "亮碟剂",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 105,
              "accessMode": "ro",
              "code": "salt_light",
              "description": "不缺/缺盐",
              "name": "盐灯",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 107,
              "accessMode": "rw",
              "code": "pause",
              "description": "暂停:运行中的程序暂停;value=true\\n继续:运行中的程序暂停状态到暂停; value=false",
              "name": "暂停/继续",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 110,
              "accessMode": "rw",
              "code": "auto_open",
              "description": "",
              "name": "自动开关",
              "typeSpec": {
                "type": "bool"
              }
            },
            {
              "abilityId": 111,
              "accessMode": "rw",
              "code": "water_setting",
              "description": "",
              "name": "软水器档位",
              "typeSpec": {
                "type": "enum",
                "range": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5",
                  "6"
                ]
              }
            }
          ]
        }
      ]
    }
  },
  "success": true,
  "t": 1733240822673,
  "tid": "d6e99858b18d11ef828e8aa4893defa6"
}

Information about how the device functions

When i try to add the device (which i can fully control in the tuya app) and log in i get no sensors or switches at all in homeassitant. It's just an empty page. I did try following a guide on how to add it myself but could use some guidance.

What i'm able to gather that should be there from the Tuya app;

  • ON/OFF ; turn device on or off (no other functions work untill ON)
  • Start/Stop/Pause wash cycle
  • Step in wash cycle; Unwashed/Prewash/Wash/Rinse/Drying/End
  • Called 'Preset' in Tuya app but i means 'delay start' ; an amount of hrs and minutes from NOW when the machine should start
  • Program, which kind of program you want; Auto/Intensive/Universal/Eco/Glass/90min/Rapid
  • Auto Open, will pop the dishwasher door open automatically for drying, can be enabled/disabled. If disabled drying will take longer
  • Water hardness setting, setting for water hardness, user has to set this, determines how much minerals is in your local tap water. Based on this the machine will use more or less salt
  • RO Light for salt; will turn on if salt low
  • RO Light for rinse aid; will turn on if rinse aid is low
  • RO Door sensor; determine if door is open or closed

I will gladly try some of this myself, i see https://github.com/make-all/tuya-local/blob/main/custom_components/tuya_local/devices/klarstein_amazonia_dishwasher.yaml might be very similar, but i'm a bit unsure how to properly add it so that other users can benefit.

Help will be greatly appreciated

@stevanov stevanov added the new device Unsupported device label Dec 3, 2024
@make-all
Copy link
Owner

make-all commented Dec 3, 2024

Your logs are missing local dps listing

@make-all make-all added full_info All info needed was provided awaiting feedback Needs more information and removed full_info All info needed was provided labels Dec 3, 2024
@make-all make-all moved this to 🏗 Stalled in Tuya Local Dec 3, 2024
@stevanov
Copy link
Author

stevanov commented Dec 4, 2024

@make-all sorry about that, when i try to add the device i have get to choose between simple switch/fingerbot/humidifyer. None match so i'm unsure how to proceed.

For now i have added to the original post;

  1. DPS output when i choose fingerbot as device type
  2. 'Query Properties' output
  3. 'Query Things Data Model' output

Even if i select 'fish feeder' or 'dual switch' i still get the following log

 Device matches ble_adaprox_fingerbot with quality of 13%. DPS: {"updated_at": 1733304493.126195, "1": false, "2": false, "6": 0, "7": "eco", "8": 210, "12": 0, "16": "unwash", "17": 17, "102": false, "103": true, "104": false, "105": false, "107": false, "110": false, "111": "3"} 

Also; here is some info from the device on local debugging when i tried to add it as fish feeder. I could not select "none" or anything. I had to choose something

2024-12-04 12:58:03.893 DEBUG (MainThread) [custom_components.tuya_local.device] Fish feeder received {"1": true, "2": true, "6": 0, "7": "eco", "8": 123, "12": 0, "16": "wash", "17": 41, "102": false, "103": true, "104": false, "105": false, "107": true, "110": false, "111": "3", "full_poll": true}
2024-12-04 12:58:03.895 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for range of value
2024-12-04 12:58:03.896 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for range of value
2024-12-04 12:58:03.896 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for step of value
2024-12-04 12:58:03.896 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Step for value is 60 with scale 60
2024-12-04 12:58:03.896 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Fish feeder: Mapped dps 6 value from 0 to 0.0
2024-12-04 12:58:03.897 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Fish feeder: Mapped dps 6 value from 0 to 0.0
2024-12-04 12:58:32.564 DEBUG (MainThread) [custom_components.tuya_local.device] Fish feeder received {"8": 122, "full_poll": false}
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for range of value
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for range of value
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Considering mapping for step of value
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Step for value is 60 with scale 60
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Fish feeder: Mapped dps 6 value from 0 to 0.0
2024-12-04 12:58:32.565 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Fish feeder: Mapped dps 6 value from 0 to 0.0
2024-12-04 12:59:04.030 DEBUG (MainThread) [custom_components.tuya_local.device] Fish feeder received {"1": true, "2": true, "6": 0, "7": "eco", "8": 122, "12": 0, "16": "wash", "17": 41, "102": false, "103": true, "104": false, "105": false, "107": true, "110": false, "111": "3", "full_poll": true}

@make-all make-all added full_info All info needed was provided and removed awaiting feedback Needs more information labels Dec 4, 2024
@make-all make-all moved this from 🏗 Stalled to 🔖 Ready in Tuya Local Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
full_info All info needed was provided new device Unsupported device
Projects
Status: 🔖 Ready
Development

No branches or pull requests

2 participants