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

 找回密码
 立即注册
查看: 2469|回复: 5

关于自动化调用的一些小经验

[复制链接]

7

主题

192

帖子

1705

积分

金牌会员

Rank: 6Rank: 6

积分
1705
金钱
1508
HASS币
30
发表于 2022-2-22 16:55:52 | 显示全部楼层 |阅读模式
本帖最后由 sephrioth 于 2022-2-22 16:57 编辑

HA 默认集成各种设备后, entity_id都是自动生成的, 比如类似 binary_sensor.lumi_wbmcn1_676e, 然后我们可能会做各种automation和script去调用这个entity_id, 都是用的这个名字。
但是一旦你需要更换这个设备, 比如设备更新了, 或者是重新集成后生成了一个新的entity_id, 等等, 那也意味着之前散落在各个地方的entity_id的名字都需要重新更新,而在更新这个的过程中很容易出错。

所以我这边把常用的entity_id都改了名, 全部改成类似
sensor.motionsensor_livingrooom;  sensor.motionsensor_bedroom;  climate.bedroom 等等,就是通过设备本身的class和room来重命名并固定下来, 这样所有的automation和script都是去调用这个名字, 而且这个名字后续就不会再更改了, 那也就是说automation和script就不会因为设备更新而需要变动。 只需要把新的设备名改成你之前按规则命名的名字就可以了。

如果是 light 这种HA原生支持 group 的那就更方便了,你可以做多个 light group, 后续如果对 light 有变动, 连重命名都不需要, 只需要在 light group里修改,增加, 删除就可以了。
举个简单的例子, 假如你有两个灯 light.a 和 light.b, 都是同时控制的, 这样你可以写一个group
  - platform: group
    name: Livingroom Spotlights
    entities:
      - light.a

      - light.b
你控制都是 light.livingroom_spotlights 这个group。 如果你后面把灯a换了灯c, 就只需要在group里改成
  - platform: group
    name: Livingroom Spotlights
    entities:
      - light.c

      - light.b

如果你要去掉某个灯或者增加更多灯, 直接在这里编辑就可以, 然后reload下group配置就行, 你的所有自动化都不受影响, 因为自动化调用的是这个light group, 而不是某个特定的entity_id

这样做的好处还不仅仅在automtaion和script, 还包括homekit, recorder等等需要配置entity_id的地方, 都可以不用因为更新设备而需要重新维护了。



回复

使用道具 举报

3

主题

120

帖子

660

积分

高级会员

Rank: 4

积分
660
金钱
540
HASS币
0
发表于 2022-2-22 17:46:41 | 显示全部楼层
顶 添加设备确实第一件事就是改名字,不然默认的名字太难认了
回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
发表于 2022-2-22 19:07:17 | 显示全部楼层
一般插件都不会轻易改你设备id的,就算你升级了插件,也不会改。除非你已经有了这个插件,再添加一次,会生成一个类似 sensor.xxx_02 的id
回复

使用道具 举报

7

主题

192

帖子

1705

积分

金牌会员

Rank: 6Rank: 6

积分
1705
金钱
1508
HASS币
30
 楼主| 发表于 2022-2-22 20:26:09 | 显示全部楼层
muxiachuixue 发表于 2022-2-22 19:07
一般插件都不会轻易改你设备id的,就算你升级了插件,也不会改。除非你已经有了这个插件,再添加一次,会生 ...

是的, 更多场景是在更换设备的情况下。 我这边最大场景就是连接米家云端不稳定, 经常需要删除重新添加
回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
发表于 2022-2-22 21:20:46 | 显示全部楼层
本帖最后由 muxiachuixue 于 2022-2-22 21:21 编辑
sephrioth 发表于 2022-2-22 20:26
是的, 更多场景是在更换设备的情况下。 我这边最大场景就是连接米家云端不稳定, 经常需要删除重新添加 ...

删除重新添加设备id一般也不会变,除非你用的不同插件,我已经删除添加很多次了,没啥事。插件都有一套固定的命名规则的。说实话,我能想到唯一id变化的场景是:
1. 原先那个插件被抛弃了,换了不同的插件来添加
2. 作者对代码进行了大改,改了命名规则
回复

使用道具 举报

7

主题

192

帖子

1705

积分

金牌会员

Rank: 6Rank: 6

积分
1705
金钱
1508
HASS币
30
 楼主| 发表于 2022-2-23 09:05:13 | 显示全部楼层
muxiachuixue 发表于 2022-2-22 21:20
删除重新添加设备id一般也不会变,除非你用的不同插件,我已经删除添加很多次了,没啥事。插件都有一套固 ...

我应该说清楚一点, 之前我做的比较多的是针对灯组的管理, 有在云端进行了解组和重新合并的操作,然后这个device和对应的entity_id都会有变化。   如果名字不变化那就更方便了~

其实还有个场景就是比如设备换了房间, 如果命名合适的话, 自动化也都不用改, 只需要把设备名字调换下就可以了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 05:27 , Processed in 0.093968 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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