Silicon-Labs-LOGO

ZAP Sviluppendu cù Silicon Labs

ZAP-Sviluppu-Cù-Silicon-Labs-PRODUCT

Specificazioni

  • Nome di u produttu: Silicon Labs ZAP
  • Tipu: Mutore di generazione di codice è interfaccia d'utilizatore
  • Cumpatibilità: Zigbee Cluster Library (Zigbee) o Data Model (Matter)
  • Sviluppatu da: Connectivity Standards Alliance

Istruzzioni per l'usu di u produttu

  • ZAP Per cumincià
    • Per cumincià cù ZAP, seguitate questi passi:
      • Scaricate u ZAP Executable da u repositoriu ufficiale.
      • Installa e dipendenze cù u cumandimu npm install.
      • Per l'installazione specifica di Windows, riferite à a guida di Installazione ZAP per Windows OS.
  • Sviluppu Zigbee
    • Se sviluppate applicazioni Zigbee:
      • Aduprate Simplicity Studio chì include ZAP è altri strumenti necessarii.
  • Sviluppu di a materia
    • Se sviluppate applicazioni Matter:
      • L'opzioni includenu l'usu di Simplicity Studio o l'accessu à i repositori Silicon Labs o CSA Github.
      • Consultate l'istruzzioni di l'aghjurnamentu per ZAP fora di u ciclu di liberazione di Simplicity Studio se necessariu.

FAQs

  • Q: Chì sò e diverse versioni di binari ZAP dispunibili?
    • A: Ci hè duie versioni dispunibili - Liberazione ufficiale cù build verificate è pre-liberazione cù l'ultime funzioni.
  • Q: Chì duverebbe fà se scontru prublemi di compilazione di a biblioteca nativa durante l'installazione?
    • A: Riferite à l'infurmazioni FAQ nantu à scripts specifichi di a piattaforma per risolve tali prublemi.

"'

Silicon Labs ZAP
Silicon Labs ZAP

Sviluppendu cù Silicon Labs ZAP

Cuminciatu
ZAP Per principiàview Installazione ZAP Installazione ZAP Windows FAQ
Fundamenti ZAP Fundamenti
Guida d'utilizatore ZAP Guida d'utilizatore Overview XML persunalizatu XML persunalizatu Tags per Zigbee Tipi di Dispositivi Multiple Per Endpoint Matter Tipu di Dispositivu Feature Pagina Notificazioni Data-Model/ZCL Specifica Cunformità Control di Accessu Lanciamentu di ZAP per l'applicazioni Matter o Zigbee Generazione di codice per Matter o Zigbee Update ZAP in Studio Concurrent Multi-protocolu trà Zigbee è Matter Integrate SLC CLI cù ZAP

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

1/35

Sviluppendu cù Silicon Labs ZAP
Sviluppendu cù Silicon Labs ZAP
ZAP
ZAP hè un mutore di generazione di codice genericu è una interfaccia d'utilizatore per l'applicazioni è e biblioteche basate nantu à a Zigbee Cluster Library da Zigbee o u Data Model from Matter. A specificazione hè sviluppata da a Connectivity Standards Alliance. ZAP permette di fà e seguenti operazioni:
Eseguite a generazione customizata specifica per SDK di tutti l'artefatti glubale (custanti, tipi, ID, è cusì) basatu annantu à a specificazione ZCL / Data-Model. Eseguite a generazione persunalizata specifica per SDK di tutti l'artefatti di cunfigurazione selezziunati da l'utilizatori (configurazione di l'applicazioni, cunfigurazione di l'endpoint, è cusì) basatu annantu à a specificazione ZCL / Data-Model è a cunfigurazione di l'applicazione furnita da u cliente. Fornite UI per l'utilizatore finale per selezziunà una cunfigurazione di l'applicazione specifica (endpoints, clusters, attributi, cumandamenti, etc.).

ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (1)

U cuntenutu in queste rùbbriche descrive cumu sviluppà l'applicazioni Zigbee è Matter cunfigurà u ZCL (Zigbee) o Data Model (Matter) Layers cù ZAP.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

2/35

ZAP Per cumincià

ZAP Per cumincià
Cumincià cù ZAP
Queste rùbbriche descrizanu diversi metudi per creà applicazioni Zigbee è Matter. Nota chì Simplicity Studio furnisce un modu per creà e vostre applicazioni Zigbee è Matter da a fine à a fine induve tutti l'arnesi sò preinstallati cù Simplicity Studio (cumpresu ZAP). Pudete ancu decide di scopra altre manere di creà e vostre applicazioni, cum'è descrittu quì.
Sviluppu Zigbee
I sviluppatori di applicazioni Zigbee ponu custruisce e so applicazioni cù Simplicity Studio, chì include digià ZAP è altri strumenti chì vi aiutanu à custruisce a vostra applicazione da a fine à a fine.
Sviluppu di a materia
I sviluppatori di l'applicazioni di Matter ponu custruisce e so applicazioni cù i seguenti metudi: Simplicity Studio: Questu include ZAP è altri arnesi chì sò necessarii per custruisce l'applicazione Matter end to end. Github (Silicon Labs) Github (CSA)
Nota: Per aghjurnà ZAP fora di u ciclu di liberazione di Simplicity Studio, vede l'aghjurnamentu di ZAP in Simplicity Studio è a Guida di Installazione ZAP

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

3/35

Installazione ZAP

I seguenti sezzioni descrizanu l'installazione di ZAP è cumu aghjurnà ZAP in Simplicity Studio IDE.
Scaricamentu di u ZAP Executable Recommended)
Questu hè u modu cunsigliatu per cumincià cù ZAP. Pudete ottene l'ultimi binari ZAP da aa https://github.com/project-chip/zp/releses. I binari prebuilt venenu in duie versioni diffirenti.
Liberazione ufficiale: build verificate cù suite di test dedicate di Matter è Zigbee. U furmatu di u nome di liberazione hè vYYYY.DD.MM. Pre-release: Custruite cù l'ultime funzioni è correzioni di bug, ma queste custruzzioni ùn sò micca verificate cù suite di test dedicate di Matter è Zigbee. U furmatu di u nome di liberazione hè vYYYY.DD.MM-nightly.
Installazione di ZAP da Source
Istruzzioni basi per installà ZAP
Perchè questu hè una applicazione node.js, avete bisognu di l'ambienti di node installatu. U megliu modu per fà questu hè di scaricà l'ultima installazione di node, chì include node è npm. Se tenete una versione più vechja di node installata nantu à a vostra stazione di travagliu, pò causà prublemi, particularmente s'ellu hè assai vechju. Assicuratevi di avè l'ultima versione di node v16.x cù u npm chì hè inclusu. Eseguite node -versione per verificà quale versione hè pigliatu. v18.x hè cunsigliatu. Dopu avè una versione desiderata di node, pudete eseguisce e seguenti:
Installa e Dipendenze
Aduprate i seguenti cumandamenti per installà dipendenze:

ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (2)
npm install
Nota: Per l'installazione ZAP specifica di Windows, vede l'installazione ZAP per u SO Windows. Ùn hè micca raru di curriri in prublemi di compilazione di libreria nativa à questu puntu. Ci sò diversi script src-script/install-* per diverse piattaforme. Vede l'infurmazioni FAQ nantu à quale script da eseguisce nantu à e diverse piattaforme è poi rerun npm install .
Cumincià l'Applicazione
Aduprate i seguenti cumandamenti per inizià l'applicazione:

ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (3)
npm run zap
Cumincià u Front-End in Modu Sviluppu
Supporta reloading hot-code, rapportu d'errore, etc. Aduprate i seguenti cumandamenti per inizià u front-end in u sviluppu
modu:ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (4)
quasar dev -m electron
or

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

4/35

ZAP Insta à oll in
npm run electron-dev

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

5/35

Installazione ZAP Windows
Installazione ZAP Windows
Installazione ZAP per Windows OS
1. Windows Powershell
In a barra di ricerca di u desktop, inserite Windows Powershell è eseguite cum'è amministratore. Eseguite tutti i seguenti cumandamenti in Powershell.
2. Chocolatey
Installa da https://chocolatey.org/install. Verificate s'ellu hè stallatu bè cù i seguenti cumandamenti:
cioccolu -v
Installa u pacchettu pkgconfiglite cù i seguenti cumandamenti:
choco install pkgconfiglite
3. Installa Node
Eseguite i seguenti cumandamenti per installà:
choco installà nodejs-lts
* A versione deve esse 18 per passà a prova di verificazione di versione, dopu l'installazione, verificate cù u node -v *Se avete installatu Node digià, è fallenu alcune teste simili à ùn pò micca truvà Node, reinstallate Node cù chocolatey di novu.
4. Segui i Instructions Basic per installà ZAP
Segui l'istruzzioni di installazione ZAP da a fonte in Installazione ZAP. Mentre seguite l'istruzzioni basi per installà ZAP, fate attenzione à i seguenti errori è cumu risolve:
sqlite3
Quandu eseguite ZAP (per esempiu, npm run zap ), se vede un errore nantu à sqlite3.node in una finestra pop-up, eseguite:
npm ricostruisce sqlite3
custruttore di elettroni
Quandu fate l'installazione npm, in post-installazione, se si verifica un errore nantu à u cumandimu seguitu in relazione à electron-builder install-appdeps , npx electron-rebuild canvas failed or node-pre-gyp , a versione attuale di tela ùn hè micca cumpatibile cù Windows è l'errore di installazione ùn pruvucarà micca un fallimentu in l'esecuzione di ZAP. node-canvas hè travagliatu nantu à a suluzione avà è u prublema serà risolta in un futuru vicinu.
"postinstall": "electron-builder install-app-deps && husky install && npm rebuild canvas –update-binary && npm run version-stamp”

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

6/35

Installazione ZAP Windows
Canvas
Se a prova di esecuzione npm fallisce per via di l'errore Test suite hà fiascatu à eseguisce. Ùn si pò truvà u modulu '../build/Release/canvas.node' o
zapnode_modulescanvasbuildReleasecanvas.node ùn hè micca una applicazione Win32 valida. , ricustruisce a tela cum'è seguente:
npm rebuild canvas -update-binary
uttene index.html o altri prublemi di u servitore
Se npm run test falls per via di l'errore get index.html request falled with status code 404 in unit tests or having server
prublemi di cunnessione in i testi e2e-ci, eseguite i seguenti cumandamenti:
npm run build
Altru
Verificate se a versione node hè v18 è pruvate à stallà cù Chocolatey.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

7/35

FAQ
FAQ
Domande Frequenti
Q: Cumu inizià l'UI in un modu di sviluppu? A: Pudete inizià a UI in un modu di sviluppu, chì hà da risultatu in una cunfigurazione seguente:
Servitore HTTP di sviluppu di quasar separatu, chì rinfresce in diretta nantu à u portu 8080 ZAP back-end in esecuzione in u portu 9070 Chrome o un altru navigatore, in funzione indipindente. ò Prima, eseguite u servitore di sviluppu ZAP, chì principia da u portu 9070.
npm run zap-devserver ó In seguitu, eseguite u servitore di sviluppu quasar, chì principia da u portu 8080.
quasar dev ô Puntate u vostru navigatore o eseguite unu contru u propiu URL cù l'argumentu restPort:
google-chrome http://localhost:8080/?restPort=9070

Q: Cumu fà questu travagliu in Mac / Linux OS? A:
L'installazione npm hè aduprata per scaricà tutti i pacchetti di dipendenza necessarii. Se vede l'errori ligati à u node-gyp è e biblioteche lucali mancanti, cum'è pixman , è cusì, vi mancanu dipendenze native per suddisfà per cumpilà i binari di nodi micca precustruiti per una cumminazione di piattaforme è versioni. Npm nantu à u nuvulu aghjurnà constantemente a lista di i binari furniti, cusì hè pussibule chì li pigliate bè, ma se ùn avete micca, queste sò struzzioni per e diverse piattaforme:
Fedora Core cù dnf:
dnf install pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
o run script:
src-script/install-packages-fedora
Ubuntu cù apt-get:
apt-get update apt-get install -fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
o run script:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

8/35

FAQ
src-script/install-packages-ubuntu
OSX nantu à un Mac cù Homebrew Brew:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
o run script:
src-script/install-packages-osx
Q: Cumu fà questu travagliu nantu à u sistema operativu Windows?
A: Assicuratevi chì hè sempre aghjurnatu è ùn ci sò micca cambiamenti chì ùn sò micca stati impegnati. Tip: git pull, git status è git stash sò i vostri amichi. Duvete aduprà Chocolately per fà u travagliu Zap in Windows OS. Assicuratevi di scaricà u pacchettu pkgconfiglite.
choco install pkgconfiglite
Sì avete prublemi cù u Cairo, per esempiuample si avete un errore nantu à cairo.h': No such file o annuariu, fate ciò chì segue: ò Verificate se u vostru urdinatore hè 32 o 64 bit. ó Sicondu questu, scaricate u pacchettu adattatu da stu situ
https://github.com/benjamind/delarre.docpad/blob/master/src/documents/posts/installing-node-canvas-for-windows.html.md. ô Create a folder on your C drive called GTK if it doesn’t already exist. õ Unzip the downloaded content into C:/GTK. ö Copy all the dll files from C:/GTK/bin to your node_modules/canvas/build/Release folder in your zap folder. ÷ Add C:/GTK to the path Environment Variable by going to System in the Control Panel and doing the following:
Clicca su Advanced System Settings. In a tabulazione avanzata cliccate nant'à Variabili d'ambiente. In a sezione Variabili di Sistema, truvate a variabile d'ambiente PATH è selezziunate. Cliccate Edit è aghjunghje C:/GTK à questu. Se a variabile d'ambiente PATH ùn esiste micca, cliccate New. Se jpeglib.h ùn hè micca truvatu, pruvate a seguente: ò In u terminal, eseguite: choco install libjpeg-turbo ó Assicuratevi chì hè pulita usendu: git clean -dxff è eseguite npm install di novu ô Se ùn ci sò micca errori è appariscenu solu avvisi, pruvate d'utilizà npm audit fix õ se ùn pudete micca eseguisce ZAP, vai à file src-script/zap-start.js ö Cambia
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('child_process') ø Run npm and run zap. Referenze:
https://github.com/fabricjs/fabric.js/issues/3611 https://github.com/benjamind/delarre.docpad/blob/master/src/documents/posts/installing-node-canvas-for-windows.html.md [https://chocolatey.org/packages/libjpeg-turbo#dependencies](https://chocolatey.org/packages/libjpeg-turbo#dependencies)
Q: Aghju un errore "sqlite3_node" micca truvatu o simili.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

9/35

FAQ
A: Ricustruite i vostri vinculi nativi sqlite3. Per riparà questu in a maiò parte di i casi, eseguite:
npm install
./node_modules/.bin/electron-rebuild -w sqlite3 -p
S'ellu ùn hè ancu riparatu, fate:
rm -rf node_modules è poi pruvate di novu i cumandamenti sopra. Occasionalmente l'aghjurnamentu di u vostru npm face ancu una differenza:
npm install -g npm
Q: Riceve un errore "A versione N-API di questa istanza Node hè 1. Stu modulu supporta a versione (s) N-API 3. Questa istanza Node ùn pò micca eseguisce stu modulu".
A: Aghjurnate a vostra versione di node. A suluzione per questu hè discutata in questu filu di Stack Overflow: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
Q: U mo PC di sviluppu ùn funziona micca cù ZAP per qualsiasi mutivu. Puderaghju aduprà un containeru docker?
A: Iè pudete. TBD.
Q: Cumu eseguisce ZAP in VSCode?
A: Sè vo VSCode in u vostru caminu, entre in u zap repo è scrive u codice . Questu apre ZAP in VSCode. Per eseguisce ZAP in modu di debug, selezziunate u spaziu di travagliu ZAP è cliccate nantu à l'icona Run in a barra di strumenti di a manca. Averete un paru d'opzioni per sceglie per eseguisce ZAP, sceglite Node.js Debug Terminal . Questu apre una finestra di terminale da quale pudete inserisce npm run zap , chì aghjunghje u debugger è eseguirà ZAP cum'è normalmente da a linea di cumanda. Felicitazioni, duvete avà vede ZAP in esecuzione in u debugger. Pudete stabilisce punti di rottura in VSCode cum'è in qualsiasi altru IDE.
Q: A prova di unità di UI falla cù alcuni errori intornu à u canvas micca custruitu per a versione ghjusta di node. Chì facciu ?
A: Se vede u seguente errore:ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (5)
FAIL test/ui.test.js Test suite failed to run U modulu "canvas.node" hè statu compilatu contru una versione diversa di Node.js utilizendu NODE_MODULE_VERSION 80. Questa versione di Node.js richiede NODE_MODULE_VERSION 72. Pruvate à ricumpià o reinstallà u modulu (per esempiu, utilizendu `n`npm `` o `npmpm).
à Object. (node_modules/canvas/lib/bindings.js:3 18)
poi eseguite: npm rebuild canvas -update-binary

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

10/35

Fundamenti di ZAP

ZCL / Data-Model ZAP Fundamentals
Questa sezione cuntene infurmazione per i novi utilizatori ZAP. Cliccate nantu à l'icona di tutoriale in l'angulu superiore dirittu di l'UI ZAP, chì mostra cumu creà una cunfigurazione ZAP. U tutoriale vi guidà à traversu i seguenti: Crea un endpoint Selezziunate un tipu di dispositivu Configurate un cluster Configurate un attributu Configurate un cumandamentu Per riferimentu detallatu, vede Zigbee Cluster Configurator Guide

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

11/35

ZAP Guida d'Usuariu
ZAP Guida d'Usuariu
ZAP Guida d'Usuariu
E rùbbriche sottu sta guida furnisce più dettagli nantu à e diverse funzioni furnite da ZAP.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

12/35

XML persunalizatu

Aghjunghjendu XML Custom da a ZAP UI
Cliccate nantu à l'icona "Estensioni" in a ZAP UI. Cliccate nant'à u buttone "+" aghjunghje per selezziunà un xml persunalizatu file I clusters persunalizati, attributi, cumandamenti, etc. duveranu apparisce in a ZAP UI una volta chì u xml persunalizatu hè statu aghjuntu.
Crea u vostru propiu XML persunalizatu in Zigbee
A sezione mostra cumu creà i vostri propri clusters persunalizati è estende clusters standard esistenti cù attributi persunalizati è cumandamenti per Zigbee.
Clusters specifichi di u fabricatore in Zigbee
Pudete aghjunghje clusters specifichi di u fabricatore à un pro standardfile. Avemu furnitu un example di questu quì sottu. Per fà questu, duvete risponde à dui obblighi:
L'ID di cluster DEVE esse in a gamma specifica di u fabricatore, 0xfc00 - 0xffff. A definizione di u cluster deve include un codice di fabricatore chì serà applicatu à TUTTI l'attributi è i cumandamenti in quellu cluster è deve esse furnitu quandu invià è riceve cumandamenti è interagisce cù attributi. EsampLe:

ZAP-Sviluppu-Cù-Silicon-Labs-FIG- (6)
Sample Mfg Specific Cluster Generale Stu cluster furnisce un example di cumu u Framework di Applicazioni pò esse allargatu per include clusters specifichi di u fabricatore.
0xFC00
ember sampl'attributu
ember sampl'attributu 2


A sample cumandamentu specificu di u fabricatore in u sampspecifichi di u fabricatore
cluster.


Comandamenti specifichi di u fabricatore in Standard Zigbee Cluster
Pudete aghjunghje i vostri cumandamenti à qualsiasi cluster Zigbee standard cù i seguenti requisiti:
I vostri cumandamenti specifichi di u fabricatore ponu utilizà qualsiasi identificatore di cumanda in u intervalu di l'id di cumanda, 0x00 - 0xff. Duvete ancu furnisce un codice di fabricatore per u cumandamentu in modu chì pò esse distintu da altri cumandamenti in u cluster è trattatu in modu adattatu. Esample di allargà u cluster On/Off cù cumandamenti di fabricazione:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

13/35

XML persunalizatu
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition" optional="true" manufacturerCode="0 1002"> Cumandamentu di u cliente chì spegne u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificOnWithTransition" optional="true" manufacturerCode="0 1002"> Cumandamentu di u cliente chì accende u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificToggleWithTransition" optional="true" manufacturerCode="0 1002"> Cumandamentu di u cliente chì cambia u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificOnWithTransition2″ optional="true" manufacturerCode="0 1049"> Cumandamentu di u cliente chì accende u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificToggleWithTransition2″ optional="true"
manufacturerCode="0 1049"> Cumandamentu di u cliente chì cambia u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.

Attributi specifichi di u fabricatore in Standard Zigbee Cluster
Pudete aghjunghje i vostri attributi à qualsiasi cluster Zigbee standard cù i seguenti requisiti:
I vostri attributi specifichi di u fabricatore ponu utilizà qualsiasi attributu id in u intervalu di attribute id, 0x0000 - 0xffff. Avete ancu furnisce un codice di fabricatore per l'attributu in modu chì pò esse distintu da l'altri attributi in u cluster è trattatu bè. Esample di allargà u cluster On/Off cù attributi di fabricazione:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME" type="INT16U" min="0 0000"
max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg Attributu Specificu: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg Attributu Specificu: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg Attributu Specificu: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg Attributu specificu: 0 0001 0 1040
Crea u vostru propiu XML persunalizatu in Matter
A sezione mostra cumu creà i vostri propri clusters persunalizati è estende clusters standard esistenti cù attributi persunalizati è cumandamenti per Matter.
Clusters specifichi di u fabricatore in materia
Pudete aghjunghje clusters specifichi di u fabricatore in Matter. Avemu furnitu un example di questu quì sottu.
is a 32-bit combination of the manufacturer code and the id for the cluster. (required) The most significant 16 bits are the manufacturer code. The range for test manufacturer codes is 0xFFF1 – 0xFFF4. The least significant 16 bits are the cluster id. The range for manufacturer-specific clusters are: 0xFC00 – 0xFFFE.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

14/35

XML persunalizatu
In i seguenti example, a cumminazione di l'ID di venditore (ID di u Fabbricante di Test) di 0xFFF1 è l'ID di cluster di 0xFC20 risultati in un value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. ExampLe:
Generale Sample MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER U Sampu cluster MEI mostra estensioni di u fabricatore di cluster FlipFlop
Risposta per AddArguments chì torna a somma. Cumanda chì piglia dui argumenti uint8 è torna a so summa. Cumanda simplice senza paràmetri è senza risposta.
Attributi specifichi di u fabricatore in clusters di materia standard
Pudete aghjunghje attributi specifichi di u fabricatore à qualsiasi cluster Matter standard cù i seguenti requisiti:
T aaaa u raggruppamentu di i attributi chì sò aghjuntu à esse deve esse specificatu -
e xte nd ed > ">
U codice di l'attributu hè una cumminazione di 32 bit di u codice di u fabricatore è l'id per l'attributu. I 16 bit più significati sò u codice di u fabricatore. A gamma per i codici di fabricatore di prova hè 0xFFF1 - 0xFFF4. I 16 bits menu significati sò l'ID d'attributu. U intervallu per l'attributi non-globali hè 0x0000 - 0x4FFF.
ExampLe di estensione di cluster On/Off Matter cù attributi specifichi di fabricazione:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″
max="0xFFFF" scrivibile="true" default="0 0000" opzionale="true">Sample Mfg Attribut Specific 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″
max="0xFFFF" scrivibile="true" default="0 0000" opzionale="true">Sample Mfg Attribut Specificu 4
Cumandamenti specifichi di u fabricatore in clusters di materia standard
Pudete aghjunghje cumandamenti specifichi di u fabricatore à qualsiasi cluster Matter standard cù i seguenti requisiti:
T aaaa u raggruppamentu chì i cumandamenti chì sò aghjuntu à esse deve esse specificati -
e xte nd ed > ">
U codice di u cumandamentu hè una cumminazione di 32-bit di u codice di u fabricatore è l'id per u cumandamentu. I 16 bit più significati sò u codice di u fabricatore. A gamma per i codici di fabricatore di prova hè 0xFFF1 - 0xFFF4. U menu 16 bits significativu sò l'ID di cumanda. A gamma per i cumandamenti non-globali hè 0x0000 - 0x00FF.
ExampLe di estensione di cluster On/Off Matter cù clusters specifichi di fabricazione:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

15/35

XML persunalizatu

<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ optional="true"> Cumandamentu di u cliente chì accende u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ optional="true">
Cumandamentu di u cliente chì cambia u dispusitivu cù una transizione data da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

16/35

XML persunalizatu Tags per Zigbee

U documentu seguente parla di ognunu di i xml tags assuciatu cù Zigbee.
Ogni xml file hè listatu trà u cunfiguratore tags:

Tipi di dati ponu esse definiti in u configuratore tag. Zigbee supporta attualmente a definizione di bitmaps, enums, integers, strings o structs. Prima di definisce più tipi, assicuratevi di verificà tutti i tipi atomichi esistenti definiti in types.xml è tutti i tipi non-atomici definiti in l'altru xml. files. Pudete definisce elli cum'è seguente:
Bitmap: nome: nome di u tipu di bitmap. tipu: Bitmap cù una dimensione trà 8-64 bits pò esse definitu, chì tutti deve esse multiplici di 8. Ogni bitmap pò avè parechje campi cù un nome è una mascara assuciata cù questu. per esempiu:

"'
Enum: nome: nome di u tipu enum. tipu: Enum cù una dimensione trà 8-64 bits pò esse definitu, chì tutti deve esse multiplici di 8. Ogni enum pò avè parechje elementi cù un nome è un valore assuciatu cù questu. per esempiu:

Integer: Tipi integer sò digià definiti sottu tipi atomichi chì esistenu in types.xml. A so dimensione pò varià da 8-64 bits è pò esse firmatu o micca firmatu. per esempiu:

String: I tipi di stringa sò digià definiti sottu tipi atomichi chì esistenu in types.xml. I tipi di stringa attuali includenu stringa d'octetu, stringa di char, stringa di ottettu longu è stringa di char longa, per esempiu:

Struct: nome: nome di u tipu di struttura. Ogni struttura pò avè parechje articuli cù un nome è un tipu assuciatu cù questu. U tipu pò esse qualsiasi tippi predefiniti sottu tipi di dati. per esempiu:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

17/35

XML persunalizatu Tags per Zigbee

<item name=”structItem1″ type=” Any defined type name in the xml files]”/>

I clusters persunalizati ponu esse definiti in u configuratore tag. name : nome di u cluster domain : duminiu di u cluster. U cluster appariscerà in a ZAP UI sottu stu duminiu. description: Description of the cluster code: cluster code define: cluster define chì hè utilizatu da u generatore di codice per definisce u cluster in una certa manera manufacturerCode: Adupratu per definisce un cluster specificu di fabricazione. Questu deve esse trà 0xfc00 - 0xffff. U codice di u fabricatore per u cluster deve esse definitu cusì:

Un cluster di fabricazione face automaticamente l'attributi è i cumandamenti sottu à u stessu codice di u fabricatore, salvu chì ùn listanu esplicitamente u codice di u fabricatore. introdudIn: Adupratu per determinà a versione spec in quale u cluster hè statu introduttu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. removedIn: Adupratu per determinà a versione spec in quale u cluster hè statu eliminatu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. singleton (boolean): Hè utilizatu per determinà un cluster cum'è un singleton cusì chì ci hè solu una istanza di quellu cluster spartutu in i punti finali. attributu: definisce un attributu per u nome di u cluster: u nome di l'attributu hè citatu trà l'attributu tag.
nomu attributu
side(client/server): U latu di u cluster à quale l'attributu hè assuciatu ancu. codice: codice d'attributu codice di fabricatore: Questu pò esse usatu per definisce un attributu specificu di u fabricatore fora di a specificazione zigbee citata da u xml standard. define: attributu definisce quale hè utilizatu da u generatore di codice per definisce un attributu in un certu modu tipu: u tipu di l'attributu chì pò esse qualsiasi di i tipi di dati citati in u xml default: valore predeterminatu per l'attributu. min: Valore minimu permessu per un attributu max: Valore massimu permessu per un attributu scrivibile: Hè u valore di l'attributu scrivibile o micca. Questu pò esse usatu per impedisce l'attributu da esse mudificatu da cumandamenti di scrittura. optional (boolean): Adupratu per stabilisce se un attributu hè facultativu o micca per u cluster. min: U valore minimu permessu per un attributu quandu hè un tipu integer, enum o bitmap. max: Valore massimu permessu per l'attributu quandu hè un tipu integer, enum o bitmap length: Adupratu per specificà a lunghezza massima di l'attributu quandu hè di tipu stringa. minLength: Adupratu per specificà a durata minima di l'attributu quandu hè di tipu string. reportable (boolean): Dice se un attributu hè reportable o micca isNullable (boolean): Permette i valori nulli per l'attributu. array (boolean): Adupratu per dichjarà un attributu di tipu array. introdudIn: Adupratu per determinà a versione spec in quale l'attributu hè statu introduttu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. removedIn: Adupratu per determinà a versione spec in quale l'attributu hè statu eliminatu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. cumanda: definisce un cumandamentu per un nome di cluster: Nome di cumanda.

codice: codice di cumanda

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

18/35

XML persunalizatu Tags per Zigbee
codice di fabricatore: Questu pò esse usatu per definisce un cumandamentu specificu di u fabricatore fora di a specificazione zigbee citata da u xml standard. description: description of the command source(client/server): fonte di u cumandamentu. optional (boolean): Adupratu per determinà se un cumandamentu hè facultativu o micca per u cluster. introdudIn: Adupratu per determinà a versione spec in quale u cumandamentu hè statu introduttu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. removedIn: Adupratu per determinà a versione spec in quale u cumandimu hè statu eliminatu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. argumenti di cumandamentu:
Ogni cumanda pò avè un inseme di argumenti di cumandamentu nome: nome di l'argumentu di cumandamentu tipu: tipu di l'argumentu di cumanda chì puderia esse qualsiasi di i tipi citati in u xml. min: U valore minimu permessu per un argumentu quandu hè un tipu interu, enum o bitmap. max: Valore massimu permessu per un argumentu quandu hè un integer, enum o bitmap type length: Adupratu per specificà a lunghezza massima permessa per un argumentu di cumandamentu quandu hè di tipu stringa. minLength: Adupratu per specificà a durata minima permessa per un argumentu di cumandamentu quandu hè di tipu string. array (boolean): Per stabilisce se l'argumentu di cumanda hè di tipu array. presentIf (string): Questu pò esse una stringa cundizionale di operazioni logiche basate nantu à altri argumenti di cumandamentu induve pudete aspittà l'argumentu di cumandamentu se a stringa cundizionale valuta à veru. per esempiu:

Nota: Quì u statutu hè un altru nome di argumentu di cumanda. optional (boolean): Adupratu per determinà l'argumentu di u cumandamentu cum'è opcional. countArg: Adupratu quandu l'argumentu di cumanda hè di tipu array. Questu hè utilizatu per menziona l'altru argumentu di cumandamentu chì denota a dimensione di l'array per questu argumentu.

introducedIn: Adupratu per determinà a versione spec in quale l'argumentu di cumanda hè statu introduttu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. removedIn: Adupratu per determinà a versione spec in quale l'argumentu di cumanda hè statu eliminatu. Questu hè utilizatu da u generatore di codice per aghjunghje una logica supplementaria. Cluster Extension pò esse definitu in u configuratore tag. L'estensione di cluster hè aduprata per allargà un cluster standard cù attributi di fabricazione è cumandamenti, per esempiu

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

19/35

XML persunalizatu Tags per Zigbee
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” type=”INT16U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg Attributu Specificu: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg Attributu Specificu: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg Attributu Specificu: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” scrivibile=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg Attributu specificu: 0 0001 0 1040ampleMfgSpecificOffWithTransition" optional="true" manufacturerCode="0 1002"> Cumanda di u cliente chì spegne u dispusitivu cù una transizione data
da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificOnWithTransition" optional="true" manufacturerCode="0 1002"> Cumanda di Cliente chì gira u dispusitivu cù una transizione datu
da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificToggleWithTransition" optional="true" manufacturerCode="0 1002"> Cumanda di u cliente chì cambia u dispusitivu cù una transizione datu
da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificOnWithTransition2″ optional="true" manufacturerCode="0 1049"> Cumanda di u cliente chì accende u dispusitivu cù una transizione datu
da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.ampleMfgSpecificToggleWithTransition2″ optional="true" manufacturerCode="0 1049"> Cumanda di u cliente chì cambia u dispusitivu cù una transizione datu
da u tempu di transizione in l'Ember Sampl'attributu di u tempu di transizione.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

20/35

Tipi di Dispositivi Multiple Per Endpoint

Questa hè una funzione solu per a materia induve un utilizatore pò selezziunà più di un tipu di dispositivu per puntu finale. L'aghjunzione di parechji tippi di dispositi aaa aghjunghjenu e cunfigurazioni di cluster in i tipi di dispositi à a cunfigurazione di l'endpoint.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

21/35

Tipi di Dispositivi Multiple Per Endpoint

L'imaghjini di sopra mostra chì l'endpoint 1 hà più di un tipu di dispositivu sceltu. U "Dispositivu Primariu" denota u tipu di dispusitivu primariu chì l'endpoint serà assuciatu. U tipu di dispusitivu primariu hè sempre presente à l'indice 0 di a lista di i tipi di dispusitivi selezziunati cusì selezziunà un altru tipu di dispusitivu primariu cambierà l'ordine di i tipi di dispusitivi selezziunati. E selezzione di u tipu di u dispositivu anu ancu limitazioni basate nantu à a Specificazione di u Modellu di Dati. ZAP prutege l'utilizatori da a scelta di combinazioni invalide di tipi di dispositi in un endpoint utilizendu sti limitazioni.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

22/35

Materia Tipu di Dispositivu Pagina di Funzioni
Materia Tipu di Dispositivu Pagina di Funzioni
Materia Tipu di Dispositivu Pagina di Funzioni
ZAP supporta a visualizazione è a basculazione di e funzioni di Matter in a pagina di funzioni di u tipu di dispositivu. Solu e caratteristiche di u tipu di u dispositivu specificate in matter-devices.xml in u repository CHIP seranu visualizate.

Navigazione à a Pagina di Funzioni
ò Lanciate ZAP in Matter cù Matter SDK up-to-date. ó Crea un endpoint cù un tipu di dispositivu Matter. ô Cliccate nant'à u buttone Dispositivi Tipu Features nant'à u mezu cima di u cluster view. Nota chì stu buttone hè dispunibule solu in ZAP
cunfigurazioni per Matter è quandu i dati di conformità esistenu in Matter SDK. Cliccà stu buttone apre l'imagine sopra.
Cunformità
A conformità definisce l'opzionalità è a dipendenza per attributi, cumandamenti, avvenimenti è tipi di dati. Determina se un elementu hè ubligatoriu, facoltativu o micca supportatu in certe cunfigurazioni ZAP.
A conformità di e caratteristiche di u tipu di u dispositivu hà a precedenza annantu à a conformità di e funzioni di u cluster. Per esample, a funzione Lighting hà cunfurmità opzionale in u cluster On/Off, ma hè dichjarata cum'è ubligatoriu in u tipu di dispusitivu On/Off Light chì include u cluster On/Off. A creazione di un endpoint cù u tippu di dispusitivu On / Off Light mostrarà a funzione di illuminazione cum'è ubligatoriu in a pagina di funziunalità.
Funzionalità Toggling
In a pagina di funzioni, dopu avè clicatu u buttone di basculazione per attivà o disattivà una funzione, ZAP:
Aghjurnate l'elementi assuciati (attributi, cumandamenti, avvenimenti) per correggerà a conformità, è mostra un dialogu chì mostra i cambiamenti.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

23/35

Matter Device Type Feature Pagina Aghjurnate u bit di funziunalità in l'attributu featureMap di u cluster associatu

Attivà u Dialogu di Funzioni

Disattivà u Dialogu di Funzioni

Toggling hè disattivatu per alcune funzioni quandu a so conformità hà un valore scunnisciutu o una forma attualmente micca supportata. In questu ac se, ZAP mostrarà avvisi in l'app di notificazione.
un Wa Element Conform nce rnings

Quandu cambiate un elementu, ZAP pò vede sia avvisi di cunfurmità di u dispositivu sia avvisi di conformità. Se u statu di l'elementu ùn currisponde à a conformità prevista, ZAP mostrarà un icona di avvisu è registra l'avvisu in l'app di notificazione. EsampLe di l'avvisi di conformità è di cunfurmità affissati per un elementu:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

24/35

Notificazioni
Notificazioni
Notificazioni
A sezione seguente definisce cumu e notificazioni sò datu à l'utilizatori ZAP in l'UI.
Notificazioni di pacchettu
I notificazioni di u pacchettu sò l'avvirtimenti o i missaghji d'errore assuciati per qualsiasi pacchettu specificu caricatu in ZAP. Per esample, in l'imaghjini sottu, clicchendu l'icona d'avvisu sottu à a colonna di statutu vi purterà à un dialogu chì mostra tutte e notificazioni per quellu pacchettu.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

25/35

Notificazioni
Notificazioni di sessione
Notificazioni di sessione sò l'avvirtimenti o i missaghji d'errore chì sò assuciati cù una sessione d'utilizatore. Questi avvirtimenti / errori ponu esse vistu clicchendu nantu à u buttone Notificazioni in a barra di strumenti in cima à l'UI ZAP. Per esample, l'imagine sottu mostra a pagina di notificazioni di sessione dopu un isc file hè stata caricata in ZAP.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

26/35

Data-Model/ZCL Specification Compliance
Data-Model/ZCL Specification Compliance
Modellu di Dati è Conformità di Specifica ZCL
Questa funzione in ZAP aiuta l'utilizatori à vede i fallimenti di rispettu per Data Model o ZCL cù e so cunfigurazioni ZAP esistenti. I messagi d'avvertimentu per i fallimenti di cunfurmità appariscenu nantu à u pane di Notificazioni in a ZAP UI è seranu ancu cunnessi à a cunsola quandu eseguite ZAP attraversu a CLI. A funzione di conformità attualmente furnisce avvisi per a conformità di u tipu di u dispositivu è a conformità di cluster in un endpoint.
Avvisi di Conformità in a ZAP UI
Quandu un utilizatore apre un .zap file aduprendu a ZAP UI vedenu avvisi in u pane di notificazioni di a ZAP UI per tutti i fallimenti di cunformità. Per esample, l'imagine sottu mostra a pagina di notificazioni di sessione dopu un .zap file hè stata aperta cù prublemi di conformità.

I missaghji di cunfurmità sparghjeranu una volta chì i prublemi sò risolti utilizendu a ZAP UI in modu chì pudete seguità solu i prublemi di conformità rimanenti. Nuvelli avvisi appariscenu ancu per a conformità se l'utente disattiva elementi obligatorii (cluster / cumandamenti / attributi) di a cunfigurazione. I notifiche di rispettu di e specificazioni mantenenu sempre traccia di ogni fallimentu chì hè introduttu in a cunfigurazione ZAP, ma nutate chì l'avvirtimenti chì si prisentanu durante l'apertura di un .zap. file sò più elaborate nantu à perchè hà fallutu u cumplimentu quandu paragunatu à l'avvirtimenti chì appariscenu mentre interagisce cù l'UI. Questu hè di designu è un cuntrollu di cumplimentu cumpletu hè realizatu durante l'apertura di un .zap file.
Avvisi di Conformità nantu à a Console

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

27/35

Data-Model/ZCL Specification Compliance
Quandu un utilizatore apre un .zap file aduprendu l'UI standalone ZAP o u ZAP CLI vederanu avvisi registrati in a cunsola / terminale per tutti i fallimenti di conformità. Per esample, l'imaghjini sottu mostra l'avvisi di notificazione di sessione nantu à a cunsola / terminal dopu un .zap file hè stata aperta cù prublemi di conformità.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

28/35

Cuntrolla di Accessu

Funzioni di cuntrollu di accessu
ZAP supporta u cuntrollu di accessu à tutte e entità ZCL. Tocca à l'implementazione di u SDK per mapà queste funzioni à e funzioni SDK di cuntrollu d'accessu richieste è supportate. ZAP generalmente furnisce un mudellu di dati è un mecanismu per codificà in a meta-info files è propagate quelli dati à i mudelli di generazione, senza assignà significati specifichi à i punti di dati.
Termini di basa
U cuntrollu di l'accessu ZAP definisce trè termini di basa, cusì: ò operazione : definitu cum'è qualcosa chì pò esse fattu. Esample: leghje, scrive, invucà. ó rolu : definitu cum'è un privilegiu di un attore. Cum'è "View privilege", "Rule Amministrativu", è figliolu nantu. ô modificatori: definitu cum'è cundizioni di cuntrollu d'accessu spiciali, cum'è dati sensibili di tissuti o dati scoped tissuti. I termini di basa sò definiti in a metadata XML sottu una cima tag . U seguitu hè un example di definizione di termini di basa di cuntrollu di accessu:
<role type=”view" description = "View privilege"/>
Questu example definisce trè operazioni, leghje, scrive è invoca, dui mudificatori è quattru roli.
Accessu à i Triplets
Ogni cundizione d'accessu individuale pò esse definitu cù un triplet d'accessu in u XML. Access triplet hè una cumminazione di una operazione, rolu è modificatore. Sò opzionali, cusì pudete avè solu unu di questi. Una parte mancante di triplet significa generalmente permissivenes, chì hè specifica di implementazione per u SDK datu. Una entità chì definisce u so accessu pò avè una o più triplette d'accessu. U seguitu hè un exampLe:
à 0
Questa hè una definizione di un attributu chì hà un triplet d'accessu, chì dichjarà chì permette l'operazione di scrittura da un rolu di gestione, cù u modificatore di u tessulu applicatu.
Permissions Default

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

29/35

Cuntrolla di Accessu
L'entità ZCL ponu definisce i so permessi individuali. Tuttavia, ci hè ancu una definizione globale di permessi predeterminati per
tippi dati. Quessi sò assunti per l'entità data, salvu chì ùn furnisce micca permessi specifichi di u so propiu.
I permessi predeterminati sò dichjarati via a tag à u livellu più altu di l'XML file. EsampLe:
aa a< ccess op="invoke"/> a a aa < ccess op=”re d”/> a< ccess op=”scrittura”/> a aa aa < ccess op="re d" role="view”/> aa < ccess op=”write” role=”opera te”/> a
Template Helpers
L'aiutu di mudellu di basa à utilizà hè l'iteratore {{#access}} ... {{/access}}. Questu iteratore itera nantu à tutti i triplets d'accessu dati.
Supporta e duie opzioni seguenti:
entità = "attributu / cumandamentu / avvenimentu" - se l'entità ùn pò esse determinata da u cuntestu, questu stabilisce u tipu d'entità. includeDefault="true/false" - determina se i valori predeterminati sò inclusi o micca. U seguitu hè un exampLe:
{{#zcl_clusters}}
a Cluster: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa - ttribute: {{n me}} [{{code}}] aa {{# entità di accessu =" ttribute"}}
O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_ ttributes}} a {{#zcl_comm nds}} aa - comm nd: {{n me}}}] [{accl_codificate}} nd”}} O a RM a M * p: {{ operazione }} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – avvenimentu: {{n me}} [{{code}}] a {{# entità di accessu =”event”}} O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ access odifier}} a{{/ ccess}}
{{/zcl_events}}
{{/zcl_clusters}}

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

30/35

Lanciamentu di ZAP per l'applicazioni Matter o Zigbee
Lanciamentu di ZAP per l'applicazioni Matter o Zigbee
Lanciamentu di ZAP per l'applicazioni Matter o Zigbee
E sezioni seguenti descrizanu u lanciu di ZAP in modu standalone cù i metadati Matter o Zigbee specifichi. L'idea hè di lancià ZAP cù l'argumenti curretti ligati à i metadati XML (i clusters è e difinizzioni di i tipi di dispositivi cum'è l'specificazioni CSA) è i mudelli di generazione, chì sò usati per generà u codice appropritatu.
Lanciamentu di ZAP cù Matter
U script seguente coglie i metadati curretti da Matter SDK quandu lanciate ZAP. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Nota: Pudete ancu piglià l'approcciu Zigbee chì seguita per lancià ZAP in Matter.
Lanciamentu di ZAP cù Zigbee
U cumandimu seguitu lancia ZAP cù e specificazioni ZCL è mudelli di generazione da u SDK.
[zap-path] -z [sdk-path]/gsdk/app/zcl/zcl-zap.json -g [sdk-path]/gsdk/protocol/zigbee/app/framework/gen-template/gen-templates.json
zap-path: Questu hè u percorsu à a fonte ZAP o eseguibile sdk-path: Questu hè u percorsu à u SDK
Lanciamentu di ZAP senza Metadata
Ricurdativi chì quandu lanciate ZAP direttamente attraversu un eseguibile o da a fonte utilizendu npm run zap, lanciate ZAP cù metadati di prova per Matter / Zigbee integrati in ZAP è micca i metadati attuali chì venenu da Matter è Zigbee SDK citati sopra. Dunque, ricordate di creà e vostre cunfigurazioni ZAP usendu i metadati SDK è micca aprendu ZAP direttamente cù i metadati di prova integrati.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

31/35

Generazione di codice per Matter o Zigbee

Generazione di codice per Matter, Zigbee o un SDK Custom
I seguenti sezzioni descrizanu cumu generà codice cù ZAP.
Genera codice cù ZAP UI
Lanciate u ZAP UI secondu l'istruzzioni in Launching ZAP for Matter o Zigbee è cliccate nant'à u buttone Generate in a barra di menu superiore.
Genera codice senza UI
L'istruzzioni seguenti furnisce diverse manere di generà codice attraversu CLI senza lancià l'UI ZAP.
Generazione di codice da ZAP Source
Eseguite u cumandimu seguitu per generà codice cù ZAP da a fonte: node src-script/zap-generate.js -genResultFile –stateDirectory ~/.zap/gen -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-
template/zigbee/gen-templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp
Generazione di codice da ZAP Executable
Eseguite u cumandimu seguitu per generà codice cù l'executable ZAP: [zap-path] generate -genResultFile –stateDirectory ~/.zap/gen -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-
templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp
Generazione di codice da ZAP CLI Executable
Eseguite u cumandimu seguitu per generà codice cù ZAP CLI Executable: [zap-cli-path] generate -genResultFile –stateDirectory ~/.zap/gen -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-
templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

32/35

Aghjurnate ZAP in Studio

Aghjurnate ZAP
Aghjurnate ZAP in Simplicity Studio
Stu mekanismu pò esse usatu quandu si travaglia cù l'estensione Matter o Zigbee da e versioni di Silicon Labs SDK. ZAP pò esse aghjurnatu in Simplicity Studio senza una liberazione di Simplicity Studio scarichendu l'ultimu eseguibile ZAP (cunsigliatu) o tirà l'ultime da a fonte ZAP cum'è mostra in a Guida di Installazione ZAP. Dopu avè l'ultimu ZAP basatu annantu à u vostru SO attualmente utilizatu, pudete aghjurnà ZAP in Studio cum'è un pacchettu di adattatori. Segui l'istruzzioni sottu dopu avè scaricatu l'ultimu ZAP:
Andà à Simplicity Studio è selezziunate Preferenze > Simplicity Studio > Packs Adapter. Cliccate Aggiungi... è andate à u cartulare ZAP espansu chì avete scaricatu è cliccate Selezziunate Folder . Cliccate Apply and Close è dopu u ZAP novu aghjuntu serà utilizatu ogni volta chì un .zap file hè apertu.
Nota: A volte pò esse istanze più vechje di ZAP chì sò digià in esecuzione ancu dopu l'aghjurnamentu à l'ultimu ZAP. Assicuratevi di finisce tutte e istanze ZAP esistenti in modu chì u ZAP novu fattu hè utilizatu invece di una vechja istanza, chì travaglia sempre in fondo.
Aghjurnate ZAP per u Sviluppu di Materia in Github
Quandu travagliate cù i repositori di Matter o Matter-Silicon Labs nantu à Github, stabilisce e variabili di l'ambienti in quantu à ZAP per creà / generà novi cunfigurazioni ZAP o rigenerate s esistenti.ample ZAP cunfigurazioni dopu l'applicà cambiamenti à elli. Pone ZAP_DEVELOPMENT_PATH à ZAP da a fonte tirando l'ultime o stabilisce ZAP_INSTALLATION_PATH à ZAP eseguibile chì avete scaricatu l'ultimu in u vostru cartulare locale. Nota chì quandu ZAP_DEVELOPMENT_PATH è ZAP_INSTALLATION_PATH sò stati stabiliti, ZAP_DEVELOPMENT_PATH hè utilizatu.
I seguenti sò examples chì mostranu e variabili di l'ambiente sopra in usu:
Lanciamentu di ZAP utilizendu a specificazione di Matter Rigenerazione di tutti i sample configurazioni ZAP per l'applicazioni Matter
Nota: Quandu utilizate eseguibili ZAP, assicuratevi di utilizà una versione ufficiale annantu à una versione di notte per più stabilità. Vede
Scaricamentu di u ZAP Executable in ZAP Installation Guide

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

33/35

Concurrent Multi-protocol trà Zigbee è Matter
Concurrent Multi-protocol trà Zigbee è Matter
MCoanttceurrrent Multi-protoccu trà Zigbee è
ZAP pò esse usatu per cunfigurà cunfigurazioni ZCL (Zigbee) è Data-Model (Matter) in una applicazione multiprotocolu per Zigbee è Matter. ZAP permette di creà endpoints per Zigbee è Matter esplicitamente in a listessa cunfigurazione file. Se i punti finali Zigbee è Matter sò nantu à u listessu identificatore di endpoint (per esample, LO Dimmable Light in endpoint Id 1 è Matter Dimmable Light in un'altra istanza di endpoint 1), ZAP si cura di sincronizà l'attributi cumuni à traversu l'attributi Matter è Zigbee. Assicuratevi chì l'attributi chì sò sincronizati anu u listessu tipu di dati. L'attributi cumuni trà Zigbee è Matter sò stabiliti attraversu a file chjamatu multi-protocol.json . L'utilizatore pò ligà qualsiasi dui clusters attraversu Zigbee è Matter cù i so attributi currispondenti utilizendu i codici di cluster è attributi rispettivamente. Questu file pò esse truvatu in [SDKPath]/app/zcl/multi-protocol.json. Questu file hè stata aghjurnata cù un certu settore di clusters è attributi per cumincià, ma l'utilizatore pò aghjurnà questu file cum'è necessariu è ZAP hà da piglià a cura di a sincronizazione di a cunfigurazione di l'attributi in Zigbee è Matter per identificatori di endpoint cumuni.
Pudete ancu truvà un tutoriale ZAP in ogni applicazione multiprotocolu Zigbee and Matter sottu a pagina di tutoriali. Stu tutoriale vi guidà à traversu u prucessu di creazione di l'applicazioni multi-protocolu. Stu tutoriale hè dispunibule solu quandu avete apertu una applicazione multiprotocolu esistente è pò esse truvata cum'è mostra in l'imaghjini sottu:

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

34/35

Integra SLC CLI cù ZAP
Integra SLC CLI cù ZAP
Integra SLC CLI cù ZAP
Segui questi passi per integrà l'SLC CLI cù ZAP: ò Installa SLC CLI seguendu l'istruzzioni di installazione in u Simplicity Studio 5 User Guide. ó Installa ZAP seguendu l'istruzzioni in a Guida d'installazione ZAP. ô Per integrà SLC CLI cù ZAP, aghjunghje una variabile d'ambiente STUDIO_ADAPTER_PACK_PATH chì punta à l'applicazione ZAP
annuariu. õ Ricurdativi di riavvià SLC CLI Daemon dopu u passu 3. ö Qualchese prughjettu chì usa ZAP avà aduprà a strada definita in u passu 3 quandu generatu da SLC CLI. Per piacè riferite à SLC CLI
Utilizà per struzzioni nantu à l'usu di SLC CLI per i vostri prughjetti.

Copyright © 2025 Silicon Laboratories. Tutti i diritti riservati.

35/35

Documenti / Risorse

SILICON LABS ZAP Sviluppendu cù Silicon Labs [pdfManuale di u pruprietariu
ZAP Sviluppendu cù Silicon Labs, ZAP, Sviluppendu cù Silicon Labs, Silicon Labs, Labs

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *