

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Riscoperta delle capacità
<a name="managedintegrations-sdk-v2-onboarding-capability-rediscovery"></a>

Questa sezione descrive i passaggi per apprendere nuovamente le informazioni sulle funzionalità dei dispositivi connessi all'hub utilizzando Capability Rediscovery.

## Prerequisiti
<a name="capability-rediscovery-prereq"></a>

Completa questi passaggi prima di tentare la riscoperta delle funzionalità:
+ Effettua l'onboarding di un dispositivo hub nell'hub Managed Integrations.
+ Effettua l'onboarding di uno o più dispositivi terminali nell'hub.
+ Installa la versione più recente di AWS CLI dal [Managed Integrations AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/) Command Reference
+ (Facoltativo) Iscriviti alle notifiche degli [eventi DEVICE\_DISCOVERY\_STATUS](managedintegrations-notifications.md#managedintegrations-notification-setup).

## Quando utilizzare Capability Rediscovery
<a name="capability-rediscovery-use-cases"></a>

Utilizza la riscoperta delle capacità nei seguenti scenari:
+ Dopo un aggiornamento del firmware di un dispositivo finale che aggiunge o modifica le funzionalità del dispositivo
+ Dopo un aggiornamento del software dell'hub che abilita il supporto per nuove funzionalità del dispositivo
+ Quando le funzionalità del dispositivo non si riflettono accuratamente nelle integrazioni gestite
+ Per aggiornare le informazioni sulle funzionalità di un singolo dispositivo o di tutti i dispositivi collegati a un hub

## Avvia la riscoperta delle funzionalità
<a name="capability-rediscovery-start-discovery"></a>

Avvia la riscoperta delle funzionalità del tuo hub per aggiornare le funzionalità del dispositivo.

**Per avviare la riscoperta delle funzionalità**
+ Usa il comando [start-device-discovery con il tipo di discovery](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html). `CONTROLLER_CAPABILITY_REDISCOVERY`

  **Esempio start-device-discovery**

  ```
  # For a single device
  aws iot-managed-integrations start-device-discovery \
    --discovery-type CONTROLLER_CAPABILITY_REDISCOVERY \
    --controller-identifier {{HUB_MANAGED_THING_ID}} \
    --protocol {{PROTOCOL}} \
    --end-device-identifier {{DEVICE_MANAGED_THING_ID}}
  
  # For all devices on a protocol
  aws iot-managed-integrations start-device-discovery \
    --discovery-type CONTROLLER_CAPABILITY_REDISCOVERY \
    --controller-identifier {{HUB_MANAGED_THING_ID}} \
    --protocol {{PROTOCOL}}
  ```

  **Risposta:**

  ```
  {
      "Id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
      "StartedAt": "2026-01-12T23:07:49.275Z"
  }
  ```
**Nota**  
Il `--protocol` parametro accetta, o. `ZIGBEE` `ZWAVE` `CUSTOM`  
Se il `--end-device-identifier` parametro opzionale non viene fornito, tutti i dispositivi associati all'hub per il protocollo selezionato vengono riscoperti.

  *Per ulteriori informazioni, consulta il comando [start-device-discovery nel Managed Integrations Command Reference](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html). AWS CLI *

[Per verificare che le funzionalità del dispositivo siano state aggiornate, consulta Get managed thing capabilities.](managedintegrations-sdk-v2-cookbook-ugs.md#managedintegrations-sdk-v2-cookbook-check-device-capabilties)

## Risoluzione dei problemi
<a name="capability-rediscovery-troubleshooting"></a>

Utilizza le seguenti indicazioni per risolvere i problemi più comuni relativi alla riscoperta delle funzionalità. Quando è in corso la riscoperta delle funzionalità, Managed Integrations invia notifiche tramite Kinesis o EventBridge come messaggi JSON.

### Notifiche di successo
<a name="capability-rediscovery-notifications-success"></a>

**Per dispositivo in fase di elaborazione:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller and end device
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456", "arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/xyz789uvw012"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "RUNNING",
        "deviceCount": 1
    }
}
```

**Completamento:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller only
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "SUCCEEDED",
        "deviceCount": 0
    }
}
```

### Notifiche di errore
<a name="capability-rediscovery-notifications-failure"></a>

**Guasto del dispositivo:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller and end device
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456", "arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/ghi345jkl678"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "RUNNING",
        "deviceCount": 1,
        "error": {
            "code": "500",
            "message": "Device unreachable",
            "managedThingId": "ghi345jkl678"
        }
    }
}
```

**Fallimento completo:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller only
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "FAILED",
        "deviceCount": 0,
        "error": {
            "code": "404",
            "message": "Specified controller does not exist"
        }
    }
}
```

### Nessuna notifica ricevuta
<a name="capability-rediscovery-no-notifications"></a>

Se non ricevi notifiche sullo stato del rilevamento, verifica di aver sottoscritto la sottoscrizione alle notifiche `DEVICE_DISCOVERY_STATUS` degli eventi. Per ulteriori informazioni su come impostare le notifiche, consulta [Imposta le notifiche relative alle integrazioni gestite](managedintegrations-notifications.md#managedintegrations-notification-setup).

### Alcuni dispositivi non sono aggiornati
<a name="capability-rediscovery-partial-failure"></a>

Se alcuni dispositivi non riescono ad aggiornarsi durante la riscoperta della funzionalità, controlla i messaggi di errore nelle `DEVICE_DISCOVERY_STATUS` notifiche. I messaggi di errore più comuni includono:
+ `Device unreachable`- Il dispositivo è offline o non risponde
+ `Timeout querying device`- Il dispositivo non risponde entro il periodo di tempo previsto
+ `Invalid capability report`- Il firmware del dispositivo potrebbe presentare un problema

Per risolvere questi problemi, assicurati che i dispositivi interessati siano accesi e raggiungibili, quindi riprova la funzionalità per i dispositivi guasti singolarmente utilizzando il parametro. `--end-device-identifier`

### La scoperta non viene mai completata
<a name="capability-rediscovery-stuck"></a>

Se il processo di riscoperta delle funzionalità non viene completato, controlla lo stato di rilevamento utilizzando l'ID del processo di rilevamento restituito dal `start-device-discovery` comando:

```
aws iot-managed-integrations get-device-discovery \
  --identifier {{DISCOVERY_JOB_ID}}
```

Se il rilevamento è bloccato:
+ Verifica che l'hub sia online e connesso a Managed Integrations
+ Attendi fino a 15 minuti affinché il rilevamento scada automaticamente
+ Riprova la riscoperta della funzionalità dopo aver verificato che l'hub e i dispositivi sono operativi