在openHAB中的规则文件中,我可以执行postUpdate和sendCommand。有什么关系?
我注意到,当我使用postUpdate(zwaveLamp1, ON)时,只改变它的值,不执行任何操作--光线保持黑暗。sendCommand(zwaveLamp1, ON)将执行绑定操作并打开关灯,并更新项。
postUpdate的用例是什么?它有什么好处?
发布于 2015-03-12 12:11:33
是的,从我的角度来看是正确的。postUpdate在项目上“内部”工作,sendCommand在外围/接口上执行‘命令’。马可
发布于 2015-05-30 00:53:59
命令是离散的,而状态似乎更加短暂。也就是说,如果您运行由“项X接收命令”触发的规则,则可以使用规则中的变量"receivedCommand“执行某些操作,并且对每个命令都会触发该规则。但是,您必须读取该项的当前状态,或者对前一个状态使用previousState。
我发现一个经常更新其状态的项目,会触发一个更改,但当您读取该项的状态时,它可能再次更改;返回的始终是当前值。应该是这样的。但是,如果您使用状态作为来自MQTT或某些外部源的伪传入队列,则会丢失消息。如果他们是作为命令进来的,你就不会。
发布于 2018-08-23 08:53:41
如果要更新接口或设备的任何元素的当前状态(例如温度),则可以使用postUpdate(),如果要执行任何操作事件(例如,关灯/关灯),则可以使用sendCommand()。
https://stackoverflow.com/questions/28981946
复制相似问题