Аналитика помещений
Резервирование помещений в сочетании с данными датчика занятости предоставляет ключевые аналитические сведения для менеджеров по недвижимости и помещений, чтобы лучше понять, проанализировать и оптимизировать использование помещений. Анализируя данные о резервировании, отражающие предполагаемое использование помещений, наряду с данными датчиков, показывающими фактическую заполняемость, менеджеры могут понять заполненность и поведение резервирования, а также определить высокие ставки без показа. Эти данные помогают руководителям принимать более обоснованные решения о доступности помещений.
Использование помещений на основе намерения использовать
Аналитика помещений использует данные о резервировании помещений для отслеживания предполагаемого использования комнат, предоставляя аналитические сведения о планируемой заполняемости помещений.
Данные о резервировании собираются из всех почтовых ящиков комнат в Exchange, связанных с клиентом, через службу, которая работает ежедневно.
Использование помещений на основе фактической заполняемости
Аналитика помещений использует сигналы о заполненности для обнаружения фактического присутствия людей, что позволяет измерять фактическое использование помещений.
В настоящее время корпорация Майкрософт поддерживает следующие сигналы о заполнении:
- CRS (сводки по записям звонков из собраний Teams)
- MTR (комната Microsoft Teams)
- Другие датчики количества людей или других людей
Подключение данных CRS
Сводный сигнал записи звонков содержит время начала и окончания собрания Teams, которое можно использовать для вывода о заполнении комнаты. Данные CRS публикуются командой Платформы анализа субстрата (SIP) в наборе данных SIGS.
Сигнал CallRecordSummarized доступен в наборе данных SIGS через 4 дня после события. И он остается доступным в течение 28 дней.
Процесс включения CRS
В настоящее время CRS поддерживается в следующих основных регионах: NAM, EUR, JPN и APAC. Если ваша организация находится в одном из поддерживаемых регионов, процесс подключения данных CRS полностью автоматизирован.
Для интеграции данных не требуется никаких действий вручную. Когда система обнаружит, что вы находитесь в поддерживаемом регионе, поток данных запускается автоматически.
Схема набора данных
Столбец | Тип | Описание |
---|---|---|
AadTenantId | String | Идентификатор клиента записи. Он используется для секционирования данных в контейнер клиента и удаляется после секционирования. |
ActorId | String | Microsoft Entra ID субъекта, который может быть пользователем или комнатой. Позже он используется для присоединения к идентификатору комнаты из инвентаризации помещений для получения сигналов из комнат. |
StartTime | String | Время начала собрания, указывающее, что комната занята. |
EndTime | String | Время окончания собрания, указывающее, что комната больше не занята. |
PrimarySmtp | String | SMTP пользователя или комнаты. |
ActorIdType | String | Тип идентификатора субъекта, который должен быть 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 (не от имени администратора).
Установите Microsoft Places, выполнив следующий командлет Windows PowerShell. Дополнительные сведения об установке Microsoft Places см. в Microsoft Places коллекция PowerShell.
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
Импортируйте модуль Microsoft Places, выполнив следующий командлет Windows PowerShell.
Import-Module -Name MicrosoftPlaces
Подключитесь к модулю Microsoft Places, выполнив следующий командлет Places PowerShell.
Connect-MicrosoftPlaces
Отправьте набор данных из расположения на устройстве (с помощью папки и пути), выполнив следующий Places командлет PowerShell.
PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "<path-to-csv-file-folder>"
Схема набора данных для аналитики помещений
Столбец | Тип | Описание |
---|---|---|
ConferenceId | String | Идентификатор конференции. |
MeetingId | String | Идентификатор собрания. |
StartTime | String | Время начала собрания в формате UTC. |
EndTime | String | Время окончания собрания в формате UTC. |
CallParticipants | String | Число участников, присоединившихся к собранию. |
DurationSeconds | String | Продолжительность собрания. |
псевдоним | String | Псевдоним, однозначно определяющий устройство MTR. |
Отображаемое имя | String | Это поле содержит имя конференц-зала. |
Тип устройства | String | Тип устройства всегда имеет значение "MTR" (в данном случае). |
Подключение датчиков заполняемости и количества людей выполняется в четыре этапа.
- Подключение устройства.
- Отправка данных телеметрии.
- Прием данных телеметрии в режиме реального времени.
- Убедитесь, что данные доступны в Places.
Подключение устройств
Первый шаг включает в себя отправку CSV-файла с метаданными устройства, включая способ сопоставления устройств с PlaceId в Microsoft Places. Этот шаг помогает контекстуализировать данные телеметрии по достижении Places.
На следующей схеме показано, как подключить устройства и датчики к Places.
Во-первых, необходимо подготовить данные устройства.
Скачайте сведения о месте из Microsoft Places. Сначала установите PowerShell 7 , выполнив следующий командлет PowerShell. Дополнительные сведения о PowerShell в Windows см. в статье Установка PowerShell в Windows.
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 Конференц-зал 1202/3455 (9) Room Скачайте метаданные устройства из партнерского решения или из системы, включая все устройства.
Используйте скрипт или вручную сопоставьте устройства с PlaceId, используя следующий формат данных для PlacesDevice.
Столбец | Описание | Примечания | Пример |
---|---|---|---|
DeviceId (обязательный) | Уникальный идентификатор устройства (рекомендуется: Manufacturer_DeviceUniqueId). | Должен соответствовать идентификатору отправленной телеметрии. | Manuf1_3455 |
DisplayName | Отображаемое имя устройства. | При необходимости можно использовать понятное имя. | Manuf1_3455 |
Описание | Описание устройства. | ||
MacAddress | Mac-адрес устройства. | Поставщик предоставлен (при наличии). | |
Производитель (обязательно) | Производитель устройства. | Предоставляется ИТ-администратором. | Manuf1 |
IPV4Address | IPV4Address устройства. | Поставщик предоставлен (при наличии). | |
IPV6Address | IPV6Address устройства. | Поставщик предоставляется при наличии. | |
PlaceId (обязательный) | Идентификатор PlaceId, с которым устройство сопоставлено в Places. | ИТ-администратор сопоставляет DeviceID с полем DisplayName из списка комнат. | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
Tags | Список настраиваемых тегов, связанных с устройством, которые помогут с поиском. | [ "IsVirtual_False", "Building_121"] | |
Sensor.SensorId (обязательно) | Уникальный идентификатор датчика в устройстве. | Должны входить в стандартные полезные данные телеметрии. | PeopleCount, Заполнение |
Sensor.DisplayName | Отображаемое имя датчика. | Можно использовать понятное имя (если применимо). | Заполнение, Число людей |
Sensor.SensorType (обязательно) | Тип датчика. | Проверенный список (см. примеры). | Скрепки |
Sensor.PlaceId | Уникальный идентификатор места, обслуживаемого датчиком (необходимо указать эту информацию только в том случае, если датчик находится в другом месте, отличном от расположения устройства). | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
Общие рекомендации по устройствам и датчикам
Рекомендуется указать DeviceId в качестве Manufacturer_DeviceUniqueId. Однако в тех случаях, когда партнеры не могут отправлять данные телеметрии на уровне устройства (например, они объединяют данные телеметрии с нескольких устройств), виртуальный Идентификатор устройства можно создать как Manufacturer_Building_VirtualDeviceId. В этом случае VirtualDeviceId может быть естественным ключом пространства. Если клиент предоставляет VirtualDeviceId, следует включить сведения о физических устройствах, с которых вычисляется телеметрия. Сведения о физическом устройстве могут быть в тегах.
Если Sensor.SensorType уникален для устройства, необходимо только указать SensorType. В случаях, когда существует несколько потоков данных для определенного типа датчика для устройства, требуется уникальный SensorId. SensorType и SensorId в большинстве случаев являются PeopleCount, Occupancy и т. д., если sensorType не является уникальным для устройства. В этом случае SensorId является SensorType_SomeUnique идентификатором.
После подготовки метаданных устройства сведения об устройстве можно отправить в Microsoft Places следующими способами.
- Использование командлетов PowerShell
- Использование API Microsoft Graph
Использование командлетов PowerShell
Для индивидуального управления устройствами можно напрямую использовать командлеты PowerShell Microsoft Places. Дополнительные сведения о командлетах Places см. в модуле командлетов Microsoft Places для PowerShell.
Примечание.
Для выполнения командлетов необходимо назначить роль TenantPlacesManagement.
Имя командлета | Описание | Параметры |
---|---|---|
New-PlaceDevice | Создает новое устройство | DeviceId (обязательный), DisplayName, Description, MACAddress, Manufacturer (обязательно), IPV4Address, IPV6Address, PlaceId (обязательно), Tags, Sensors (обязательно) |
Remove-PlaceDevice | Удаляет устройство | Идентификатор (обязательный) |
Set-PlaceDevice | Обновления устройства | Id (обязательный), DeviceId (обязательный), DisplayName, Description, MACAddress, Manufacturer (обязательно), IPV4Address, IPV6Address, PlaceId, Tags, Sensors (обязательно) |
Get-PlaceDevice | Возвращает устройство | Id, Filter, Top |
Откройте PowerShell 7 (не от имени администратора).
Установите Microsoft Places, выполнив следующий командлет Windows PowerShell. Дополнительные сведения об установке Microsoft Places см. в Microsoft Places коллекция PowerShell.
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
Импортируйте модуль Microsoft Places, выполнив следующий командлет Windows PowerShell.
Import-Module -Name MicrosoftPlaces
После установки и импорта модуля подключитесь к модулю Microsoft Places, выполнив следующий Places командлет PowerShell.
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, чтобы обновить устройство с помощью существующего идентификатора.
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"
Использование API Microsoft Graph
Для изменения процесса или автоматизации и интеграции с существующими системами можно использовать API Microsoft Graph.
Чтобы использовать API, выполните следующие действия.
Создайте регистрацию приложения в Microsoft Entra.im. Дополнительные сведения о разрешениях PlaceDeviceRead.All и PlaceDevice.ReadWrite.All см. в справочнике по разрешениям Microsoft Graph.
Создание и развертывание приложения для синхронизации сведений об устройстве между Microsoft Places и партнерами.
Дополнительные сведения об устройствах с датчиками см. в следующих API-интерфейсах Microsoft Graph и документации по устройствам:
- Перечисление датчиковУстройства
- Создание workplaceSensorDevice
- Получение workplaceSensorDevice
- Обновление workplaceSensorDevice
- Удаление workplaceSensorDevice
- Дополнительные сведения о просмотре устройств см. в разделе Перечисление датчиковУстройства.
- Дополнительные сведения о создании нового устройства см. в статье Create 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"
}
]
}
- Дополнительные сведения об обновлении существующего устройства см. в разделе Update 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
Microsoft Places принимает исторические данные в определенном формате CSV-файла и схеме. Эти данные необходимо экспортировать из существующей системы, а затем использовать следующий командлет PowerShell для отправки данных.
Имя командлета | Описание | Параметры | Пример |
---|---|---|---|
Push-Dataset | Передает набор данных в ADLS. | Type, Path | Push-Dataset -Type RoomOccupancy -Path C:\sensordata\ |
Примечание.
Тип может быть RoomOccupancy и PeopleCount. Роль должна быть назначена TenantPlacesManagement. Дополнительные сведения о командлетах PowerShell см. в Microsoft Places коллекция PowerShell.
Откройте PowerShell 7 (не от имени администратора).
Установите Microsoft Places, выполнив следующий командлет Windows PowerShell. Дополнительные сведения об установке Microsoft Places см. в Microsoft Places коллекция PowerShell.
Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
Импортируйте модуль Microsoft Places, выполнив следующий командлет Windows PowerShell.
Import-Module -Name MicrosoftPlaces
Подключитесь к модулю Microsoft Places, выполнив следующий командлет Places PowerShell.
Connect-MicrosoftPlaces
Отправьте набор данных из расположения на устройстве (с помощью папки и пути), выполнив следующий Places командлет PowerShell.
Push-Dataset -Type RoomOccupancy -Path <folder path>
Формат CSV-файла для PeopleCount
Столбец | Порядок столбцов | Комментарий | Пример |
---|---|---|---|
DeviceId | 1 | Идентификатор устройства. | Manuf1_1202_3455 |
SensorId | 2 | Идентификатор датчика. | PeopleCount |
Значение | 3 | Целое число без знака. | PeopleCount (любое целое число без знака, например 5). |
IngestionTime | 4 | Метка времени из телеметрии в формате UTC. | 2023-06-27T18:24:20.808Z |
locationHint | String | Дополнительные сведения для указания расположения устройства. | Здание-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 | String | Дополнительные сведения для указания расположения устройства. | Здание-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 Graph
Чтобы создать приложение для автоматизации отправки данных телеметрии и создать приложение для автоматизации регистрации и подключения устройств, API доступны через Microsoft Graph. Чтобы использовать API, выполните следующие действия.
Создайте регистрацию приложения в Microsoft Entra. Дополнительные сведения о разрешениях PlaceDeviceRead.All и PlaceDevice.ReadWrite.All см. в справочнике по разрешениям Microsoft Graph.
Создайте и разверните приложение для синхронизации данных телеметрии между Microsoft Places и партнерами.
Используйте API IngestTelemetry для отправки данных о заполненности и подсчете людей в Microsoft Places.
Дополнительные сведения о приеме телеметрии датчика для рабочего датчика и дополнительные сведения об API IngestTelemetry см. в статье workplaceSensorDevice: ingestTelemetry.
Отправка данных о заполненности и подсчете людей в Microsoft Places с помощью microsoft API Graph
- Скачайте данные из существующих систем, как описано ранее.
- Подготовьте данные телеметрии на основе следующего формата данных о заполнении.
Формат сигнала данных о занятости
Параметр | Тип | Описание |
---|---|---|
данные телеметрии (обязательно) | workplaceSensorDeviceTelemetry | Коллекция данных телеметрии, собираемых и сообщаемых датчиком на устройстве комнаты. |
deviceId (обязательный) | String | Определяемый пользователем уникальный идентификатор устройства, предоставленный во время создания. Не используйте созданный системой идентификатор устройства. Используйте идентификаторы устройств, подключенные только с помощью командлета new-device. |
sensorId | String | Определяемый пользователем уникальный идентификатор датчика на устройстве. Если устройство имеет несколько датчиков одного типа, необходимо указать свойство для идентификации каждого датчика. Если устройство имеет только один датчик типа, свойство можно опустить. Значение по умолчанию — это тип датчика. Необязательное поле. |
boolValue (обязательно) | Логический | Значение true или false в зависимости от того, занята ли комната. |
метка времени (обязательно) | DateTimeOffset | Дата и время, когда датчик измерял и сообщал о своем значении. Тип метки времени представляет сведения о дате и времени в формате ISO 8601 и всегда находится в формате UTC. Например, полночь в формате UTC 1 января 2024 г. — 2024-01-01T00:00:00Z. |
sensorType (обязательный) | workplaceSensorType | занятие |
LocationHint (обязательно) | String | Дополнительные сведения, используемые для указания расположения устройства. |
Люди число данных в формате сигналов
Параметр | Тип | Описание |
---|---|---|
данные телеметрии (обязательно) | workplaceSensorDeviceTelemetry | Коллекция данных телеметрии, собираемых и сообщаемых датчиком на устройстве комнаты. |
deviceId (обязательный) | String | Определяемый пользователем уникальный идентификатор устройства, предоставленный во время создания. Не используйте созданный системой идентификатор устройства. Используйте идентификаторы устройств, подключенные только с помощью командлета new-device. |
sensorId | String | Определяемый пользователем уникальный идентификатор датчика на устройстве. Если устройство имеет несколько датчиков одного типа, необходимо указать свойство для идентификации каждого датчика. Если устройство имеет только один датчик типа, свойство можно опустить. Значение по умолчанию — это тип датчика. Необязательное поле. |
intValue (обязательный) | Int32 | Количество людей, занимающих номер. |
метка времени (обязательно) | DateTimeOffset | Дата и время, когда датчик измерял и сообщал о своем значении. Тип метки времени представляет сведения о дате и времени в формате ISO 8601 и всегда находится в формате UTC. Например, полночь в формате UTC 1 января 2024 г. — 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.
Получите идентификатор приложения (GUID) от партнера, который получает данные телеметрии от имени вашей службы.
Создайте субъект-службу с идентификатором приложения. На выбор можно выбрать несколько вариантов. Дополнительные сведения см. в статье Создание корпоративного приложения из мультитенантного приложения в Microsoft Entra ID.
Если вы используете Microsoft Graph PowerShell, Graph или Azure CLI, замените идентификатор или идентификатор приложения (из упомянутых команд) на страницах, чтобы создать субъект-службу, а затем предоставьте согласие администратора в субъекте-службе в Azure.
Если вы используете URL-адрес согласия администратора, замените идентификатор приложения на странице идентификатором партнерского приложения, а затем откройте его в браузере. Он создает субъект-службу и просит предоставить согласие администратора. Чтобы предоставить согласие администратора, выберите Принять.
Администратор Согласие: тип архитектуры B и C, соединитель, работающий в среде клиента на месте
Microsoft Places предоставляет api, который принимает данные телеметрии в стандартном формате, доступном через Microsoft Graph. API принимает пакет сообщений телеметрии.
Для архитектуры типа B клиенты полагаются на интеграцию, предоставляемую партнерами по оборудованию, размещенными на месте в среде клиента.
Для архитектуры типа C клиенты могут создать длительный процесс или процесс на основе событий с помощью функций Azure, чтобы вызвать API-интерфейсы Microsoft Places для отправки данных телеметрии сборки.
Архитектуры интеграции типа B и C требуют, чтобы клиенты создали регистрацию приложения в Microsoft Entra, как показано на следующем рисунке, и предоставить согласие администратора в PlaceDeviceTelemetry.ReadWrite.All. Дополнительные сведения о разрешениях, предоставляемых Microsoft Graph, см. в справочнике по разрешениям Microsoft Graph.
Проверка доступности данных в Microsoft Places
После подключения устройств и приема данных динамического датчика API начинает заполняться аналитическими отчетами Microsoft Places. Чтобы разблокировать аналитические сведения, помогающие оптимизировать рабочую область, убедитесь, что данные передаются на панель мониторинга аналитики в течение 72 часов.