次の方法で共有


ルーム分析

部屋の予約と占有センサー データを組み合わせることで、不動産や施設管理者が部屋の使用率をよりよく理解、分析、最適化するための重要な分析情報が提供されます。 実際の占有率を示すセンサー データと共に、意図された部屋の使用を反映する予約データを分析することで、マネージャーは占有率と予約の動作を理解し、高いノーショー レートを特定できます。 このデータは、マネージャーが会議室の可用性に関するより良い意思決定を行うのに役立ちます。

使用する意図に基づく部屋の使用率

ルーム分析では、会議室の予約データを使用して、会議室の意図された使用を追跡し、計画された部屋の占有率に関する分析情報を提供します。

予約データは、毎日実行されるサービスを通じて、テナントに関連付けられている 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 を有効にするプロセス

  1. MTR データをダウンロードします。

  2. 次のスキーマを使用して、データを 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 
    
  3. Push-Dataset コマンドレットを実行して、データをアップロードします。

    次の例は、Push-Dataset コマンドレットを示しています。

PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "C:\Datasets\Datasets\TeamsDeviceCalls" 

注:

path パラメーター内で、CSV ファイルが存在するフォルダー名を指定します。 MTR データでは、履歴データ インジェストのみがサポートされます。

Push-Dataset コマンドレットを使用する手順

  1. PowerShell 7 (管理者としてではなく) を開きます。

  2. 次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. 次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。

    Import-Module -Name MicrosoftPlaces 
    
  4. 次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。

    Connect-MicrosoftPlaces 
    
  5. 次の 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 つの手順で行われます。

  1. デバイスのオンボード。
  2. テレメトリのアップロード。
  3. リアルタイムテレメトリインジェスト。
  4. データがPlacesで使用可能であることを確認します。

デバイスのオンボーディング

最初の手順では、デバイスが Microsoft Places の PlaceId にマップされる方法など、デバイス メタデータを含む CSV ファイルをアップロードします。 この手順は、テレメトリがPlacesに達したときにコンテキスト化するのに役立ちます。

次の図は、デバイスとセンサーをPlacesにオンボードする方法を示しています。

デバイスとセンサーをMicrosoft Placesにオンボードする方法を示す図。

まず、デバイス データを準備する必要があります。

  1. Microsoft Placesから場所情報をダウンロードします。 まず、次 の PowerShell コマンドレットを実行して PowerShell 7 をインストールします。 Windows での PowerShell の詳細については、「Windows への PowerShell のインストール」を参照してください。

    Install-Module -Name ExchangeOnlineManagement  
    
    Import-Module -Name ExchangeOnlineManagement  
    
    Connect-ExchangeOnline
    
  2. 管理者として PowerShell を開き、次の ExchangeOnline PowerShell コマンドを実行して、アカウントに必要な TenantPlacesManagement ロールがあるかどうかをチェックし、ユーザー名が一覧表示されていることを確認します。

    Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
    
  3. 適切なアクセス許可がある場合は、次の名前と割り当てられたロールが表示されます。

    • 名前: PlacesAdmin
    • 割り当てられたロール: TenantPlacesManagement
  4. 建物の PlaceId を取得するには、新しい PowerShell ウィンドウを開き、次のWindows PowerShellコマンドレットを実行します。

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force  
    
    Connect-MicrosoftPlaces
    
  5. 次のコマンドを実行して、フロアと部屋の一覧をダウンロードします。

    $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
    
  6. CSV ファイル パスの出力ファイルには、次の情報が含まれている必要があります。

    PlaceId DisplayName
    5d275bba-5d7d-487f-855e-75cd2943204f フロア 1 Floor
    0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Conf Room 1202/3455 (9) Room
  7. すべてのデバイスを含む、パートナー ソリューションまたはシステムからデバイス メタデータをダウンロードします。

  8. 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、フィルター、上部
  1. PowerShell 7 (管理者としてではなく) を開きます。

  2. 次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. 次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。

    Import-Module -Name MicrosoftPlaces 
    
  4. モジュールをインストールしてインポートした後、次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。

    Connect-MicrosoftPlaces
    
  5. 次 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"})
    
  6. Get-PlaceDevice を使用して、デバイスの一覧を表示します。 既定では、10 台のデバイスが返されます。 より多くのデバイスを返すには、次に示すように -top パラメーターを追加します。

    Get-PlaceDevice -top 100
    
  7. 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"}) 
    
  8. Remove-PlaceDevice を使用してデバイスを削除します。

    Remove-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e" 
    

Microsoft Graph API の使用

プロセスを変更したり、既存のシステムを自動化したり統合したりするために、Microsoft Graph API を使用できます。

API を使用するには、次の手順に従います。

  1. Microsoft Entra.im でアプリの登録を作成します。 PlaceDeviceRead.All および PlaceDevice.ReadWrite.All アクセス許可の詳細については、「 Microsoft Graph のアクセス許可リファレンス」を参照してください

  2. アプリケーションをビルドしてデプロイし、Microsoft Placesとパートナー間でデバイス情報を同期します。

センサー デバイスの詳細については、次の Microsoft Graph API とデバイスのドキュメントを参照してください。

サンプル デバイス:

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
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" 
        } 
    ] 
}

例:

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" 
        } 
    ] 
}

例:

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 回限りのバックフィルをMicrosoft 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 ギャラリーに関するページを参照してください。

  1. PowerShell 7 (管理者としてではなく) を開きます。

  2. 次のWindows PowerShell コマンドレットを実行して、Microsoft Placesをインストールします。 インストールMicrosoft Places詳細については、Microsoft Places PowerShell ギャラリーを参照してください。

    Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
    
  3. 次のWindows PowerShell コマンドレットを実行して、Microsoft Places モジュールをインポートします。

    Import-Module -Name MicrosoftPlaces 
    
  4. 次の Places PowerShell コマンドレットを実行して、Microsoft Places モジュールに接続します。

    Connect-MicrosoftPlaces 
    
  5. 次の 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 を使用するには、次の手順に従います。

  1. Microsoft Entraでアプリ登録を作成します。 PlaceDeviceRead.All および PlaceDevice.ReadWrite.All アクセス許可の詳細については、「 Microsoft Graph のアクセス許可リファレンス」を参照してください

  2. アプリケーションを構築してデプロイし、Microsoft Placesとパートナー間でテレメトリを同期します。

  3. IngestTelemetry API を使用して占有率をプッシュし、ユーザーがデータをMicrosoft Placesにカウントします。

ワークプレース センサーの取り込みセンサー テレメトリの詳細と、IngestTelemetry API の詳細については、「 workplaceSensorDevice: ingestTelemetry」を参照してください。

Microsoft Graph APIを使用してユーザー数データをMicrosoft Placesにプッシュするには
  1. 前に説明したように、既存のシステムからデータをダウンロードします。
  2. 次の占有率データ信号データ形式に基づいてテレメトリを準備します。
占有データ信号データ形式
パラメーター 説明
テレメトリ (必須) 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 のアクセス許可リファレンス」を参照してください

次の図は、テレメトリ インジェストのアーキテクチャの概要を示しています。

テレメトリ インジェストに使用されるアーキテクチャを示す図。

これらの統合の種類を選択するお客様は、テナント全体の管理者の同意を完了して、パートナー サービスに対してテレメトリを取り込むためのアクセス許可を付与する必要があります。

  1. これは、ハードウェア プロバイダーがマルチテナント SaaS コネクタ (単一アプリとマルチテナント アプリ) を作成した場合に適用されます。 マルチテナント コネクタの詳細については、「Microsoft Entra IDのテナント」を参照してください。

  2. サービスに代わってテレメトリを取り込むパートナーからアプリ ID (GUID) を取得します。

  3. アプリ ID を使用してサービス プリンシパルを作成します。 選択できるオプションがいくつかあります。 詳細については、「Microsoft Entra IDでマルチテナント アプリケーションからエンタープライズ アプリケーションを作成する」を参照してください。

Microsoft Graph PowerShell、Graph、または Azure CLI を使用している場合は、ページの ID またはアプリ ID (前述のコマンドの) を置き換えてサービス プリンシパルを作成し、Azure のサービス プリンシパルで管理者の同意を付与します。

[Microsoft Places統合のアクセス許可] ダイアログ ボックスを示すスクリーンショット。

管理者の同意 URL を使用している場合は、ページのアプリ ID をパートナー アプリ ID に置き換え、ブラウザーで開きます。 サービス プリンシパルが作成され、管理者の同意を求められます。 管理者の同意を付与するには、[同意する] を選択します。

[管理者のアクセス許可が要求されました] ダイアログ ボックスのスクリーンショット。

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 時間以内にデータが分析ダッシュボードに流れているかどうかを確認します。