Partager via


Analytique des salles

Les réservations de salles, combinées aux données de capteur d’occupation, offrent des insights clés pour les gestionnaires d’immeubles et d’installations afin de mieux comprendre, analyser et optimiser l’utilisation des salles. En analysant les données de réservation qui reflètent l’utilisation prévue de la salle avec les données de capteur montrant l’occupation réelle, les responsables peuvent comprendre le comportement d’occupation et de réservation, et identifier les taux d’absence d’affichage élevés. Ces données aident les responsables à prendre de meilleures décisions concernant la disponibilité des salles.

Utilisation de la salle en fonction de l’intention d’utiliser

L’analytique des salles utilise les données de réservation de salle pour suivre l’utilisation prévue des salles, fournissant des informations sur l’occupation planifiée des salles.

Les données de réservation sont collectées à partir de toutes les boîtes aux lettres de salle sur Exchange associées à un locataire via un service qui s’exécute quotidiennement.

Utilisation de la salle en fonction de l’occupation réelle

L’analytique des salles utilise des signaux d’occupation pour détecter la présence réelle de personnes, ce qui permet de mesurer l’utilisation réelle de la salle.

Actuellement, Microsoft prend en charge les signaux d’occupation suivants :

  • CRS (Call Record Summaries from Teams meetings)
  • MTR (Salle Microsoft Teams)
  • Autres capteurs d’occupation ou de personnes

Intégration des données CRS

Le signal résumé de l’enregistrement d’appel contient l’heure de début et de fin de la réunion Teams, qui peut être utilisée pour déduire l’occupation de la salle. Les données CRS sont publiées par l’équipe SIP (Substrate Intelligence Platform) dans le jeu de données SIGS.

Le signal CallRecordSummarized est disponible dans le jeu de données SIGS 4 jours après l’heure de l’événement. Et il reste disponible pendant 28 jours.

Processus d’activation de CRS

CRS est actuellement pris en charge dans ces grandes régions : NAM, EUR, JPN et APAC. Si votre organization se trouve dans l’une de ces régions prises en charge, le processus d’intégration des données CRS est entièrement automatisé.

Aucune action manuelle n’est requise pour l’intégration des données. Une fois que le système détecte que vous êtes dans une région prise en charge, le flux de données démarre automatiquement.

Schéma de jeu de données

Column Type Description
AadTenantId String ID de locataire de l’enregistrement. Il est utilisé pour partitionner les données dans le conteneur de locataire et supprimé après la partition.
ActorId String Microsoft Entra ID de l’acteur, qui peut être un utilisateur ou une salle. Il est ensuite utilisé pour joindre l’ID de salle à partir de l’inventaire des salles afin d’obtenir des signaux à partir des salles.
StartTime String Heure de début de la réunion, qui indique que la salle est occupée.
EndTime String Heure de fin de réunion, qui indique que la salle n’est plus occupée.
PrimarySmtp String SMTP de la personne ou de la pièce.
ActorIdType String Type d’ID d’acteur, qui doit être Microsoft Entra ID. Cette chaîne est utilisée pour le débogage.
ActorType String Type d’acteur, qui est toujours « utilisateur », quelle que soit la personne ou la salle.
CreationTime String Heure de création de cet enregistrement.
DatasetCategory String Catégorie de jeu de données, qui peut être Commerciale ou MSIT.
SignalType String CallRecordSummarized, qui est le type de signal dans le jeu de données SIGS.

Intégration des données MTR

Le signal MTR contient les heures de début et de fin de réunion Teams, qui peuvent être utilisées pour déterminer l’occupation de la salle. Ce signal est identique au signal CRS, mais il est exporté et chargé manuellement par l’administrateur du locataire. Par conséquent, il s’agit d’une alternative à CRS, ou peut être utilisé pour les tests avant l’intégration du locataire.

Processus d’activation du mtr

  1. Téléchargez les données MTR.

  2. Mettez en forme les données au format CSV à l’aide du schéma suivant :

    L’exemple suivant montre l’exemple de contenu de fichier 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. Exécutez l’applet de commande Push-Dataset pour charger les données.

    L’exemple suivant montre l’applet de commande Push-Dataset.

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

Remarque

Dans le paramètre path, spécifiez le nom du dossier où se trouve le fichier CSV. Seule l’ingestion des données historiques est prise en charge pour les données MTR.

Étapes d’utilisation de l’applet de commande Push-Dataset

  1. Ouvrez PowerShell 7 (et non en tant qu’administrateur).

  2. Installez Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante. Pour plus d’informations sur Microsoft Places’installation, consultez le Microsoft Places PowerShell Gallery.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. Importez le module Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante.

    Import-Module -Name MicrosoftPlaces 
    
  4. Connectez-vous au module Microsoft Places en exécutant l’applet de commande PowerShell Places suivante.

    Connect-MicrosoftPlaces 
    
  5. Chargez le jeu de données à partir de l’emplacement sur votre appareil (à l’aide du dossier et du chemin d’accès) en exécutant l’applet de commande PowerShell Places suivante.

    PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "<path-to-csv-file-folder>"
    
Schéma de jeu de données pour l’analytique de salle
Column Type Description
Id de conférence String ID de conférence.
MeetingId String ID de réunion.
StartTime String Heure UTC à laquelle la réunion commence.
EndTime String Heure UTC à laquelle la réunion se termine.
CallParticipants String Nombre de participants qui ont rejoint la réunion.
DurationSeconds String Durée de la réunion.
alias String Alias qui identifie de façon unique un appareil MTR.
Nom d’affichage String Ce champ contient le nom de la salle de conférence.
Type d’appareil String Le type d’appareil est toujours « MTR » (dans ce cas).

La connexion des capteurs d’occupation et de nombre de personnes s’effectue en quatre étapes.

  1. Intégration de l’appareil.
  2. Chargement des données de télémétrie.
  3. Ingestion des données de télémétrie en temps réel.
  4. Vérifiez que les données sont disponibles dans Places.

Intégration d’un appareil

La première étape consiste à charger un fichier CSV avec les métadonnées de l’appareil, notamment la façon dont les appareils sont mappés à un PlaceId dans Microsoft Places. Cette étape permet de contextualiser les données de télémétrie lorsqu’elles atteignent Places.

Le diagramme suivant montre comment intégrer des appareils et des capteurs à Places.

Diagramme montrant comment intégrer des appareils et des capteurs à Microsoft Places.

Tout d’abord, les données de l’appareil doivent être préparées.

  1. Téléchargez les informations de lieu à partir de Microsoft Places. Tout d’abord, installez PowerShell 7 en exécutant l’applet de commande PowerShell suivante. Pour en savoir plus sur PowerShell sur Windows, consultez Installation de PowerShell sur Windows.

    Install-Module -Name ExchangeOnlineManagement  
    
    Import-Module -Name ExchangeOnlineManagement  
    
    Connect-ExchangeOnline
    
  2. Ouvrez PowerShell en tant qu’administrateur et exécutez la commande PowerShell ExchangeOnline suivante pour case activée si votre compte a le rôle TenantPlacesManagement requis et pour vous assurer que votre nom d’utilisateur est répertorié.

    Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
    
  3. Vous devez voir le nom et le rôle attribués suivants si vous disposez des autorisations appropriées.

    • Nom : PlacesAdmin
    • Rôle attribué : TenantPlacesManagement
  4. Pour obtenir l’Id de place des bâtiments, ouvrez une nouvelle fenêtre PowerShell et exécutez l’applet de commande Windows PowerShell suivante.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force  
    
    Connect-MicrosoftPlaces
    
  5. Exécutez les commandes suivantes pour télécharger la liste des étages et des salles.

    $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. Le fichier de sortie dans votre chemin de fichier CSV doit contenir les informations suivantes :

    PlaceId DisplayName Type
    5d275bba-5d7d-487f-855e-75cd2943204f Étage 1 Floor
    0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Salle Conf 1202/3455 (9) Room
  7. Téléchargez les métadonnées de l’appareil à partir d’une solution partenaire ou de votre système, y compris tous les appareils.

  8. Utilisez un script ou mappez manuellement vos appareils à PlaceId en utilisant le format de données suivant pour PlacesDevice.

Colonne Description Notes Exemple
DeviceId (obligatoire) Identificateur unique de l’appareil (recommandé : Manufacturer_DeviceUniqueId). Doit correspondre à l’ID de la télémétrie envoyée. Manuf1_3455
DisplayName Nom complet de l’appareil. Vous pouvez utiliser un nom convivial, le cas échéant. Manuf1_3455
Description Description de l’appareil.
MacAddress Adresse Mac de l’appareil. Fournisseur fourni (si disponible).
Fabricant (obligatoire) Fabricant de l’appareil. Fourni par l’administrateur informatique. Manuf1
IPV4Address IPV4Address de l’appareil. Fournisseur fourni (si disponible).
IPV6Address IPV6Address de l’appareil. Fournisseur fourni si disponible.
PlaceId (obligatoire) PlaceId auquel votre appareil est mappé dans Places. L’administrateur informatique mappe DeviceID au champ DisplayName à partir d’une liste de salles. 76fe540f-01a9-425e-acd5-5d7d1da44fbf
Tags Liste des étiquettes personnalisées associées à l’appareil pour faciliter la recherche. [ « IsVirtual_False », « Building_121"]
Sensor.SensorId (obligatoire) Identificateur unique d’un capteur au sein de l’appareil. Doit être fourni dans la charge utile de télémétrie standard. PeopleCount, Occupation
Sensor.DisplayName Nom d’affichage du capteur. Vous pouvez utiliser un nom convivial (le cas échéant). Occupation, PeopleCount
Sensor.SensorType (obligatoire) Type de capteur. Liste validée (voir les exemples). Trombone
Sensor.PlaceId Identificateur unique de l’emplacement desservi par le capteur (vous devez uniquement fournir ces informations si le capteur se trouve à un emplacement différent de l’emplacement de l’appareil). 76fe540f-01a9-425e-acd5-5d7d1da44fbf

Instructions générales pour les appareils et les capteurs

  • Nous vous recommandons de fournir deviceId comme Manufacturer_DeviceUniqueId. Toutefois, dans les cas où vos partenaires ne peuvent pas envoyer de données de télémétrie au niveau d’un appareil (par exemple, ils combinent des données de télémétrie de plusieurs appareils), un DeviceId virtuel peut être créé en tant que Manufacturer_Building_VirtualDeviceId. Dans ce cas, VirtualDeviceId peut être une clé naturelle d’un espace. Si votre client fournit VirtualDeviceId, vous devez inclure des informations sur les appareils physiques à partir desquels la télémétrie est calculée. Les informations sur les appareils physiques peuvent se trouver dans des balises.

  • Si Sensor.SensorType est unique pour un appareil, vous devez uniquement fournir SensorType. Dans les cas où il existe plusieurs flux de données pour un type de capteur particulier pour un appareil, un SensorId unique est nécessaire. SensorType et SensorId, dans la plupart des cas, sont PeopleCount, Occupation, etc., sauf si SensorType n’est pas unique pour un appareil. Dans ce cas, SensorId est SensorType_SomeUnique identificateur.

Une fois que les métadonnées de l’appareil sont préparées, les informations de l’appareil peuvent être chargées sur Microsoft Places des manières suivantes.

  • Utilisation de cmdlets PowerShell
  • Utilisation des API Microsoft Graph

Utilisation de cmdlets PowerShell

Pour gérer individuellement les appareils, les applets de commande PowerShell Microsoft Places peuvent être utilisées directement. Consultez le module d’applets de commande Microsoft Places pour PowerShell pour en savoir plus sur les applets de commande Places.

Remarque

Pour exécuter des applets de commande, le rôle TenantPlacesManagement doit être attribué.

Nom de la cmdlet Description Paramètres
New-PlaceDevice Crée un appareil DeviceId (obligatoire), DisplayName, Description, MACAddress, Manufacturer (obligatoire), IPV4Address, IPV6Address, PlaceId (obligatoire), Tags, Sensors (obligatoire)
Remove-PlaceDevice Supprime un appareil ID (obligatoire)
Set-PlaceDevice Mises à jour un appareil ID (obligatoire), DeviceId (obligatoire), DisplayName, Description, MACAddress, Manufacturer (obligatoire), IPV4Address, IPV6Address, PlaceId, Tags, Sensors (obligatoire)
Get-PlaceDevice Obtient un appareil ID, Filtre, Haut
  1. Ouvrez PowerShell 7 (et non en tant qu’administrateur).

  2. Installez Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante. Pour plus d’informations sur Microsoft Places’installation, consultez le Microsoft Places PowerShell Gallery.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. Importez le module Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante.

    Import-Module -Name MicrosoftPlaces 
    
  4. Après avoir installé et importé le module, connectez-vous au module Microsoft Places en exécutant l’applet de commande PowerShell Places suivante.

    Connect-MicrosoftPlaces
    
  5. Utilisez New-PlaceDevice'exemple d’applet de commande ci-dessous pour ajouter un appareil. Le paramètre Sensors est un objet de type MicrosoftPlaces.PlacesDevices.Sensor avec les champs mentionnés ci-dessus.

    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. Utilisez Get-PlaceDevice pour afficher la liste des appareils. Par défaut, elle retourne 10 appareils. Pour renvoyer d’autres appareils, ajoutez le paramètre -top comme indiqué ci-dessous.

    Get-PlaceDevice -top 100
    
  7. Utilisez Set-PlaceDevice pour mettre à jour un appareil avec l’ID existant.

    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. Utilisez Remove-PlaceDevice pour supprimer un appareil.

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

Utilisation des API Microsoft Graph

Pour modifier le processus ou automatiser et intégrer des systèmes existants, vous pouvez utiliser des API Microsoft Graph.

Pour utiliser des API, procédez comme suit.

  1. Créez une inscription d’application dans Microsoft Entra.im. Pour en savoir plus sur les autorisations PlaceDeviceRead.All et PlaceDevice.ReadWrite.All, consultez la référence des autorisations Microsoft Graph.

  2. Créez et déployez une application pour synchroniser les informations d’appareil entre Microsoft Places et vos partenaires.

Pour en savoir plus sur les appareils de capteur, consultez les API Microsoft Graph et la documentation des appareils suivantes :

Exemple d’appareil :

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

Exemple :

GET
https://graph.microsoft.com/beta/workplace/sensorDevices/<workplacesensordevice-id> 

GET 
https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486 

Exemple de réponse :

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

Exemple :

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

Exemple de réponse :

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

Exemple :

DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/<workplaceSensorDevice-Id>

DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/052062b9-38f6-48d4-a638-05a72c79419b

Chargement de données de télémétrie

Une fois que vous avez intégré vos appareils à Microsoft Places, vous pouvez effectuer un remblai unique de données historiques pour remplir Places avec des données de télémétrie historiques. Vous pouvez ensuite configurer Places pour recevoir des données de télémétrie continues de vos appareils afin de rester à jour. Le diagramme suivant décrit le flux de chargement du fichier de remplissage (moitié supérieure) et le flux de télémétrie d’appareil continu (moitié inférieure).

Diagramme montrant comment effectuer un renvoi unique de données historiques dans Microsoft Places.

Option 1 : Utilisation de l’applet de commande Push-Dataset

Microsoft Places accepte les données historiques dans un format et un schéma de fichier CSV spécifiques. Vous devez exporter ces données à partir d’un système existant, puis utiliser l’applet de commande PowerShell suivante pour charger les données.

Nom de la cmdlet Description Parameters Exemple
Push-Dataset Charge le jeu de données dans ADLS. Type, Chemin d’accès Push-Dataset -Type RoomOccupancy -Path C :\sensordata\

Remarque

Le type peut être RoomOccupancy et PeopleCount. Le rôle doit être attribué à TenantPlacesManagement. Pour en savoir plus sur les applets de commande PowerShell, consultez la Microsoft Places PowerShell Gallery.

  1. Ouvrez PowerShell 7 (et non en tant qu’administrateur).

  2. Installez Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante. Pour plus d’informations sur Microsoft Places’installation, consultez le Microsoft Places PowerShell Gallery.

    Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
    
  3. Importez le module Microsoft Places en exécutant l’applet de commande Windows PowerShell suivante.

    Import-Module -Name MicrosoftPlaces 
    
  4. Connectez-vous au module Microsoft Places en exécutant l’applet de commande PowerShell Places suivante.

    Connect-MicrosoftPlaces 
    
  5. Chargez le jeu de données à partir de l’emplacement sur votre appareil (à l’aide du dossier et du chemin d’accès) en exécutant l’applet de commande PowerShell Places suivante.

    Push-Dataset -Type RoomOccupancy -Path <folder path> 
    
Format de fichier CSV pour PeopleCount
Nom de colonne ordre des colonnes ; Commentaire Exemple
DeviceId 1 ID de l’appareil. Manuf1_1202_3455
SensorId 2 ID du capteur. PeopleCount
Valeur 3 Entier non signé. PeopleCount (tout entier non signé ; par exemple, 5).
IngestionTime 4 Horodatage de la télémétrie, au format UTC. 2023-06-27T18:24:20.808Z
locationHint String Informations supplémentaires pour indiquer l’emplacement de l’appareil. Bâtiment 1

Exemple de fichier 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 
Format de fichier CSV pour l’occupation
Nom de colonne ordre des colonnes ; Commentaire Exemple
DeviceId 1 ID de l’appareil. Manuf1_1202_3455
SensorId 2 ID du capteur. RoomOccupancy
Valeur 3 Entier non signé. Occupation : True ou False.
IngestionTime 4 Horodatage de la télémétrie, au format UTC. 2023-06-27T18:24:20.808Z
locationHint String Informations supplémentaires pour indiquer l’emplacement de l’appareil. Bâtiment 1

Exemple de fichier 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 

Option 2 : automatiser à l’aide de Microsoft API Graph

Pour créer une application pour automatiser le chargement des données de télémétrie et pour créer une application pour automatiser l’inscription et l’intégration des appareils, les API sont disponibles via Microsoft Graph. Pour utiliser des API, procédez comme suit.

  1. Créez une inscription d’application dans Microsoft Entra. Pour en savoir plus sur les autorisations PlaceDeviceRead.All et PlaceDevice.ReadWrite.All, consultez la référence des autorisations Microsoft Graph.

  2. Créez et déployez une application pour synchroniser les données de télémétrie entre Microsoft Places et vos partenaires.

  3. Utilisez l’API IngestTelemetry pour envoyer (push) l’occupation et le nombre de personnes à Microsoft Places.

Pour plus d’informations sur la télémétrie du capteur d’ingestion pour un capteur d’espace de travail et pour en savoir plus sur l’API IngestTelemetry, consultez workplaceSensorDevice : ingestTelemetry.

Pour envoyer (push) l’occupation et le nombre de personnes à Microsoft Places à l’aide de Microsoft API Graph
  1. Téléchargez des données à partir de systèmes existants, comme décrit précédemment.
  2. Préparez les données de télémétrie en fonction du format de données de signal d’occupation suivant.
Format signal-data des données d’occupation
Paramètre Type Description
télémétrie (obligatoire) workplaceSensorDeviceTelemetry Collection des données de télémétrie collectées et signalées par un capteur sur un appareil de salle.
deviceId (obligatoire) String Identificateur unique défini par l’utilisateur de l’appareil fourni au moment de la création. N’utilisez pas l’identificateur généré par le système de l’appareil. Utilisez les ID d’appareil intégrés à l’aide de l’applet de commande new-device uniquement.
sensorId String Identificateur unique défini par l’utilisateur du capteur sur l’appareil. Si l’appareil a plusieurs capteurs du même type, la propriété doit être fournie pour identifier chaque capteur. Si l’appareil n’a qu’un seul capteur d’un type, la propriété peut être omise. La valeur par défaut est le type de capteur. Facultatif.
boolValue (obligatoire) Boolean True ou false selon que la pièce est occupée ou non.
timestamp (obligatoire) DateTimeOffset Date et heure auxquelles le capteur a mesuré et signalé sa valeur. Le type d’horodatage représente les informations de date et d’heure au format ISO 8601 et est toujours au format UTC. Par exemple, minuit UTC le 1er janvier 2024, est 2024-01-01T00:00:00Z.
sensorType (obligatoire) workplaceSensorType occupation
LocationHint (obligatoire) String Informations supplémentaires utilisées pour indiquer l’emplacement de l’appareil.
Personnes compter les données au format de données
Paramètre Type Description
télémétrie (obligatoire) workplaceSensorDeviceTelemetry Collection des données de télémétrie collectées et signalées par un capteur sur un appareil de salle.
deviceId (obligatoire) String Identificateur unique défini par l’utilisateur de l’appareil fourni au moment de la création. N’utilisez pas l’identificateur généré par le système de l’appareil. Utilisez les ID d’appareil intégrés à l’aide de l’applet de commande new-device uniquement.
sensorId String Identificateur unique défini par l’utilisateur du capteur sur l’appareil. Si l’appareil a plusieurs capteurs du même type, la propriété doit être fournie pour identifier chaque capteur. Si l’appareil n’a qu’un seul capteur d’un type, la propriété peut être omise. La valeur par défaut est le type de capteur. Facultatif.
intValue (obligatoire) Int32 Nombre de personnes occupant la salle.
timestamp (obligatoire) DateTimeOffset Date et heure auxquelles le capteur a mesuré et signalé sa valeur. Le type d’horodatage représente les informations de date et d’heure au format ISO 8601 et est toujours au format UTC. Par exemple, minuit UTC le 1er janvier 2024, est 2024-01-01T00:00:00Z.
sensorType (obligatoire) workplaceSensorType peopleCount
LocationHint (obligatoire) String Informations supplémentaires pour indiquer l’emplacement de l’appareil.
  • Exécutez l’API pour envoyer les données à Microsoft Places.

La commande suivante est un exemple de demande d’API pour l’occupation.

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

La commande suivante est un exemple de demande d’API pour le nombre de personnes :

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

Ingestion des données de télémétrie en temps réel

Les connecteurs décrits dans Étendue ont besoin de l’autorisation suivante pour demander le service d’ingestion de télémétrie en temps réel.

  • PlaceDeviceTelemetry.ReadWrite.All

Vous devez obtenir le consentement de l’administrateur ou créer une application Microsoft Entra avec l’autorisation en fonction de l’architecture sélectionnée. Pour en savoir plus sur l’autorisation PlaceDeviceTelemetry.ReadWrite.All, consultez la référence des autorisations Microsoft Graph.

Le diagramme suivant décrit l’architecture de l’ingestion de télémétrie.

Diagramme montrant l’architecture utilisée pour l’ingestion des données de télémétrie.

Pour les clients choisissant ces types d’intégration, vous devez remplir le consentement administrateur à l’échelle du locataire pour accorder les autorisations aux services partenaires pour ingérer des télémétries en leur nom.

  1. Cela s’applique lorsque les fournisseurs de matériel ont créé des connecteurs SaaS multilocataires (applications monolocataires ou multilocataires). Pour en savoir plus sur les connecteurs multilocataires, consultez Location dans Microsoft Entra ID.

  2. Obtenez l’ID d’application (GUID) auprès du partenaire qui ingère les télémétries pour le compte de votre service.

  3. Créez un principal de service avec l’ID d’application. Vous avez le choix entre plusieurs options. Pour plus d’informations, consultez Créer une application d’entreprise à partir d’une application multilocataire dans Microsoft Entra ID.

Si vous utilisez Microsoft Graph PowerShell, Graph ou Azure CLI, remplacez l’ID ou l’ID d’application (des commandes mentionnées) dans les pages pour créer un principal de service, puis accordez le consentement administrateur dans le principal de service sur Azure.

Capture d’écran montrant la boîte de dialogue Autorisations d’intégration Microsoft Places.

Si vous utilisez une URL de consentement administrateur, remplacez l’ID d’application dans la page par l’ID d’application partenaire, puis ouvrez-le dans un navigateur. Il crée un principal de service et vous demande d’accorder le consentement de l’administrateur. Pour accorder le consentement de l’administrateur, sélectionnez Accepter.

Capture d’écran de la boîte de dialogue Autorisations d’administrateur demandées.

Microsoft Places met à disposition une API qui accepte les données de télémétrie dans un format standard exposé sur Microsoft Graph. L’API accepte un lot de messages de télémétrie.

  • Pour l’architecture de type B, les clients s’appuient sur une intégration fournie par leurs partenaires matériels hébergés sur site dans l’environnement du client.

  • Pour l’architecture de type C, les clients peuvent créer un processus de longue durée ou un processus basé sur des événements, à l’aide de fonctions Azure, pour appeler des API Microsoft Places pour envoyer des données de télémétrie de génération.

  • Les architectures d’intégration de type B et C exigent que les clients créent une inscription d’application dans Microsoft Entra, comme illustré dans l’illustration suivante, et fournissent le consentement de l’administrateur avec PlaceDeviceTelemetry.ReadWrite.All. Pour en savoir plus sur les autorisations exposées par Microsoft Graph, consultez la Référence des autorisations Microsoft Graph.

Capture d’écran montrant la boîte de dialogue Inscrire une application asn.

Vérifier que les données sont disponibles dans Microsoft Places

Une fois que vos appareils sont intégrés et que l’API ingère des données de capteur en direct, les rapports d’analyse Microsoft Places commencent à remplir. Pour déverrouiller des insights qui vous aident à optimiser votre espace de travail, vérifiez que les données circulent dans votre tableau de bord analytique dans les 72 heures.