wmhack 发表于 2022-12-25 00:01:20

只改变实体状态,不触发实体动作

在Node Red里,有办法只改变homeassistant实体的状态吗?

我想做一个状态同步,监听到一个事件后,就把状态改了,但是不能去执行实体的动作

bainiu 发表于 2022-12-25 11:12:59

没怎么看懂

louis_lee 发表于 2022-12-25 11:37:08

提示个方向。node-red中有个homeassistant API节点,可使用/api/states/entity(post方法)更新实体状态。

可参考文档:https://developers.home-assistant.io/docs/api/rest

setuup 发表于 2022-12-25 23:55:06

本帖最后由 setuup 于 2022-12-26 00:00 编辑

homeassistant APIswitch 节点   启用输入
msg.enable = Boolean(true); 或msg.enable = Boolean(false);
将改变状态,只要没有输出就可以只改变状态
#设置为 true 以打开开关,设置为 false 以将其关闭。或者
#如果消息具有定义的启用属性并将其设置为布尔值,则该节点将没有任何输出。

wmhack 发表于 2022-12-26 17:18:48

setuup 发表于 2022-12-25 23:55
homeassistant APIswitch 节点   启用输入
msg.enable = Boolean(true); 或msg.enable = Boolean(false ...

可以给一个详细的json案例吗

wmhack 发表于 2022-12-26 23:09:51

louis_lee 发表于 2022-12-25 11:37
提示个方向。node-red中有个homeassistant API节点,可使用/api/states/entity(post方法)更新实体状态。
...

尝试了这个方法,确实能够改变状态,但是有个问题,当改变状态后,1分钟,状态又自动变回去了:'(

louis_lee 发表于 2022-12-26 23:38:59

本帖最后由 louis_lee 于 2022-12-26 23:48 编辑

这说明entity状态是由device控制。如果你想完全自己控制entity状态,只需要做一个template switch/light (取决于你实体是哪种设备)
比如你原来有一个开关,你需要用template做一个开关,开和关与原来的switch一致,状态可以由自己控制,不受device影响

setuup 发表于 2022-12-28 14:54:28

这个一个    485 to mqtt 开关   墙面86 485开关    干触点开关 3方联动的列子
页: [1]
查看完整版本: 只改变实体状态,不触发实体动作