ZAP Devlope Ak Silicon Labs
Espesifikasyon
- Non pwodwi: Silicon Labs ZAP
- Kalite: Kòd jenerasyon motè ak koòdone itilizatè
- Konpatibilite: Bibliyotèk Cluster Zigbee (Zigbee) oswa Modèl Done (Matter)
- Devlope pa: Connectivity Standards Alliance
Enstriksyon Itilizasyon Pwodwi
- ZAP Kòmanse
- Pou kòmanse ak ZAP, swiv etap sa yo:
- Telechaje ZAP Executable a soti nan repozitwa ofisyèl la.
- Enstale depandans yo lè l sèvi avèk npm enstale lòd.
- Pou enstalasyon Windows espesifik, al gade nan Enstalasyon ZAP pou Windows OS gid.
- Pou kòmanse ak ZAP, swiv etap sa yo:
- Devlopman Zigbee
- Si w ap devlope aplikasyon pou Zigbee:
- Sèvi ak Simplicity Studio ki gen ZAP ak lòt zouti ki nesesè yo.
- Si w ap devlope aplikasyon pou Zigbee:
- Devlopman matyè
- Si w ap devlope aplikasyon Matter:
- Opsyon yo enkli itilize Simplicity Studio oswa aksè nan Silikon Labs oswa CSA Github depo.
- Gade enstriksyon aktyalizasyon pou ZAP deyò sik lage Simplicity Studio si sa nesesè.
- Si w ap devlope aplikasyon Matter:
FAQ
- K: Ki diferan vèsyon binè ZAP ki disponib?
- A: Gen de vèsyon ki disponib - Liberasyon ofisyèl ak bati verifye ak pre-lage ak dènye karakteristik yo.
- K: Kisa mwen ta dwe fè si mwen rankontre pwoblèm konpilasyon bibliyotèk natif natal pandan enstalasyon?
- A: Ale nan enfòmasyon FAQ sou scripts espesifik platfòm pou rezoud pwoblèm sa yo.
"`
Silicon Labs ZAP
Silicon Labs ZAP
Devlope ak Silicon Labs ZAP
Kòmanse
ZAP Kòmanse ankòview ZAP Enstalasyon ZAP Enstalasyon Windows FAQ
Fondamantal ZAP Fondamantal
Gid Itilizatè ZAP Gid Itilizatè Plis paseview Custom XML Custom XML Tags pou Zigbee Plizyè Kalite Aparèy Pa Endpoint Matter Kalite Aparèy Paj Karakteristik Notifikasyon Done-Modèl/ZCL Spesifikasyon Konfòmite Kontwòl Aksè Lanse ZAP pou aplikasyon Matter oswa Zigbee Jenere kòd pou Matter oswa Zigbee Mizajou ZAP nan Studio Konkouran Multi-pwotokòl ant Zigbee ak Matter Entegre SLC CLI ak ZAP
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
1/35
Devlope ak Silicon Labs ZAP
Devlope ak Silicon Labs ZAP
ZAP
ZAP se yon motè jenerasyon kòd jenerik ak koòdone itilizatè pou aplikasyon ak bibliyotèk ki baze sou Zigbee Cluster Library ki soti nan Zigbee oswa ki baze sou Data Model from Matter. Espesifikasyon an devlope pa Connectivity Standards Alliance. ZAP pèmèt ou fè operasyon sa yo:
Fè SDK-espesifik jenerasyon Customized nan tout zafè mondyal (konstan, kalite, ID, ak sou sa) ki baze sou spesifikasyon ZCL / Done-Modèl. Fè SDK-espesifik jenerasyon Customized nan tout zafè konfigirasyon itilizatè chwazi (konfigirasyon aplikasyon, konfigirasyon pwen final, ak sou sa) ki baze sou spesifikasyon ZCL / Done-Modèl ak konfigirasyon aplikasyon kliyan-bay. Bay UI pou itilizatè final la chwazi yon konfigirasyon aplikasyon espesifik (endpoints, grap, atribi, kòmandman, ak sou sa).
Kontni ki nan seksyon sa yo dekri kijan pou devlope aplikasyon Zigbee ak Matter lè w konfigirasyon Kouch ZCL (Zigbee) oswa Data Model (Matter) lè l sèvi avèk ZAP.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
2/35
ZAP Kòmanse
ZAP Kòmanse
Kòmanse ak ZAP
Seksyon sa yo dekri diferan metòd pou kreye aplikasyon Zigbee ak Matter. Remake byen ke Simplicity Studio bay yon fason pou kreye aplikasyon Zigbee ak Matter ou yo de bout a bout kote tout zouti vini pre-enstale ansanm ak Simplicity Studio (ki gen ladan ZAP). Ou ka deside tou eksplore lòt fason pou kreye aplikasyon w yo, jan sa dekri la a.
Devlopman Zigbee
Devlopè aplikasyon Zigbee yo ka kreye aplikasyon yo lè l sèvi avèk Simplicity Studio, ki deja gen ladan ZAP ak lòt zouti ki ede w konstwi aplikasyon w de bout rive nan bout.
Devlopman matyè
Devlopè aplikasyon Matter ka kreye aplikasyon yo lè l sèvi avèk metòd sa yo: Simplicity Studio: Sa gen ladann ZAP ak lòt zouti ki nesesè pou konstwi aplikasyon Matter bout a bout. Github (Silicon Labs) Github (CSA)
Nòt: Pou mete ajou ZAP deyò sik lage Simplicity Studio, gade aktyalizasyon ZAP nan Simplicity Studio ak Gid Enstalasyon ZAP.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
3/35
ZAP Enstalasyon
Seksyon sa yo dekri enstalasyon ZAP ak kijan pou mete ajou ZAP nan Simplicity Studio IDE.
Telechaje ZAP Executable Rekòmande)
Sa a se fason ki rekòmande pou kòmanse ak ZAP. Ou ka jwenn dènye ZAP binè yo nan aa https://github.com/project-chip/zp/releses. Binè Prebuilt vini nan de vèsyon diferan.
Divilgasyon ofisyèl: Verifye bati ak matyè dedye ak swit tès Zigbee. Fòma non piblikasyon an se vYYYY.DD.MM. Pre-version: Bati ak dènye karakteristik yo ak koreksyon ensèk, men konstriksyon sa yo PA verifye ak matyè dedye ak swit tès Zigbee. Fòma non piblikasyon an se vYYYY.DD.MM-nightly.
Enstale ZAP soti nan Sous
Enstriksyon debaz pou Enstale ZAP
Paske sa a se yon aplikasyon node.js, ou bezwen anviwònman an node enstale. Pi bon fason pou fè sa se telechaje dènye enstalasyon ne, ki gen ladann node ak npm. Si ou gen yon vèsyon ki pi gran nan ne enstale sou estasyon travay ou a, li ka lakòz pwoblèm, sitou si li trè fin vye granmoun. Asire w ke ou gen dènye node v16.x vèsyon an ak npm ki enkli. Kouri node -version pou tcheke ki vèsyon yo pran. v18.x rekòmande. Apre ou fin gen yon vèsyon vle nan ne, ou ka kouri sa ki annapre yo:
Enstale Depandans yo
Sèvi ak kòmandman sa yo pou enstale depandans:
npm enstale
Nòt: Pou enstalasyon ZAP espesifik pou Windows, gade Enstalasyon ZAP pou Windows OS. Li pa estraòdinè pou w rankontre pwoblèm konpilasyon bibliyotèk natif natal nan pwen sa a. Gen divès kalite script src-script/install-* pou diferan tribin. Gade enfòmasyon FAQ sou ki script pou kouri sou diferan platfòm epi answit relanse npm install .
Kòmanse Aplikasyon an
Sèvi ak kòmandman sa yo pou kòmanse aplikasyon an:
npm kouri zap
Kòmanse Front-End la nan mòd Devlopman
Sipòte rechaje kòd cho, rapò erè, ak sou sa. Sèvi ak kòmandman sa yo pou kòmanse front-end nan devlopman
mòd:
quasar dev -m elèktron
or
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
4/35
ZAP Insta at o ll in
npm kouri elèktron-dev
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
5/35
ZAP Enstalasyon Windows
ZAP Enstalasyon Windows
ZAP Enstalasyon pou Windows OS
1. Windows Powershell
Nan ba rechèch Desktop la, antre Windows Powershell epi kouri kòm administratè. Kouri tout kòmandman sa yo andedan Powershell.
2. Chokolatey
Enstale soti nan https://chocolatey.org/install. Tcheke si enstale byen ak kòmandman sa yo:
choco -v
Enstale pake pkgconfiglite ak kòmandman sa yo:
choco enstale pkgconfiglite
3. Enstale Node
Kouri kòmandman sa yo pou enstale:
choco enstale nodejs-lts
*Vèsyon an dwe 18 pou pase tès chèk vèsyon an, apre enstale, tcheke avèk node -v *Si ou te enstale Node deja, epi echwe kèk tès ki sanble ak pa ka jwenn Node, réinstaller Node ak chokola ankò.
4. Swiv Enstriksyon Debaz yo pou Enstale ZAP
Swiv enstriksyon enstalasyon ZAP ki soti nan sous nan Enstalasyon ZAP. Pandan w ap swiv enstriksyon debaz yo pou enstale ZAP, fè atansyon pou erè sa yo ak kijan pou rezoud yo:
sqlite3
Lè w ap kouri ZAP (egzanp, npm run zap ), si ou wè yon erè sou sqlite3.node nan yon fenèt pop up, kouri:
npm rebati sqlite3
elèktron-mason
Lè w ap fè npm enstale, nan apre-enstalasyon, si yon erè rive sou kòmandman sa a ki gen rapò ak electron-builder install-appdeps , npx electron-rebuild canvas failed or node-pre-gyp , vèsyon twal aktyèl la pa konpatib ak Windows epi erè enstalasyon an pa pral lakòz yon echèk nan kouri ZAP. node-canvas ap travay sou solisyon an kounye a epi pwoblèm nan pral rezoud nan fiti prè.
“postinstall”: “electron-builder install-app-deps && husky install && npm rebati twal – update-binary && npm run version-stamp”
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
6/35
ZAP Enstalasyon Windows
Twal
Si tès npm kouri echwe akòz erè a, Suite tès la echwe pou pou kouri. Pa ka jwenn modil '../build/Release/canvas.node' oswa
zapnode_modulescanvasbuildReleasecanvas.node se pa yon aplikasyon Win32 ki valab. , rebati twal jan sa a:
npm rebati twal -update-binè
jwenn index.html oswa lòt pwoblèm sèvè
Si tès npm kouri echwe akòz erè a, jwenn demann index.html echwe ak kòd estati 404 nan tès inite oswa ki gen sèvè
pwoblèm koneksyon nan tès e2e-ci, kouri kòmandman sa yo:
npm kouri bati
Lòt
Tcheke si vèsyon an ne se v18 epi eseye enstale li ak Chocolatey.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
7/35
FAQ
FAQ
Kesyon yo poze souvan
K: Ki jan yo kòmanse moute UI nan yon mòd devlopman? A: Ou ka kòmanse UI a nan yon mòd devlopman, ki pral lakòz yon konfigirasyon sa a:
Sèvè HTTP devlopman kwazar separe, ki rafrechi sou pò 8080 ZAP back end ap kouri sou pò 9070 Chrome oswa yon lòt navigatè, kouri poukont Pou rive nan konfigirasyon sa a, swiv enstriksyon ki anba yo. ò Premyèman, kouri sèvè devlopman ZAP, ki kòmanse sou pò 9070.
npm run zap-devserver ó Apre sa, kouri sèvè devlopman kwazar la, ki kòmanse sou pò 8080.
quasar dev ô Montre navigatè ou a oswa kouri youn kont apwopriye a URL ak agiman restPort la:
google-chrome http://localhost:8080/?restPort=9070
K: Ki jan fè travay sa a sou Mac/Linux OS? A:
npm enstale yo itilize pou telechaje tout pakè depandans obligatwa yo. Si w wè erè ki gen rapò ak node-gyp ak bibliyotèk lokal ki manke yo, tankou pixman , ak sou sa, w ap manke depandans natif natal pou satisfè pou konpile binè ne ki pa prekonstwi pou kèk konbinezon platfòm ak vèsyon. Npm sou nwaj la toujou ap mete ajou lis binè yo bay yo, kidonk li posib ke ou pral ranmase yo byen, men si ou pa fè sa, sa yo se enstriksyon pou platfòm diferan:
Fedora Core ak dnf:
dnf enstale pixman-devel Cairo-devel pango-devel libjpeg-devel giflib-devel
oswa kouri script:
src-script/install-packages-fedora
Ubuntu ak apt-get:
apt-get update apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
oswa kouri script:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
8/35
FAQ
src-script/install-packages-ubuntu
OSX sou yon Mac ak Homebrew brew:
brew enstale pkg-config Cairo pango libpng jpeg giflib librsvg
oswa kouri script:
src-script/install-packages-osx
K: Ki jan fè travay sa a sou Windows OS?
A: Asire w ke li toujou ajou epi pa gen okenn chanjman ki pa te komèt. Ide: git pull, git status & git stash se zanmi ou yo. Ou dwe itilize Chocolately pou fè Zap travay sou Windows OS. Asire w ke w telechaje pake pkgconfiglite la.
choco enstale pkgconfiglite
Si ou gen pwoblèm ak Cairo, pou egzanpample if you get an error about cairo.h': No such file oswa anyè, fè bagay sa yo: ò Tcheke si òdinatè w lan se 32 oswa 64 bit. ó Tou depan de sa, telechaje pake ki apwopriye a sou sit sa a
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:
Klike sou Anviwònman Sistèm Avanse. Nan tab la avanse klike sou Varyab Anviwònman. Nan seksyon System Variables, jwenn varyab anviwònman PATH la epi chwazi li. Klike sou Edit epi ajoute C:/GTK sou li. Si varyab anviwònman PATH la pa egziste, klike sou Nouvo. Si yo pa jwenn jpeglib.h, eseye sa ki annapre yo: ò Sou tèminal la, kouri: choco enstale libjpeg-turbo o Asire w ke li pwòp lè w sèvi ak: git clean -dxff epi kouri npm enstale ankò ô si pa gen okenn erè ki rive epi sèlman avètisman parèt, eseye sèvi ak npm audit fix õ si ou pa ka kouri ZAP, ale nan file src-script/zap-start.js ö Chanje
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('child_process') ø Kouri npm epi kouri zap. Referans:
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)
K: Mwen jwenn yon erè "sqlite3_node" pa jwenn oswa menm jan an.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
9/35
FAQ
A: Rebati koneksyon natif natal sqlite3 ou. Pou ranje sa a nan pifò ka yo, kouri:
npm enstale
./node_modules/.bin/electron-rebuild -w sqlite3 -p
Si li toujou pa jwenn ranje, fè:
rm -rf node_modules epi eseye kòmandman ki anwo yo ankò. Okazyonèlman amelyore npm ou a tou fè yon diferans:
npm enstale -g npm
K: Mwen jwenn yon erè "Vèsyon N-API egzanp Node sa a se 1. Modil sa a sipòte vèsyon N-API (yo) 3. Enstans Node sa a pa ka kouri modil sa a."
A: Upgrade vèsyon ne ou an. Yo diskite solisyon an pou sa a nan fil Stack Overflow sa a: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
K: PC devlopman mwen an pa travay ak ZAP pou kèlkeswa rezon. Èske mwen ka itilize yon veso docker?
A: Wi ou kapab. TBD.
K: Kouman pou mwen kouri ZAP andedan VSCode?
A: Si ou VSCode nan chemen ou antre nan repo zap epi tape kòd. Sa a pral louvri ZAP nan VSCode. Pou kouri ZAP nan mòd debogaj, chwazi espas travay ZAP la epi klike sou ikòn Kouri ki nan ba zouti men gòch la. Ou pral gen yon koup nan opsyon yo chwazi nan kouri ZAP, chwazi Node.js Debug Terminal . Sa a pral louvri yon fenèt tèminal ki soti nan kote ou ka antre nan npm run zap , ki pral tache debugger la epi kouri ZAP jan ou ta nòmalman nan liy lòd la. Felisitasyon, ou ta dwe kounye a wè ZAP kouri nan debogaj la. Ou ka mete breakpoints nan VSCode menm jan ou ta nan nenpòt lòt IDE.
K: Tès inite UI echwe ak kèk erè alantou twal pa bati pou vèsyon an dwa nan ne. Kisa poum fè?
A: Si ou wè erè sa a:
FAIL test/ui.test.js Tès suite echwe pou kouri Modil 'canvas.node' a te konpile kont yon vèsyon Node.js diferan lè l sèvi avèk NODE_MODULE_VERSION 80. Vèsyon sa a nan Node.js mande pou NODE_MODULE_VERSION 72. Tanpri eseye re-konpile oswa re-enstale modil la (pa egzanp, lè l sèvi avèk 'oswa pmn re-enstale).
nan Objè. (node_modules/canvas/lib/bindings.js:3 18)
Lè sa a, kouri: npm rebati twal -update-binè
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
10/35
ZAP Fondamantal yo
ZCL/Done-Modèl ZAP Fondamantal
Seksyon sa a gen enfòmasyon pou nouvo itilizatè ZAP. Klike sou ikòn leson patikilye ki nan kwen anlè adwat ZAP UI, ki montre kijan pou kreye yon konfigirasyon ZAP. Leson patikilye a pral gide w nan bagay sa yo: Kreye yon pwen final Chwazi yon kalite aparèy Konfigure yon gwoup Konfigure yon atribi Konfigure yon kòmand Pou referans detaye, gade Gid Zigbee Cluster Configurator
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
11/35
Gid Itilizatè ZAP
Gid Itilizatè ZAP
Gid Itilizatè ZAP
Seksyon ki anba gid sa a bay plis detay sou diferan karakteristik ZAP bay yo.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
12/35
Custom XML
Ajoute XML Custom soti nan ZAP UI la
Klike sou ikòn "Ekstansyon" nan ZAP UI. Klike sou bouton "+" ajoute pou chwazi yon xml koutim file Gwoup koutim yo, atribi, kòmandman, elatriye ta dwe parèt nan ZAP UI a yon fwa yo te ajoute xml koutim la.
Kreye pwòp XML koutim ou nan Zigbee
Seksyon an montre kijan pou kreye pwòp grap koutim ou yo epi pwolonje grap estanda ki deja egziste ak atribi ak kòmandman koutim pou Zigbee.
Manifakti-Espesifik Clusters nan Zigbee
Ou ka ajoute gwoup espesifik manifakti a nan yon pwofesyonèl estandafile. Nou bay yon ansyenample sa a anba a. Pou fè sa ou dwe satisfè de obligasyon:
ID gwoup la DWE nan seri espesifik manifakti a, 0xfc00 – 0xffff. Definisyon gwoup la dwe gen ladan yon kòd manifakti ki pral aplike nan TOUT atribi ak kòmandman ki nan gwoup sa a epi yo dwe bay lè w ap voye ak resevwa kòmandman epi kominike avèk atribi yo. Egzample:
Sample Mfg Espesifik Cluster Jeneral Gwoup sa a bay yon ansyenampli sou fason kad aplikasyon an ka pwolonje pou enkli gwoup espesifik manifakti yo.
0xFC00
ember sample atribi
ember sampatribi 2
Yon sample manifakti-espesifik kòmand nan s laample manifakti-espesifik
grap.
Kòmandman Espesifik Manifakti nan Standard Zigbee Cluster
Ou ka ajoute pwòp kòmandman ou yo nan nenpòt gwoup Zigbee estanda ak kondisyon sa yo:
Kòmandman espesifik manifakti ou yo ka itilize nenpòt id kòmand nan seri id kòmand, 0x00 - 0xff. Ou dwe tou bay yon kòd manifakti pou kòmandman an pou li ka distenge ak lòt kòmandman nan gwoup la epi okipe yon fason apwopriye. EgzampLi nan pwolonje gwoup On/Off la ak kòmandman fabrikasyon:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
13/35
Custom XML
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki fèmen aparèy la ak yon tranzisyon bay tan tranzisyon an nan Ember S laampatribi tan tranzisyon an.ampleMfgSpecificOnWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki vire aparèy la ak yon tranzisyon bay tan tranzisyon an nan Ember S laampatribi tan tranzisyon an.ampleMfgSpecificToggleWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki chanje aparèy la ak yon tranzisyon bay lè tranzisyon an nan Ember S laampatribi tan tranzisyon an.ampleMfgSpecificOnWithTransition2″ opsyonèl=”true” manufacturerCode=”0 1049″> Kòmand kliyan ki vire aparèy la ak yon tranzisyon bay tan tranzisyon an nan Ember S laampatribi tan tranzisyon an.ampleMfgSpecificToggleWithTransition2″ opsyonèl="true"
manufacturerCode="0 1049"> Kòmand kliyan ki chanje aparèy la ak yon tranzisyon bay lè tranzisyon an nan Ember S laampatribi tan tranzisyon an.
Manifakti-Espesifik Atribi nan Standard Zigbee Cluster
Ou ka ajoute atribi pwòp ou yo nan nenpòt grap Zigbee estanda ak kondisyon sa yo:
Atribi espesifik manifakti ou yo ka itilize nenpòt id atribi nan seri id atribi, 0x0000 – 0xffff. Ou dwe tou bay yon kòd manifakti pou atribi a pou yo ka distenge li ak lòt atribi nan gwoup la epi trete yon fason ki apwopriye. EgzampPwolonje gwoup On/Off la ak atribi fabrikasyon yo:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” tip = ”INT16U” min = ”0 0000″
max = ”0xFFFF” ekri = ”verite” default = ”0 0000″ opsyonèl = ”vrè” manufacturerCode = ”0 1002″>Sample Mfg espesifik atribi: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg espesifik atribi: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg espesifik atribi: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg espesifik atribi: 0 0001 0 1040
Kreye pwòp XML koutim ou nan Matter
Seksyon an montre kijan pou kreye pwòp grap koutim ou yo epi pwolonje grap estanda ki egziste deja yo ak atribi koutim ak kòmandman pou Matter.
Manifakti-Espesifik Clusters nan Matter
Ou ka ajoute grap manifakti espesifik nan in Matter. Nou bay yon ansyenample sa a anba a.
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 Silisyòm Laboratwa. Tout dwa rezève.
14/35
Custom XML
Nan egzanp sa aample, konbinezon idantite machann (ID manifakti tès) 0xFFF1 ak ID gwoup 0xFC20 rezilta nan yon value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Example:
Jeneral Sample MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER Sample MEI gwoup montre yon ekstansyon manifakti grap FlipFlop
Repons pou AddArguments ki retounen sòm total la. Kòmandman ki pran de agiman uint8 epi ki retounen sòm yo. Senp kòmand san okenn paramèt ak san repons.
Manifakti-Espesifik Atribi nan Gwoup Matter Creole
Ou ka ajoute atribi espesifik manifakti a nan nenpòt gwoup Matter estanda ak kondisyon sa yo:
T aaaa li gwoup yo dwe espesifye atribi yo ap ajoute yo -
e xte ed > ">
Kòd la nan atribi a se yon konbinezon 32-bit nan kòd manifakti a ak id la pou atribi a. 16 Bits ki pi enpòtan yo se kòd manifakti a. Ranje pou kòd manifakti tès yo se 0xFFF1 - 0xFFF4. 16 Bits ki pi piti yo se ID atribi yo. Ranje a pou atribi ki pa mondyal se 0x0000 - 0x4FFF.
ExampPwolonje gwoup On/Off Matter ak atribi espesifik fabrikasyon:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tip = ”INT8U” min = ”0 0000″
max = ”0xFFFF” ekri = ” vre ” default = ” 0 0000 ” opsyonèl = ” vre ” > Sample Mfg atribi espesifik 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tip = ”INT16U” min = ”0 0000″
max = ”0xFFFF” ekri = ” vre ” default = ” 0 0000 ” opsyonèl = ” vre ” > Sample Mfg atribi espesifik 4
Kòmandman Espesifik Manifakti nan Gwoup Matter Creole
Ou ka ajoute kòmandman espesifik manifakti a nan nenpòt gwoup Matter estanda ak kondisyon sa yo:
T aaaa li gwoup yo dwe espesifye kòmandman y ap ajoute yo -
e xte ed > ">
Kòd la nan lòd la se yon konbinezon 32-bit nan kòd manifakti a ak id la pou kòmandman an. 16 Bits ki pi enpòtan yo se kòd manifakti a. Ranje pou kòd manifakti tès yo se 0xFFF1 - 0xFFF4. 16 Bits ki pi piti yo se ID kòmandman an. Ranje a pou kòmandman ki pa mondyal se 0x0000 - 0x00FF.
ExampPwolonje gwoup On/Off Matter ak gwoup espesifik fabrikasyon:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
15/35
Custom XML
<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ opsyonèl="true"> Kòmand kliyan ki vire aparèy la ak yon tranzisyon bay tan tranzisyon an nan Ember S laampatribi tan tranzisyon an.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ opsyonèl="true">
Kòmand kliyan ki chanje aparèy la ak yon tranzisyon bay lè tranzisyon an nan Ember S laampatribi tan tranzisyon an.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
16/35
Dokiman sa a pale sou chak nan xml yo tags ki asosye ak Zigbee.
Chak xml file se ki nan lis ant konfigirateur la tags:
Kalite done yo ka defini nan configurator la tag. Zigbee kounye a sipòte definisyon bitmap, enums, nonm antye, fisèl oswa estrikti. Anvan defini plis kalite asire w ke ou tcheke tout kalite atomik ki egziste deja defini nan types.xml ak tout kalite ki pa atomik defini nan lòt xml la. files. Ou ka defini yo jan sa a:
Bitmap: non: non kalite bitmap. Kalite: Bitmap ak yon gwosè ant 8-64 Bits ka defini, tout sa yo ta dwe miltip nan 8. Chak bitmap ka gen plizyè jaden ak yon non ak yon mask ki asosye ak li. egzanp:
"`
Enum: non: non kalite enum. Kalite: Enum ak yon gwosè ant 8-64 Bits ka defini, tout nan yo ta dwe miltip nan 8. Chak enum ka gen plizyè atik ki gen yon non ak yon valè ki asosye ak li. egzanp:
Nonb antye relatif: Kalite nonb antye relatif yo deja defini anba kalite atomik ki egziste nan types.xml. Gwosè yo ka varye ant 8-64 bit epi yo ka siyen oswa pa siyen. egzanp:
Chaîne: Kalite chèn yo deja defini anba kalite atomik ki egziste nan types.xml. Kalite fisèl aktyèl yo gen ladan fisèl octet, fisèl char, fisèl octet long ak fisèl char long egzanp:
Struct: non: non kalite struct. Chak estrikti ka gen plizyè atik ki gen yon non ak yon kalite ki asosye ak li. Kalite a ka nenpòt kalite predefini anba kalite done. egzanp:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
17/35
Custom XML Tags pou Zigbee
<item name=”structItem1″ type=” Any defined type name in the xml files]”/>
Ka Custom Clusters dwe defini nan configurator la tag. name: name of the cluster domain: domain of the cluster. Gwoup la pral parèt nan ZAP UI anba domèn sa a. deskripsyon: Deskripsyon kòd gwoup la: kòd gwoup defini: gwoup defini ki itilize pa dèlko kòd pou defini gwoup la nan yon sèten fason manufacturerCode: Itilize pou defini yon gwoup espesifik fabrikasyon. Sa a dwe ant 0xfc00 - 0xffff. Kòd manifakti pou gwoup la dwe defini jan sa a:
Yon gwoup manifakti otomatikman fè atribi yo ak kòmandman anba li nan menm kòd manifakti a sof si yo klèman lis kòd manifakti a. introdudIn: Itilize pou detèmine vèsyon espèk kote gwoup la te prezante. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. removedIn: Itilize pou detèmine vèsyon espèk kote gwoup la te retire. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. singleton(boolean): Yo itilize pou detèmine yon gwoup kòm yon singleton konsa ke gen yon sèl egzanp nan gwoup sa a pataje atravè pwen final yo. atribi: defini yon atribi pou non gwoup la: Non atribi yo mansyone ant atribi a. tag.
non atribi
bò (kliyan/sèvè): bò gwoup la ki asosye atribi a tou. kòd: kòd atribi manifakti kòd: Sa a ka itilize pou defini yon atribi espesifik manifakti deyò spesifikasyon zigbee mansyone nan xml estanda a. defini: atribi defini ki sèvi ak jeneratè kòd pou defini yon atribi nan yon sèten fason tip: kalite atribi a ki kapab nenpòt nan kalite done yo mansyone nan xml default: valè default pou atribi a. min: Valè minimòm otorize pou yon atribi max: Valè maksimòm pèmèt pou yon atribi ka ekri: Èske valè atribi yo ka ekri oswa ou pa. Sa a ka itilize pou anpeche atribi a yo te modifye pa ekri kòmandman. optional(boolean): Itilize pou detèmine si yon atribi opsyonèl oswa pa pou gwoup la. min: Valè minimòm pèmèt pou yon atribi lè li se yon nonb antye relatif, enum oswa kalite bitmap. max: Maksimòm valè ki otorize pou atribi a lè li se yon nonb antye relatif, enum oswa longè bitmap: Itilize pou presize longè maksimòm atribi a lè li se nan kalite fisèl. minLength: Itilize pou presize longè minimòm atribi a lè li se nan kalite fisèl. reportable(boolean): Di si yon atribi se rapòte oswa ou pa isNullable(boolean): Pèmèt valè nil pou atribi a. array(boolean): Yo itilize pou deklare yon atribi kalite etalaj. introdudIn: Itilize pou detèmine vèsyon espèk kote yo te prezante atribi a. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. removedIn: Itilize pou detèmine vèsyon espèk kote yo te retire atribi a. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. lòd: defini yon kòmand pou yon non gwoup: Non kòmand.
kòd: kòd lòd
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
18/35
Custom XML Tags pou Zigbee
Kòd manifakti: Sa a ka itilize pou defini yon lòd espesifik manifakti deyò spesifikasyon zigbee mansyone nan xml estanda a. deskripsyon: deskripsyon sous lòd la (kliyan/sèvè): sous kòmandman an. optional(boolean): Itilize pou detèmine si yon kòmandman opsyonèl oswa pa pou gwoup la. introdudIn: Itilize pou detèmine vèsyon espèk kote yo te prezante kòmandman an. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. removedIn: Itilize pou detèmine vèsyon espèk kote yo te retire lòd la. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. agiman kòmand:
Chak kòmand ka gen yon seri agiman kòmand non: non kòmand agiman kalite: kalite agiman kòmand ki ta ka nenpòt nan kalite yo mansyone nan xml la. min: Valè minimòm pèmèt pou yon agiman lè li se yon nonb antye relatif, enum oswa kalite bitmap. max: Maksimòm valè ki otorize pou yon agiman lè li se yon nonb antye relatif, enum oswa longè bitmap: Itilize pou presize longè maksimòm akseptab pou yon agiman kòmand lè li se nan kalite fisèl. minLength: Itilize pou presize longè minimòm akseptab pou yon agiman kòmand lè li se nan kalite fisèl. array(boolean): Pou detèmine si agiman lòd la se nan kalite etalaj. presentIf(string): Sa a kapab yon kòd kondisyonèl nan operasyon lojik ki baze sou lòt agiman kòmand kote ou ka atann agiman an kòmand si fisèl kondisyonèl evalye a vre. egzanp:
Nòt: Isit la estati se yon lòt non agiman kòmand. optional(boolean): Itilize pou detèmine agiman kòmand kòm opsyonèl. countArg: Itilize lè agiman lòd la se nan kalite etalaj. Yo itilize sa a pou mansyone lòt agiman lòd ki vle di gwosè etalaj pou agiman sa a.
introdudIn: Yo itilize pou detèmine vèsyon espèk kote yo te prezante agiman lòd la. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. removedIn: Itilize pou detèmine vèsyon espèk kote yo te retire agiman lòd la. Sa a se itilize pa dèlko kòd ajoute lojik adisyonèl. Ekstansyon Cluster ka defini nan konfigirateur la tag. Ekstansyon Cluster yo itilize pou pwolonje yon gwoup estanda ak atribi fabrikasyon ak kòmandman egzanp
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
19/35
Custom XML Tags pou Zigbee
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” tip =”INT16U” min =”0 0000″ max =”0xFFFF” writable =”vrè” default =”0 0000″ opsyonèl =”vrè” manufacturerCode =”0 1002″>Sample Mfg espesifik atribi: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg espesifik atribi: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>Sample Mfg espesifik atribi: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>Sample Mfg espesifik atribi: 0 0001 0 1040ampleMfgSpecificOffWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki fèmen aparèy la ak yon tranzisyon bay
pa tan tranzisyon an nan Ember Sampatribi tan tranzisyon an.ampleMfgSpecificOnWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki vire aparèy la ak yon tranzisyon bay
pa tan tranzisyon an nan Ember Sampatribi tan tranzisyon an.ampleMfgSpecificToggleWithTransition” optional = ”true” manufacturerCode = ”0 1002″> Kòmand kliyan ki chanje aparèy la ak yon tranzisyon bay
pa tan tranzisyon an nan Ember Sampatribi tan tranzisyon an.ampleMfgSpecificOnWithTransition2″ opsyonèl=”true” manufacturerCode=”0 1049″> Kòmand kliyan ki vire aparèy la ak yon tranzisyon bay
pa tan tranzisyon an nan Ember Sampatribi tan tranzisyon an.ampleMfgSpecificToggleWithTransition2″ opsyonèl=”true” manufacturerCode=”0 1049″> Kòmand kliyan ki chanje aparèy la ak yon tranzisyon bay
pa tan tranzisyon an nan Ember Sampatribi tan tranzisyon an.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
20/35
Plizyè kalite aparèy pou chak pwen final
Sa a se yon karakteristik Matter-sèlman kote yon itilizatè ka chwazi plis pase yon kalite aparèy pou chak pwen final. Ajoute plizyè kalite aparèy aaa pral ajoute konfigirasyon gwoup yo nan kalite aparèy yo nan konfigirasyon pwen final la.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
21/35
Plizyè kalite aparèy pou chak pwen final
Imaj ki pi wo a montre ke pwen final 1 gen plis pase yon kalite aparèy chwazi. "Aparèy Prensipal" la vle di kalite aparèy prensipal ke pwen final la pral asosye ak. Kalite aparèy prensipal la toujou prezan nan endèks 0 nan lis kalite aparèy yo chwazi a, kidonk chwazi yon kalite aparèy prensipal diferan pral chanje lòd nan kalite aparèy yo chwazi yo. Seleksyon kalite aparèy yo genyen tou kontrent ki baze sou Spesifikasyon Modèl Done yo. ZAP pwoteje itilizatè yo pou yo pa chwazi konbinezon ki pa valab nan kalite aparèy sou yon pwen final lè l sèvi avèk kontrent sa yo.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
22/35
Matter Aparèy Kalite Feature Paj
Matter Aparèy Kalite Feature Paj
Matter Aparèy Kalite Feature Paj
ZAP sipòte vizyalize ak baskil karakteristik Matter nan paj karakteristik kalite aparèy la. Se sèlman karakteristik kalite aparèy ki espesifye nan matter-devices.xml nan depo CHIP la ap parèt.
Navige nan Paj Karakteristik la
ò Lanse ZAP in Matter ak Matter SDK ajou. ó Kreye yon pwen final ak yon kalite aparèy Matter. ô Klike sou bouton Aparèy Kalite Karakteristik ki nan mitan anlè gwoup la view. Remake byen ke bouton sa a disponib sèlman nan ZAP
konfigirasyon pou Matter ak lè done konfòmite egziste nan Matter SDK la. Klike sou bouton sa a pral louvri imaj ki anwo a.
Konfòmite
Konfòmans defini opsyon ak depandans pou atribi, kòmandman, evènman, ak kalite done. Li detèmine si yon eleman obligatwa, opsyonèl, oswa pa sipòte anba sèten konfigirasyon ZAP.
Konfòmite karakteristik kalite aparèy la pran priyorite sou konfòmite karakteristik gwoup la. Pou egzanpample, karakteristik nan Lighting gen konfòmite si ou vle nan gwoup la On/Off men li te deklare kòm obligatwa nan kalite aparèy la On/Off limyè ki gen ladan gwoup la On/Off. Kreye yon pwen final ak kalite aparèy On/Off Limyè a pral montre karakteristik ekleraj la kòm obligatwa sou paj karakteristik la.
Karakteristik baskile
Nan paj karakteristik la, apre ou fin klike sou bouton an aktive pou aktive oswa enfim yon karakteristik, ZAP pral:
Mete ajou eleman ki asosye yo (atribi, kòmandman, evènman) pou korije konfòmite, epi montre yon dyalòg ki montre chanjman yo.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
23/35
Matter Device Type Feature Page Mete ajou ti jan nan karakteristik nan atribi FeatureMap nan gwoup ki asosye a
Pèmèt dyalòg karakteristik
Enfim dyalòg karakteristik
Aktivite enfim pou kèk karakteristik lè konfòmite yo gen yon valè enkoni oswa yon fòm t ki pa sipòte kounye a. Nan akse sa a, ZAP pral montre avètisman nan notifikasyon an.
yon Konfòmite Eleman Wa a
Lè ou aktive yon eleman, ZAP ka montre tou de avètisman konfòm aparèy ak avètisman konfòmite. Si eta eleman an pa koresponn ak konfòmite yo espere, ZAP ap montre yon icon avètisman epi anrejistre avètisman an nan aplikasyon notifikasyon an. EgzampAvètisman tou de konfòmite ak konfòmite ki parèt pou yon eleman:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
24/35
Notifikasyon
Notifikasyon
Notifikasyon
Seksyon sa a defini fason yo bay itilizatè ZAP notifikasyon yo nan UI a.
Pake Notifikasyon
Notifikasyon pake yo se avètisman oswa mesaj erè ki asosye pou nenpòt pake espesifik ki chaje nan ZAP. Pou egzanpampNan imaj ki anba yo, klike sou icon avètisman anba kolòn estati a ap mennen ou nan yon dyalòg ki montre tout notifikasyon pou pake sa a.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
25/35
Notifikasyon
Notifikasyon sesyon yo
Notifikasyon sesyon yo se avètisman oswa mesaj erè ki asosye ak yon sesyon itilizatè. Ou ka wè avètisman/erè sa yo lè w klike sou bouton Notifikasyon ki nan ba zouti ki anlè ZAP UI la. Pou egzanpample, imaj ki anba a montre paj notifikasyon sesyon an apre yon isc file te chaje nan ZAP.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
26/35
Done-Modèl/ZCL Spesifikasyon Konfòmite
Done-Modèl/ZCL Spesifikasyon Konfòmite
Modèl Done ak Konfòmite Espesifikasyon ZCL
Karakteristik sa a nan ZAP ede itilizatè yo wè echèk konfòmite pou Data Model oswa ZCL ak konfigirasyon ZAP ki egziste deja yo. Mesaj avètisman pou echèk konfòmite yo ap parèt sou fenèt Notifikasyon yo nan ZAP UI epi yo pral konekte tou sou konsole a lè w ap kouri ZAP atravè CLI a. Karakteristik konfòmite a kounye a bay avètisman pou konfòmite kalite aparèy ak konfòmite gwoup sou yon pwen final.
Avètisman Konfòmite nan ZAP UI
Lè yon itilizatè ouvri yon .zap file lè l sèvi avèk ZAP UI yo pral wè avètisman nan fenèt notifikasyon ZAP UI pou tout echèk konfòmite yo. Pou egzanpample, imaj ki anba a montre paj notifikasyon sesyon apre yon .zap file te louvri ak pwoblèm konfòmite.
Mesaj konfòmite yo pral disparèt yon fwa pwoblèm yo rezoud lè l sèvi avèk ZAP UI a pou ou ka kenbe tras sèlman pwoblèm konfòmite ki rete yo. Nouvo avètisman pral parèt tou pou konfòmite si itilizatè a enfim eleman obligatwa (grap / kòmandman / atribi) nan konfigirasyon an. Notifikasyon konfòmite spesifikasyon yo ap toujou kenbe tras de nenpòt echèk ki prezante nan konfigirasyon ZAP la, men sonje avètisman ki parèt pandan ouvèti yon .zap. file yo pi elabore sou poukisa li echwe konfòmite lè yo konpare ak avètisman yo ki parèt pandan y ap kominike avèk UI la. Sa a se pa konsepsyon ak yon chèk konfòmite konplè fèt pandan ouvèti a nan yon .zap file.
Avètisman Konfòmite sou Konsole a
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
27/35
Done-Modèl/ZCL Spesifikasyon Konfòmite
Lè yon itilizatè ouvri yon .zap file lè l sèvi avèk ZAP otonòm UI oswa ZAP CLI yo pral wè avètisman konekte nan konsole/tèminal la pou tout echèk konfòmite yo. Pou egzanpample, imaj ki anba a montre avètisman notifikasyon sesyon yo sou konsole/tèminal la apre yon .zap file te louvri ak pwoblèm konfòmite.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
28/35
Kontwòl Aksè
Karakteristik kontwòl aksè
ZAP sipòte kontwòl aksè sou tout antite ZCL. Li se desann nan aplikasyon an nan SDK a kat karakteristik sa yo nan karakteristik yo ki obligatwa ak sipòte kontwòl aksè SDK. ZAP jeneralman bay yon modèl done ak yon mekanis pou kode li nan meta-info la files epi difize done sa yo nan modèl jenerasyon yo, san yo pa bay siyifikasyon espesifik nan pwen done yo.
Kondisyon baz yo
ZAP kontwòl aksè defini twa tèm de baz, jan sa a: ò operasyon : defini kòm yon bagay ki ka fè. Egzample: li, ekri, envoke. ó wòl: defini kòm yon privilèj yon aktè. Tankou "View privilèj", "Wòl administratif", ak pitit gason sou. ô modifikatè: defini kòm kondisyon espesyal kontwòl aksè, tankou done twal sansib oswa done skoped twal. Tèm baz yo defini nan metadata XML anba yon tèt tag . Sa ki anba la a se yon ansyenampDefinisyon tèm baz kontwòl aksè:
<role type=”view” deskripsyon ="View privilèj”/>
Ansyen sa aample defini twa operasyon, li, ekri ak envoke, de modifye ak kat wòl.
Aksè Triplets
Chak kondisyon aksè endividyèl ka defini ak yon triplet aksè nan XML la. Aksè triplet se yon konbinezon de yon operasyon, wòl ak modifye. Yo opsyonèl, kidonk ou ka sèlman gen youn nan sa yo. Yon pati ki manke nan triplet jeneralman vle di permissivenes, ki se aplikasyon espesifik pou SDK yo bay la. Yon antite ki defini aksè li a ka gen youn oswa plizyè triple aksè. Sa ki anba la a se yon ansyenample:
at0
Sa a se yon definisyon yon atribi ki gen yon triplet aksè, ki deklare li pèmèt operasyon ekri pa yon wòl jere, ak modifye twal ki aplike.
Otorizasyon Default
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
29/35
Kontwòl Aksè
ZCL antite ka defini pwòp pèmisyon endividyèl yo. Sepandan, gen tou yon definisyon mondyal nan otorizasyon default pou
kalite bay yo. Yo sipoze sa yo pou antite yo bay la, sof si li bay nenpòt otorizasyon espesifik pwòp li yo.
Otorizasyon defo yo te deklare atravè yon tag nan nivo siperyè XML la file. Egzample:
aa a< ccess op="invoke"/> a a aa < ccess op=”re d”/> a< ccess op=”write”/> a aa aa < ccess op =”re d” wòl =”view”/> aa < ccess op=”write” role=”oper te”/> a
Modèl Helpers
Èd modèl debaz pou itilize se iteratè {{#access}} … {{/access}}. Iteratè sa a repete sou tout triplet aksè yo bay yo.
Li sipòte de opsyon sa yo:
entity="atribi/kòmand/evènman" - si antite a pa ka detèmine nan kontèks, sa a mete kalite antite. includeDefault="true/false" - detèmine si valè default yo enkli oswa ou pa. Sa ki anba la a se yon ansyenample:
{{#zcl_clusters}}
a Cluster: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa – ttribute: {{n me}} [{{code}}] aa {{# ccess entity=" ttribute"}}
O a RM a M * p: {{oper tion }} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_ ttributes}} a {{#zcl_comm nds}} aa – komm nd: {{n me}}}] [{"{stm nds}}] nd”}} O a RM a M * p: {{oper tion }} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – evènman: {{n me}} [{{code}}] a {{# ccess entity=”event”}} O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ access odifier}} a{{/ ccess}}
{{/zcl_events}}
{{/zcl_clusters}}
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
30/35
Lanse ZAP pou aplikasyon Matter oswa Zigbee
Lanse ZAP pou aplikasyon Matter oswa Zigbee
Lanse ZAP pou Aplikasyon Matter oswa Zigbee
Seksyon sa yo dekri lanse ZAP nan mòd otonòm ak Matter oswa metadata espesifik Zigbee yo. Lide a se lanse ZAP ak agiman kòrèk ki gen rapò ak Metadata XML (gwoup yo ak definisyon kalite aparèy yo dapre espesifikasyon CSA yo) ak modèl jenerasyon yo, ki itilize pou jenere kòd apwopriye a.
Lanse ZAP ak Matter
Script sa a chwazi metadata ki kòrèk la nan Matter SDK lè lanse ZAP. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Remak: Ou kapab tou pran apwòch Zigbee sa a pou lanse ZAP in Matter.
Lanse ZAP ak Zigbee
Kòmandman sa a lanse ZAP ak espesifikasyon ZCL ak modèl jenerasyon ki soti nan SDK la.
[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: Sa a se chemen ki mennen nan sous ZAP oswa ègzekutabl sdk-path: Sa a se chemen ki mennen nan SDK la.
Lanse ZAP san Metadata
Sonje ke lè w ap lanse ZAP dirèkteman atravè yon ègzèkutabl oswa soti nan sous lè l sèvi avèk npm run zap w ap lanse ZAP ak metadata tès pou Matter/Zigbee ki te konstwi nan ZAP epi yo pa metadone aktyèl ki soti nan Matter ak Zigbee SDKs mansyone pi wo a. Se poutèt sa, sonje pou kreye konfigirasyon ZAP ou yo lè w sèvi ak metadata SDK yo epi pa louvri ZAP dirèkteman ak metadata tès ki entegre yo.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
31/35
Jenere kòd pou Matter oswa Zigbee
Jenere Kòd pou Matter, Zigbee oswa yon SDK Custom
Seksyon sa yo dekri kijan pou jenere kòd lè l sèvi avèk ZAP.
Jenere Kòd Sèvi ak ZAP UI
Lanse ZAP UI a dapre enstriksyon yo nan Lanse ZAP pou Matter oswa Zigbee epi klike sou bouton Jenere nan ba meni an tèt la.
Jenere Kòd san UI a
Enstriksyon sa yo bay diferan fason pou jenere kòd atravè CLI san yo pa lanse ZAP UI la.
Jenere Kòd soti nan ZAP Sous
Kouri lòd sa a pou jenere kòd lè l sèvi avèk ZAP soti nan sous: 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
Jenere Kòd soti nan ZAP Executable
Kouri lòd sa a pou jenere kòd lè l sèvi avèk ZAP ègzèkutabl: [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
Jenere Kòd soti nan ZAP CLI ègzekutabl
Kouri lòd sa a pou jenere kòd lè l sèvi avèk 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 Silisyòm Laboratwa. Tout dwa rezève.
32/35
Mete ajou ZAP nan Studio
Mete ajou ZAP
Mete ajou ZAP nan Simplicity Studio
Mekanis sa a ka itilize lè w ap travay ak Matter ekstansyon oswa Zigbee soti nan degaje Silicon Labs SDK. ZAP ka mete ajou nan Simplicity Studio san yo pa yon lage Simplicity Studio lè w telechaje dènye ègzèkutabl ZAP (rekòmande) oswa rale dènye a soti nan sous ZAP jan yo montre nan Gid Enstalasyon ZAP. Apre ou fin gen dènye ZAP ki baze sou OS ou itilize kounye a, ou ka mete ajou ZAP nan Studio kòm yon pake adaptè. Swiv enstriksyon ki anba yo apre w fin telechaje dènye ZAP la:
Ale nan Simplicity Studio epi chwazi Preferences > Simplicity Studio > Adapter Packs. Klike sou Ajoute... epi ale nan katab ZAP elaji ou telechaje a epi klike sou Chwazi Dosye . Klike sou Aplike ak Fèmen epi apre sa ki fèk ajoute ZAP la pral itilize chak fwa yon .zap file se louvri.
Remak: Pafwa gendwa gen ansyen egzanp ZAP ki deja ap fonksyone menm apre yo fin mete ajou ak dènye ZAP la. Asire w ou mete fen nan tout enstans ZAP ki egziste deja yo pou yo itilize ZAP ki fèk chache a olye de yon ansyen egzanp, ki toujou ap travay nan background nan.
Mete ajou ZAP pou devlopman matyè nan Github
Lè w ap travay ak depo Matter oswa Matter-Silicon Labs sou Github, mete varyab anviwònman yo ki gen rapò ak ZAP pou kreye/jenere nouvo konfigirasyon ZAP oswa re-jenere s ki egziste deja yo.ampkonfigirasyon ZAP apre yo fin aplike chanjman yo. Mete ZAP_DEVELOPMENT_PATH a ZAP soti nan sous la lè w rale dènye a oswa mete ZAP_INSTALLATION_PATH sou ZAP ègzekutabl ou telechaje dènye nan anyè lokal ou a. Remake byen ke lè tou de ZAP_DEVELOPMENT_PATH ak ZAP_INSTALLATION_PATH yo mete, ZAP_DEVELOPMENT_PATH yo itilize.
Sa ki annapre yo se ansyenamples ki montre varyab anviwònman ki anwo yo nan itilize:
Lanse ZAP lè l sèvi avèk spesifikasyon Matter Regenerating tout s laample ZAP konfigirasyon pou aplikasyon Matter
Remak: Lè w ap itilize ègzèkutabl ZAP, asire w ke w ap itilize yon lage ofisyèl sou yon lage chak swa pou plis estabilite. Gade
Telechaje ZAP Executable nan gid enstalasyon ZAP
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
33/35
Konkouran Multi-pwotokòl ant Zigbee ak Matter
Konkouran Multi-pwotokòl ant Zigbee ak Matter
MCoanttceurrrent Milti-pwotokòl ant Zigbee ak
ZAP ka itilize pou konfigirasyon ZCL (Zigbee) ak Data-Model (Matter) konfigirasyon nan yon aplikasyon milti-pwotokòl pou Zigbee ak Matter. ZAP pèmèt ou kreye pwen final pou Zigbee ak Matter klèman nan menm konfigirasyon an file. Si pwen final Zigbee ak Matter yo sou menm idantite pwen final la (pa egzanpample, LO Dimmable Light sou endpoint Id 1 ak Matter Dimmable Light sou yon lòt egzanp nan pwen final 1), ZAP pran swen nan senkronize atribi komen yo atravè atribi Matter ak Zigbee. Asire w ke atribi yo senkronize yo gen menm kalite done. Atribi komen ant Zigbee ak Matter yo etabli atravè yon file rele multi-protocol.json . Itilizatè a ka konekte nenpòt de grap atravè Zigbee ak Matter ansanm ak atribi korespondan yo lè l sèvi avèk kòd gwoup ak atribi respektivman. Sa a file Ou ka jwenn nan [SDKPath]/app/zcl/multi-protocol.json. Sa a file te mete ajou ak yon seri sèten grap ak atribi pou kòmanse, men itilizatè a ka mete ajou sa a file jan sa nesesè ak ZAP pral pran swen nan senkronize konfigirasyon an atribi atravè Zigbee ak Matter pou idantifyan pwen final komen.
Ou ka jwenn tou yon leson patikilye ZAP nan nenpòt aplikasyon milti-pwotokòl Zigbee and Matter anba paj leson patikilye a. Tutorial sa a pral gide ou atravè pwosesis kreyasyon aplikasyon milti-pwotokòl la. Tutorial sa a disponib sèlman lè ou louvri yon aplikasyon milti-pwotokòl ki egziste deja epi ou ka jwenn jan yo montre nan imaj ki anba a:
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
34/35
Entegre SLC CLI ak ZAP
Entegre SLC CLI ak ZAP
Entegre SLC CLI ak ZAP
Swiv etap sa yo pou entegre SLC CLI a ak ZAP: ò Enstale SLC CLI an swiv enstriksyon enstalasyon ki nan Gid Itilizatè Simplicity Studio 5 la. ó Enstale ZAP an swiv enstriksyon ki nan Gid Enstalasyon ZAP la. ô Pou entegre SLC CLI ak ZAP, ajoute yon varyab anviwònman STUDIO_ADAPTER_PACK_PATH ki montre aplikasyon ZAP.
anyè. õ Sonje rekòmanse SLC CLI Daemon apre etap 3. ö Nenpòt pwojè ki sèvi ak ZAP pral kounye a sèvi ak chemen ki defini nan etap 3 lè yo pwodui nan SLC CLI. Tanpri gade nan SLC CLI
Itilizasyon pou enstriksyon sou itilizasyon SLC CLI pou pwojè ou yo.
Copyright © 2025 Silisyòm Laboratwa. Tout dwa rezève.
35/35
Dokiman / Resous
![]() |
SILICON LABS ZAP Devlope Ak Silisyòm Labs [pdfManyèl Pwopriyetè a ZAP Devlope Ak Silisyòm Labs, ZAP, Devlope Ak Silisyòm Labs, Silisyòm Labs, Laboratwa |