ルーム分析
部屋の予約と占有センサー データを組み合わせることで、不動産や施設管理者が部屋の使用率をよりよく理解、分析、最適化するための重要な分析情報が提供されます。 実際の占有率を示すセンサー データと共に、意図された部屋の使用を反映する予約データを分析することで、マネージャーは占有率と予約の動作を理解し、高いノーショー レートを特定できます。 このデータは、マネージャーが会議室の可用性に関するより良い意思決定を行うのに役立ちます。
使用する意図に基づく部屋の使用率
ルーム分析では、会議室の予約データを使用して、会議室の意図された使用を追跡し、計画された部屋の占有率に関する分析情報を提供します。
予約データは、毎日実行されるサービスを通じて、テナントに関連付けられている Exchange 上のすべての会議室メールボックスから収集されます。
実際の占有率に基づく部屋の使用率
ルーム分析では、占有信号を使用して実際の人の存在を検出し、実際の部屋の使用を測定できます。
現在、Microsoft は次の占有シグナルをサポートしています。
- CRS (Teams 会議からの通話レコードの概要)
- MTR(Microsoft Teamsルーム)
- その他の占有率または人数センサー
CRS データのオンボード
通話レコードの要約されたシグナルには、Teams 会議の開始時刻と終了時刻が含まれています。これは、会議室の占有率を推測するために使用できます。 CRS データは、基板インテリジェンス プラットフォーム (SIP) チームによって SIGS データセットに発行されます。
CallRecordSummarized シグナルは、イベント時刻の 4 日後に SIGS データセットで使用できます。 そして、それは28日間利用可能なままです。
CRS を有効にするプロセス
現在、CRS は、NAM、EUR、JPN、APAC の主要リージョンでサポートされています。 organizationがサポートされているいずれかのリージョン内にある場合、CRS データ オンボード プロセスは完全に自動化されます。
データ統合に手動で操作する必要はありません。 サポートされているリージョン内にあることがシステムによって検出されると、データ フローが自動的に開始されます。
データセット スキーマ
列 | 種類 | 説明 |
---|---|---|
AadTenantId | String | レコードのテナント ID。 これは、データをテナント コンテナーにパーティション分割し、パーティションの後に削除するために使用 されます 。 |
ActorId | String | アクターのMicrosoft Entra ID。ユーザーまたは部屋を指定できます。 後で、会議室インベントリから会議室 ID と結合して、会議室からシグナルを取得するために使用されます。 |
StartTime | String | 会議室が占有されていることを示す会議の開始時刻。 |
EndTime | String | 会議の終了時刻。会議室が占有されなくなった場合を示します。 |
PrimarySmtp | String | ユーザーまたは会議室の SMTP。 |
ActorIdType | String | アクター ID の種類。これはMicrosoft Entra IDする必要があります。 この文字列はデバッグに使用されます。 |
ActorType | String | アクターの種類。これは、人や部屋に関係なく、常に "ユーザー" です。 |
CreationTime | String | このレコードの作成時刻。 |
DatasetCategory | String | データセット カテゴリ。商用または MSIT を指定できます。 |
SignalType | String | CallRecordSummarized。これは SIGS データセット内のシグナル型です。 |
MTR データのオンボード
MTR シグナルには、Teams 会議の開始時刻と終了時刻が含まれています。これは、会議室の占有率を決定するために使用できます。 このシグナルは CRS シグナルと同じですが、テナント管理者によって手動でエクスポートおよびアップロードされます。そのため、CRS の代わりに使用することも、テナントのオンボード前にテストに使用することもできます。
MTR を有効にするプロセス
MTR データをダウンロードします。
次のスキーマを使用して、データを CSV 形式に書式設定します。
次の例は、CSV サンプル ファイルの内容を示しています。
ConferenceId,MeetingId,StartTime,EndTime,CallParticipants,DurationSeconds,alias,Display name,Device Type 3f60f7d2-cbb9-4493-9681-05400035e728,meeting_15cd6425-ff12-4b7f-b360-2d880748de48,2024-08-01 04:30:00,2024-08-01 06:00:00,19,5400.0,user,Floor6-NonOnboarded-Room4,MTR c0aad920-430e-4dc0-bd05-09d93c44213f,meeting_02fdae08-e742-4bd7-a5c8-fb4c59235a7f,2024-08-01 07:30:00,2024-08-01 08:30:00,11,3600.0,user,Floor6-NonOnboarded-Room4,MTR
Push-Dataset コマンドレットを実行して、データをアップロードします。
次の例は、Push-Dataset コマンドレットを示しています。
PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "C:\Datasets\Datasets\TeamsDeviceCalls"
注:
path パラメーター内で、CSV ファイルが存在するフォルダー名を指定します。 MTR データでは、履歴データ インジェストのみがサポートされます。
Push-Dataset コマンドレットを使用する手順
PowerShell 7 (管理者としてではなく) を開きます。
次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。
Import-Module -Name MicrosoftPlaces
次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。
Connect-MicrosoftPlaces
次の Places PowerShell コマンドレットを実行して、(フォルダーとパスを使用して) デバイス上の場所からデータセットをアップロードします。
PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "<path-to-csv-file-folder>"
ルーム分析のデータセット スキーマ
列 | 種類 | 説明 |
---|---|---|
ConferenceId | String | 会議 ID。 |
MeetingId | String | 会議 ID。 |
StartTime | String | 会議が開始される UTC 時刻。 |
EndTime | String | 会議が終了する UTC 時刻。 |
CallParticipants | String | 会議に参加した参加者の数。 |
DurationSeconds | String | 会議の期間。 |
alias | String | MTR デバイスを一意に識別するエイリアス。 |
表示名 | String | このフィールドには、会議室の名前が含まれます。 |
デバイスの種類 | String | デバイスの種類は常に "MTR" です (この場合)。 |
占有率センサーと人数センサーの接続は、4 つの手順で行われます。
- デバイスのオンボード。
- テレメトリのアップロード。
- リアルタイムテレメトリインジェスト。
- データがPlacesで使用可能であることを確認します。
デバイスのオンボーディング
最初の手順では、デバイスが Microsoft Places の PlaceId にマップされる方法など、デバイス メタデータを含む CSV ファイルをアップロードします。 この手順は、テレメトリがPlacesに達したときにコンテキスト化するのに役立ちます。
次の図は、デバイスとセンサーをPlacesにオンボードする方法を示しています。
まず、デバイス データを準備する必要があります。
Microsoft Placesから場所情報をダウンロードします。 まず、次 の PowerShell コマンドレットを実行して PowerShell 7 をインストールします。 Windows での PowerShell の詳細については、「Windows への PowerShell のインストール」を参照してください。
Install-Module -Name ExchangeOnlineManagement Import-Module -Name ExchangeOnlineManagement Connect-ExchangeOnline
管理者として PowerShell を開き、次の ExchangeOnline PowerShell コマンドを実行して、アカウントに必要な TenantPlacesManagement ロールがあるかどうかをチェックし、ユーザー名が一覧表示されていることを確認します。
Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
適切なアクセス許可がある場合は、次の名前と割り当てられたロールが表示されます。
- 名前: PlacesAdmin
- 割り当てられたロール: TenantPlacesManagement
建物の PlaceId を取得するには、新しい PowerShell ウィンドウを開き、次のWindows PowerShellコマンドレットを実行します。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force Connect-MicrosoftPlaces
次のコマンドを実行して、フロアと部屋の一覧をダウンロードします。
$buildingName = “” $allPlaces = Get-PlaceV3 | Select-Object PlaceId, DisplayName, Type, ParentId $building = $allPlaces | Where-Object { $_.DisplayName -eq $buildingName -and $_.Type -eq "Building" } $floors = $allPlaces | Where-Object { $_.ParentId -eq $building.PlaceId } $spacesAndRooms = $floors | ForEach-Object { $floor = $_; $allPlaces | Where-Object { $_.ParentId -eq $floor.PlaceId } } $places = @() $floors | ForEach-Object { $places += $_ } $spacesAndRooms | ForEach-Object { $places += $_ } $outputPath = 'C:\places.csv' $places | Select-Object PlaceId, DisplayName, Type | Export-Csv -Path $outputPath -NoTypeInformation
CSV ファイル パスの出力ファイルには、次の情報が含まれている必要があります。
PlaceId DisplayName 型 5d275bba-5d7d-487f-855e-75cd2943204f フロア 1 Floor 0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Conf Room 1202/3455 (9) Room すべてのデバイスを含む、パートナー ソリューションまたはシステムからデバイス メタデータをダウンロードします。
PlacesDevice の次のデータ形式を使用して、スクリプトを使用するか、デバイスを PlaceId に手動でマップします。
列 | 説明 | Notes | 例 |
---|---|---|---|
DeviceId (必須) | デバイスの一意識別子 (推奨: Manufacturer_DeviceUniqueId)。 | 送信されるテレメトリの ID と一致する必要があります。 | Manuf1_3455 |
DisplayName | デバイスの表示名。 | 該当する場合は、フレンドリ名を使用できます。 | Manuf1_3455 |
説明 | デバイスの説明。 | ||
MacAddress | デバイスの Mac アドレス。 | 提供されたサプライヤー (使用可能な場合)。 | |
製造元 (必須) | デバイスの製造元。 | IT 管理者が提供します。 | Manuf1 |
IPV4Address | デバイスの IPV4Address。 | 提供されたサプライヤー (使用可能な場合)。 | |
IPV6Address | デバイスの IPV6Address。 | 利用可能な場合は提供されるサプライヤー。 | |
PlaceId (必須) | デバイスがPlacesにマップされる PlaceId。 | IT 管理者は、会議室の一覧から DeviceID を DisplayName フィールドにマップします。 | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
タグ | 検索に役立つデバイスに関連付けられているカスタム タグの一覧。 | [ "IsVirtual_False","Building_121"] | |
Sensor.SensorId (必須) | デバイス内のセンサーの一意識別子。 | 標準のテレメトリ ペイロードに含まれている必要があります。 | PeopleCount、占有率 |
Sensor.DisplayName | センサーの表示名。 | フレンドリ名 (該当する場合) を使用できます。 | 占有率、PeopleCount |
Sensor.SensorType (必須) | センサーの種類。 | 検証済みリスト (例を参照)。 | クリップ |
Sensor.PlaceId | センサーによって提供される場所の一意の識別子 (センサーがデバイスの場所とは異なる場所にある場合にのみ、この情報を提供する必要があります)。 | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
デバイスとセンサーの一般的なガイドライン
Manufacturer_DeviceUniqueIdとして DeviceId を指定することをお勧めします。 ただし、パートナーがデバイス レベルでテレメトリを送信できない場合 (たとえば、複数のデバイスからのテレメトリを結合するなど)、仮想 DeviceId をManufacturer_Building_VirtualDeviceIdとして作成できます。 この場合、VirtualDeviceId はスペースの自然なキーになる可能性があります。 顧客が VirtualDeviceId を提供している場合は、テレメトリの計算元となる物理デバイスに関する情報を含める必要があります。 物理デバイス情報はタグに含めることができます。
Sensor.SensorType がデバイスに対して一意の場合は、SensorType のみを指定する必要があります。 デバイスの特定のセンサーの種類に対して複数のデータ ストリームがある場合は、一意の SensorId が必要です。 SensorType と SensorId は、ほとんどの場合、デバイスに対して SensorType が一意でない限り、PeopleCount、占有率などです。 この場合、SensorId は識別子SensorType_SomeUnique。
デバイス メタデータが準備されると、次の方法でデバイス情報をMicrosoft Placesにアップロードできます。
- PowerShell コマンドレットを使用する
- Microsoft Graph API の使用
PowerShell コマンドレットを使用する
デバイスを個別に管理するために、Microsoft Places PowerShell コマンドレットを直接使用できます。 Places コマンドレットの詳細については、PowerShell 用の Microsoft Places コマンドレット モジュールに関するページを参照してください。
注:
コマンドレットを実行するには、TenantPlacesManagement ロールが割り当てられている必要があります。
コマンドレット名 | 説明 | パラメーター |
---|---|---|
New-PlaceDevice | 新しいデバイスを作成します | DeviceId (必須)、DisplayName、Description、MACAddress、製造元 (必須)、IPV4Address、IPV6Address、PlaceId (必須)、タグ、センサー (必須) |
Remove-PlaceDevice | デバイスを削除します | ID (必須) |
Set-PlaceDevice | デバイスのUpdates | ID (必須)、DeviceId (必須)、DisplayName、Description、MACAddress、製造元 (必須)、IPV4Address、IPV6Address、PlaceId、タグ、センサー (必須) |
Get-PlaceDevice | デバイスを取得します | ID、フィルター、上部 |
PowerShell 7 (管理者としてではなく) を開きます。
次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。
Import-Module -Name MicrosoftPlaces
モジュールをインストールしてインポートした後、次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。
Connect-MicrosoftPlaces
次 New-PlaceDevice 示すコマンドレットの例を使用して、デバイスを追加します。 Sensors パラメーターは、上記のフィールドを持つ MicrosoftPlaces.PlacesDevices.Sensor 型のオブジェクトです。
New-PlaceDevice -DeviceId "contoso_9D6816" -DisplayName "Contoso 9D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="occupancy"})
Get-PlaceDevice を使用して、デバイスの一覧を表示します。 既定では、10 台のデバイスが返されます。 より多くのデバイスを返すには、次に示すように -top パラメーターを追加します。
Get-PlaceDevice -top 100
Set-PlaceDevice を使用して、既存の ID でデバイスを更新します。
Set-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e" -DeviceId "contoso_7D6816" -DisplayName "Contoso 7D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="peopleCount"})
Remove-PlaceDevice を使用してデバイスを削除します。
Remove-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e"
Microsoft Graph API の使用
プロセスを変更したり、既存のシステムを自動化したり統合したりするために、Microsoft Graph API を使用できます。
API を使用するには、次の手順に従います。
Microsoft Entra.im でアプリの登録を作成します。 PlaceDeviceRead.All および PlaceDevice.ReadWrite.All アクセス許可の詳細については、「 Microsoft Graph のアクセス許可リファレンス」を参照してください。
アプリケーションをビルドしてデプロイし、Microsoft Placesとパートナー間でデバイス情報を同期します。
センサー デバイスの詳細については、次の Microsoft Graph API とデバイスのドキュメントを参照してください。
- sensorDevices の一覧表示
- workplaceSensorDevice を作成する
- workplaceSensorDevice を取得する
- workplaceSensorDevice を更新する
- workplaceSensorDevice を削除する
- デバイスの表示の詳細については、「 list sensorDevices」を参照してください。
- 新しいデバイスの作成の詳細については、「 workplaceSensorDevice の作成」を参照してください。
サンプル デバイス:
POST https://graph.microsoft.com/beta/workplace/sensorDevices
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- 特定のデバイスを表示する方法については、「 Get workplaceSensorDevice」を参照してください。
例:
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/<workplacesensordevice-id>
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
サンプル応答:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET workplace/sensorDevices('<guid>')?$select=description,deviceId",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- 既存のデバイスの更新の詳細については、「 WorkplaceSensorDevice の更新」を参照してください。
例:
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
サンプル応答:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- デバイスの削除の詳細については、「 WorkplaceSensorDevice の削除」を参照してください。
例:
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/<workplaceSensorDevice-Id>
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/052062b9-38f6-48d4-a638-05a72c79419b
テレメトリのアップロード
デバイスをMicrosoft Placesにオンボードしたら、履歴データの 1 回限りのバックフィルを実行して、Placesに履歴テレメトリを設定できます。 その後、デバイスから継続的なテレメトリを受信して最新の状態を維持するようにPlacesを構成できます。 次の図は、バックフィル ファイルのアップロード フロー (上半分) と継続的なデバイス テレメトリ フロー (下半分) の概要を示しています。
オプション 1: Push-Dataset コマンドレットを使用する
Microsoft Placesは、特定の CSV ファイル形式とスキーマで履歴データを受け入れます。 このデータを既存のシステムからエクスポートしてから、次の PowerShell コマンドレットを使用してデータをアップロードする必要があります。
コマンドレット名 | 説明 | パラメーター | 例 |
---|---|---|---|
Push-Dataset | データセットを ADLS にアップロードします。 | 型、パス | Push-Dataset -Type RoomOccupancy -Path C:\sensordata\ |
注:
種類は RoomOccupancy と PeopleCount です。 TenantPlacesManagement にロールを割り当てる必要があります。 PowerShell コマンドレットの詳細については、Microsoft Places PowerShell ギャラリーに関するページを参照してください。
PowerShell 7 (管理者としてではなく) を開きます。
次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。
Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。
Import-Module -Name MicrosoftPlaces
次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。
Connect-MicrosoftPlaces
次の Places PowerShell コマンドレットを実行して、(フォルダーとパスを使用して) デバイス上の場所からデータセットをアップロードします。
Push-Dataset -Type RoomOccupancy -Path <folder path>
PeopleCount の CSV ファイル形式
列名 | 列の順序 | コメント | 例 |
---|---|---|---|
DeviceId | 1 | デバイス ID。 | Manuf1_1202_3455 |
SensorId | 2 | センサー ID。 | PeopleCount |
値 | 3 | 符号なし整数。 | PeopleCount (符号なし整数、たとえば 5)。 |
IngestionTime | 4 | テレメトリからのタイムスタンプ (UTC 形式)。 | 2023-06-27T18:24:20.808Z |
locationHint | String | デバイスの場所を示す追加情報。 | Building-1 |
サンプル CSV:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
占有率の CSV ファイル形式
列名 | 列の順序 | コメント | 例 |
---|---|---|---|
DeviceId | 1 | デバイス ID。 | Manuf1_1202_3455 |
SensorId | 2 | センサー ID。 | RoomOccupancy |
値 | 3 | 符号なし整数。 | 占有率: True または False。 |
IngestionTime | 4 | テレメトリからのタイムスタンプ (UTC 形式)。 | 2023-06-27T18:24:20.808Z |
locationHint | String | デバイスの場所を示す追加情報。 | Building-1 |
サンプル CSV:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:30:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,false, 2023-06-27T18:40:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,true, 2023-06-27T18:45:20.808Z,building1
オプション 2: Microsoft Graph APIを使用して自動化する
テレメトリのアップロードを自動化するアプリケーションを構築し、デバイスの登録とオンボードを自動化するアプリケーションを構築するには、Microsoft Graph を通じて API を使用できます。 API を使用するには、次の手順に従います。
Microsoft Entraでアプリ登録を作成します。 PlaceDeviceRead.All および PlaceDevice.ReadWrite.All アクセス許可の詳細については、「 Microsoft Graph のアクセス許可リファレンス」を参照してください。
アプリケーションを構築してデプロイし、Microsoft Placesとパートナー間でテレメトリを同期します。
IngestTelemetry API を使用して占有率をプッシュし、ユーザーがデータをMicrosoft Placesにカウントします。
ワークプレース センサーの取り込みセンサー テレメトリの詳細と、IngestTelemetry API の詳細については、「 workplaceSensorDevice: ingestTelemetry」を参照してください。
Microsoft Graph APIを使用してユーザー数データをMicrosoft Placesにプッシュするには
- 前に説明したように、既存のシステムからデータをダウンロードします。
- 次の占有率データ信号データ形式に基づいてテレメトリを準備します。
占有データ信号データ形式
パラメーター | 型 | 説明 |
---|---|---|
テレメトリ (必須) | workplaceSensorDeviceTelemetry | 会議室デバイス上のセンサーによって収集および報告されるテレメトリ データのコレクション。 |
deviceId (必須) | String | 作成時に指定されたデバイスのユーザー定義の一意識別子。 デバイスのシステム生成識別子を使用しないでください。 new-device コマンドレットのみを使用してオンボードされたデバイス ID を使用します。 |
sensorId | String | デバイス上のセンサーのユーザー定義の一意識別子。 デバイスに同じ種類のセンサーが複数ある場合は、各センサーを識別するために プロパティを指定する必要があります。 デバイスに 1 つの型のセンサーが 1 つだけ存在する場合は、 プロパティを省略できます。 既定値はセンサーの種類です。 オプション。 |
boolValue (必須) | ブール型 | 部屋が占有されているかどうかに基づいて、True または false。 |
timestamp (必須) | DateTimeOffset | センサーがその値を測定して報告した日時。 タイムスタンプの種類は、ISO 8601 形式を使用して日付と時刻の情報を表し、常に UTC です。 たとえば、2024 年 1 月 1 日の午前 0 時 UTC は 2024-01-01T00:00:00Z です。 |
sensorType (必須) | workplaceSensorType | 駐屯 |
LocationHint (必須) | String | デバイスの場所を示すために使用される追加情報。 |
Peopleカウント データ信号データ形式
パラメーター | 型 | 説明 |
---|---|---|
テレメトリ (必須) | workplaceSensorDeviceTelemetry | 会議室デバイス上のセンサーによって収集および報告されるテレメトリ データのコレクション。 |
deviceId (必須) | String | 作成時に指定されたデバイスのユーザー定義の一意識別子。 デバイスのシステム生成識別子を使用しないでください。 new-device コマンドレットのみを使用してオンボードされたデバイス ID を使用します。 |
sensorId | String | デバイス上のセンサーのユーザー定義の一意識別子。 デバイスに同じ種類のセンサーが複数ある場合は、各センサーを識別するために プロパティを指定する必要があります。 デバイスに 1 つの型のセンサーが 1 つだけ存在する場合は、 プロパティを省略できます。 既定値はセンサーの種類です。 オプション。 |
intValue (必須) | Int32 | 部屋を占有している人数。 |
timestamp (必須) | DateTimeOffset | センサーがその値を測定して報告した日時。 タイムスタンプの種類は、ISO 8601 形式を使用して日付と時刻の情報を表し、常に UTC です。 たとえば、2024 年 1 月 1 日の午前 0 時 UTC は 2024-01-01T00:00:00Z です。 |
sensorType (必須) | workplaceSensorType | peopleCount |
LocationHint (必須) | String | デバイスの場所を示す追加情報。 |
- API を実行して、データをMicrosoft Placesにプッシュします。
次のコマンドは、占有率のサンプル API 要求です。
{
"telemetry": [
{
"deviceId": "19966d8e-4434-477a-a38a-2df5651cd90f",
"sensorid":"6afe1ea7-82aa-451c-b2e1-48e48ca39ec0",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z",
"locationHint":"building1"
}
]
}
次のコマンドは、ユーザー数のサンプル API 要求です。
{
"telemetry": [
{
"deviceId": "457702f3-c58d-44fa-9d26-f153fcd27452",
"sensorid":"a7387ed0-b540-47b0-8170-bc9c80f6c5b9",
"sensorType": "peopleCount",
"intValue": 5,
"timestamp": "2023-06-27T18:24:20.808Z",
"locationHint":"building1"
}
]
}
リアルタイムテレメトリインジェスト
「スコープ」で説明されているコネクタには、リアルタイム テレメトリ インジェスト サービスを要求するために、次のアクセス許可が必要です。
- PlaceDeviceTelemetry.ReadWrite.All
管理者の同意を完了するか、選択したアーキテクチャに基づいてアクセス許可を持つMicrosoft Entra アプリケーションを作成する必要があります。 PlaceDeviceTelemetry.ReadWrite.All アクセス許可の詳細については、「 Microsoft Graph のアクセス許可リファレンス」を参照してください。
次の図は、テレメトリ インジェストのアーキテクチャの概要を示しています。
管理同意: アーキテクチャ、ハードウェア パートナー所有コネクタ (SaaS) と入力します
これらの統合の種類を選択するお客様は、テナント全体の管理者の同意を完了して、パートナー サービスに対してテレメトリを取り込むためのアクセス許可を付与する必要があります。
これは、ハードウェア プロバイダーがマルチテナント SaaS コネクタ (単一アプリとマルチテナント アプリ) を作成した場合に適用されます。 マルチテナント コネクタの詳細については、「Microsoft Entra IDのテナント」を参照してください。
サービスに代わってテレメトリを取り込むパートナーからアプリ ID (GUID) を取得します。
アプリ ID を使用してサービス プリンシパルを作成します。 選択できるオプションがいくつかあります。 詳細については、「Microsoft Entra IDでマルチテナント アプリケーションからエンタープライズ アプリケーションを作成する」を参照してください。
Microsoft Graph PowerShell、Graph、または Azure CLI を使用している場合は、ページの ID またはアプリ ID (前述のコマンドの) を置き換えてサービス プリンシパルを作成し、Azure のサービス プリンシパルで管理者の同意を付与します。
管理者の同意 URL を使用している場合は、ページのアプリ ID をパートナー アプリ ID に置き換え、ブラウザーで開きます。 サービス プリンシパルが作成され、管理者の同意を求められます。 管理者の同意を付与するには、[同意する] を選択します。
管理同意: 「B および C アーキテクチャ」と入力します。顧客のオンサイト環境で実行されているコネクタ
Microsoft Placesは、Microsoft Graph 上で公開されている標準形式でテレメトリを受け入れる API を利用できるようにします。 API は、テレメトリ メッセージのバッチを受け入れます。
タイプ B アーキテクチャの場合、お客様は、お客様の環境でオンサイトでホストされているハードウェア パートナーによって提供される統合に依存しています。
C 型アーキテクチャの場合、Azure 関数を使用して実行時間の長いプロセスまたはイベント ベースのプロセスを作成し、Microsoft Places API を呼び出して建物のテレメトリを送信できます。
B 型と C 型の両方の統合アーキテクチャでは、次の図に示すように、Microsoft Entraでアプリ登録を作成し、PlaceDeviceTelemetry.ReadWrite.All に管理者の同意を提供する必要があります。 Microsoft Graph によって公開されるアクセス許可の詳細については、「Microsoft Graph のアクセス許可リファレンス」を参照してください。
Microsoft Placesでデータが使用可能であることを確認する
デバイスがオンボードされ、API がライブ センサー データを取り込むと、Microsoft Places分析レポートの設定が開始されます。 ワークスペースの最適化に役立つ分析情報のロックを解除するには、72 時間以内にデータが分析ダッシュボードに流れているかどうかを確認します。