本記事では、Neat Pulse APIを使用して、Neat Pulseに登録されている複数の会議室について、温度、湿度、CO2eq、VOC、人数などのセンサーデータをPowerShellで一覧表示する方法をご案内します。
事前準備
以下をご準備ください。
- Neat Pulse APIが利用可能な環境
- Neat PulseのOrganization ID
- Read権限を持つAPI Key
- Windows PowerShell(※管理者として実行する必要はありません。)
手順
API Keyを作成する
注:作成時に表示されるAPI Keyは再表示できないため、安全な場所に保管してください。またAPI Keyは認証情報となるため、第三者に共有しないようご注意ください。
- Neat Pulseへサインインし[Settings]>[API keys]を開きます。
- Create API keyを選択します。
- 任意の名前を入力します。
- 権限で[Read]を選択します。
- [Create]をクリック後表示されたAPI Keyの値を安全に保管します。
Organization IDを確認する
- Neat PulseのSettings画面から、Organization IDを確認します。
- Organization IDは、APIで対象のNeat Pulse Organizationを指定する際に使用します。
センサーデータを取得する
Windows PowerShellを起動し、以下のコマンド内の<API_KEY>と<ORGANIZATION_ID>を、お客様の値に置き換えて実行します。
$orgId = "<ORGANIZATION_ID>"
$token = "<API_KEY>"
$headers = @{
Authorization = "Bearer $token"
Accept = "application/json"
}続けて、Neat Pulseに登録されている会議室情報を取得します。
$response = Invoke-RestMethod `
-Uri "https://api.pulse.neat.no/v1/orgs/$orgId/endpoints" `
-Headers $headers `
-Method Getコマンド実行時にエラーが表示されなければ、APIからのレスポンスは $response に格納されています。
会議室の一覧を表示する
以下を実行すると、Neat Pulseに登録されている会議室名とRoom IDを一覧表示できます。
$rooms = $response.endpoints |
Select-Object roomId, roomName |
Sort-Object roomId -Unique
$rooms | Format-Table -AutoSizeセンサーデータを一覧表示する
各会議室について、温度、湿度、CO2、VOC、人数などのセンサーデータを取得します。
$results = foreach ($room in $rooms) {
try {
$r = Invoke-RestMethod `
-Uri "https://api.pulse.neat.no/v1/orgs/$orgId/rooms/$($room.roomId)/sensor" `
-Headers $headers `
-Method Get
$data = $r.roomData.data | Select-Object -First 1
[PSCustomObject]@{
RoomName = $room.roomName
Temperature = [math]::Round($data.temp, 1)
Humidity = [math]::Round($data.humidity, 1)
CO2_ppm = $data.co2
VOC_ppb = $data.voc
People = $data.people
}
}
catch {
# センサーデータを取得できないRoomはスキップします
}
}
$results | Format-Table -AutoSize正常に取得できた場合、以下のように一覧表示されます。
RoomName Temperature Humidity CO2_ppm VOC_ppb People -------- ----------- -------- ------- ------- ------ Meeting Room A 24.6 35.4 400 155 1 Meeting Room B 25.1 41.2 520 280 3
補足
本手順では、Neat Pulseに保存されている最新のセンサーデータをAPI経由で取得します。
取得できる主な情報は以下です。
- 温度(Temperature)
- 湿度(Humidity)
- CO2eq(CO2_ppm)
- VOC(VOC_ppb)
- 人数(People)
取得可能な項目は、利用しているNeatデバイスの機種や構成によって異なります。また、センサーデータが存在しない会議室では、APIからデータを取得できない場合があります。
本手順は、センサーデータの履歴収集を自動的に有効化するものではありません。履歴を保持する場合は、APIを定期的に実行し、取得したデータをCSVファイルやデータベースなど、お客様環境の保存先へ蓄積する仕組みを別途ご用意いただく必要があります。
参照資料
__________________________________________________________________________
Zoomに関するご要望はこちらから
今後のコンテンツやサービスの検討のため、ぜひ忌憚なきご意見をお寄せください
※こちらにご記入いただいた内容は外部公開はされません
※お問い合わせフォームではございませんので、回答が必要なご質問については営業/ 当社サポートまでお問い合わせください