『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: lichao622

[技术讨论] 分享:石头扫地机保留原app接入ha实现指定房间,模式清扫!

  [复制链接]

0

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
30
HASS币
0
发表于 2023-12-3 21:53:43 | 显示全部楼层
我看了网上最多的教程是把石头机器人连接到米家,通过Xiaomi Cloud Map Extractor和Xiaomi Vacuum Map Card一起添加地图,但是如果不想借用米家,只用石头机器人APP,应该怎么把地图添加到Xiaomi Vacuum Map Card中呢,期待大佬的回复,谢谢!
回复

使用道具 举报

0

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
30
HASS币
0
发表于 2023-12-3 22:07:40 | 显示全部楼层
而且我的界面好像和你的有点不一样
1.png
也找不到set_custom_mode的设置
2.png
是因为你是G10我是P10导致有些参数和控制指令不一样吗
回复

使用道具 举报

64

主题

484

帖子

2158

积分

金牌会员

Rank: 6Rank: 6

积分
2158
金钱
1669
HASS币
0
 楼主| 发表于 2023-12-5 13:41:53 | 显示全部楼层
本帖最后由 lichao622 于 2023-12-5 13:47 编辑
yvxingziscn 发表于 2023-12-3 22:07
而且我的界面好像和你的有点不一样

也找不到set_custom_mode的设置

1,首先你要确保是用这个集成接入https://github.com/humbertogontijo/homeassistant-roborock,也就是我帖子里面的内容。接入后,你在hacs下载xiaomi-vacuum-map-card这个卡片。下载好后,刷新浏览器。(大概率第一次下载不会出现任何提示,然后不用删除,直接再下载一次。重新下载,就会出现提示让农刷新)转到仪表板资源,确认已经被添加。然后再前端ui进行添加,你就会看到你下载的xiaomi-vacuum-map-card卡片。如下图: WechatIMG324.jpg

WechatIMG325.jpg

WechatIMG326.jpg

2,如何设置指令及清扫具体房间。
设置指令你在开发者工具,服务里面进行调用。
参数如下:set_custom_mode(吸力设置):[101](安静)、[102](标准)、[103](强力)、[104](MAX)、[105](关闭即仅拖地模式)、[106](定制模式)
set_water_box_custom_mode(擦地强度,擦地强度与水箱绑定,强度越大出水量越大):
[200](关闭即仅扫地),[201](轻揉擦),[202](标准擦),[203](强力擦),[204](定制模式)
set_mop_mode(拖地偏好,仅在仅拖地模式下生效):[300](日常擦),[301](精细擦地),[302](定制模式),[303](深度慢擦)

注意,每个你都可以调用一下,同时打开石头的app。然后点击调用服务。看是否跟app里面一致。
WechatIMG328.jpg

WechatIMG328 1.jpg

房间区分:步骤如下:
  • 确保在Roborock应用程序中为房间命名;否则,它们不会出现在调试日志中。
  • 为此集成启用调试日志记录并重新加载。
  • 在您的日志中搜索“有家数据”,并找到属性房间。
  • 把房间写下来;他们有一个名字和6位数的ID。
  • 转到开发人员工具>服务>真空:发送命令。选择您的真空作为实体,并选择get_room_mapping作为命令。
  • 返回您的日志并查看get_room_mapping的响应。这是您之前看到的6位ID到2位ID的列表(使用第一个数字,例如[16, '14000663', 12]中的16([内部房间ID,唯一房间ID,房间类型]))。在您的原始房间名称和6位ID列表中,将6位ID替换为其配对的2位ID。
  • 现在,您有了真空吸尘器用来描述房间的2位数ID。
  • 返回开发人员工具>服务>真空:发送命令,然后typeappapp_segment_clean作为您的命令,并使用要清理的2位ID列表进行segments。然后,用数字(从1到3不等)添加repeat,以确定您想要清理这些区域的次数。
找到房间号后,然后再进行自动话,比如:更换成自己的实体
alias: 小爱同学打扫阳台(先扫后拖)
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.xiaomi_xa_c90_conversation
      - sensor.xiaomi_la_d4c_conversation
    to: 阳台大扫除
condition: []
action:
  - service: vacuum.send_command
    data:
      command: set_water_box_custom_mode
      params:
        - 200
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: vacuum.send_command
    data:
      command: set_custom_mode
      params:
        - 103
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: vacuum.send_command
    data:
      command: app_segment_clean
      params:
        - segments:
            - 22
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - wait_for_trigger:
      - platform: state
        entity_id:
          - 扫地机地图实体
        from: streaming
        to: idle
    continue_on_timeout: false
  - service: vacuum.send_command
    data:
      command: set_custom_mode
      params:
        - 105
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: vacuum.send_command
    data:
      command: set_water_box_custom_mode
      params:
        - 203
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: vacuum.send_command
    data:
      command: set_mop_mode
      params:
        - 301
    target:
      entity_id: 地图实体
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: vacuum.send_command
    data:
      command: app_segment_clean
      params:
        - segments:
            - 22
    target:
      entity_id: 扫地机实体
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - wait_for_trigger:
      - platform: state
        entity_id:
          - 地图实体
        from: streaming
        to: idle
    continue_on_timeout: false
  - service: notify.微信通知服务
    data:
      message: >-
        扫地机已完成阳台清扫!模式为先扫后拖,目前正在充电中!{{'\n'}}{{ now().strftime('%Y-%m-%d
        %H:%M:%S') }}
mode: single

回复

使用道具 举报

0

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
30
HASS币
0
发表于 2023-12-10 11:06:39 | 显示全部楼层
lichao622 发表于 2023-12-5 13:41
1,首先你要确保是用这个集成接入https://github.com/humbertogontijo/homeassistant-roborock,也就是我 ...

谢谢大佬的耐心解答,第一句话犹如醍醐灌顶,我一直以为和你用的是一个集成,结果发现我用的是HA官方提供的roborock而不是这个通过HACS自己添加的这个集成,现在已经成功集成并且添加地图,我再来研究研究后面的步骤,谢谢!
回复

使用道具 举报

0

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
30
HASS币
0
发表于 2023-12-10 12:09:08 | 显示全部楼层
我又尝试了一下,在开发者工具中调用服务改变扫地机器人的模式也成功了,但是还是想请教您一下set_custom_mode和set_water_box_custom_mode这两个设置的命令和对应参数的意思是在哪里看到的呢?是您一点点试出来的还是是否有相关的手册说明描述了有哪些命令可以用呢
回复

使用道具 举报

64

主题

484

帖子

2158

积分

金牌会员

Rank: 6Rank: 6

积分
2158
金钱
1669
HASS币
0
 楼主| 发表于 2023-12-10 13:58:01 | 显示全部楼层
yvxingziscn 发表于 2023-12-10 12:09
我又尝试了一下,在开发者工具中调用服务改变扫地机器人的模式也成功了,但是还是想请教您一下set_custom_m ...

不是试出来的。你用就完了。哈哈哈,能用就行。
回复

使用道具 举报

64

主题

484

帖子

2158

积分

金牌会员

Rank: 6Rank: 6

积分
2158
金钱
1669
HASS币
0
 楼主| 发表于 2023-12-10 14:00:55 | 显示全部楼层
lichao622 发表于 2023-12-10 13:58
不是试出来的。你用就完了。哈哈哈,能用就行。

设置好后,你可以参照我的自动化对每个房间的清扫模式进行单独设置,或者设置你喜欢的清扫模式,然后你可以新建一个虚拟开关。进行相应模式的关联。这样的话,就可以直接在ha的界面点击一键清扫,或者将这个开关接入homekit。
回复

使用道具 举报

9

主题

51

帖子

450

积分

中级会员

Rank: 3Rank: 3

积分
450
金钱
399
HASS币
0
发表于 2023-12-16 08:21:41 | 显示全部楼层
g10s pro也可以吗?我的还带上下水套件
回复

使用道具 举报

64

主题

484

帖子

2158

积分

金牌会员

Rank: 6Rank: 6

积分
2158
金钱
1669
HASS币
0
 楼主| 发表于 2024-1-10 11:55:40 | 显示全部楼层
singlermy 发表于 2023-12-16 08:21
g10s pro也可以吗?我的还带上下水套件

可以的,你试试
回复

使用道具 举报

0

主题

1

帖子

20

积分

新手上路

Rank: 1

积分
20
金钱
19
HASS币
0
发表于 2024-1-10 16:44:12 | 显示全部楼层
前几天还可以的,今天突然报错,提示没有设备和实体咋回事啊,大佬们
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 17:42 , Processed in 0.388774 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表