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

 找回密码
 立即注册
查看: 2183|回复: 8

[已解决] 如何判断开关信号来自远程或开关自身?

[复制链接]

6

主题

30

帖子

144

积分

注册会员

Rank: 2

积分
144
金钱
114
HASS币
0
发表于 2021-11-20 23:38:33 | 显示全部楼层 |阅读模式
本帖最后由 狂男风 于 2021-11-21 03:59 编辑

这个问题或许等价于:有没有智能开关能区分远程信号和自身信号?
我的目的是:当手动打开开关时,忽略一切远程信号,只作为普通开关使用。远程信号只在开关未手动打开时使用。作为感应不灵时的备份。

我最开始的解决办法是:给普通开关并联通断器(加装零线)。这样打开普通开关时,通断器的关闭就不起作用了。然而开关盒不够大,塞不下通断器。
回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2021-11-21 03:31:10 来自手机 | 显示全部楼层
这样只会增加麻烦。手动开关忘记关闭就无法远程控制,跟智能家居的目的背道而驰了
回复

使用道具 举报

6

主题

30

帖子

144

积分

注册会员

Rank: 2

积分
144
金钱
114
HASS币
0
 楼主| 发表于 2021-11-21 03:58:34 | 显示全部楼层
zsqduke 发表于 2021-11-21 03:31
这样只会增加麻烦。手动开关忘记关闭就无法远程控制,跟智能家居的目的背道而驰了 ...

我了解这一点,这个场景也许不常用,只是作为感应不灵或智能失效的备用。

目前,我已找到用智能开关处理这个逻辑的解决办法。那就是设置个变量保存手动开关的状态。当收到手动开关信号为开时,对涉及到该开关的所有逻辑均不执行,直到收到手动开关为关的信号。
回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2021-11-21 04:13:13 来自手机 | 显示全部楼层
本帖最后由 zsqduke 于 2021-11-21 04:17 编辑
狂男风 发表于 2021-11-21 03:58
我了解这一点,这个场景也许不常用,只是作为感应不灵或智能失效的备用。

目前,我已找到用智能开关处理 ...

“只是作为感应不灵或智能失效的备用”
只是为了备用的话,那你直接用手去按开关就能实现。要在手动开灯后让智能不执行的原因能解释一下吗?
该怎么理解你这个需求呢?

回到最初的问题,HA是可以判断是HA执行了一个动作还是HA以外(这里包括比如手动和厂家自己的app、原生homekit等等,所以只要你能排除其他的可能性就能区分手动和非手动)
回复

使用道具 举报

6

主题

30

帖子

144

积分

注册会员

Rank: 2

积分
144
金钱
114
HASS币
0
 楼主| 发表于 2021-11-21 04:22:30 | 显示全部楼层
本帖最后由 狂男风 于 2021-11-21 04:31 编辑
zsqduke 发表于 2021-11-21 04:13
“只是作为感应不灵或智能失效的备用”
只是为了备用的话,那你直接用手去按开关就能实现。要在手动开灯后 ...

比如,人体存在感应误差,以为人不在了,灭灯。
这个时候,手动让它一直打开。
不过,我想到了一个更优化的方案:手动点击开关时,增加等待延时。
回复

使用道具 举报

4

主题

605

帖子

2170

积分

金牌会员

Rank: 6Rank: 6

积分
2170
金钱
1560
HASS币
20
发表于 2021-11-21 04:32:54 | 显示全部楼层
狂男风 发表于 2021-11-21 04:22
比如,人体存在感应误差,以为人不在了,灭灯。
这个时候,手动让它一直打开。 ...

这个情况,你正常按一下开关就好了。。

其实真正要解决的是怎么让人体不误关,而不是创造另一个问题去解决。

ps我的灯都是智能灯没有物理开关,墙壁开关都是“无线开关”所以没有这个问题
回复

使用道具 举报

23

主题

656

帖子

4613

积分

元老级技术达人

积分
4613
金钱
3942
HASS币
30

教程狂人

QQ
发表于 2021-11-21 09:11:29 | 显示全部楼层
可以实现,需要使用一个不同的MQTT主题,当智能开关接收到这个主题状态变化时,判断灯现在的状态,然后决定执行什么样的动作。这个功能需要智能固件本身支持自动化,比如Tasmota的rule规则。如果开关本身不支持自动化,在HA中实现这个功能的话,可以虚拟一个开关,配合自动化条件实现。
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2021-11-21 11:06:59 | 显示全部楼层
本帖最后由 dscao 于 2021-11-21 11:10 编辑

场景需求:一般情况,自动化条件触发的开灯,到时间后判断无人时自动关。
但因为有些误判的存在,希望能手动开灯时,不会自动化关灯。

我是利用自动化本身来做的:
触发:人体感应触发
环境:灯是关的(或者增加环境亮度、时间等其它环境判断)
动作:①开灯->②延时1分钟->③设置循环:判断人体非触发状态时退出循环->延时1分钟后重新循环 ->④关灯.

这样如果不是本自动化开灯的,就不会关灯。与传统的手动开关灯一样,包括不限于手动开关,ha中的手动打开,app中的打开。

评分

参与人数 1金钱 +1 收起 理由
狂男风 + 1 感谢分享!

查看全部评分

回复

使用道具 举报

6

主题

30

帖子

144

积分

注册会员

Rank: 2

积分
144
金钱
114
HASS币
0
 楼主| 发表于 2021-11-21 15:20:27 | 显示全部楼层
zsqduke 发表于 2021-11-21 04:32
这个情况,你正常按一下开关就好了。。

其实真正要解决的是怎么让人体不误关,而不是创造另一个问题去解 ...

除了感应误差,我并联通断器的考虑还有一种情况,那就是:主控、网关故障时,开关仍可使用。
当然,这个情况也非常少见。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 19:45 , Processed in 0.664547 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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