rospogrigio / localtuya

local handling for Tuya devices
GNU General Public License v3.0
2.71k stars 530 forks source link

Missing dp:s in dropdown lists during device setup #943

Open APayerl opened 1 year ago

APayerl commented 1 year ago

The problem

I am trying to add my tuya vacuum to localtuya but not all dp:s show up in dropdowns. The locate option I guess is the function to ask the vacuum to say "I'm here!" (at least mine does) but that action can be invoked when I'm calling dp 13 like so:

service: localtuya.set_dp
data:
  device_id: b*************5
  dp: 13
  value: "true"

but I'm not able to select dp 13 when configuring my device. I only have dp values 100 and above.

Environment

Steps to reproduce

  1. Install HACS
  2. Install localtuya
  3. Add cloud info
  4. (try to) Add device

Configuration configuration.yaml or config_flow

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.7.0",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.5",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Belgrade",
    "os_name": "Linux",
    "os_version": "5.15.32-v8",
    "supervisor": "2022.07.0",
    "host_os": "Home Assistant OS 8.2",
    "docker_version": "20.10.14",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.25.5",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "localtuya": {
      "version": "4.0.1",
      "requirements": []
    },
  },
  "integration_manifest": {
    "domain": "localtuya",
    "name": "LocalTuya integration",
    "version": "4.0.1",
    "documentation": "https://github.com/rospogrigio/localtuya/",
    "dependencies": [],
    "codeowners": [
      "@rospogrigio",
      "@postlund"
    ],
    "issue_tracker": "https://github.com/rospogrigio/localtuya/issues",
    "requirements": [],
    "config_flow": true,
    "iot_class": "local_push",
    "is_built_in": false
  },
  "data": {
    "device_config": {
      "friendly_name": "Cleverio T-800",
      "host": "192.168.x.x",
      "local_key": "....",
      "protocol_version": "3.3",
      "entities": [
        {
          "friendly_name": "Van Damme",
          "idle_status_value": "idle,fault",
          "powergo_dp": 101,
          "docked_status_value": "chargring,fullcharge",
          "returning_status_value": "tocharge",
          "battery_dp": 106,
          "mode_dp": 105,
          "modes": "totaling,curpointing,areaing,pointing,remotectl",
          "return_mode": "tocharge",
          "fan_speed_dp": 109,
          "fan_speeds": "quiet,auto,strong",
          "clean_time_dp": 107,
          "clean_area_dp": 108,
          "clean_record_dp": 118,
          "locate_dp": 137,
          "fault_dp": 122,
          "paused_state": "pause",
          "stop_status": "idle",
          "id": 105,
          "platform": "vacuum"
        }
      ],
      "model": "Cleverio T-800",
      "device_id": "....",
      "dps_strings": [
        "101 (value: False)",
        "102 (value: False)",
        "103 (value: True)",
        "104 (value: backcharge)",
        "105 (value: fullcharge)",
        "106 (value: 100)",
        "107 (value: 45)",
        "108 (value: 1)",
        "109 (value: quiet)",
        "110 (value: mid)",
        "113 (value: False)",
        "114 (value: 0)",
        "116 (value: 254091)",
        "117 (value: 3308)",
        "118 (value: 246)",
        "119 (value: 254091)",
        "120 (value: 254091)",
        "121 (value: 254091)",
        "122 (value: 0)",
        "137 (value: True)"
      ],
      "product_key": "...."
    },
    "device_cloud_info": {
      "active_time": 1652257899,
      "biz_type": 18,
      "category": "sd",
      "create_time": 1633539167,
      "icon": "smart/icon/ay1541396207188PFb5m/d72e689ca46e297d5c8da40174acb17d.png",
      "id": "....",
      "ip": "....",
      "lat": "....",
      "local_key": "....",
      "lon": "...",
      "model": "51951/J300",
      "name": "Cleverio T-800",
      "online": true,
      "owner_id": "....",
      "product_id": "......",
      "product_name": "Cleverio T-800",
      "status": [
        {
          "code": "power",
          "value": false
        },
        {
          "code": "power_go",
          "value": false
        },
        {
          "code": "mode",
          "value": "standby"
        },
        {
          "code": "seek",
          "value": false
        },
        {
          "code": "total_clean_time",
          "value": 255491
        },
        {
          "code": "total_clean_area",
          "value": 3326
        },
        {
          "code": "clean_count",
          "value": 259
        },
        {
          "code": "device_info",
          "value": "....."
        }
      ],
      "sub": false,
      "time_zone": "+02:00",
      "uid": ".......",
      "update_time": 1652257918,
      "uuid": "........"
    }
  }
}

DP dump

A dp dump (of a sort) already exists higher up in the thread in yaml key dps_strings

sibowler commented 1 year ago

See PR #956

Zagur commented 1 year ago

I have the same problem. The dp 15 is the "clear record" but it is not shown in the dropdown list. How can I solve it?

sibowler commented 1 year ago

I have the same problem. The dp 15 is the "clear record" but it is not shown in the dropdown list. How can I solve it?

Two things to try:

  1. Enter in DPS 15 into the DPIDs to send in RESET command device config entry and see if it now appears.
  2. Enter in DPS 15 into the Manual DPIDs to add device config entry. This will make it appear, but whether it works (gets updates, allows it to be used) will depend on how the device responds.
  3. Try Step 1 again with the changes in PR #1273 and see if that works.
MarcBresson commented 7 months ago

Hello, I have one DP id that is missing (the other 10 are fine tho), and I tried the two steps (i'm on the last version of localtuya and home-assistant). Now, the field value for DPIDs to reset and manual DPIDs to add is stuck with the value. When I try removing the value and validate, it stays there.

I checked on tuya iot platform and all the DPIDs are there, including the one missing in localtuya. Should I open a new issue with my logs?

Note that that is for electrical plug with energy monitoring. I have 3 of different manufacturer and they are all missing the same DPID (17) which corresponds to add_ele, an incremental counter of the energy consumed.

toogooda commented 1 week ago

The problem

I am trying to add my tuya vacuum to localtuya but not all dp:s show up in dropdowns. The locate option I guess is the function to ask the vacuum to say "I'm here!" (at least mine does) but that action can be invoked when I'm calling dp 13 like so:

service: localtuya.set_dp
data:
  device_id: b*************5
  dp: 13
  value: "true"

but I'm not able to select dp 13 when configuring my device. I only have dp values 100 and above.

Environment

  • Localtuya version: 4.0.1 (downloaded with hacs)
  • Last working localtuya version (if known and relevant): never seen dp 13
  • Home Assistant Core version: 2022.7.0
  • [] Are you using the Home Assistant Tuya Cloud component ?
  • [] Are you using the Tuya App in parallel ? (I've tried both with the app closed and open, no change)

Steps to reproduce

  1. Install HACS
  2. Install localtuya
  3. Add cloud info
  4. (try to) Add device

Configuration configuration.yaml or config_flow

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.7.0",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.5",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Belgrade",
    "os_name": "Linux",
    "os_version": "5.15.32-v8",
    "supervisor": "2022.07.0",
    "host_os": "Home Assistant OS 8.2",
    "docker_version": "20.10.14",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.25.5",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "localtuya": {
      "version": "4.0.1",
      "requirements": []
    },
  },
  "integration_manifest": {
    "domain": "localtuya",
    "name": "LocalTuya integration",
    "version": "4.0.1",
    "documentation": "https://github.com/rospogrigio/localtuya/",
    "dependencies": [],
    "codeowners": [
      "@rospogrigio",
      "@postlund"
    ],
    "issue_tracker": "https://github.com/rospogrigio/localtuya/issues",
    "requirements": [],
    "config_flow": true,
    "iot_class": "local_push",
    "is_built_in": false
  },
  "data": {
    "device_config": {
      "friendly_name": "Cleverio T-800",
      "host": "192.168.x.x",
      "local_key": "....",
      "protocol_version": "3.3",
      "entities": [
        {
          "friendly_name": "Van Damme",
          "idle_status_value": "idle,fault",
          "powergo_dp": 101,
          "docked_status_value": "chargring,fullcharge",
          "returning_status_value": "tocharge",
          "battery_dp": 106,
          "mode_dp": 105,
          "modes": "totaling,curpointing,areaing,pointing,remotectl",
          "return_mode": "tocharge",
          "fan_speed_dp": 109,
          "fan_speeds": "quiet,auto,strong",
          "clean_time_dp": 107,
          "clean_area_dp": 108,
          "clean_record_dp": 118,
          "locate_dp": 137,
          "fault_dp": 122,
          "paused_state": "pause",
          "stop_status": "idle",
          "id": 105,
          "platform": "vacuum"
        }
      ],
      "model": "Cleverio T-800",
      "device_id": "....",
      "dps_strings": [
        "101 (value: False)",
        "102 (value: False)",
        "103 (value: True)",
        "104 (value: backcharge)",
        "105 (value: fullcharge)",
        "106 (value: 100)",
        "107 (value: 45)",
        "108 (value: 1)",
        "109 (value: quiet)",
        "110 (value: mid)",
        "113 (value: False)",
        "114 (value: 0)",
        "116 (value: 254091)",
        "117 (value: 3308)",
        "118 (value: 246)",
        "119 (value: 254091)",
        "120 (value: 254091)",
        "121 (value: 254091)",
        "122 (value: 0)",
        "137 (value: True)"
      ],
      "product_key": "...."
    },
    "device_cloud_info": {
      "active_time": 1652257899,
      "biz_type": 18,
      "category": "sd",
      "create_time": 1633539167,
      "icon": "smart/icon/ay1541396207188PFb5m/d72e689ca46e297d5c8da40174acb17d.png",
      "id": "....",
      "ip": "....",
      "lat": "....",
      "local_key": "....",
      "lon": "...",
      "model": "51951/J300",
      "name": "Cleverio T-800",
      "online": true,
      "owner_id": "....",
      "product_id": "......",
      "product_name": "Cleverio T-800",
      "status": [
        {
          "code": "power",
          "value": false
        },
        {
          "code": "power_go",
          "value": false
        },
        {
          "code": "mode",
          "value": "standby"
        },
        {
          "code": "seek",
          "value": false
        },
        {
          "code": "total_clean_time",
          "value": 255491
        },
        {
          "code": "total_clean_area",
          "value": 3326
        },
        {
          "code": "clean_count",
          "value": 259
        },
        {
          "code": "device_info",
          "value": "....."
        }
      ],
      "sub": false,
      "time_zone": "+02:00",
      "uid": ".......",
      "update_time": 1652257918,
      "uuid": "........"
    }
  }
}

DP dump

A dp dump (of a sort) already exists higher up in the thread in yaml key dps_strings

Same issue also DP13 for vacuum first one showing is 101. Did you every solve this the three steps above did nothing...