2016-07-11 6 views
1

私はVOLTTRONのドキュメントを読みましたが、ボルトトロンのアクチュエータエージェントのpubsubメカニズムに関連してRPCメカニズムを理解しているかどうか疑問があります。VOLTTRON RPC呼び出しのメカニズム

たとえば、「campus/building/unit」というトピックのデバイスがあり、午後5時から午後6時の間に1時間デバイスを予約します。 次に、このイベントのコードをどのように実行しますか? イベントをキャッチするには、アクチュエータエージェントのトピックを購読する必要がありますか、定期的にrpc経由で設定値を試してみる必要があります。例外がスローされない場合は、デバイスとしたがって、デバイス上でgetpoint/setpointを呼び出すことができます。

答えて

2

デバイスの予約ブロックが開始すると、アクチュエータエージェントはpubsubでその事実を公開し始めます。

{ 
    'requesterID': <Agent with access>, 
    'taskID': <Task associated with the time slot> 
    'window': <Seconds remaining in the time slot> 
} 

(実際の場合:ザ公開

使用トピックが

devices/actuators/schedule/announce/<full device path> 

たり、場合

devices/actuators/schedule/announce/campus/building/unit 

ではないメッセージと次の形式のヘッダーを持っていませんこれはヘッダーにあるすべてが奇妙なように見えるのは、これが私たちがまだいたVOLTTRON Liteの日々に戻ってくるからですメッセージに何が含まれているかを決定する)

エージェントは、時間のブロックをスケジュールして、アナウンストピックに登録するのが理想的です。そのトピックのハンドラは、割り当てられた時間内にアクティビティの開始をトリガします。

アクチュエータエージェントは、設定された間隔で更新されたウィンドウ値で同じ情報を再公開することを覚えておくことが重要です。 (既定ではこれは1分に1回で構成可能です)ウィンドウ値を使用して、割り当てられた時間ブロックの経過に応じてアクションをトリガーすることができます。

+0

デバイス/アクチュエータ/スケジュール/アナウンス/ <フルデバイスパス>を購読するだけで、コールバック機能が起動されます。 –

+0

また、イベントのために自分のタスクを実行した場合、私のコールバックで、スケジュールをキャンセルする必要がありますか? –

+0

@PriyankKapadiaサブスクリプションとコールバックの設定方法を確認するには、ExampleSubscriberサンプルエージェントを参照してください。 –

関連する問題