Tzumi Ionvac Smartclean 2000 Robovac and LocalTuya

I was able to get the Tzumi Ionvac Smartclean 2000 Robovac to work locally with Home Assistant using the Local Tuya integration. First I had to add the device to Tuya’s “Smart Life” application. Then I was able to configure it with Local Tuya. After retrieving the Device ID and Local Key from the Tuya IoT Platform, I was able to use the API Explorer, “Device Control,” “Get Device Specification Attribute” to identify the following dp_id values.

      {
        "code": "power",
        "dp_id": 1,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "power_go",
        "dp_id": 2,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "mode",
        "dp_id": 3,
        "type": "Enum",
        "values": "{\"range\":[\"standby\",\"random\",\"wall_follow\",\"spiral\",\"partial_bow\",\"chargego\"]}"
      },
      {
        "code": "direction_control",
        "dp_id": 4,
        "type": "Enum",
        "values": "{\"range\":[\"forward\",\"backward\",\"turn_left\",\"turn_right\",\"stop\"]}"
      },
      {
        "code": "status",
        "dp_id": 5,
        "type": "Enum",
        "values": "{\"range\":[\"standby\",\"smart_clean\",\"wall_clean\",\"spot_clean\",\"mop_clean\",\"goto_charge\",\"charging\",\"charge_done\"]}"
      },
      {
        "code": "electricity_left",
        "dp_id": 6,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "edge_brush",
        "dp_id": 7,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "roll_brush",
        "dp_id": 8,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "filter",
        "dp_id": 9,
        "type": "Integer",
        "values": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}"
      },
      {
        "code": "reset_edge_brush",
        "dp_id": 10,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "reset_roll_brush",
        "dp_id": 11,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "reset_filter",
        "dp_id": 12,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "seek",
        "dp_id": 13,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "suction",
        "dp_id": 14,
        "type": "Enum",
        "values": "{\"range\":[\"normal\",\"strong\"]}"
      },
      {
        "code": "clean_time",
        "dp_id": 17,
        "type": "Integer",
        "values": "{\"unit\":\"min\",\"min\":0,\"max\":9999,\"scale\":0,\"step\":1}"
      },
      {
        "code": "fault",
        "dp_id": 18,
        "type": "Bitmap",
        "values": "{\"label\":[\"edge_sweep\",\"middle_sweep\",\"left_wheel\",\"right_wheel\",\"garbage_box\",\"land_check\",\"collision\"]}"

From this, I was able to deduce the following configuration:


Although not every function seems to work perfectly, I now have some local control of my smart vacuum. Feel free to reply with any configuration modification recommendations.

This vacuum is actually a Tuya product. It can be added via the Smart Life application and configured like other Tuya products using the Local Tuya integration.