6

openHAB のルール ファイルで実行できpostUpdateますsendCommand。違いはなんですか?

を使用すると、その値のみが変更され、アクションは実行されないことに気付きpostUpdate(zwaveLamp1, ON)ました-ライトは暗いままです。sendCommand(zwaveLamp1, ON)バインドされたアクションを実行してライトをオンにすると、アイテムが更新されます。

のユースケースはpostUpdate何ですか? それは何のために良いですか?

4

5 に答える 5

1

コマンドは離散的ですが、状態はよりつかの間のように見えます。つまり、「アイテム X 受信コマンド」によってトリガーされるルールを実行する場合、ルールで変数「receivedCommand」を使用して何かを実行でき、すべてのコマンドに対してルールがトリガーされます。ただし、アイテムから現在の状態を読み取るか、前の状態に previousState を使用する必要があります。

状態を頻繁に更新するアイテムの場合、1 つの変更に対してトリガーされることがわかりましたが、アイテムの状態を読み取るまでに、再度変更されている可能性があります。返されるのは常に現在の値です。まさにそうあるべきです。ただし、状態を MQTT または何らかの外部ソースからの疑似着信キューとして使用している場合は、メッセージが失われます。それらがコマンドとして入ってくる場合、あなたはそうしません。

于 2015-05-30T00:53:59.663 に答える
0

はい、私の観点からは正しいです。postUpdate はアイテムに対して「内部的に」機能し、sendCommand はペリフェラル/インターフェースに対する「コマンド」として機能します。マルコ

于 2015-03-12T12:11:33.073 に答える