Matter
Riferimento del driver Matter - la messa in servizio via Bluetooth nella Fabric locale, il flusso Associa dispositivo, l'identità del nodo e i tag dei cluster.
Il driver Matter legge le apparecchiature Matter su Thread: sensori intelligenti, prese, luci e dispositivi simili certificati per lo standard Matter. Ganter Lab si comporta come un controllore Matter con una Fabric locale propria: mette in servizio ogni dispositivo una volta sola via Bluetooth Low Energy su questo computer, gli passa le credenziali della tua rete Thread esistente, e da quel momento in poi gli parla su quella rete attraverso il tuo Thread Border Router.
Questo rovescia il solito ordine di configurazione. Un dispositivo Matter non parte da un host e da una porta: parte da una cerimonia di associazione, e dopo viene memorizzata soltanto l'identità stabile del nodo messo in servizio.
Che cosa serve prima di associare:
- Un adattatore Bluetooth Low Energy su questo computer, acceso, con Windows che permette a Ganter Lab di usarlo.
- Una rete Thread esistente con un Border Router, e il suo Active Operational Dataset completo. Ganter Lab fa entrare i dispositivi nella tua rete; non ne può inventare le credenziali.
- Il codice di configurazione del dispositivo, stampato sul dispositivo o sulla sua confezione, e il dispositivo in modalità di associazione.
Il flusso Associa dispositivo
Sul driver Matter la barra degli strumenti offre Associa dispositivo dove gli altri driver offrono Aggiungi dispositivo. Apre un modulo con tre campi:
| Campo | Che cos'è | Formato | Predefinito |
|---|---|---|---|
| Nome del dispositivo | Il nome modificabile che il dispositivo porterà nel Connector. | Testo libero | Dispositivo Matter |
| Codice di configurazione Matter | Il codice manuale ufficiale di associazione, oppure il payload QR completo. Si inserisce mascherato, con un comando che lo rivela. | Un codice manuale di 11 o 21 cifre (trattini e spazi vengono ignorati; la cifra di controllo viene verificata), oppure il payload QR completo che inizia con MT:. Un payload QR che non annuncia la messa in servizio via Bluetooth viene rifiutato, come pure i passcode riservati o fuori intervallo. |
vuoto |
| Dataset operativo Thread | Il dataset attivo completo della tua rete Thread, ottenuto dall'amministratore di rete o dal Border Router. Si inserisce mascherato, con un comando che lo rivela. | Testo esadecimale (gli spazi e un prefisso hex: sono tollerati), al massimo 254 byte una volta decodificato. Deve essere il dataset completo: Active Timestamp, Channel, Channel Mask, Extended PAN ID, Mesh-Local Prefix, Network Key, Network Name, PAN ID, PSKc e Security Policy devono esserci tutti, e un dataset parziale o malformato viene rifiutato nominando l'elemento mancante. |
vuoto |
Associa dispositivo resta disattivato finché tutti e tre i campi non sono compilati. Mentre l'associazione gira, il modulo riferisce la sua fase: Verifica (controllo del codice e del dataset), Trova (ricerca del dispositivo via Bluetooth), Associa (autenticazione con il codice di configurazione), Entra in Thread (invio della configurazione di rete e attesa che il dispositivo compaia sulla rete Thread), Salva (registrazione del nodo messo in servizio nella Fabric locale).
Annulla è disponibile finché il dispositivo fisico non è ancora stato modificato; una volta che la messa in servizio ha alterato il dispositivo, il pulsante dice che Ganter Lab sta chiudendo in sicurezza e il flusso completa la registrazione invece di abbandonare un nodo messo in servizio a metà. Si esegue un'associazione per volta; un secondo tentativo mentre una è in corso viene rifiutato.
I segreti non vengono mai resi durevoli. Il codice di configurazione e il dataset Thread esistono solo nel modulo mentre è aperto; vengono cancellati quando l'associazione finisce, fallisce o viene annullata, e di essi non viene scritto nulla nella configurazione. Quello che viene salvato è la sola identità del nodo.
Se l'associazione fallisce, il messaggio dichiara la causa: un codice o un dataset non validi, Bluetooth assente o spento, Windows che nega l'accesso al Bluetooth, nessun dispositivo corrispondente trovato, il dispositivo che rifiuta il codice di configurazione, oppure il dispositivo che viene messo in servizio ma non compare mai sulla rete Thread. Un codice di configurazione sbagliato viene nominato come tale, quindi la risposta è rileggere il codice stampato e rimettere il dispositivo in modalità di associazione.
Ogni volta che un fallimento arriva dopo che l'apparecchiatura era già stata messa in servizio, il messaggio lo dice e mostra l'ID nodo: il nodo resta nella Fabric e si può aggiungere più tardi con Rileva, appena raggiunge la rete. In quel caso non ripristinare il dispositivo; solo un messaggio che dice che non è stato salvato nulla significa che l'apparecchiatura è rimasta intatta.
L'identità del nodo
Un dispositivo associato è legato all'ID nodo stabile a 64 bit dell'apparecchiatura, mostrato in sola lettura nella sua scheda Connessione come 16 cifre esadecimali, accanto allo stato del dispositivo. Il nome visualizzato è tuo e lo puoi cambiare; l'ID nodo no. Un dispositivo la cui identità memorizzata non si riesce più a leggere mostra al suo posto Da associare di nuovo.
Poiché l'identità è l'ID nodo, i dispositivi Matter mantengono stati di connessione indipendenti: disabilitare, eliminare o perdere un nodo non rende indisponibile un altro, ed eliminare un dispositivo rilascia solo il suo uso della sessione sicura, non rimuove l'apparecchiatura dalla Fabric locale.
Rilevamento
Rileva sul driver Matter elenca i nodi già messi in servizio nella Fabric locale di questa applicazione, così un nodo il cui dispositivo è stato eliminato (o la cui associazione è finita senza un dispositivo) si può riaggiungere senza una nuova cerimonia. Un ID nodo già configurato viene marcato come tale e Apri porta al dispositivo esistente. I candidati del rilevamento portano l'identità del nodo e nessun segreto di configurazione. Il flusso generale del rilevamento è descritto nella pagina Connector.
Tag
Un tag Matter non ha alcun campo di indirizzo a testo libero. Il nome del tag è il
nome del cluster da leggere. Il nome deve corrispondere al nome del cluster come lo
scrive la specifica Matter, spazi e punteggiatura compresi e senza distinguere
maiuscole e minuscole: On/Off, Level Control, Temperature Measurement. Poiché il
nome è l'indirizzo, non può contenere due punti; il pannello li rifiuta e lo dice. Un
nome che nessun cluster porta si legge come un errore che nomina il cluster
sconosciuto. Il valore viene convertito nel tipo di dato dichiarato dal tag; anche un
valore che il tipo dichiarato non può rappresentare si legge come un errore, invece che
come un numero di sostituzione.
Due campi numerici dicono dove leggere quel cluster sul dispositivo. Un dispositivo espone un'uscita per ogni uscita comandabile, numerata da 1, quindi una lampada a due canali o una ciabatta multipresa si legge con un tag per uscita; l'uscita 0 è il nodo stesso. L'attributo è quale valore del cluster leggere, e 0 è il valore proprio del cluster, che è quello che vuole quasi ogni tag.
| Campo | Che cosa fa | Valori | Predefinito |
|---|---|---|---|
| Nome del tag | Dà il nome al tag e sceglie il cluster Matter letto dal nodo. Senza due punti. | Il nome del cluster scritto per esteso, per esempio On/Off |
Tag n. 1 |
| Uscita (endpoint) | Quale uscita del dispositivo questo tag legge. | da 0 in su; 1 è la prima uscita comandabile | 1 |
| Attributo | Quale attributo del cluster questo tag legge. | da 0 in su; 0 è il valore proprio del cluster | 0 |
| Tipo di dato | Il tipo OPC UA con cui il valore viene esposto. | Boolean, Int32, UInt32, Float, Double, String | Float |
| Intervallo di interrogazione | Ogni quanto l'attributo viene letto, per ogni tag, con il valore predefinito del dispositivo (1000 ms) che vale dove il tag non ne dichiara alcuno. | millisecondi | predefinito del dispositivo |
I tag Matter sono di sola lettura: il campo dell'accesso non offre alcuna scelta scrivibile e le scritture di attributo vengono rifiutate dal runtime. Modificare un dispositivo Matter (accenderlo, per esempio) è un comando Matter, che le scritture sui tag non modellano.