Condividi tramite


Analisi della sala

Le prenotazioni delle camere, combinate con i dati del sensore di occupazione, offrono informazioni chiave per i gestori di immobili e strutture per comprendere, analizzare e ottimizzare meglio l'utilizzo delle camere. Analizzando i dati di prenotazione che riflettono l'uso previsto delle camere insieme ai dati del sensore che mostrano l'occupazione effettiva, i manager possono comprendere il comportamento di occupazione e prenotazione e identificare tassi elevati di mancata visualizzazione. Questi dati consentono ai manager di prendere decisioni migliori sulla disponibilità delle sale.

Utilizzo della sala in base alla finalità di utilizzo

L'analisi delle camere usa i dati di prenotazione delle camere per tenere traccia dell'uso previsto delle camere, fornendo informazioni dettagliate sull'occupazione pianificata delle camere.

I dati della prenotazione vengono raccolti da tutte le cassette postali della sala in Exchange associate a un tenant tramite un servizio eseguito quotidianamente.

Utilizzo delle camere in base all'occupazione effettiva

L'analisi della stanza usa i segnali di occupazione per rilevare la presenza effettiva di persone, consentendo la misurazione dell'uso effettivo della stanza.

Attualmente, Microsoft supporta i segnali di occupazione seguenti:

  • CRS (riepiloghi dei record di chiamata dalle riunioni di Teams)
  • MTR (Microsoft Teams Room)
  • Altri sensori di occupazione o conteggio persone

Onboarding dei dati CRS

Il segnale riepilogato del record di chiamata contiene l'ora di inizio e fine della riunione di Teams, che può essere usata per dedurre l'occupazione della sala. I dati CRS sono pubblicati dal team SIP (Substrate Intelligence Platform) nel set di dati SIGS.

Il segnale CallRecordSummarized è disponibile nel set di dati SIGS 4 giorni dopo l'ora dell'evento. E rimane disponibile per 28 giorni.

Processo per abilitare CRS

CRS è attualmente supportato in queste aree principali: NAM, EUR, JPN e APAC. Se l'organizzazione si trova all'interno di una di queste aree supportate, il processo di onboarding dei dati CRS è completamente automatizzato.

Per l'integrazione dei dati non è necessaria alcuna azione manuale. Dopo che il sistema rileva che ci si trova all'interno di un'area supportata, il flusso di dati viene avviato automaticamente.

Schema del set di dati

Colonna Tipo Descrizione
AadTenantId Stringa ID tenant del record. Viene usato per partizionare i dati nel contenitore tenant ed eliminato dopo la partizione.
ActorId Stringa Microsoft Entra ID dell'attore, che può essere un utente o una stanza. In seguito viene usato per unirsi all'ID sala dall'inventario delle sale per ottenere segnali dalle stanze.
StartTime Stringa Ora di inizio riunione, che indica che la sala è occupata.
EndTime Stringa Ora di fine riunione, che indica che la sala non è più occupata.
PrimarySmtp Stringa SMTP della persona o della stanza.
ActorIdType Stringa Tipo di ID attore, che deve essere Microsoft Entra ID. Questa stringa viene usata per il debug.
ActorType Stringa Tipo di attore, che è sempre "utente" indipendentemente dalla persona o dalla stanza.
CreationTime Stringa Ora di creazione di questo record.
DatasetCategory Stringa Categoria del set di dati, che può essere Commerciale o MSIT.
SignalType Stringa CallRecordSummarized, ovvero il tipo di segnale nel set di dati SIGS.

Onboarding dei dati MTR

Il segnale MTR contiene gli orari di inizio e fine della riunione di Teams, che possono essere usati per determinare l'occupazione della sala. Questo segnale è uguale al segnale CRS, ma viene esportato e caricato manualmente dall'amministratore del tenant. Si tratta pertanto di un'alternativa a CRS o può essere usato per il test prima dell'onboarding del tenant.

Processo per abilitare MTR

  1. Scaricare i dati MTR.

  2. Formattare i dati nel formato CSV usando lo schema seguente:

    L'esempio seguente mostra il contenuto del file di esempio 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. Eseguire il cmdlet Push-Dataset per caricare i dati.

    Nell'esempio seguente viene illustrato il cmdlet Push-Dataset.

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

Nota

All'interno del parametro path specificare il nome della cartella in cui si trova il file CSV. Solo l'inserimento di dati cronologici è supportato per i dati MTR.

Procedura per l'uso del cmdlet Push-Dataset

  1. Aprire PowerShell 7 (non come amministratore).

  2. Installare Microsoft Places eseguendo il cmdlet di Windows PowerShell seguente. Per altre informazioni sull'installazione di Microsoft Places, vedere il Microsoft Places PowerShell Gallery.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. Importare il modulo Microsoft Places eseguendo il cmdlet Windows PowerShell seguente.

    Import-Module -Name MicrosoftPlaces 
    
  4. Connettersi al modulo Microsoft Places eseguendo il cmdlet di PowerShell Places seguente.

    Connect-MicrosoftPlaces 
    
  5. Caricare il set di dati dal percorso nel dispositivo (usando la cartella e il percorso) eseguendo il cmdlet di PowerShell Places seguente.

    PS C:\> Push-Dataset -Type TeamsDeviceCalls -Path "<path-to-csv-file-folder>"
    
Schema del set di dati per l'analisi delle sale
Colonna Tipo Descrizione
ConferenceId Stringa ID conferenza.
MeetingId Stringa ID riunione.
StartTime Stringa Ora UTC all'inizio della riunione.
EndTime Stringa Ora UTC al termine della riunione.
CallParticipants Stringa Numero di partecipanti che hanno partecipato alla riunione.
DurationSeconds Stringa Durata della riunione.
alias Stringa Alias che identifica in modo univoco un dispositivo MTR.
Nome visualizzato Stringa Questo campo contiene il nome della sala riunioni.
Tipo di dispositivo Stringa Il tipo di dispositivo è sempre "MTR" (in questo caso).

La connessione dei sensori di occupazione e conteggio delle persone viene eseguita in quattro passaggi.

  1. Onboarding del dispositivo.
  2. Caricamento dei dati di telemetria.
  3. Inserimento dei dati di telemetria in tempo reale.
  4. Verificare che i dati siano disponibili in Places.

Onboarding del dispositivo

Il primo passaggio prevede il caricamento di un file CSV con i metadati del dispositivo, incluso il modo in cui i dispositivi vengono mappati a un PlaceId in Microsoft Places. Questo passaggio consente di contestualizzare i dati di telemetria quando raggiunge Places.

Il diagramma seguente illustra come eseguire l'onboarding di dispositivi e sensori in Places.

Diagramma che illustra come eseguire l'onboarding di dispositivi e sensori in Microsoft Places.

In primo luogo, i dati del dispositivo devono essere preparati.

  1. Scaricare le informazioni sulla posizione da Microsoft Places. Per prima cosa, installare PowerShell 7 eseguendo il cmdlet di PowerShell seguente. Per altre informazioni su PowerShell in Windows, vedere Installazione di PowerShell in Windows.

    Install-Module -Name ExchangeOnlineManagement  
    
    Import-Module -Name ExchangeOnlineManagement  
    
    Connect-ExchangeOnline
    
  2. Aprire PowerShell come amministratore ed eseguire il comando di PowerShell di ExchangeOnline seguente per verificare se l'account ha il ruolo TenantPlacesManagement necessario e per assicurarsi che il nome utente sia elencato.

    Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
    
  3. Se si dispone delle autorizzazioni corrette, verranno visualizzati il nome e il ruolo assegnati seguenti.

    • Nome: PlacesAdmin
    • Ruolo assegnato: TenantPlacesManagement
  4. Per ottenere il PlaceId degli edifici, aprire una nuova finestra di PowerShell ed eseguire il cmdlet Windows PowerShell seguente.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force  
    
    Connect-MicrosoftPlaces
    
  5. Eseguire i comandi seguenti per scaricare l'elenco di pavimenti e stanze.

    $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. Il file di output nel percorso del file CSV deve contenere le informazioni seguenti:

    PlaceId DisplayName Tipo
    5d275bba-5d7d-487f-855e-75cd2943204f Piano 1 Pavimento
    0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Sala conf 1202/3455 (9) Room
  7. Scaricare i metadati del dispositivo da una soluzione partner o dal sistema, inclusi tutti i dispositivi.

  8. Usare uno script o eseguire manualmente il mapping dei dispositivi a PlaceId usando il formato di dati seguente per PlacesDevice.

Colonna Descrizione Note Esempio
DeviceId (obbligatorio) Identificatore univoco del dispositivo (consigliato: Manufacturer_DeviceUniqueId). Deve corrispondere all'ID dei dati di telemetria inviati. Manuf1_3455
DisplayName Nome visualizzato del dispositivo. Se applicabile, è possibile usare un nome descrittivo. Manuf1_3455
Descrizione Descrizione del dispositivo.
MacAddress Indirizzo Mac del dispositivo. Fornitore fornito (se disponibile).
Produttore (obbligatorio) Produttore del dispositivo. Fornito dall'amministratore IT. Manuf1
IPV4Address IPV4Address del dispositivo. Fornitore fornito (se disponibile).
IPV6Address IPV6Address del dispositivo. Fornitore fornito, se disponibile.
PlaceId (obbligatorio) PlaceId a cui viene eseguito il mapping del dispositivo in Places. L'amministratore IT esegue il mapping di DeviceID al campo DisplayName da un elenco di sale. 76fe540f-01a9-425e-acd5-5d7d1da44fbf
Tag Elenco di tag personalizzati associati al dispositivo per facilitare la ricerca. [ "IsVirtual_False", "Building_121"]
Sensor.SensorId (obbligatorio) Identificatore univoco di un sensore all'interno del dispositivo. Deve essere incluso nel payload di telemetria standard. PeopleCount, Occupazione
Sensor.DisplayName Nome visualizzato del sensore. È possibile usare un nome descrittivo (se applicabile). Occupazione, PeopleCount
Sensor.SensorType (obbligatorio) Tipo di sensore. Elenco convalidato (vedere gli esempi). Graffetta
Sensor.PlaceId Identificatore univoco del luogo servito dal sensore (è necessario fornire queste informazioni solo se il sensore si trova in una posizione diversa dalla posizione del dispositivo). 76fe540f-01a9-425e-acd5-5d7d1da44fbf

Linee guida generali per dispositivi e sensori

  • È consigliabile specificare DeviceId come Manufacturer_DeviceUniqueId. Tuttavia, nei casi in cui i partner non possono inviare dati di telemetria a livello di dispositivo (ad esempio, combinano i dati di telemetria da più dispositivi), è possibile creare un DeviceId virtuale come Manufacturer_Building_VirtualDeviceId. In questo caso, VirtualDeviceId può essere una chiave naturale di uno spazio. Se il cliente fornisce VirtualDeviceId, è necessario includere informazioni sui dispositivi fisici da cui vengono calcolati i dati di telemetria. Le informazioni sul dispositivo fisico possono essere incluse nei tag.

  • Se Sensor.SensorType è univoco per un dispositivo, è sufficiente specificare SensorType. Nei casi in cui sono presenti più flussi di dati per un particolare tipo di sensore per un dispositivo, è necessario un SensorId univoco. SensorType e SensorId, nella maggior parte dei casi, sono PeopleCount, Occupancy e così via, a meno che SensorType non sia univoco per un dispositivo. In questo caso, SensorId è SensorType_SomeUnique identificatore.

Dopo aver preparato i metadati del dispositivo, le informazioni sul dispositivo possono essere caricate in Microsoft Places nei modi seguenti.

  • Uso dei cmdlet di PowerShell
  • Uso delle API Microsoft Graph

Uso dei cmdlet di PowerShell

Per gestire singolarmente i dispositivi, è possibile usare direttamente i cmdlet Microsoft Places PowerShell. Per altre informazioni sui cmdlet di Places, vedere il modulo Microsoft Places cmdlet per PowerShell.

Nota

Per eseguire i cmdlet, è necessario avere il ruolo TenantPlacesManagement assegnato.

Nome del cmdlet Descrizione Parametri
New-PlaceDevice Crea un nuovo dispositivo DeviceId (obbligatorio), DisplayName, Description, MACAddress, Manufacturer (obbligatorio), IPV4Address, IPV6Address, PlaceId (obbligatorio), Tags, Sensors (obbligatorio)
Remove-PlaceDevice Elimina un dispositivo ID (obbligatorio)
Set-PlaceDevice Aggiornamenti un dispositivo ID (obbligatorio), DeviceId (obbligatorio), DisplayName, Description, MACAddress, Manufacturer (obbligatorio), IPV4Address, IPV6Address, PlaceId, Tags, Sensors (obbligatorio)
Get-PlaceDevice Ottiene un dispositivo Id, Filter, Top
  1. Aprire PowerShell 7 (non come amministratore).

  2. Installare Microsoft Places eseguendo il cmdlet di Windows PowerShell seguente. Per altre informazioni sull'installazione di Microsoft Places, vedere il Microsoft Places PowerShell Gallery.

    Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force 
    
  3. Importare il modulo Microsoft Places eseguendo il cmdlet Windows PowerShell seguente.

    Import-Module -Name MicrosoftPlaces 
    
  4. Dopo aver installato e importato il modulo, connettersi al modulo Microsoft Places eseguendo il cmdlet di PowerShell Places seguente.

    Connect-MicrosoftPlaces
    
  5. Usare New-PlaceDevice esempio di cmdlet illustrato di seguito per aggiungere un dispositivo. Il parametro Sensors è un oggetto di tipo MicrosoftPlaces.PlacesDevices.Sensor con i campi indicati in precedenza.

    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. Usare Get-PlaceDevice per visualizzare l'elenco dei dispositivi. Per impostazione predefinita, restituisce 10 dispositivi. Per restituire altri dispositivi, aggiungere il parametro -top come illustrato di seguito.

    Get-PlaceDevice -top 100
    
  7. Usare Set-PlaceDevice per aggiornare un dispositivo con l'ID esistente.

    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. Usare Remove-PlaceDevice per eliminare un dispositivo.

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

Uso delle API Microsoft Graph

Per modificare il processo o automatizzare e integrare con i sistemi esistenti, è possibile usare le API di Microsoft Graph.

Per usare le API, seguire questa procedura.

  1. Creare una registrazione dell'app in Microsoft Entra.im. Per altre informazioni sull'autorizzazione PlaceDeviceRead.All e PlaceDevice.ReadWrite.All, vedere Informazioni di riferimento sulle autorizzazioni di Microsoft Graph.

  2. Compilare e distribuire un'applicazione per sincronizzare le informazioni sui dispositivi tra Microsoft Places e i partner.

Per altre informazioni sui dispositivi sensore, vedere le API e la documentazione dei dispositivi di Microsoft Graph seguenti:

Dispositivo di esempio:

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" 
                } 
            ] 
        } 
  • Per informazioni su come visualizzare un dispositivo specifico, vedere Get workplaceSensorDevice.To learn how to view a specific device, see Get workplaceSensorDevice.

Esempio:

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

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

Risposta di esempio:

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

Esempio:

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

Risposta di esempio:

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

Esempio:

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

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

Caricamento dei dati di telemetria

Dopo aver eseguito l'onboarding dei dispositivi in Microsoft Places, è possibile eseguire una sola volta il riempimento dei dati cronologici per popolare Places con dati di telemetria cronologici. È quindi possibile configurare Places per ricevere dati di telemetria continui dai dispositivi per rimanere aggiornati. Il diagramma seguente descrive il flusso di caricamento del file di backfill (metà superiore) e il flusso di telemetria continuo del dispositivo (metà inferiore).

Diagramma che mostra come eseguire una sola volta il riempimento dei dati cronologici in Microsoft Places.

Opzione 1: uso del cmdlet Push-Dataset

Microsoft Places accetta dati cronologici in uno schema e un formato di file CSV specifici. È necessario esportare questi dati da un sistema esistente e quindi usare il cmdlet di PowerShell seguente per caricare i dati.

Nome del cmdlet Descrizione Parametri Esempio
Push-Dataset Carica il set di dati in ADLS. Tipo, Percorso Push-Dataset -Type RoomOccupancy -Path C:\sensordata\

Nota

Il tipo può essere RoomOccupancy e PeopleCount. Il ruolo deve essere assegnato a TenantPlacesManagement. Per altre informazioni sui cmdlet di PowerShell, vedere il Microsoft Places PowerShell Gallery.

  1. Aprire PowerShell 7 (non come amministratore).

  2. Installare Microsoft Places eseguendo il cmdlet di Windows PowerShell seguente. Per altre informazioni sull'installazione di Microsoft Places, vedere il Microsoft Places PowerShell Gallery.

    Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
    
  3. Importare il modulo Microsoft Places eseguendo il cmdlet Windows PowerShell seguente.

    Import-Module -Name MicrosoftPlaces 
    
  4. Connettersi al modulo Microsoft Places eseguendo il cmdlet di PowerShell Places seguente.

    Connect-MicrosoftPlaces 
    
  5. Caricare il set di dati dal percorso nel dispositivo (usando la cartella e il percorso) eseguendo il cmdlet di PowerShell Places seguente.

    Push-Dataset -Type RoomOccupancy -Path <folder path> 
    
Formato di file CSV per PeopleCount
Nome colonna Ordine di colonna Comment Esempio
DeviceId 1 ID dispositivo. Manuf1_1202_3455
SensorId 2 ID sensore. PeopleCount
Valore 3 Intero senza segno. PeopleCount (qualsiasi intero senza segno, ad esempio 5).
IngestionTime 4 Timestamp dai dati di telemetria, in formato UTC. 2023-06-27T18:24:20.808Z
locationHint Stringa Informazioni aggiuntive per indicare la posizione del dispositivo. Edificio 1

Csv di esempio:

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 
Formato di file CSV per l'occupazione
Nome colonna Ordine di colonna Comment Esempio
DeviceId 1 ID dispositivo. Manuf1_1202_3455
SensorId 2 ID sensore. RoomOccupancy
Valore 3 Intero senza segno. Occupazione: True o False.
IngestionTime 4 Timestamp dai dati di telemetria, in formato UTC. 2023-06-27T18:24:20.808Z
locationHint Stringa Informazioni aggiuntive per indicare la posizione del dispositivo. Edificio 1

Csv di esempio:


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 

Opzione 2: automatizzare l'uso di Microsoft API Graph

Per compilare un'applicazione per automatizzare il caricamento dei dati di telemetria e per creare un'applicazione per automatizzare la registrazione e l'onboarding dei dispositivi, le API sono disponibili tramite Microsoft Graph. Per usare le API, seguire questa procedura.

  1. Creare una registrazione dell'app in Microsoft Entra. Per altre informazioni sull'autorizzazione PlaceDeviceRead.All e PlaceDevice.ReadWrite.All, vedere Informazioni di riferimento sulle autorizzazioni di Microsoft Graph.

  2. Compilare e distribuire un'applicazione per sincronizzare i dati di telemetria tra Microsoft Places e i partner.

  3. Usare l'API IngestTelemetry per eseguire il push dei dati relativi all'occupazione e al conteggio delle persone in Microsoft Places.

Per altre informazioni sull'inserimento dei dati di telemetria dei sensori per un sensore dell'area di lavoro e per altre informazioni sull'API IngestTelemetry, vedere workplaceSensorDevice: ingestTelemetry.

Per eseguire il push dei dati relativi all'occupazione e al conteggio delle persone in Microsoft Places tramite microsoft API Graph
  1. Scaricare i dati dai sistemi esistenti come descritto in precedenza.
  2. Preparare i dati di telemetria in base al formato dati di segnalazione dei dati di occupazione seguente.
Formato segnale-dati dei dati di occupazione
Parametro Tipo Descrizione
telemetria (obbligatorio) workplaceSensorDeviceTelemetry Raccolta dei dati di telemetria raccolti e segnalati da un sensore in un dispositivo della stanza.
deviceId (obbligatorio) Stringa Identificatore univoco definito dall'utente del dispositivo fornito al momento della creazione. Non usare l'identificatore generato dal sistema del dispositivo. Usare gli ID dispositivo di cui è stato eseguito l'onboarding usando solo il cmdlet new-device.
sensorId Stringa Identificatore univoco definito dall'utente del sensore nel dispositivo. Se il dispositivo dispone di più sensori dello stesso tipo, è necessario specificare la proprietà per identificare ogni sensore. Se il dispositivo ha un solo sensore di un tipo, la proprietà può essere omessa. Il valore predefinito è il tipo di sensore. Facoltativo.
boolValue (obbligatorio) Booleano True o false in base al fatto che la stanza sia occupata o meno.
timestamp (obbligatorio) DateTimeOffset Data e ora in cui il sensore ha misurato e segnalato il valore. Il tipo timestamp rappresenta le informazioni di data e ora usando il formato ISO 8601 ed è sempre in formato UTC. Ad esempio, la mezzanotte UTC del 1° gennaio 2024 è 2024-01-01T00:00:00Z.
sensorType (obbligatorio) workplaceSensorType occupazione
LocationHint (obbligatorio) Stringa Informazioni aggiuntive usate per indicare la posizione del dispositivo.
Persone formato dei dati signal-data
Parametro Tipo Descrizione
telemetria (obbligatorio) workplaceSensorDeviceTelemetry Raccolta dei dati di telemetria raccolti e segnalati da un sensore in un dispositivo della stanza.
deviceId (obbligatorio) Stringa Identificatore univoco definito dall'utente del dispositivo fornito al momento della creazione. Non usare l'identificatore generato dal sistema del dispositivo. Usare gli ID dispositivo di cui è stato eseguito l'onboarding usando solo il cmdlet new-device.
sensorId Stringa Identificatore univoco definito dall'utente del sensore nel dispositivo. Se il dispositivo dispone di più sensori dello stesso tipo, è necessario specificare la proprietà per identificare ogni sensore. Se il dispositivo ha un solo sensore di un tipo, la proprietà può essere omessa. Il valore predefinito è il tipo di sensore. Facoltativo.
intValue (obbligatorio) Int32 Numero di persone che occupano la stanza.
timestamp (obbligatorio) DateTimeOffset Data e ora in cui il sensore ha misurato e segnalato il valore. Il tipo timestamp rappresenta le informazioni di data e ora usando il formato ISO 8601 ed è sempre in formato UTC. Ad esempio, la mezzanotte UTC del 1° gennaio 2024 è 2024-01-01T00:00:00Z.
sensorType (obbligatorio) workplaceSensorType peopleCount
LocationHint (obbligatorio) Stringa Informazioni aggiuntive per indicare la posizione del dispositivo.
  • Eseguire l'API per eseguire il push dei dati in Microsoft Places.

Il comando seguente è una richiesta API di esempio per l'occupazione.

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

Il comando seguente è una richiesta API di esempio per il conteggio delle persone:

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

Inserimento dei dati di telemetria in tempo reale

I connettori descritti in Ambito richiedono l'autorizzazione seguente per richiedere il servizio di inserimento dei dati di telemetria in tempo reale.

  • PlaceDeviceTelemetry.ReadWrite.All

È necessario completare il consenso dell'amministratore o creare un'applicazione Microsoft Entra con l'autorizzazione in base all'architettura selezionata. Per altre informazioni sull'autorizzazione PlaceDeviceTelemetry.ReadWrite.All, vedere Informazioni di riferimento sulle autorizzazioni di Microsoft Graph.

Il diagramma seguente descrive l'architettura per l'inserimento dei dati di telemetria.

Diagramma che mostra l'architettura usata per l'inserimento dei dati di telemetria.

Per i clienti che scelgono questi tipi di integrazione, è necessario completare il consenso amministratore a livello di tenant per concedere le autorizzazioni ai servizi partner per inserire i dati di telemetria per loro conto.

  1. Ciò è applicabile quando i provider hardware hanno creato connettori SaaS multi-tenant (app singole e multi-tenant). Per altre informazioni sui connettori multi-tenant, vedere Tenancy in Microsoft Entra ID.

  2. Ottenere l'ID app (GUID) dal partner che inserisce i dati di telemetria per conto del servizio.

  3. Creare un'entità servizio con l'ID app. Sono disponibili diverse opzioni tra cui scegliere. Per altre informazioni, vedere Creare un'applicazione aziendale da un'applicazione multi-tenant in Microsoft Entra ID.

Se si usa Microsoft Graph PowerShell, Graph o l'interfaccia della riga di comando di Azure, sostituire l'ID o l'ID app (dei comandi indicati) nelle pagine per creare un'entità servizio, quindi concedere il consenso amministratore nell'entità servizio in Azure.

Screenshot che mostra la finestra di dialogo Autorizzazioni di integrazione Microsoft Places.

Se si usa un URL di consenso amministratore, sostituire l'ID app nella pagina con l'ID dell'app partner, quindi aprirlo in un browser. Crea un'entità servizio e chiede di concedere il consenso amministratore. Per concedere il consenso dell'amministratore, selezionare Accetta.

Screenshot della finestra di dialogo Autorizzazioni di amministrazione richieste.

Microsoft Places rende disponibile un'API che accetta i dati di telemetria in un formato standard esposto tramite Microsoft Graph. L'API accetta un batch di messaggi di telemetria.

  • Per l'architettura di tipo B, i clienti si basano su un'integrazione fornita dai partner hardware ospitati in loco nell'ambiente del cliente.

  • Per l'architettura di tipo C, i clienti possono creare un processo a esecuzione prolungata o un processo basato su eventi, usando funzioni di Azure, per chiamare Microsoft Places API per inviare dati di telemetria di compilazione.

  • Entrambe le architetture di integrazione di tipo B e C richiedono ai clienti di creare una registrazione dell'app in Microsoft Entra, come illustrato nella figura seguente, e di fornire il consenso amministratore con PlaceDeviceTelemetry.ReadWrite.All. Per altre informazioni sulle autorizzazioni esposte da Microsoft Graph, vedere Informazioni di riferimento sulle autorizzazioni di Microsoft Graph.

Screenshot che mostra la finestra di dialogo Registra applicazione asn.

Verificare che i dati siano disponibili in Microsoft Places

Dopo l'onboarding dei dispositivi e l'API inserisce i dati del sensore live, i report di analisi Microsoft Places iniziano a essere popolati. Per sbloccare informazioni dettagliate che consentono di ottimizzare l'area di lavoro, verificare che i dati vengano trasmessi nel dashboard di analisi entro 72 ore.