ソフトウェア HALO Smart Sensor API 基本ソフトウェア
フォワード
このドキュメントでは、総称して BASIC API またはアプリケーション プログラミング インターフェイスとして知られる Halo スマート センサーの一連の機能について説明します。 この説明は、3 つまたは複数の HALO Smart Sensor (HALO) をサードパーティ (非 IPVideo) ソフトウェア コンポーネントまたはシステムと統合することに関心のあるプログラマーまたはインテグレーターを対象としています。 一般に、HALO API は、従来のイーサネット ネットワークを介して HALO から外部プログラムに情報を効率的に転送することを目的としています。 この目標を達成するために、API は次の XNUMX つのセクションに分かれています: イベント ドリブン ソケット接続、ハートビート ソケット接続、およびイベント データ URL. BACnet インターフェイスも存在し、別のドキュメントで説明されています。
API設計
API は、TCP/IP などの業界標準形式を使用して設計されています。 HTTP、HTTPS、および JSON。 この設計では、外部プログラムまたはアプリケーションの開発に使用する特別または独自の技術やライブラリは必要ありません。 API は柔軟で、必要なデータを正確に最も効率的な方法で配信するように構成およびプログラムできます。 上記の各セクションの操作の詳細については、このガイドの以降のセクションで説明します。
外部メッセージ
この機能は、イベントがトリガーされた (設定された) ときに、アラートまたはアラームとイベント データを外部プログラム、VMS システム、サーバーなどに配信するために使用されます。 オプションのメッセージを有効にして、イベントがクリア (リセット) されたときに通知することもできます。 この配信は、TCP/IP ソケットまたは HTTP/S サーバーに対してリアルタイムで行うことができます。 カスタマイズ可能なコンテンツを備えた一連の構成可能なプロトコルがあります。 認証と暗号化が利用可能です。
ハートビート
ハートビート メッセージは、(イベントがトリガーされたときではなく) 構成可能な間隔で送信され、ライブ/可用性の証拠を提供します。 外部メッセージングと同様の範囲の機能を備えていますが、通常、特定のイベントに関する詳細ではなく、一般的な状態情報を含むように構成されます。
イベントデータ URL
この機能は NDA の下でのみ利用可能であり、外部プログラムがすべてのイベント値、しきい値、および状態フラグへのアクセスを必要とする場合にのみ使用する必要があります。 このデータは通常、外部プログラムによってオンデマンドで取得されますが、それほど頻繁には取得されません。 通常、この方法では、適度なポーリング レートが使用されている場合、ある程度の遅延が発生します。 一般的なポーリング レートは、5 分間に XNUMX 回から XNUMX 秒に XNUMX 回の範囲で、絶対最大レートは XNUMX 秒に XNUMX 回です。 このメソッドを使用して、イベント (アラート) を受信したときに追加のサポート データを取得することもできます。
外部メッセージの詳細
HALOの一部 web インターフェイス統合ポップアップは、さまざまな値をリモート TCP ソケットまたは HTTP/HTTPS サーバーに送信できる単一のサードパーティ接続の構成を提供します。 プレースホルダー (トークン) は、送信されたテキストにライブ値を挿入するために使用されます。 「外部メッセージング」というラベルが付いていますが、このチャネルは、リアルタイムのイベント トリガーを必要とするほぼすべての目的に使用でき、HALO によって積極的に配信されます。 「Actions」での選択によって、どの HALO イベントがこのチャネルを介して送信されるかが決まるため、この配置は非常に柔軟です。
HTTP モードでは、Set および Reset Strings は URLs は、目的の宛先サーバーの要求に応じて入力およびフォーマットする必要があります。 ユーザーとパスワードのフィールドは、認証に使用できます。 以下の HTTP モードを参照してください。
TCP モードでは、セットおよびリセット文字列は、受信側の TCP ソケットに送信される単一メッセージのデータのみです。 宛先の必要に応じてフォーマットできます。 宛先は、[アドレス] フィールドと [ポート] フィールドで指定されます。 以下の TCP モードを参照してください。
どちらのモードでも、最新のメッセージのステータスが表示され、接続やその他の問題の修正に役立ちます。 Actions ポップアップの Event TEST ボタンを使用して、メッセージを強制することができます。
これらのタイプのメッセージを有効にするには、セットまたはリセットのグローバル オン/オフをオンにする必要があります。 イベントの開始のみが重要なため、リセットは使用されないことがよくありますが、それはさまざまです。 各イベントは、アクション ポップアップでセット メッセージまたはリセット メッセージのどちらを使用するかを個別に指定できます。 目玉ボタンには、キーワードの置換と書式設定後に送信される内容の大まかな表現が表示されます。 Repeat Holdoff を使用すると、別のメッセージを送信する前に遅延させることで、頻繁に発生するメッセージを抑制することができます。 これは、イベントごとに個別に行われます。 HALO には、イベントの急速な再トリガーを防ぐために、15 秒のイベント保持時間が組み込まれています。 あるタイプのイベントが 1 分間に 60 つしか送信されないようにしたい場合は、Repeat Holdoff を XNUMX (秒) に設定できます。
ハートビートの詳細
ハートビート送信は、[アクション] ページとの対話がないことを除いて、上記と同様に機能します。 代わりに、[間隔] フィールドで構成されているように、定期的にハートビート送信が行われます。HTTP モードでは、セットおよびリセット文字列は URLs は、目的の宛先サーバーの要求に応じて入力およびフォーマットする必要があります。 ユーザーとパスワードのフィールドは、認証に使用できます。 以下の HTTP モードを参照してください。
ハートビートの主な目的は、HALO スマート センサーの寿命の証明をリモート アプリケーションに提供することですが、このメッセージを使用して、選択したセンサーまたは現在のイベント状態情報を送信することもできます。 元amp上記の le は、長い文字列パラメーターを送信します。 URL Halo 名、大部分のセンサー値、最後に Triggered=%ACTIVE% (空または現在トリガーされているイベントのリスト) が含まれます。
HTTP (および HTTPS) モード
外部メッセージングおよびハートビート文字列は、http: または https: にすることができます。 URL必要に応じて。 宛先サーバーの必要に応じて、パスとパラメーターを入力できます。 %NAME% (HALO デバイス名) や %EID% (イベント ID) などのキーワードを必要に応じて挿入でき、メッセージの送信時にそれぞれのデータに置き換えられます。 よく使用されるキーワードのリストがクイック リファレンス用に表示されます。
の URL パスには、キーワードとパラメータを含めることができます URL. パラメーターは、宛先サーバーに応じて、NAME=VALUE ペアまたは JSON オブジェクト、またはカスタム形式の場合があります。 元amp外部メッセージングのファイルには、トリガーされたイベントを示す %EID% が含まれます。
- https://server.com/event/%NAME%/%EID%
- https://server.com/event?location=%NAME%&event=%EID%
- https://server.com/event?{“location”:”:%NAME%”,”event”:”%EID%”}
ExampHeartbeat のファイルは、%ACTIVE% (現在トリガーされているイベント) またはセンサー値を追加する場合があります。
- https://server.com/alive?location=%NAME%&Triggered=%ACTIVE%
- https://server.com/event?{“location”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
%SENSOR:…% の値は、evtYYYYMMDD.csv ログの右側のセンサー列見出しにある名前を使用します。 file秒。 通常は次のとおりです。
宛先サーバーが GET 要求ではなく HTTP PUT または POST を好む場合は、 URL PUT: または POST: を使用します。 これとは別に、[JSONBODY] キーワードの後に JSON 形式のオブジェクトを追加することで、多くのサーバーで一般的な JSON ペイロードを追加できます。 元amp上:
PUT:https://server.com/event[JSONBODY]{"場所":"%NAME%","イベント":"%EID%"}
の URL 一般的な IP アドレス (および IPv6) とポートおよびユーザー パスワード オプションをサポートします。または、基本またはダイジェストなどの認証方法の宛先サーバーである必要がある場合は、ユーザー フィールドとパスワード フィールドを使用できます。
https://username:password@123.321.123.321:9876/event…
TCP モード
外部メッセージングおよびハートビート文字列は、アドレスおよびポート フィールドが宛先を指定するため、データ用です。 アドレスは名前、IPv4 および IPv6 をサポートします。
文字列は、上記の HTTP メッセージのデータ部分のようにフォーマットすることも、宛先サーバーの要求に応じてフォーマットすることもできます。
Examp外部メッセージングのファイルには、トリガーされたイベントを示す %EID% が含まれます。
場所=%NAME%、イベント=%EID%
{“場所”:”:%NAME%”,”イベント”:”%EID%”}
ExampHeartbeat のファイルは、%ACTIVE% (現在トリガーされているイベント) またはセンサー値を追加する場合があります。
場所=%NAME%&トリガー=%ACTIVE%
{“場所”:”:%NAME%”,”NH3”:%SENSOR:NH3%}
「統合セット」列と「統合リセット」列のチェックボックスは、どのイベントが送信をトリガーするかを決定します。 イベントとアクションのセットアップの詳細については、HALO 管理者ガイドを参照してください。
JSON イベント メッセージの配信
一部の開発者は、プレーンな ASCII テキストではなく、業界標準の自己ラベル付けされた JSON としてフォーマットされたイベント データを受け取ることを好みます。これは、前者の方が信頼性が高く、解析が容易であるためです。 ヘイローについて web ページの「メッセージング」タブでは、「外部メッセージング」設定の「文字列の設定」と「文字列のリセット」、および「ハートビート」の「メッセージ」で JSON メッセージを指定できます。
Exampレ:
「外部メッセージ」設定セット文字列:
{ "デバイス":"%NAME%", "イベント":"%EID%", "アラーム":"はい" }
これにより、単一の TCP または UDP JSON メッセージが指定されたサーバーに送信され、フレンドリ デバイス名、イベント名、および開始したことを報告します。
「外部メッセージ」設定のリセット文字列:
{ "デバイス":"%NAME%", "イベント":"%EID%", "アラーム":"いいえ" }
これにより、単一の TCP または UDP JSON メッセージが指定されたサーバーに送信され、わかりやすいデバイス名、イベント名、および状態が停止したことが報告されます。
「ハートビート」メッセージ:
{ "デバイス":"%NAME%", "生きている":"%DATE% %TIME%" }
これにより、TCP または UDP JSON メッセージが指定されたサーバーに定期的に送信され、指定された時間に HALO が有効であることを報告します。
ドキュメント / リソース
![]() |
ソフトウェア HALO Smart Sensor API 基本ソフトウェア [pdf] ユーザーガイド HALO Smart Sensor API 基本ソフトウェア |