會議室分析
會議室保留與佔用量感測器數據結合,可為房地產和設施管理員提供重要見解,以進一步瞭解、分析及優化房間使用率。 藉由分析反映預定房間使用量的保留數據,以及顯示實際佔用量的感測器數據,管理員可以瞭解佔用量和預約行為,並識別高無顯示率。 此數據可協助管理員針對會議室可用性做出更好的決策。
根據使用意圖的房間使用率
會議室分析會使用會議室保留數據來追蹤會議室的預期用途,以提供規劃的房間佔用量深入解析。
保留數據會透過每天執行的服務,從 Exchange 上與租使用者相關聯的所有會議室信箱收集。
根據實際佔用量的房間使用率
會議室分析會使用佔用量訊號來偵測人員的實際存在情況,以允許測量實際房間使用量。
目前,Microsoft支援下列佔用量訊號:
- 來自 Teams 會議的 CRS (通話記錄摘要)
- MTR (Microsoft Teams 會議室)
- 其他佔用量或人員計數感測器
將 CRS 數據上線
通話記錄摘要訊號包含 Teams 會議開始和結束時間,可用來推斷會議室佔用量。 CRS 資料是由 SIP (SIP) 小組發佈至 SIGS 數據集。
CallRecordSummarized 訊號可在事件後 4 天於 SIGS 數據集中使用。 它仍可使用 28 天。
啟用 CRS 的程式
這些主要區域目前支援 CRS:NAM、EUR、JPN 和 APAC。 如果您的組織位於其中一個支援的區域內,CRS 數據上線程式會完全自動化。
數據整合不需要手動動作。 一旦系統偵測到您位於支援的區域內,數據流就會自動啟動。
數據集架構
欄位 | 類型 | 描述 |
---|---|---|
AadTenantId | 字串 | 記錄的租用戶標識碼。 它用來將數據分割至租使用者容器,並在分割之後 卸 除。 |
ActorId | 字串 | 動作專案的 Microsoft Entra ID,可以是用戶或房間。 它稍後會用來與會議室清查中的會議室標識符聯結,以從會議室取得訊號。 |
StartTime | 字串 | 會議開始時間,表示會議室已佔用。 |
EndTime | 字串 | 會議結束時間,表示不再佔用會議室。 |
PrimarySmtp | 字串 | 人員或房間的 SMTP。 |
ActorIdType | 字串 | 動作項目標識碼類型,應 Microsoft Entra ID。 此字串用於偵錯。 |
ActorType | 字串 | 動作專案類型,不論人員或房間為何,一律為「使用者」。 |
CreationTime | 字串 | 此記錄的建立時間。 |
DatasetCategory | 字串 | 數據集類別,可以是商業或 MSIT。 |
SignalType | 字串 | 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 Cmdlet 來上傳數據。
下列範例顯示 Push-Dataset Cmdlet。
PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "C:\Datasets\Datasets\TeamsDeviceCalls"
注意事項
在path參數內,指定 CSV 檔案所在的資料夾名稱。 MTR 數據僅支援歷程記錄數據擷取。
使用 Push-Dataset Cmdlet 的步驟
開啟 PowerShell 7 (不是系統管理員) 。
執行下列 Windows PowerShell Cmdlet 來安裝 Microsoft Places。 如需 Microsoft Places 安裝的詳細資訊,請參閱 Microsoft Places PowerShell 資源庫。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
執行下列 Windows PowerShell Cmdlet 來匯入 Microsoft Places 模組。
Import-Module -Name MicrosoftPlaces
執行下列 Places PowerShell Cmdlet 來連線到 Microsoft Places 模組。
Connect-MicrosoftPlaces
執行下列 Places PowerShell Cmdlet,使用資料夾和路徑) ,從裝置上的位置上傳數據集 (。
PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "<path-to-csv-file-folder>"
會議室分析的數據集架構
欄位 | 類型 | 描述 |
---|---|---|
ConferenceId | 字串 | 會議標識碼。 |
MeetingId | 字串 | 會議標識碼。 |
StartTime | 字串 | 會議開始時的 UTC 時間。 |
EndTime | 字串 | 會議結束時的 UTC 時間。 |
CallParticipants | 字串 | 加入會議的參與者數目。 |
DurationSeconds | 字串 | 會議持續時間。 |
別名 | 字串 | 可唯一識別 MTR 裝置的別名。 |
顯示名稱 | 字串 | 此欄位包含會議室的名稱。 |
裝置類型 | 字串 | 在此案例中,裝置類型一律為 「MTR」 () 。 |
線上佔用量和人員計數感測器有四個步驟。
- 裝置上線。
- 上傳遙測。
- 即時遙測擷取。
- 確認數據可在 Places 中使用。
裝置上線
第一個步驟涉及上傳具有裝置元數據的 CSV 檔案,包括裝置如何對應至 Microsoft Places 中的 PlaceId。 此步驟有助於在遙測達到 Places 時將其內容化。
下圖顯示如何將裝置和感測器上線至 Places。
首先,必須準備裝置數據。
從 Microsoft Places 下載地點資訊。 首先,執行下列 PowerShell Cmdlet 來安裝 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
如果您有正確的許可權,您應該會看到下列名稱和指派的角色。
- 名稱:P lacesAdmin
- 指派的角色:TenantPlacesManagement
若要取得建築物的 PlaceId,請開啟新的 PowerShell 視窗,然後執行下列 Windows PowerShell Cmdlet。
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) 會議室 從合作夥伴解決方案或系統下載裝置元數據,包括所有裝置。
使用下列 PlacesDevice 數據格式,或手動將裝置對應至 PlaceId。
欄 | 描述 | 附註 | 範例 |
---|---|---|---|
需要 deviceId () | 建議 (裝置的唯一標識碼:Manufacturer_DeviceUniqueId) 。 | 必須符合傳送之遙測的標識碼。 | 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、Occupancy |
Sensor.DisplayName | 感測器的顯示名稱。 | 如果適用) ,您可以使用易記名稱 (。 | 佔用率、人員計數 |
Sensor.SensorType (必要) | 感測器的類型。 | 已驗證的清單 (請參閱範例) 。 | Paperclip |
Sensor.PlaceId | 感測器所提供之位置的唯一標識碼 (您只需要在感測器位於與裝置位置) 不同的位置時,才需要提供此資訊。 | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
裝置和感測器的一般指導方針
建議您提供 DeviceId 作為Manufacturer_DeviceUniqueId。 不過,如果您的合作夥伴無法在裝置層級 (傳送遙測,例如,它們結合了來自多個裝置的遙測) ,則可以將虛擬DeviceId建立為Manufacturer_Building_VirtualDeviceId。 在此情況下,VirtualDeviceId 可以是空間的一些自然索引鍵。 如果您的客戶提供 VirtualDeviceId,您應該包含要從中計算遙測之實體裝置的相關信息。 實體裝置資訊可以位於標籤中。
如果 Sensor.SensorType 對裝置而言是唯一的,您只需要提供 SensorType。 如果裝置的特定感測器類型有多個數據流,則需要唯一的 SensorId。 在大部分情況下,SensorType 和 SensorId 都是 PeopleCount、Occupancy 等,除非 SensorType 不是裝置的唯一。 在此情況下,SensorId 會SensorType_SomeUnique標識符。
備妥裝置元數據之後,即可透過下列方式將裝置資訊上傳至 Microsoft Places。
- 使用 PowerShell Cmdlet
- 使用 Microsoft Graph API
使用 PowerShell Cmdlet
若要個別管理裝置,可以直接使用 Microsoft Places PowerShell Cmdlet。 若要深入瞭解 Places Cmdlet,請參閱適用於 PowerShell 的 Microsoft Places Cmdlet 模組。
注意事項
若要執行 Cmdlet,您必須指派 TenantPlacesManagement 角色。
Cmdlet 名稱 | 描述 | 參數 |
---|---|---|
New-PlaceDevice | 建立新的裝置 | 需要 () 、DisplayName、Description、MACAddress、Manufacturer () 、IPV4Address、IPV6Address、PlaceId (必要) 、捲標、感測器 (所需的 DeviceId) |
Remove-PlaceDevice | 刪除裝置 | 需要標識碼 () |
Set-PlaceDevice | 匯報裝置 | 需要標識符 () 、需要 deviceId () 、DisplayName、Description、MACAddress、Manufacturer (必要) 、IPV4Address、IPV6Address、PlaceId、Tags、Sensors (必要) |
Get-PlaceDevice | 取得裝置 | Id、Filter、Top |
開啟 PowerShell 7 (不是系統管理員) 。
執行下列 Windows PowerShell Cmdlet 來安裝 Microsoft Places。 如需 Microsoft Places 安裝的詳細資訊,請參閱 Microsoft Places PowerShell 資源庫。
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
執行下列 Windows PowerShell Cmdlet 來匯入 Microsoft Places 模組。
Import-Module -Name MicrosoftPlaces
安裝並匯入模組之後,請執行下列 Places PowerShell Cmdlet 來連線到 Microsoft Places 模組。
Connect-MicrosoftPlaces
使用下列 New-PlaceDevice Cmdlet 範例來新增裝置。 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 更新具有現有標識碼的裝置。
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圖形許可權參考。
建置和部署應用程式,以跨 Microsoft Places 和您的合作夥伴同步裝置資訊。
若要深入瞭解感測器裝置,請參閱下列 Microsoft Graph API 和裝置檔:
- 列出 sensorDevices
- 建立 workplaceSensorDevice
- 取得 workplaceSensorDevice
- 更新 workplaceSensorDevice
- 刪除 workplaceSensorDevice
- 若要深入瞭解如何檢視裝置,請 參閱列出 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"
}
]
}
- 若要瞭解如何檢視特定裝置,請參閱 取得 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 后,您可以執行歷程記錄數據的一次性回填,以使用歷程記錄遙測填入 Places。 然後,您可以設定 Places 從裝置接收連續遙測,以保持最新狀態。 下圖概述 (上半部) 的回填檔案上傳流程,以及 (下半部) 的連續裝置遙測流程。
選項 1:使用 Push-Dataset Cmdlet
Microsoft Places 接受特定 CSV 檔案格式和架構的歷程記錄數據。 您必須從現有的系統匯出此數據,然後使用下列 PowerShell Cmdlet 上傳數據。
Cmdlet 名稱 | 描述 | 參數 | 範例 |
---|---|---|---|
Push-Dataset | 將數據集上傳至ADLS。 | 類型、路徑 | Push-Dataset -Type RoomOccupancy -Path C:\sensordata\ |
注意事項
類型可以是 RoomOccupancy 和 PeopleCount。 角色應指派給 TenantPlacesManagement。 若要深入瞭解 PowerShell Cmdlet,請參閱 Microsoft Places PowerShell 資源庫。
開啟 PowerShell 7 (不是系統管理員) 。
執行下列 Windows PowerShell Cmdlet 來安裝 Microsoft Places。 如需 Microsoft Places 安裝的詳細資訊,請參閱 Microsoft Places PowerShell 資源庫。
Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
執行下列 Windows PowerShell Cmdlet 來匯入 Microsoft Places 模組。
Import-Module -Name MicrosoftPlaces
執行下列 Places PowerShell Cmdlet 來連線到 Microsoft Places 模組。
Connect-MicrosoftPlaces
執行下列 Places PowerShell Cmdlet,使用資料夾和路徑) ,從裝置上的位置上傳數據集 (。
Push-Dataset -Type RoomOccupancy -Path <folder path>
PeopleCount 的 CSV 檔案格式
資料行名稱 | 數據行順序 | 註解 | 範例 |
---|---|---|---|
DeviceId | 1 | 裝置標識碼。 | Manuf1_1202_3455 |
SensorId | 2 | 感測器標識碼。 | PeopleCount |
值 | 3 | 無符號整數。 | PeopleCount (任何不帶正負號的整數;例如,5) 。 |
IngestionTime | 4 | 遙測中的時間戳,UTC 格式。 | 2023-06-27T18:24:20.808Z |
locationHint | 字串 | 指出裝置位置的其他資訊。 | 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 | 裝置標識碼。 | Manuf1_1202_3455 |
SensorId | 2 | 感測器標識碼。 | RoomOccupancy |
值 | 3 | 無符號整數。 | 佔用率:True 或 False。 |
IngestionTime | 4 | 遙測中的時間戳,UTC 格式。 | 2023-06-27T18:24:20.808Z |
locationHint | 字串 | 指出裝置位置的其他資訊。 | 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 圖形 API
若要建置應用程式以自動上傳遙測,以及建置應用程式以自動註冊和上架裝置,您可以透過 Microsoft Graph 取得 API。 若要使用 API,請遵循下列步驟。
在 Microsoft Entra 中建立應用程式註冊。 若要深入瞭解 PlaceDeviceRead.All 和 PlaceDevice.ReadWrite.All 許可權,請參閱Microsoft圖形許可權參考。
建置和部署應用程式,以跨 Microsoft Places和您的合作夥伴同步遙測。
使用 IngestTelemetry API 將佔用率和人員計數數據推送至 Microsoft Places。
如需有關擷取工作場所感測器感測器遙測的詳細資訊,以及深入瞭解 IngestTelemetry API,請參閱 workplaceSensorDevice: ingestTelemetry。
使用Microsoft 圖形 API 將佔用率和人員計數數據推送至 Microsoft Places
- 如先前所述,從現有系統下載數據。
- 根據下列佔用量數據訊號數據格式來準備遙測。
佔用量數據訊號數據格式
參數 | Type | 描述 |
---|---|---|
需要遙測 () | workplaceSensorDeviceTelemetry | 會議室裝置上感測器所收集和報告的遙測數據集合。 |
deviceId (必要) | 字串 | 建立時所提供裝置的使用者定義唯一標識符。 請勿使用系統產生的裝置標識碼。 使用僅使用 new-device Cmdlet 上線的裝置識別碼。 |
sensorId | 字串 | 裝置上感測器的使用者定義唯一標識碼。 如果裝置有多個相同類型的感測器,則必須提供 屬性來識別每個感測器。 如果裝置只有一個類型的感測器,則可以省略 屬性。 預設值是感測器類型。 選用。 |
boolValue (必要) | 布林值 | 根據房間是否已佔用,則為 True 或 false。 |
需要時間戳 () | DateTimeOffset | 感測器測量並報告其值的日期和時間。 時間戳類型代表使用 ISO 8601 格式的日期和時間資訊,且一律為 UTC。 例如,2024 年 1 月 1 日午夜 UTC 為 2024-01-01T00:00:00Z。 |
sensorType (必要) | workplaceSensorType | 佔有 |
需要LocationHint () | 字串 | 用來指出裝置位置的其他資訊。 |
人員 計數數據訊號數據格式
參數 | Type | 描述 |
---|---|---|
需要遙測 () | workplaceSensorDeviceTelemetry | 會議室裝置上感測器所收集和報告的遙測數據集合。 |
deviceId (必要) | 字串 | 建立時所提供裝置的使用者定義唯一標識符。 請勿使用系統產生的裝置標識碼。 使用僅使用 new-device Cmdlet 上線的裝置識別碼。 |
sensorId | 字串 | 裝置上感測器的使用者定義唯一標識碼。 如果裝置有多個相同類型的感測器,則必須提供 屬性來識別每個感測器。 如果裝置只有一個類型的感測器,則可以省略 屬性。 預設值是感測器類型。 選用。 |
intValue (必要) | Int32 | 佔用會議室的人數。 |
需要時間戳 () | DateTimeOffset | 感測器測量並報告其值的日期和時間。 時間戳類型代表使用 ISO 8601 格式的日期和時間資訊,且一律為 UTC。 例如,2024 年 1 月 1 日午夜 UTC 為 2024-01-01T00:00:00Z。 |
sensorType (必要) | workplaceSensorType | peopleCount |
需要LocationHint () | 字串 | 用來指出裝置位置的其他資訊。 |
- 執行 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圖形許可權參考。
下圖概述遙測擷取的架構。
管理員 同意:輸入 A 架構、硬體合作夥伴擁有的連接器 (SaaS)
對於選擇這些整合類型的客戶,您必須完成全租用戶系統管理員同意,以將許可權授與合作夥伴服務,以代表他們擷取遙測。
當硬體提供者已建立多租使用者 SaaS 連接器, (單一與多租使用者應用程式) 時,即適用此方法。 若要深入瞭解多租用戶連接器,請參閱 Microsoft Entra ID 中的租用。
從代表您的服務擷取遙測的合作夥伴取得 (GUID) 的應用程式識別碼。
使用應用程式標識碼建立服務主體。 有數個選項可供選擇。 如需詳細資訊,請參閱在 Microsoft Entra ID 中從多租使用者應用程式建立企業應用程式。
如果您使用 Microsoft Graph PowerShell、Graph 或 Azure CLI,請 (頁面中所提及的命令取代標識碼或應用程式識別碼) ,以建立服務主體,然後在 Azure 上的服務主體中授與管理員同意。
如果您使用系統管理員同意 URL,請將頁面中的應用程式識別碼取代為合作夥伴應用程式識別碼,然後在瀏覽器中開啟它。 它會建立服務主體,並要求您授與系統管理員同意。 若要授與管理員同意,請選取 [接受]。
管理員 同意:輸入 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 小時內流入您的分析儀錶板。