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

Adding L60 SES support (UNTESTED) #66

Merged
merged 2 commits into from
Mar 22, 2024

Conversation

jbleyaert
Copy link

@jbleyaert jbleyaert commented Mar 17, 2024

I tried adding as much as I could understand, some of it is probably incorrect. It'd be helpful if you could provide a json response of an already implemented vacuum. It seems like the L60 uses a lot of different codes.

Schema response for L60:
[
  {
      "attr": 0,
      "canTrigger": true,
      "code": "proto",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 150,
      "mode": "rw",
      "name": "协议",
      "property": {
          "type": "string",
          "maxlen": 255
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "power",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 151,
      "mode": "rw",
      "name": "电源开关",
      "property": {
          "type": "bool"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "mode_ctrl",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 152,
      "mode": "rw",
      "name": "模式控制",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "work_status",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 153,
      "mode": "rw",
      "name": "工作状态",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "clean_params",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 154,
      "mode": "rw",
      "name": "清洁参数",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "remote_ctrl",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 155,
      "mode": "rw",
      "name": "遥控方向",
      "property": {
          "range": [
              "Brake",
              "Forward",
              "Back",
              "Left",
              "Right"
          ],
          "type": "enum"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "pause_job",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 156,
      "mode": "rw",
      "name": "断点续扫",
      "property": {
          "type": "bool"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "dnd",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 157,
      "mode": "rw",
      "name": "勿扰",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "suction_level",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 158,
      "mode": "rw",
      "name": "吸力档位",
      "property": {
          "range": [
              "Quiet",
              "Standard",
              "Turbo",
              "Max"
          ],
          "type": "enum"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "boost_iq",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 159,
      "mode": "rw",
      "name": "BoostIQ",
      "property": {
          "type": "bool"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "calling_robot",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 160,
      "mode": "rw",
      "name": "寻找机器人",
      "property": {
          "type": "bool"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "volume",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 161,
      "mode": "rw",
      "name": "音量",
      "property": {
          "unit": "",
          "min": 0,
          "max": 100,
          "scale": 0,
          "step": 1,
          "type": "value"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "user_language",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 162,
      "mode": "rw",
      "name": "语言管理",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "bat_level",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 163,
      "mode": "ro",
      "name": "电池电量",
      "property": {
          "unit": "",
          "min": 0,
          "max": 100,
          "scale": 0,
          "step": 1,
          "type": "value"
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "timing",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 164,
      "mode": "rw",
      "name": "定时",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "reserved2",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 165,
      "mode": "rw",
      "name": "预留2",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "log_debug",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 166,
      "mode": "rw",
      "name": "调试设置",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "clean_statistics",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 167,
      "mode": "rw",
      "name": "清洁统计",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "consumables",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 168,
      "mode": "rw",
      "name": "耗材",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "app_dev_info",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 169,
      "mode": "rw",
      "name": "App和设备",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "map_edit",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 170,
      "mode": "rw",
      "name": "地图编辑",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "multi_maps_ctrl",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 171,
      "mode": "rw",
      "name": "多地图控制",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "multi_maps_mng",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 172,
      "mode": "rw",
      "name": "多地图管理",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "station",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 173,
      "mode": "rw",
      "name": "基站",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "media_manager",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 174,
      "mode": "rw",
      "name": "媒体管理",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "reserved3",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 175,
      "mode": "rw",
      "name": "预留3",
      "property": {
          "type": "string",
          "maxlen": 255
      },
      "type": "obj"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "unisetting",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 176,
      "mode": "rw",
      "name": "公共设置",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "error_warning",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 177,
      "mode": "rw",
      "name": "故障提醒",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "toast",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 178,
      "mode": "rw",
      "name": "提示",
      "type": "raw"
  },
  {
      "attr": 0,
      "canTrigger": true,
      "code": "analysis",
      "defaultRecommend": false,
      "editPermission": false,
      "executable": true,
      "extContent": "",
      "id": 179,
      "mode": "rw",
      "name": "数据分析",
      "type": "raw"
  }
]

@CodeFoodPixels
Copy link
Owner

This is the output from the 15C max (T2128), which is the only one I can say is working at the moment:

[
  {
    "attr": 0,
    "canTrigger": true,
    "code": "power",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "iconname": "icon-dp_power2",
    "id": 1,
    "mode": "rw",
    "name": "电源开关",
    "property": {
      "type": "bool"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "power_go",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "iconname": "icon-dp_power",
    "id": 2,
    "mode": "rw",
    "name": "清扫开关",
    "property": {
      "type": "bool"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "direction",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "iconname": "icon-dp_mode",
    "id": 3,
    "mode": "rw",
    "name": "清扫方向",
    "property": {
      "range": [
        "forward",
        "back",
        "left",
        "right"
      ],
      "type": "enum"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "mode",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "iconname": "icon-dp_dust",
    "id": 5,
    "mode": "rw",
    "name": "清扫模式",
    "property": {
      "range": [
        "auto",
        "SmallRoom",
        "Spot",
        "Edge",
        "Nosweep"
      ],
      "type": "enum"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "status",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "iconname": "icon-dp_direction",
    "id": 15,
    "mode": "ro",
    "name": "工作状态",
    "property": {
      "range": [
        "Running",
        "standby",
        "Sleeping",
        "Charging",
        "completed",
        "Recharge"
      ],
      "type": "enum"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "FMR",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "id": 101,
    "mode": "rw",
    "name": "自动回充",
    "property": {
      "type": "bool"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "Cleaning_intensity",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "id": 102,
    "mode": "rw",
    "name": "清扫强度",
    "property": {
      "range": [
        "Standard",
        "Boost_IQ",
        "Max",
        "No_suction"
      ],
      "type": "enum"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "Looking_weeper",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "id": 103,
    "mode": "rw",
    "name": "寻找扫地机",
    "property": {
      "type": "bool"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "electricity_left1",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "id": 104,
    "mode": "ro",
    "name": "剩余电量",
    "property": {
      "unit": "",
      "min": 0,
      "max": 100,
      "scale": 0,
      "step": 1,
      "type": "value"
    },
    "type": "obj"
  },
  {
    "attr": 0,
    "canTrigger": true,
    "code": "Fault_report",
    "defaultRecommend": false,
    "editPermission": false,
    "executable": true,
    "extContent": "",
    "id": 106,
    "mode": "ro",
    "name": "故障上报",
    "property": {
      "range": [
        "no_error",
        "Stuck_5_min",
        "Crash_bar_stuck",
        "sensor_dirty",
        "N_enough_pow",
        "Wheel_stuck",
        "S_brush_stuck",
        "Fan_stuck",
        "R_brush_stuck"
      ],
      "type": "enum"
    },
    "type": "obj"
  }
]

@CodeFoodPixels
Copy link
Owner

Happy to merge this in and it'll generate an alpha build that you could test via HACS @jbleyaert?

@jbleyaert
Copy link
Author

Happy to merge this in and it'll generate an alpha build that you could test via HACS @jbleyaert?

Sure.

@CodeFoodPixels CodeFoodPixels merged commit 17ed6ab into CodeFoodPixels:better-dps Mar 22, 2024
@CodeFoodPixels
Copy link
Owner

This has been merged and released

@jbleyaert
Copy link
Author

I tried all day, didn't get it to work. The only thing that works is the battery level and the locate button.
I also noticed I made a mistake, its T2277 not T2267.

Don't really know what to do know. Any hints on how to debug this? @CodeFoodPixels

@maximoei
Copy link

@jbleyaert your work has helped a lot!
I got several more features to work
#85 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants