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

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

[技术探讨]

[复制链接]

54

主题

270

帖子

4523

积分

元老级技术达人

积分
4523
金钱
4243
HASS币
80
 楼主| 发表于 2024-1-15 23:29:54 | 显示全部楼层
relliky 发表于 2024-1-15 21:58
这样也挺好的。。关于容灾,我觉得最简单的方案还是凌动开关和凌动灯(就是HA掉线后没自动化了,但至少最基 ...

它这个容灾没什么好参考的,只能支持有限的自家型号,效果也存疑。
至于容灾,有可能需要容灾的设备不是一个开关和一个灯,可能是一个传感器和动作设备,光靠凌动不太行吧。
备用ha这个,如何实现主备的数据同步和路由切换也是个问题?
回复

使用道具 举报

29

主题

950

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
3290
HASS币
70
发表于 2024-1-16 03:39:12 | 显示全部楼层
本帖最后由 relliky 于 2024-1-16 21:16 编辑

>> 它这个容灾没什么好参考的,只能支持有限的自家型号,效果也存疑。

哈哈,当然局限。不过商业化的产品肯定还是比DIY的品质要好一些。我没有说我会去用这个东西,东西又少又贵。但它的方案提供了不错的容灾的思路。

>> 至于容灾,有可能需要容灾的设备不是一个开关和一个灯,可能是一个传感器和动作设备,光靠凌动不太行吧。

esphome可能得自行解决,像米家之类的网关做容灾,可以用米家的自动化(只针对很简单的自动化)。不过我不清楚HA能不能轻易给小米网关喂狗。

>>备用ha这个,如何实现主备的数据同步和路由切换也是个问题?

数据同步是指的历史记录吗?这个就无所谓了吧,历史记录在这个情况下没那么重要。

如果是实时数据的话,两个HA是通过集成连接设备的,我记得我以前同时开两个HA时,集成会同步每个设备状态给两个的HA的,所以实时状态应该不是问题。我想最简单的主备HA的工作方式,就是主HA给备用HA喂狗,主HA带自动化,备用HA把自动化都关掉。备用HA超时时打开自动化,下一次被主HA喂狗时关掉。

至于怎么同步主HA的配置给备用HA,每天凌晨的时候把主HA备份,然后恢复到备用HA上就行了。然后就是关于同一个配置怎么区分主备HA?把主备HA绑定成不同的IP,然后找到自己的IP来区别自己是主HA还是备用HA。

不过这玩意也得另外一个硬件来跑备用HA才效果比较好。如果一台机器跑两个HA,可能很多时候容灾的时候都没啥用。
以上皆为理论上来说,我没试过


我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

50

主题

1301

帖子

4938

积分

论坛DIY达人

积分
4938
金钱
3637
HASS币
20
发表于 2024-1-16 03:51:52 | 显示全部楼层
本帖最后由 sorrypqa 于 2024-1-16 04:08 编辑
relliky 发表于 2024-1-16 03:39
>> 它这个容灾没什么好参考的,只能支持有限的自家型号,效果也存疑。

哈哈,当然局限。不过商业化的产品 ...

我是2台HA自动化同时工作,不分主备,用差不多半年,比如厨房有人,A机快一点,已执行自动化开灯,B机的自动化也执行,但自动化里开灯条件是灯是关闭时才执行开,所以实际上B机的自动化没有生效,但如果A机瘫痪了的话,B机的自动化就可以正常开灯。反过来一样。当然,这样用的最佳设备是ESPHome,因为它的API支持多台HA同时连接并控制。
回复

使用道具 举报

29

主题

950

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
3290
HASS币
70
发表于 2024-1-16 03:56:35 | 显示全部楼层
本帖最后由 relliky 于 2024-1-16 03:59 编辑
sorrypqa 发表于 2024-1-16 03:51
我是2台HA自动化同时工作,不分主备,用差不多1年了,比如厨房有人,A机快一点,已执行自动化开灯,B机的 ...

哦哦,这个思路也可以,那就是自动化里面要考虑到主备HA的关系。如果我按照你这个思路来改我现有的自动化,简单的可以比较好改,复杂一点带各种状态和状态机的可能会产生竞争冒险,这种的我估计得多琢磨一下。(不过这种我如果不会重写,就只让某一个HA执行,容灾的时候让它挂掉就好了,只留简单的下来也是一种思路)


但这是个不错的思路,学习了!

我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

50

主题

1301

帖子

4938

积分

论坛DIY达人

积分
4938
金钱
3637
HASS币
20
发表于 2024-1-16 04:00:24 | 显示全部楼层
本帖最后由 sorrypqa 于 2024-1-16 04:03 编辑
relliky 发表于 2024-1-16 03:56
哦哦,这个思路也可以,那就是自动化里面要考虑到主备HA的关系。如果我按照你这个思路来改我现有的自动化 ...

自动化并不需要考虑主备,本身写自动化时就是只有设备是关时,才会执行开,只有开时才会执行关,其实没有这个条件也不影响,A开了,B再执行一次也行,只是没这个必要
回复

使用道具 举报

29

主题

950

帖子

4250

积分

论坛元老

Rank: 8Rank: 8

积分
4250
金钱
3290
HASS币
70
发表于 2024-1-16 04:32:26 | 显示全部楼层
本帖最后由 relliky 于 2024-1-22 11:22 编辑
sorrypqa 发表于 2024-1-16 04:00
自动化并不需要考虑主备,本身写自动化时就是只有设备是关时,才会执行开,只有开时才会执行关,其实没有 ...

其实你是用被执行设备二元状态来同步两个HA,让其中一个HA不去重复执行自动化的。

我觉得这个能处理很大一部分自动化,但不是任何自动化都能通过这种方式同步的。
1)比如action是无状态:我有个洗衣机洗好了给我手机发推送,这样通知就会给我发两次。
2)比如非二元状态的action导致的重复执行,且重复执行带来了不同的效果:比如按一下无线开关,让电视音量降低10%,或者灯亮度降低10%。两个HA会导致按一下键会导致自动化被执行两次导致降低20%。
3)  比如手动控制的input_boolean之类的实体没有被同步到另一个HA导致自动化执行的不一样:我暖气平时是房间里人在才开,且时间不一样温度不一样。然后我创造了一个手动开暖气的input_boolean,来让人不在的时候也可以强制开启房间暖气。这样一个HA开了手动供暖,一个HA没开。那个没开的HA,就会时不时把暖气关掉。
4)比如一些列动作重复执行造成的竞争冒险:这个和执行时序和动作有关系,举的例子会比较复杂。。。
可能还有些别的我还没想到的情况。


我现在能想到的解决办法,就是从软件的思路来解决就是解决多线程下的访问共享数据的问题(也伴随着竞争冒险),一般用mutex让两个HA去抢一个flag,谁抢到了谁执行,不过这个过程中一定要保证原子性(就是不能有两个HA同时拥有这个flag)。具体的在HA里面怎么做我还没研究。。。等想搞容灾的时候可以研究一下。



我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

6

主题

202

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
金钱
945
HASS币
0
发表于 2024-1-16 05:54:17 | 显示全部楼层
之前看esp now这个功能好像挺有意思,可惜esphome没有相应支持
回复

使用道具 举报

54

主题

270

帖子

4523

积分

元老级技术达人

积分
4523
金钱
4243
HASS币
80
 楼主| 发表于 2024-1-16 08:43:21 | 显示全部楼层
leonarddo 发表于 2024-1-16 05:54
之前看esp now这个功能好像挺有意思,可惜esphome没有相应支持

和wifi冲突
回复

使用道具 举报

16

主题

209

帖子

1626

积分

论坛DIY达人

积分
1626
金钱
1412
HASS币
20
发表于 2024-1-16 10:34:27 | 显示全部楼层
本人菜鸟一枚,也想参与讨论。对网络协议之类一概不懂,仅从自身环境谈谈。
1.ESP互控,如果仅指完成特定功能的几个设备。个人觉得在设计时就应考虑路由器故障时的本地控制。或者说,这本省就是由几个独立模块组成的一个设备,只是将相应信息和远程控制挂接到HA平台上而已。比如我曾在臭氧机改造中,浓度传感器作为独立模块在设计时就通过蓝牙方式与主机通讯,即便无网也能独立完成既定工作,避免安全隐患。
2.如果想将所有ESP设备互联互通,在无网、无HA状态下,仅靠ESPHOME而非更底层的设计,即便功能得以实现,也很难做到所有设备无缝衔接。更何况复杂的自动化控制。
回复

使用道具 举报

0

主题

28

帖子

109

积分

注册会员

Rank: 2

积分
109
金钱
81
HASS币
0
发表于 2024-1-16 13:22:34 | 显示全部楼层
学习。。。。。。。。。。。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-10 16:56 , Processed in 0.087281 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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