インテグレーションは特定デバイスのステートを外部サービスと連携するサービスです。
obniz Nowの外部サービスやHTMLなどで簡単に機器の情報を取得することができます。
インテグレーションの概要
インテグレーションは1つの機器(マシン)に対して1つ以上設定することができ、設定後1分以内には適用が完了し転送可能となります。
インテグレーションは送信先やフォーマットの変換を定義し、認証キーなどを設定します。
インテグレーションの作成
インテグレーション作成画面でインテグレーションを追加から追加できます。

インテグレーションでは以下を指定し作成することができます。
- 連携先 - RestAPIやGoogle Pub/Subなどが選択可能です。
- マシン - ステートを連携させる対象マシンです。複数指定可能です。
- スキーマ - ステートの変換式です。jsonでの連携時のキーや値の変換を規定できます。
- 送信間隔 - obniz Nowから送信する場合のタイミングを指定できます。
連携先
利用可能な連携先は下記となります。
| 連携先 | 概要 | 必要な設定 |
| Google Pub/Sub | Google Pub/Subにデータをpublishします | 送信先のトピックと認証情報が必須です |
| REST API Push(未公開機能) | REST API(HTTPSリクエスト)にてデータをPOSTします | 送信先URLの設定が必須です。 ヘッダーをカスタマイズ可能です。 |
| REST API Pull(未公開機能) | REST APIのエンドポイントを生成可能です。 API KeyでのGETリクエストが可能となります。 | API Keyの発行が必要です。 |
スキーマ設定
各マシン(obnizデバイスやセンサーそれぞれ)が保有して保存しているセンサーをどのようなキー・値で出力できるかをスキーマとして設定できます。どのキーをどのキーとして出力するかを1つずつ対応表として設定できます。
どのような値が存在しているかは選択しているマシンと設定によって異なります。
例えばobnizデバイスであればonlineなどの接続状態、温度センサーであればtemperatureといった温度やBluetoothの電波強度などが含まれます。
変換先のパスを指定して追加することでスキーマの構築が可能です。

例えばtemperatureをtempというキーに。rssiをrssiとするjsonにする場合は以下のような設定となります。

「Transform Data」を押すことで現在設定しているマシンで値の変換を試すことができます。

時間と個体識別
送信時のtimestampフォーマットとdevice_id(どのマシンから送信されるかの特定名)を変更できます。
「フォーマット」よりフォーマットを選択し、タイムゾーン設定が必要な場合は「タイムゾーン」より選択してください。


個体識別は
- マシン名またはマシンIDのいずれかを送信
- 送信時のキーは任意に設定可能。デフォルトはdevice_id
となっています。標準では「マシン名」が「device_id」キーで文字列として送信されます。