分页: 1 / 1
请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周六 7月 08, 2017 11:58
由 vonzeng
一个多档风扇,在domoticz开关中设了两个类型(一个选择开关,一个on/off开关给homekit用),如何让这两个开关的状态显示同步? 比如我在domotics中的选择开关开了风扇的低速、中速或高速档,要求homekit中的风扇状态也会同步更新为运行,到这一步都还好,但如何不让homekit中的风扇因为状态从停止同步到运行而又发出一个低速运行指令,导致风扇收到两个运行指令(第一个是domoticz中选择开关发出,一个是homekit因同步状态而发出)。因为这样会可能出现问题:homekit中只能是开和关,开我设定为低速。当你在domoticz选择开关选择中速或高速时,上面的逻辑会导致风扇又被Homtkit控制到默认的低速。 大家有啥解决方案?
- Screen Shot 2017-07-08 at 11.54.02 AM.jpg (108.14 KiB) 查看 48791 次
代码: 全选
commandArray = {}
if devicechanged['餐厅风扇'] ~= 'Off' and otherdevices['餐厅风扇 HomeKit'] == 'Off' then
commandArray['餐厅风扇 HomeKit'] = 'On'
elseif devicechanged['餐厅风扇'] == 'Off' and otherdevices['餐厅风扇 HomeKit'] == 'On' then
commandArray['餐厅风扇 HomeKit'] = 'Off'
elseif devicechanged['餐厅风扇 HomeKit'] == 'On' and otherdevices['餐厅风扇'] == 'Off' then
commandArray['餐厅风扇'] = 'Set Level 10'
elseif devicechanged['餐厅风扇 HomeKit'] == 'Off' and otherdevices['餐厅风扇'] ~= 'Off' then
commandArray['餐厅风扇'] = 'Off'
end
return commandArray
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周六 7月 08, 2017 13:08
由 blindlight
两个开关控制一个设备,domoticz里面有个叫subtype的办法,这个先不管他。
你现在混乱的是,明明一个开关是多段,一个开关是低速,然后你非要让低速的开关的开状态来显示低中高三挡。
至少多弄一个状态设备,但是hk里面肯定有两个开关。一个表示低速开关,一个表示风扇状态
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周六 7月 08, 2017 13:30
由 vonzeng
subtype的方法试过,有问题。不能两个开关互设对方为subtype。
我希望多段开关中低中高三速时,homekit中都显示为运行状态(虽然homekit中的运行代表着是低速),只要显示是运行就行,千万别捣乱给变成唯一的低速。
所以这段:
if devicechanged['餐厅风扇'] ~= 'Off' and otherdevices['餐厅风扇 HomeKit'] == 'Off' then
commandArray['餐厅风扇 HomeKit'] = 'On'
是不行的。有没办法只改变状态,不发出对应的射频遥控命令。
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周日 7月 09, 2017 16:27
由 blindlight
多弄个开关只显示状态啊
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周一 7月 10, 2017 22:15
由 vonzeng
搞定了。将On/Off类型的开关中的命令行清空,再修改代码。
- Screen Shot 2017-07-10 at 10.14.04 PM.jpg (154.96 KiB) 查看 48764 次
- Screen Shot 2017-07-10 at 10.14.17 PM.jpg (312.41 KiB) 查看 48764 次
代码: 全选
if devicechanged['餐厅风扇'] == '低速' or devicechanged['餐厅风扇'] == '中速' or devicechanged['餐厅风扇'] == '高速' then
if otherdevices['餐厅风扇 HomeKit'] == 'Off' then
commandArray['餐厅风扇 HomeKit'] = 'On'
end
elseif devicechanged['餐厅风扇'] == 'Off' then
if otherdevices['餐厅风扇 HomeKit'] == 'On' then
commandArray['餐厅风扇 HomeKit'] = 'Off'
end
elseif devicechanged['餐厅风扇 HomeKit'] == 'On' then
if otherdevices['餐厅风扇'] == 'Off' then
commandArray['餐厅风扇'] = 'Set Level 10'
end
elseif devicechanged['餐厅风扇 HomeKit'] == 'Off' then
if otherdevices['餐厅风扇'] == '低速' or otherdevices['餐厅风扇'] == '中速' or otherdevices['餐厅风扇'] == '高速' then
commandArray['餐厅风扇'] = 'Off'
end
end
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周四 7月 13, 2017 02:56
由 fidel
请问这个用blocky怎么写啊?
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周四 7月 13, 2017 08:57
由 vonzeng
我已全面放弃blocky了。lua简单应用不管太难的。我也是从零基础学起。要说有基础就是20多年前学过点basic。
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周五 7月 14, 2017 23:38
由 fidel
不知道为什么没效果 按你这么弄得,开关无反应。v3.7523
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周日 7月 16, 2017 00:23
由 vonzeng
具体说下做了哪些?
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周日 7月 16, 2017 12:25
由 fidel
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周二 7月 18, 2017 13:26
由 vonzeng
看起来和我的一样呀。
运行时,log中有没有报错?
- Screen Shot 2017-07-18 at 1.25.45 PM.jpg (28.87 KiB) 查看 48724 次
划红框地方选择devices就行。
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周二 7月 18, 2017 13:33
由 DT27
fidel 写了: ↑周日 7月 16, 2017 12:25
1.JPG
2.JPG
3.JPG
现在 是开关没反应 多段可以
看楼上,论坛需要引用回复才会通知好像。
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周二 7月 18, 2017 22:34
由 fidel
vonzeng 写了: ↑周二 7月 18, 2017 13:26
看起来和我的一样呀。
运行时,log中有没有报错?
Screen Shot 2017-07-18 at 1.25.45 PM.jpg
划红框地方选择devices就行。
我试试
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周六 12月 05, 2020 22:52
由 eagle
怎么设置多段参数呢,四个TEXT文件中写什么
Re: 请教如何一个多档风扇的两个不同类型开关状态同步
发表于 : 周二 12月 08, 2020 16:05
由 DT27
eagle 写了: ↑周六 12月 05, 2020 22:52
怎么设置多段参数呢,四个TEXT文件中写什么
多段开关参数里前面是可执行脚本,后面txt文件是要传给可执行脚本的参数。
比如前面是发送射频信号的脚本,后面是对应开关的射频编码。