View a markdown version of this page

Riscoperta delle capacità - Integrazioni gestite per AWS IoT Device Management

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à

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

Prerequisiti

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 Command Reference

  • (Facoltativo) Iscriviti alle notifiche degli eventi DEVICE_DISCOVERY_STATUS.

Quando utilizzare Capability Rediscovery

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à

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. 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. AWS CLI

Per verificare che le funzionalità del dispositivo siano state aggiornate, consulta Get managed thing capabilities.

Risoluzione dei problemi

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

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

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

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.

Alcuni dispositivi non sono aggiornati

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

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