Matter

Riferimento del driver Matter - le reti Wi-Fi e Thread in cui entrano i dispositivi, la messa in servizio via Bluetooth nella Fabric locale, il flusso Associa dispositivo, l'identità del nodo, i tag che vengono dal dispositivo e che cosa fa scrivere ciascuno.

Visualizza come Markdown

Il driver Matter legge le apparecchiature Matter: sensori intelligenti, prese, luci e dispositivi simili certificati per lo standard Matter, sia che entrino nella rete via Wi-Fi sia via Thread. È un driver solo per entrambi. La rete è solo la via d'ingresso: una volta che il dispositivo ci è entrato, Ganter Lab lo legge allo stesso modo, sulla rete locale.

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 di una rete registrata nella scheda Reti del driver, e da quel momento in poi gli parla sulla rete locale: attraverso il router per un dispositivo Wi-Fi, attraverso il Thread Border Router per un dispositivo Thread.

Non dici mai a Ganter Lab se un dispositivo è Wi-Fi o Thread: lo dice il dispositivo stesso. Aperta la sessione via Bluetooth, Ganter Lab legge dal dispositivo in quale tipo di rete entra, prima di scriverci qualsiasi cosa, e si ferma con un messaggio suo quando la rete scelta è dell'altro tipo.

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.
  • La rete in cui il dispositivo entrerà, registrata nella scheda Reti: per un dispositivo Wi-Fi, il nome del Wi-Fi e la sua password; per un dispositivo Thread, una rete Thread esistente con un Border Router, e il suo Active Operational Dataset completo. Ganter Lab fa entrare i dispositivi nella propria 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.

Reti

Il pannello del driver Matter porta una scheda intitolata Reti: le reti Wi-Fi e Thread in cui entrano i dispositivi, una per riga. Una rete si registra una volta, prima del primo dispositivo, e serve a tutti i dispositivi associati in essa, quindi associare una seconda lampada sullo stesso Wi-Fi non chiede più nulla. La scheda viene disegnata solo per un ruolo che può configurare il Connector, perché custodisce i segreti delle reti e non serve ad altro che all'associazione.

La testata della scheda porta i suoi comandi, in quest'ordine:

Comando Che cosa fa Che cosa non fa
Aggiungi rete Wi-Fi Aggiunge una rete Wi-Fi e la seleziona. Quando questo computer è collegato a un Wi-Fi il cui nome non è ancora registrato, la nuova rete prende quel nome; altrimenti parte senza nome, e lo scrive l'operatore. Windows consegna solo il nome, e solo quando lascia che le app conoscano la posizione di questo computer (Windows 11 chiede questo permesso); la password la scrive sempre l'operatore. Non legge la password da Windows e non controlla che la rete esista.
Aggiungi rete Thread Aggiunge una rete Thread e la seleziona, con un nome provvisorio (numerato quando è già preso) finché non gliene si dà uno proprio, in attesa del suo dataset. Non parla con il Border Router: Ganter Lab usa solo il dataset della rete che il Border Router ha creato.
Rimuovi rete Rimuove la rete selezionata, dopo una conferma che la nomina e dice che i dispositivi già associati non vengono toccati. Senza una rete selezionata resta disegnato e disattivato, e il suo suggerimento lo dice. Non tocca i dispositivi già associati in quella rete: continuano a funzionare e ne tengono il nome nel loro campo Rete.

La tabella mostra, per ogni rete, il Nome, il Tipo di rete (Rete Wi-Fi o Rete Thread) e lo Stato: Pronta per l'associazione, oppure che cosa manca ancora alla rete. Una rete il cui nome non è ancora scritto appare come Rete senza nome.

I campi della rete selezionata si modificano sul posto, sotto la tabella, e si salvano da soli. Un valore che le regole qui sotto rifiutano non viene scritto, e il campo dice perché.

Tipo Campo Che cos'è Formato
Wi-Fi Nome della Wi-Fi Il nome (SSID) consegnato al dispositivo, esattamente come il router lo trasmette: le maiuscole contano. Ogni nome di Wi-Fi si registra una volta. Da 1 a 32 byte di testo (UTF-8).
Wi-Fi Password di accesso La password del Wi-Fi consegnata al dispositivo. Vuota per una rete aperta; altrimenti da 8 a 63 caratteri ASCII stampabili (una passphrase WPA), oppure esattamente 64 cifre esadecimali (la chiave grezza).
Thread Nome Il nome scelto per la rete, per riconoscerla durante l'associazione e su ogni dispositivo. Ogni nome di rete Thread si registra una volta. Testo libero.
Thread Dataset operativo Thread Il dataset attivo completo della rete Thread, ottenuto dall'amministratore della rete o dal suo Border Router. Home Assistant lo mostra; Alexa e Apple no. 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.

Due cose decidono se un dispositivo Wi-Fi si può associare, e la scheda le dice entrambe accanto ai campi:

  • La maggior parte dei dispositivi entra solo in reti a 2,4 GHz. Un router che trasmette lo stesso nome a 2,4 GHz e a 5 GHz li serve; una rete che esiste solo a 5 GHz no.
  • Questo computer e i dispositivi devono stare sulla stessa rete locale. Una rete ospiti, o l'isolamento dei client attivo sul router, impedisce al computer di trovare i dispositivi una volta che sono entrati.

Una rete serve all'associazione solo finché il suo segreto rispetta queste regole: una rete Wi-Fi con nome e password validi (vuota compresa), una rete Thread con un dataset valido.

Modificare una rete cambia quello che consegna la prossima associazione, mai quello che un dispositivo ha già ricevuto. Un dispositivo che deve passare a un'altra rete, o il cui router ha una password nuova, viene ripristinato e associato di nuovo.

Il flusso Associa dispositivo

Sul driver Matter la barra degli strumenti offre Associa dispositivo dove gli altri driver offrono Aggiungi dispositivo, e così la voce Matter del menu Nuovo… della colonna. Finché nessuna rete serve all'associazione, resta disegnato e disattivato, con il suggerimento "Aggiungere prima la rete in cui il dispositivo deve entrare." Altrimenti apre un modulo:

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
Rete La rete registrata in cui il dispositivo entrerà. Con una sola rete che serve, il modulo dice in una riga quale rete è e di che tipo, senza nulla da scegliere; con più reti, è un elenco di scelta. Una delle reti che servono nella scheda Reti l'unica, quando ce n'è una sola
Cartella di destinazione Solo quando il Nuovo dispositivo di una cartella ha aperto il modulo: la cartella in cui viene archiviato il dispositivo associato. Aperto da Associa dispositivo, questa riga non c'è e il dispositivo resta al livello proprio del driver. Sola lettura la cartella che ha aperto il modulo

Una cartella del driver Matter offre Nuovo dispositivo (sulla sua tabella Dispositivi, nel suo menu del clic destro e in Nuovo… > Matter > <Cartella>). Apre questo stesso modulo, disattivato allo stesso modo finché nessuna rete serve, e il dispositivo associato viene archiviato in quella cartella.

Associa dispositivo nel modulo resta disattivato finché il nome e il codice di configurazione non sono compilati o nessuna rete serve. Mentre l'associazione gira, il modulo riferisce la sua fase: Verifica (controllo del codice e del segreto della rete), Trova (ricerca del dispositivo via Bluetooth), Associa (autenticazione con il codice di configurazione e lettura del tipo di rete in cui il dispositivo entra), Entra nella rete (invio della rete al dispositivo, poi ricerca del dispositivo sulla rete locale finché non risponde; la riga di stato dice se quella rete è Wi-Fi o Thread), Salva (apertura della sessione sicura con il dispositivo sulla rete locale, conclusione della sua messa in servizio e registrazione del nodo 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.

Il nuovo dispositivo registra il nome della rete in cui è entrato, mostrato nel suo campo Rete. Associare il dispositivo successivo sulla stessa rete chiede solo il suo nome e il suo codice di configurazione.

Quando l'associazione fallisce

Se l'associazione fallisce, il messaggio dichiara la causa e che cosa fare:

Causa Che cosa significa L'apparecchiatura Che cosa fare
Codice di configurazione non valido Il codice non è un codice manuale ufficiale di 11 o 21 cifre, né un payload QR MT: completo. Intatta Rileggi il codice stampato.
Dataset Thread non valido Il dataset della rete Thread scelta non è completo e ben formato. Intatta Copia di nuovo il dataset attivo completo in quella rete, nella scheda Reti.
Nome o password del Wi-Fi non validi Il nome o la password della rete Wi-Fi scelta non rispettano le regole della scheda Reti. Intatta Correggili nella scheda.
Bluetooth assente, spento o negato Questo computer non ha un adattatore Bluetooth Low Energy utilizzabile, il Bluetooth è spento, oppure Windows ne ha negato l'accesso a Ganter Lab. Intatta Accendi il Bluetooth, o permetti a Ganter Lab di usarlo in Windows, poi riprova.
Nessun dispositivo corrispondente trovato Nessun dispositivo in modalità di associazione ha risposto per questo codice di configurazione. Intatta Metti il dispositivo in modalità di associazione, tienilo vicino a questo computer e riprova.
Codice di configurazione rifiutato Il dispositivo ha rifiutato il codice. Intatta Rileggi il codice stampato e rimetti il dispositivo in modalità di associazione.
Il dispositivo entra via Wi-Fi La rete scelta è Thread. Intatta: è stata letta, e non ci è stato scritto nulla Registra la rete Wi-Fi in cui il dispositivo entrerà e associa di nuovo, scegliendola.
Il dispositivo entra via Thread La rete scelta è Wi-Fi. Intatta: è stata letta, e non ci è stato scritto nulla Registra la rete Thread e associa di nuovo, scegliendola.
Il dispositivo è cablato (Ethernet) L'associazione via Bluetooth non serve a un dispositivo cablato. Intatta: è stata letta, e non ci è stato scritto nulla Ganter Lab non può associare questo dispositivo.
Il dispositivo non dice la sua rete Il dispositivo non dichiara né Wi-Fi, né Thread, né Ethernet. Intatta: è stata letta, e non ci è stato scritto nulla Ganter Lab non può associare questo dispositivo.
Rete Wi-Fi non trovata Il dispositivo ha risposto di non aver trovato nessun Wi-Fi con quel nome: un errore di battitura o di maiuscole, una rete solo a 5 GHz, o un dispositivo fuori portata. Non conserva nulla: scarta quello che ha ricevuto e torna in modalità di associazione. Nessun ID nodo. Correggi il nome nella scheda Reti, controlla che il router lo trasmetta a 2,4 GHz e associa di nuovo.
Password del Wi-Fi rifiutata Il dispositivo ha risposto che il Wi-Fi ha rifiutato la password. Non conserva nulla: scarta quello che ha ricevuto e torna in modalità di associazione. Nessun ID nodo. Correggi la password nella scheda Reti e associa di nuovo.
Il dispositivo non è riuscito a entrare nella rete Il dispositivo ha risposto di non essere riuscito a entrare nella rete, per un motivo diverso dai due qui sopra (sul Thread, ogni rifiuto, compresa una rete che non ha trovato). Non conserva nulla: scarta quello che ha ricevuto e torna in modalità di associazione. Nessun ID nodo. Controlla la rete nella scheda Reti (per il Thread, copia di nuovo il dataset attivo in vigore e controlla che il Border Router sia acceso) e associa di nuovo.
Il dispositivo non è comparso sulla rete Il dispositivo non ha dato alcuna risposta sulla rete, oppure non è mai comparso sulla rete locale dopo. Alcuni dispositivi lasciano il Bluetooth per entrare nella rete e non possono rispondere affatto. Messa in servizio: il messaggio mostra l'ID nodo Per il Wi-Fi, controlla che questo computer e il dispositivo stiano sulla stessa rete locale, senza rete ospiti né isolamento dei client tra loro; per il Thread, che il Border Router sia acceso e raggiungibile. Poi recupera il nodo con Rileva.
La sessione sicura non si è aperta Il dispositivo è entrato nella rete ed è stato trovato lì, ma la sessione sicura con esso, o il completamento dell'associazione tramite questa sessione, non è riuscito. Il diario tecnico indica il passo e cosa ha risposto il dispositivo. Messa in servizio: il messaggio mostra l'ID nodo Recupera il nodo con Rileva. Se Rileva lo trova senza valori mentre il dispositivo è acceso, rimetti il dispositivo in modalità di associazione e associalo di nuovo.
Un'altra associazione in corso Si esegue un'associazione per volta. Intatta Aspetta che finisca e riprova.
Non è stato possibile salvare la Fabric locale Ganter Lab non è riuscito a conservare la Fabric in sicurezza. Intatta quando succede prima che l'associazione cominci; messa in servizio, con l'ID nodo, quando succede dopo Risolvi il problema di archiviazione prima di ripristinare qualsiasi cosa.

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.

Un dispositivo che risponde di non essere riuscito a entrare nella rete è l'eccezione: non conserva nulla che valga la pena tenere. Ganter Lab chiude l'associazione sul dispositivo, che scarta quello che ha ricevuto e torna subito in modalità di associazione, e toglie il suo nodo dalla Fabric; il messaggio quindi non riporta un ID nodo, e Rileva non elenca mai un nodo che non può rispondere. Correggi la rete e associa di nuovo. Solo un dispositivo che non ha dato alcuna risposta mantiene il suo nodo, perché se sia entrato nella rete lo si sa solo quando compare sulla rete locale.

Che cosa viene conservato

Che cosa Dove sta Come
Il nome e il tipo di una rete La configurazione della stazione Come sono stati scritti.
La password del Wi-Fi e il dataset operativo Thread La configurazione della stazione Protetti per l'utente Windows che li ha inseriti, come le password dei dispositivi: con un altro account Windows risultano vuoti e vanno inseriti di nuovo. Un backup li lascia indietro; l'esportazione per un'altra macchina li porta con sé, sigillati con la sua password.
Il codice di configurazione Da nessuna parte Esiste solo nel modulo mentre l'associazione gira, e viene cancellato quando l'associazione finisce, fallisce o viene annullata.
La rete in cui è entrato un dispositivo La configurazione del dispositivo Il suo nome, mostrato nel campo Rete del dispositivo.
L'identità del dispositivo La configurazione del dispositivo e la Fabric locale L'ID nodo.

La password del Wi-Fi e il dataset non compaiono mai nel diario tecnico, nell'indirizzo di un dispositivo né nella sua Thing Description. Reti e associazione non vengono offerte agli agenti tramite il server MCP: l'associazione richiede qualcuno accanto al dispositivo, e le reti custodiscono segreti.

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 è libero e si può cambiare; l'ID nodo no. Un dispositivo la cui identità memorizzata non si riesce più a leggere mostra al suo posto Serve una nuova associazione.

Il pannello del dispositivo mostra anche un campo Rete in sola lettura: il nome della rete in cui il dispositivo è entrato quando è stato associato. Un dispositivo associato da una versione che non lo registrava dice che non è stato registrato nulla. Il campo è una registrazione, non un'impostazione: modificare o rimuovere quella rete nella scheda Reti non cambia nulla sul dispositivo.

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 e legge, da ciascuno, i valori che pubblica. Per leggerli apre una sessione sicura con ogni nodo, così un nodo che non è in rete resta in elenco, senza valori, una volta che la sua sessione non è riuscita ad aprirsi. I candidati del rilevamento portano l'identità del nodo e nessun segreto di configurazione. Il flusso generale del rilevamento è descritto in Rilevamento.

Il nodo La sua scheda I suoi comandi
Non ha un dispositivo qui: il suo dispositivo è stato eliminato, oppure la sua associazione si è conclusa senza crearne uno I valori che pubblica, ciascuno spuntato Aggiungi dispositivo crea il dispositivo con i valori spuntati come suoi tag, senza una nuova cerimonia.
È un dispositivo configurato, con valori che non hanno ancora un tag Segnato come già configurato, con quanti valori pubblica che non sono ancora tag, e quei valori spuntati Aggiungi i tag aggiunge i valori spuntati a quel dispositivo; Apri lo apre.
È un dispositivo configurato con un tag per ogni valore « Già configurato, con un tag per ogni valore che il dispositivo pubblica. » Apri lo apre.
È un dispositivo configurato che non ha segnalato alcun valore « Già configurato. Il dispositivo non ha segnalato alcun valore: eseguire di nuovo Rileva quando è in linea. » Apri lo apre.

I valori di un dispositivo configurato si confrontano con i suoi tag per uscita, cluster e attributo, mai per nome: un tag rinominato conta ancora, e un valore non viene mai aggiunto due volte.

La pagina del dispositivo stesso offre lo stesso senza lasciarla: Rileva tag, nell'intestazione della sua scheda Tag, legge solo quel nodo ed elenca, spuntati, i valori per cui non ha ancora un tag, con Aggiungi i tag (vedere Rilevare i tag di un dispositivo).

Tag

I tag di un dispositivo Matter vengono dal dispositivo stesso: nessuno digita un cluster o un numero di attributo per loro. Un'associazione che riesce porta dritto a loro. Il registro delle azioni legge « Dispositivo Matter 'Luce della cucina' associato. », la pagina si apre sul driver Matter, con il dispositivo nuovo evidenziato nella sua tabella Dispositivi, e parte subito una scansione di quel solo dispositivo. Il dispositivo che l'associazione ha creato compare in Dispositivi rilevati con i valori che pubblica, tutti spuntati, e la scansione si chiude con « Spuntare i valori di 'Luce della cucina' da creare come tag, poi Aggiungi i tag. » Si toglie la spunta a ciò che non serve e si preme Aggiungi i tag; il registro delle azioni legge allora « 5 tag aggiunti a 'Luce della cucina'. » Un dispositivo che non ha ancora risposto non segnala nulla: « 'Luce della cucina' non ha ancora segnalato alcun valore. Eseguire di nuovo Rileva quando è in linea. » La stessa scheda torna a ogni Rileva successivo, con i valori per cui il dispositivo non ha ancora un tag.

Aggiungi i tag viene disegnato solo per un ruolo con Configurare Connector. Resta in grigio, con il motivo come suggerimento, mentre è in corso una scansione o un'associazione, mentre la stazione rifiuta le modifiche e finché nulla è spuntato (« Spuntare almeno un valore da aggiungere. »). Un valore di cui il dispositivo legge già l'uscita, il cluster e l'attributo non viene mai aggiunto di nuovo; quando ogni valore spuntato c'è già, non si salva nulla: « 'Luce della cucina' ha già un tag per ogni valore spuntato, quindi non è stato aggiunto nulla. » Un nome che un altro tag del dispositivo porta già riceve un numero dopo, come in Luminosità (2).

La scansione legge ciò che il dispositivo pubblica, così come lo organizza la specifica Matter:

Che cosa Dove lo dice il dispositivo
Le sue uscite (endpoint) Il cluster Descriptor (0x001D) sull'endpoint 0, attributo PartsList
I cluster di ogni uscita Il Descriptor di quell'uscita, attributo ServerList
I valori di ogni cluster Il suo attributo AttributeList (0xFFFB)
I comandi che ogni cluster accetta Il suo attributo AcceptedCommandList (0xFFF9)
Le funzioni opzionali che ogni cluster implementa Il suo attributo FeatureMap (0xFFFC)
La lettura attuale di ogni valore Il valore stesso, letto una volta

Che cosa offre la scansione, e con quale nome:

Un valore Offerto come
Uno che il driver conosce (la sezione seguente) Il suo nome chiaro nella lingua della stazione e il tipo che gli dà la specifica; scrivibile solo quando il dispositivo accetta il modo in cui la specifica lo cambia, altrimenti in sola lettura
Uno che il driver conosce, di una funzione che il cluster non implementa: tonalità e saturazione senza la funzione Hue and Saturation, temperatura di colore senza la funzione Color Temperature Non offerto
Uno che il driver non conosce In sola lettura, con il suo nome nella specifica Matter (Level Control OnLevel), oppure con il cluster e il numero dell'attributo quando il driver non conosce l'attributo (On/Off attribute 0x131B0001); il suo tipo è quello della lettura che il dispositivo ha restituito
Lo stesso valore su più di un'uscita Il suo nome dice quale uscita, come in Luminosità (uscita 2)
Un attributo globale (da 0xFFF8 a 0xFFFD), o un valore del nodo stesso (endpoint 0) Non offerto
Un elenco o una struttura, un valore di un tipo che il driver non gestisce, un valore per cui il dispositivo non ha restituito una lettura Lasciato fuori, e contato nella riga che chiude la scansione

Un tag offerto come scrivibile arriva con l'accesso Lettura e scrittura; tutti gli altri arrivano in Sola lettura.

I valori che il driver conosce

Il driver porta una tabella, presa dalla specifica Matter, dei valori che conosce per nome e di come cambia ciascuno. Un valore cambia in uno di tre modi: con un comando che il driver invia e che il dispositivo deve elencare tra i comandi che accetta; con una scrittura dell'attributo stesso, dove la specifica lo rende scrivibile e il dispositivo lo elenca; oppure in nessun modo, per un valore che il dispositivo si limita a segnalare.

Valore Cluster e attributo Tipo Che cosa fa sul dispositivo scriverlo Intervallo che la specifica definisce
Acceso On/Off (0x0006), OnOff (0x0000) Boolean true invia il comando On (0x01), false invia Off (0x00); scrivibile solo quando il dispositivo accetta entrambi true o false
Luminosità Level Control (0x0008), CurrentLevel (0x0000) UInt32 Invia MoveToLevelWithOnOff (0x04) con il livello, un tempo di transizione di 0 e nessuna opzione forzata: l'uscita si accende con il livello e si spegne al minimo da 0 a 254
Tonalità Color Control (0x0300), CurrentHue (0x0000) UInt32 Invia MoveToHue (0x00) per la via più breve, con un tempo di transizione di 0; solo con la funzione Hue and Saturation da 0 a 254
Saturazione Color Control (0x0300), CurrentSaturation (0x0001) UInt32 Invia MoveToSaturation (0x03) con un tempo di transizione di 0; solo con la funzione Hue and Saturation da 0 a 254
Temperatura di colore Color Control (0x0300), ColorTemperatureMireds (0x0007) UInt32 Invia MoveToColorTemperature (0x0A) con un tempo di transizione di 0; solo con la funzione Color Temperature. Il dispositivo tiene il valore entro i propri limiti da 0 a 65279, in mired
Posizione della tapparella Window Covering (0x0102), CurrentPositionLiftPercent100ths (0x000E) UInt32 Invia GoToLiftPercentage (0x05) da 0 (aperta) a 10000 (chiusa), in centesimi di punto percentuale
Temperatura ambiente Thermostat (0x0201), LocalTemperature (0x0000) Float, in °C Nulla: sola lettura da -27315 a 32767, in centesimi di grado Celsius; si legge da -273,15 a 327,67 °C
Setpoint di raffrescamento Thermostat (0x0201), OccupiedCoolingSetpoint (0x0011) Float, in °C Scrive l'attributo. Il dispositivo rifiuta un setpoint fuori dai propri limiti da -27315 a 32767, in centesimi di grado Celsius; si legge da -273,15 a 327,67 °C
Setpoint di riscaldamento Thermostat (0x0201), OccupiedHeatingSetpoint (0x0012) Float, in °C Scrive l'attributo. Il dispositivo rifiuta un setpoint fuori dai propri limiti da -27315 a 32767, in centesimi di grado Celsius; si legge da -273,15 a 327,67 °C
Modalità del ventilatore Fan Control (0x0202), FanMode (0x0000) UInt32 Scrive l'attributo 0 spento, 1 bassa, 2 media, 3 alta, 4 acceso, 5 automatica, 6 intelligente
Impostazione della velocità del ventilatore Fan Control (0x0202), PercentSetting (0x0002) UInt32 Scrive l'attributo da 0 a 100 percento
Velocità del ventilatore Fan Control (0x0202), PercentCurrent (0x0003) UInt32 Nulla: sola lettura da 0 a 100 percento
Temperatura Temperature Measurement (0x0402), MeasuredValue (0x0000) Float, in °C Nulla: sola lettura da -27315 a 32767, in centesimi di grado Celsius; si legge da -273,15 a 327,67 °C
Umidità Relative Humidity Measurement (0x0405), MeasuredValue (0x0000) Float, in % Nulla: sola lettura da 0 a 10000, in centesimi di punto percentuale; si legge da 0 a 100 %
Illuminamento Illuminance Measurement (0x0400), MeasuredValue (0x0000) UInt32 Nulla: sola lettura da 0 a 65534, cioè 10000 × log10(lux) + 1
Pressione Pressure Measurement (0x0403), MeasuredValue (0x0000) Float, in kPa Nulla: sola lettura da -32767 a 32767, in decimi di kilopascal; si legge da -3276,7 a 3276,7 kPa
Presenza Occupancy Sensing (0x0406), Occupancy (0x0000) Boolean Nulla: sola lettura true quando c'è qualcuno
Stato Boolean State (0x0045), StateValue (0x0000) Boolean Nulla: sola lettura true o false

La specifica invia temperature, umidità e pressione in unità fisse: centesimi di grado Celsius, centesimi di percento e decimi di kilopascal. Il rilevamento offre questi valori già in °C, % e kPa: il tag arriva con il fattore nel suo stadio Scala (0,01 per una temperatura e un'umidità, 0,1 per una pressione) e con l'unità, così un dispositivo che invia 2150 si legge 21,5 °C. Una scrittura disfa quello stadio prima che il valore parta, così un setpoint scritto come 21,5 arriva al dispositivo come 2150. L'illuminamento è logaritmico (10000 × log10(lux) + 1), quindi nessun fattore lo converte: si legge il numero che il dispositivo invia. Anche ogni altro valore si legge come lo invia il dispositivo.

Le serrature, il colore per coordinate X e Y, le scene, i gruppi e il comando Toggle non sono nella tabella. Un dispositivo Matter non ha nemmeno comandi propri: ogni modifica è la scrittura di uno dei suoi tag.

Scrivere un valore

Un tag Matter con accesso Lettura e scrittura cambia il dispositivo quando viene scritto: dalla sua scheda Valore in tempo reale, da un controllo della dashboard, dalla Logic o da un agente. La scrittura entra nella coda del dispositivo come quella di ogni driver, a turno con le letture del dispositivo, e la sua risposta è quella del dispositivo stesso. Il driver sceglie il comando Matter o la scrittura dell'attributo dalla tabella; nessuno sceglie un comando. Solo il SUCCESS del dispositivo conta come scritto. Tutto il resto viene rifiutato, con un motivo:

Che cosa succede Dove si decide Il motivo dato
Il punto non è un valore della tabella del driver Prima di inviare qualsiasi cosa Il driver non sa come il dispositivo cambia quel valore, quindi il tag lo legge soltanto.
Il punto è un valore che la tabella segna in sola lettura Prima di inviare qualsiasi cosa Il dispositivo segnala quel valore e nulla dall'esterno lo imposta.
Il valore scritto non è né true né false (per un valore Boolean), oppure non è un numero intero Prima di inviare qualsiasi cosa Che cosa accetta il valore, e che cosa è stato scritto.
Il valore è fuori dall'intervallo che la specifica definisce Prima di inviare qualsiasi cosa L'intervallo, come lo dà la tabella qui sopra.
Il tag non nomina alcun cluster Prima di inviare qualsiasi cosa Che un valore Matter si trova tramite la sua uscita, il suo cluster e il suo attributo.
Il dispositivo risponde con uno stato diverso da SUCCESS Dal dispositivo Lo stato come lo ha dato il dispositivo: il suo nome nella specifica e il suo numero, per esempio CONSTRAINT_ERROR, 0x87 (il valore è fuori da ciò che il dispositivo accetta) oppure UNSUPPORTED_COMMAND, 0x81 (il dispositivo non accetta il comando che cambia questo valore). Uno stato che il cluster aggiunge segue (FAILURE, 0x01, cluster 0x02), e uno stato che la specifica non nomina si legge con il solo numero.
Il dispositivo non risponde in tempo Dal dispositivo Nessuna risposta.

Una scrittura rifiutata non viene mai segnalata come scritta, né come un'apparecchiatura irraggiungibile. Nella pagina del tag la riga di stato legge « Scrittura rifiutata dall'apparecchiatura: CONSTRAINT_ERROR, 0x87. » quando il dispositivo l'ha rifiutata, con il motivo al posto dello stato per un rifiuto deciso prima di inviare qualsiasi cosa, e « Scrittura non confermata: l'apparecchiatura non ha risposto in tempo. » quando non è arrivata risposta; « Scrittura non riuscita: non è stato possibile raggiungere l'apparecchiatura. » resta per un dispositivo non connesso. Il motivo viaggia anche con la scrittura: la riga del registro di quella scrittura lo nomina, con ciò che lo stato significa, e il tag_write di un agente lo restituisce.

Un tag creato a mano

Per il raro valore che il dispositivo non pubblica in una forma che la scansione offra, Aggiungi tag su un dispositivo Matter crea un tag da compilare a mano. La sua scheda Sorgente mostra tre campi su una riga, e l'anteprima dell'indirizzo sotto di essi li compone come <endpoint>/<cluster>/<attribute>, in decimale (1/8/0 è la luminosità della prima uscita). Finché non si sceglie un cluster il tag non viene salvato, e il pannello dice: « Scegliere il cluster che questo tag legge. Senza, al dispositivo non viene mai chiesto nulla. »

Campo Che cosa fa Valori Predefinito
Uscita (endpoint) Quale uscita del dispositivo il tag legge. da 0 a 65535; 1 è la prima uscita comandabile, 0 il nodo stesso 1
Cluster Matter Quale cluster di quell'uscita il tag legge. I cluster del catalogo Matter con il loro nome nella specifica e il loro numero, come in Level Control (0x0008); un cluster che il catalogo non nomina, trovato da una scansione, compare per primo con il suo numero nessuno
Attributo Quale attributo del cluster il tag legge. 0 e oltre; 0 è il valore proprio del cluster 0

Il nome del tag è libero: nomina il tag e non seleziona nulla sul dispositivo. Il tipo di dato si sceglie tra Boolean, Int32, UInt32, Float, Double e String; una lettura che il tipo dichiarato non può rappresentare si legge come errore invece che come numero sostitutivo. Il valore arriva come lo invia il dispositivo: una temperatura, un'umidità o una pressione creata a mano si legge in centesimi o decimi finché non le dai, nel suo stadio Scala, il fattore e l'unità della tabella sopra.

Il campo di accesso offre la scrittura solo dove la tabella del driver cambia il valore; altrimenti offre Sola lettura e dice sotto il perché:

Il punto Il campo di accesso offre Che cosa dice
Un valore della tabella che un comando o una scrittura dell'attributo cambia Sola lettura, Sola scrittura e Lettura e scrittura Niente
Nessun cluster ancora scelto Sola lettura « Sola lettura finché il tag non indica un valore del dispositivo: sceglierne il cluster. »
Un valore che la tabella non conosce Sola lettura « Sola lettura: il driver non sa come il dispositivo cambia questo valore. »
Un valore che la tabella segna di sola lettura Sola lettura « Sola lettura: il dispositivo riporta questo valore e nulla dall'esterno lo imposta. »

Quando una modifica dell'uscita, del cluster o dell'attributo punta il tag su un valore che il driver non può scrivere, il suo accesso torna a Sola lettura. Un tag offerto dal rilevamento mantiene l'accesso che il rilevamento gli ha dato, perché solo il rilevamento chiede al dispositivo quali comandi accetta: un valore che il dispositivo non ha elencato resta in Sola lettura, e il campo offre comunque la scrittura.

Tag salvati da versioni precedenti

Una versione precedente nominava il cluster di un tag Matter solo con il nome del tag, con un indirizzo <endpoint>/<attribute>. Quando questa versione si avvia per la prima volta, ogni tag di un dispositivo Matter il cui nome è un cluster del catalogo Matter (la parte dopo gli ultimi due punti, senza gli spazi intorno, senza distinguere maiuscole e minuscole) riceve quel cluster, così continua a leggere esattamente il valore che leggeva. Il suo nome resta com'era, e l'anteprima del suo indirizzo mostra allora <endpoint>/<cluster>/<attribute>. Un tag il cui nome non corrispondeva ad alcun cluster non ha mai letto nulla: resta senza cluster, le sue letture vengono rifiutate con un motivo che lo dice, e la sua pagina chiede il cluster. Un tag convertito mantiene l'accesso che aveva, Sola lettura, l'unico che quelle versioni offrivano; per scriverlo, scegli Lettura e scrittura, che funziona per i valori della tabella qui sopra.