core: The status of the vacuum robot (lb3jihr6cvumqomi) is not updating

The problem

I can control the vacuum cleaner through integration, but the status is not visible.

image

The status of the vacuum cleaner is displayed correctly in the official Tuya IoT application and website. image

curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/status?device_ids=bfac38a13f374022fbbaho" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691234068754" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"
{
  "result": [
    {
      "id": "bfac38a13f374022fbbaho",
      "status": [
        {
          "code": "power_go",
          "value": true
        },
        {
          "code": "pause",
          "value": false
        },
        {
          "code": "switch_charge",
          "value": true
        },
        {
          "code": "mode",  //<-----
          "value": "smart"   //<-----
        },
        {
          "code": "seek",
          "value": false
        }
      ]
    }
  ],
  "success": true,
  "t": 1691234069088,
  "tid": "3eaeb55d338111ee94e0a2e0adfc0b14"
}

What version of Home Assistant Core has the issue?

core-2023.8.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Tuya

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tuya/

Diagnostics information

{ “home_assistant”: { “installation_type”: “Home Assistant OS”, “version”: “2023.8.1”, “dev”: false, “hassio”: true, “virtualenv”: false, “python_version”: “3.11.4”, “docker”: true, “arch”: “aarch64”, “timezone”: “Europe/Moscow”, “os_name”: “Linux”, “os_version”: “6.1.21-v8”, “supervisor”: “2023.07.1”, “host_os”: “Home Assistant OS 10.4”, “docker_version”: “23.0.6”, “chassis”: “embedded”, “run_as_root”: true }, “custom_components”: { “yandex_smart_home”: { “version”: “0.6.3”, “requirements”: [] }, “yandex_weather”: { “version”: “3.1.0”, “requirements”: [] }, “hacs”: { “version”: “1.32.1”, “requirements”: [ “aiogithubapi>=22.10.1” ] }, “yandex_station”: { “version”: “3.12.3”, “requirements”: [] }, “xiaomi_miot”: { “version”: “0.7.10”, “requirements”: [ “construct==2.10.56”, “python-miio>=0.5.6”, “micloud>=0.3” ] }, “ble_monitor”: { “version”: “12.3.2”, “requirements”: [ “pycryptodomex>=3.14.1”, “janus>=1.0.0”, “aioblescan>=0.2.14”, “btsocket>=0.2.0”, “pyric>=0.1.6.3” ] }, “nodered”: { “version”: “2.1.0”, “requirements”: [] } }, “integration_manifest”: { “domain”: “tuya”, “name”: “Tuya”, “codeowners”: [ “@Tuya”, “@zlinoliver”, “@frenck” ], “config_flow”: true, “dependencies”: [ “ffmpeg” ], “dhcp”: [ { “macaddress”: “105A17*” }, { “macaddress”: “10D561*” }, { “macaddress”: “1869D8*” }, { “macaddress”: “381F8D*” }, { “macaddress”: “508A06*” }, { “macaddress”: “68572D*” }, { “macaddress”: “708976*” }, { “macaddress”: “7CF666*” }, { “macaddress”: “84E342*” }, { “macaddress”: “D4A651*” }, { “macaddress”: “D81F12*” } ], “documentation”: “https://www.home-assistant.io/integrations/tuya”, “integration_type”: “hub”, “iot_class”: “cloud_push”, “loggers”: [ “tuya_iot” ], “requirements”: [ “tuya-iot-py-sdk==0.6.6” ], “is_built_in”: true }, “data”: { “endpoint”: “https://openapi.tuyaeu.com”, “auth_type”: 0, “country_code”: “49”, “app_type”: “tuyaSmart”, “mqtt_connected”: true, “disabled_by”: null, “disabled_polling”: false, “name”: “Laser Robot Vacuum Cleaner”, “model”: “50021004”, “category”: “sd”, “product_id”: “lb3jihr6cvumqomi”, “product_name”: “”, “online”: true, “sub”: false, “time_zone”: “+03:00”, “active_time”: “2023-05-12T14:45:53+00:00”, “create_time”: “2023-05-12T14:45:54+00:00”, “update_time”: “2023-08-02T20:14:33+00:00”, “function”: { “power_go”: { “type”: “Boolean”, “value”: {} }, “pause”: { “type”: “Boolean”, “value”: {} }, “switch_charge”: { “type”: “Boolean”, “value”: {} }, “mode”: { “type”: “Enum”, “value”: { “range”: [ “smart”, “chargego”, “zone”, “pose”, “part” ], “type”: “enum” } }, “seek”: { “type”: “Boolean”, “value”: {} } }, “status_range”: { “power_go”: { “type”: “Boolean”, “value”: {} }, “pause”: { “type”: “Boolean”, “value”: {} }, “switch_charge”: { “type”: “Boolean”, “value”: {} }, “mode”: { “type”: “Enum”, “value”: { “range”: [ “smart”, “chargego”, “zone”, “pose”, “part” ], “type”: “enum” } }, “seek”: { “type”: “Boolean”, “value”: {} } }, “status”: { “power_go”: true, “pause”: false, “switch_charge”: true, “mode”: “smart”, “seek”: false }, “home_assistant”: { “name”: “Laser Robot Vacuum Cleaner”, “name_by_user”: null, “disabled”: false, “disabled_by”: null, “entities”: [ { “disabled”: false, “disabled_by”: null, “entity_category”: null, “device_class”: null, “original_device_class”: null, “icon”: null, “original_icon”: null, “unit_of_measurement”: null, “state”: { “entity_id”: “vacuum.laser_robot_vacuum_cleaner”, “state”: “unknown”, “attributes”: { “friendly_name”: “Laser Robot Vacuum Cleaner”, “supported_features”: 13084 }, “last_changed”: “2023-08-05T08:44:16.714066+00:00”, “last_updated”: “2023-08-05T08:44:16.714066+00:00” } } ] } } }

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/bfac38a13f374022fbbaho/functions" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691233942112" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"
{
  "result": {
    "category": "sd",
    "functions": [
      {
        "code": "power_go",
        "desc": "power go",
        "name": "power go",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "pause",
        "desc": "pause",
        "name": "pause",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "switch_charge",
        "desc": "switch charge",
        "name": "switch charge",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "mode",
        "desc": "mode",
        "name": "mode",
        "type": "Enum",
        "values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
      },
      {
        "code": "seek",
        "desc": "seek",
        "name": "seek",
        "type": "Boolean",
        "values": "{}"
      }
    ]
  },
  "success": true,
  "t": 1691233942542,
  "tid": "f342d8ab338011ee94e0a2e0adfc0b14"
}
curl --request GET "https://openapi.tuyaeu.com/v1.0/iot-03/devices/bfac38a13f374022fbbaho/specification" --header "sign_method: HMAC-SHA256" --header "client_id: x8ne5jnaaxqbg3l983dx" --header "t: 1691233861465" --header "mode: cors" --header "Content-Type: application/json" --header "sign: HIDDEN" --header "access_token: HIDDEN"

{
  "result": {
    "category": "sd",
    "functions": [
      {
        "code": "power_go",
        "desc": "{}",
        "name": "清扫开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "pause",
        "desc": "{}",
        "name": "暂停开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "switch_charge",
        "desc": "{}",
        "name": "回充开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "mode",
        "desc": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}",
        "name": "工作模式",
        "type": "Enum",
        "values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
      },
      {
        "code": "seek",
        "desc": "{}",
        "name": "寻找机器",
        "type": "Boolean",
        "values": "{}"
      }
    ],
    "status": [
      {
        "code": "power_go",
        "name": "清扫开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "pause",
        "name": "暂停开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "switch_charge",
        "name": "回充开关",
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "mode",
        "name": "工作模式",
        "type": "Enum",
        "values": "{\"range\":[\"smart\",\"chargego\",\"zone\",\"pose\",\"part\"],\"type\":\"enum\"}"
      },
      {
        "code": "seek",
        "name": "寻找机器",
        "type": "Boolean",
        "values": "{}"
      }
    ]
  },
  "success": true,
  "t": 1691233861801,
  "tid": "c3205c3f338011ee871736843e81b476"
}

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 2
  • Comments: 18 (2 by maintainers)

Most upvoted comments

My Tuya account is also in EU, and was seeing two incorrectly spelled / enumerated values returned for my vacuum "cleanning" spelled incorrectly during a cleaning cycle, and "pause" instead of "paused" when device isn’t cleaning.

Unfortunately my PR was knocked back to being a device specific issue, even though all I did was add a few extra mapped values 😦

Not sure where I’m supposed to open a Tuya support ticket, but thats the suggestion I’ve been given in my PR.