Silicon-Labs-LOGO

ZAP po zhvillohet me laboratorë të silicit

ZAP-Developing-With-Silicon-Labs-PRODUCT

Specifikimet

  • Emri i produktit: Silicon Labs ZAP
  • Lloji: Motori i gjenerimit të kodit dhe ndërfaqja e përdoruesit
  • Përputhshmëria: Biblioteka Zigbee Cluster (Zigbee) ose Modeli i të Dhënave (Matter)
  • Zhvilluar nga: Connectivity Standards Alliance

Udhëzimet e përdorimit të produktit

  • ZAP Fillimi
    • Për të filluar me ZAP, ndiqni këto hapa:
      • Shkarkoni ZAP Ekzekutuesin nga depoja zyrtare.
      • Instaloni varësitë duke përdorur komandën e instalimit npm.
      • Për instalimin specifik të Windows, referojuni udhëzuesit ZAP Installation për Windows OS.
  • Zhvillimi Zigbee
    • Nëse jeni duke zhvilluar aplikacione Zigbee:
      • Përdorni Simplicity Studio e cila përfshin ZAP dhe mjete të tjera të nevojshme.
  • Zhvillimi i çështjes
    • Nëse jeni duke zhvilluar aplikacione Matter:
      • Opsionet përfshijnë përdorimin e Simplicity Studio ose hyrjen në depot e Silicon Labs ose CSA Github.
      • Referojuni udhëzimeve të përditësimit për ZAP jashtë ciklit të lëshimit të Simplicity Studio nëse është e nevojshme.

Pyetjet e shpeshta

  • Pyetje: Cilat janë versionet e ndryshme të binarëve ZAP në dispozicion?
    • A: Ekzistojnë dy versione të disponueshme - lëshimi zyrtar me ndërtime të verifikuara dhe lëshimi paraprak me veçoritë më të fundit.
  • Pyetje: Çfarë duhet të bëj nëse has probleme të përpilimit të bibliotekës vendase gjatë instalimit?
    • A: Referojuni informacionit FAQ në lidhje me skriptet specifike të platformës për të zgjidhur çështje të tilla.

“`

Silicon Labs ZAP
Silicon Labs ZAP

Duke u zhvilluar me Silicon Labs ZAP

Fillimi
ZAP Fillimi përsëriview Instalimi i ZAP Instalimi i ZAP në Windows Pyetjet e shpeshta
Bazat Bazat e ZAP
Udhëzuesi i Përdoruesit ZAP Udhëzuesi i Përdoruesit Mbiview XML e personalizuar XML e personalizuar Tags për Llojet e shumëfishta të pajisjeve Zigbee për llojin e pajisjes në pikën fundore Njoftimet e veçorive të faqes Modeli i të dhënave/ZCL Specifikimi i përputhshmërisë Kontrolli i qasjes Nis ZAP për aplikacionet Matter ose Zigbee Gjenerimi i kodit për Matter ose Zigbee Përditësimi ZAP në Studio Multi-protokolli i njëkohshëm midis Zigbee dhe Matter Integrate ZAP SLC CLI

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

1/35

Duke u zhvilluar me Silicon Labs ZAP
Duke u zhvilluar me Silicon Labs ZAP
ZAP
ZAP është një motor gjenerik i kodit dhe ndërfaqe përdoruesi për aplikacione dhe biblioteka të bazuara në Zigbee Cluster Library nga Zigbee ose në Modelin e të Dhënave nga Matter. Specifikimi është zhvilluar nga Aleanca e Standardeve të Lidhshmërisë. ZAP ju lejon të kryeni operacionet e mëposhtme:
Kryeni gjenerimin e personalizuar për SDK-në specifike të të gjitha objekteve globale (konstante, lloje, ID, etj.) bazuar në specifikimet ZCL/Data-Model. Kryeni gjenerimin e personalizuar të SDK-së të të gjitha objekteve të konfigurimit të zgjedhur nga përdoruesi (konfigurimi i aplikacionit, konfigurimi i pikës fundore, etj.) bazuar në specifikimet ZCL/Data-Model dhe konfigurimin e aplikacionit të ofruar nga klienti. Siguroni UI për përdoruesin fundor që të zgjedhë një konfigurim specifik aplikacioni (pikat fundore, grupimet, atributet, komandat, etj.).

ZAP-Developing-With-Silicon-Labs-FIG- (1)

Përmbajtja në këto seksione përshkruan se si të zhvillohen aplikacionet Zigbee dhe Matter duke konfiguruar shtresat ZCL (Zigbee) ose Modeli i të Dhënave (Matter) duke përdorur ZAP.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

2/35

ZAP Fillimi

ZAP Fillimi
Fillimi me ZAP
Këto seksione përshkruajnë metoda të ndryshme për të krijuar aplikacione Zigbee dhe Matter. Vini re se Simplicity Studio ofron një mënyrë për të krijuar aplikacionet tuaja Zigbee dhe Matter nga fundi në fund, ku të gjitha mjetet vijnë të para-instaluara së bashku me Simplicity Studio (përfshirë ZAP). Ju gjithashtu mund të vendosni të eksploroni mënyra të tjera për krijimin e aplikacioneve tuaja, siç përshkruhet këtu.
Zhvillimi Zigbee
Zhvilluesit e aplikacioneve Zigbee mund të ndërtojnë aplikacionet e tyre duke përdorur Simplicity Studio, e cila tashmë përfshin ZAP dhe mjete të tjera që ju ndihmojnë të ndërtoni aplikacionin tuaj nga fundi në fund.
Zhvillimi i çështjes
Zhvilluesit e aplikacionit Matter mund të ndërtojnë aplikacionet e tyre duke përdorur metodat e mëposhtme: Simplicity Studio: Kjo përfshin ZAP dhe mjete të tjera që nevojiten për të ndërtuar aplikacionin Matter nga fundi në fund. Github (Silicon Labs) Github (CSA)
Shënim: Për të përditësuar ZAP jashtë ciklit të lëshimit të Simplicity Studio, shihni përditësimin e ZAP në Simplicity Studio dhe Udhëzuesin e instalimit të ZAP

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

3/35

Instalimi i ZAP

Seksionet e mëposhtme përshkruajnë instalimin e ZAP dhe mënyrën e përditësimit të ZAP në Simplicity Studio IDE.
Rekomandohet shkarkimi i ekzekutuesit ZAP)
Kjo është mënyra e rekomanduar për të filluar me ZAP. Ju mund të merrni binarët më të fundit ZAP nga aa https://github.com/project-chip/zp/releses. Binarët e para-ndërtuar vijnë në dy versione të ndryshme.
Publikimi zyrtar: Ndërtime të verifikuara me komplete testimi të dedikuara Matter dhe Zigbee. Formati i emrit të lëshimit është vYYYY.DD.MM. Publikimi paraprak: Ndërtimet me veçoritë më të fundit dhe rregullimet e gabimeve, por këto ndërtime NUK verifikohen me paketat e dedikuara të testit Matter dhe Zigbee. Formati i emrit të lëshimit është vYYYY.DD.MM-për çdo natë.
Instalimi i ZAP nga Source
Udhëzimet bazë për të instaluar ZAP
Për shkak se ky është një aplikacion node.js, ju duhet të instaloni mjedisin e nyjeve. Mënyra më e mirë për ta bërë këtë është shkarkimi i instalimit më të fundit të node, i cili përfshin node dhe npm. Nëse keni një version më të vjetër të nyjës të instaluar në stacionin tuaj të punës, ai mund të shkaktojë probleme, veçanërisht nëse është shumë i vjetër. Sigurohuni që keni versionin më të fundit të node v16.x me npm që përfshihet. Ekzekutoni node –version për të kontrolluar se cili version është marrë. rekomandohet v18.x. Pasi të keni një version të dëshiruar të nyjes, mund të ekzekutoni sa vijon:
Instaloni Dependencies
Përdorni komandat e mëposhtme për të instaluar varësitë:

ZAP-Developing-With-Silicon-Labs-FIG- (2)
npm instaloni
Shënim: Për instalimin e ZAP-it specifik për Windows, shihni Instalimi i ZAP për Windows OS Nuk është e pazakontë të hasni probleme të përpilimit të bibliotekës vendase në këtë pikë. Ekzistojnë skripta të ndryshëm src-script/install-* për platforma të ndryshme. Shikoni informacionin FAQ se cili skript duhet të ekzekutohet në platforma të ndryshme dhe më pas ripunoni npm install.
Filloni Aplikacionin
Përdorni komandat e mëposhtme për të nisur aplikacionin:

ZAP-Developing-With-Silicon-Labs-FIG- (3)
npm ekzekutoni zap
Nisni Front-End në modalitetin e zhvillimit
Mbështet rimbushjen e kodit të nxehtë, raportimin e gabimeve, etj. Përdorni komandat e mëposhtme për të nisur front-end në zhvillim
modaliteti:ZAP-Developing-With-Silicon-Labs-FIG- (4)
kuazar dev -m elektron
or

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

4/35

ZAP Insta në o ll in
npm ekzekutohet elektron-dev

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

5/35

Windows Instalimi i ZAP
Windows Instalimi i ZAP
Instalimi i ZAP për Windows OS
1. Windows Powershell
Në shiritin e kërkimit të desktopit, futni Windows Powershell dhe ekzekutojeni si administrator. Ekzekutoni të gjitha komandat e mëposhtme brenda Powershell.
2. Çokollatë
Instaloni nga https://chocolatey.org/install. Kontrolloni nëse është instaluar siç duhet me komandat e mëposhtme:
çoko -v
Instaloni paketën pkgconfiglite me komandat e mëposhtme:
choco install pkgconfiglite
3. Instaloni Node
Ekzekutoni komandat e mëposhtme për të instaluar:
choco install nodejs-lts
*Versioni duhet të jetë 18 për të kaluar testin e kontrollit të versionit, pas instalimit, kontrolloni me node -v *Nëse e keni instaluar tashmë Node dhe keni dështuar në disa teste të ngjashme me atë që nuk mund ta gjeni Node, instaloni përsëri Node me chocolatey.
4. Ndiqni udhëzimet bazë për të instaluar ZAP
Ndiqni udhëzimet e instalimit të ZAP nga burimi në ZAP Installation. Ndërsa ndiqni udhëzimet bazë për instalimin e ZAP, kini kujdes për gabimet e mëposhtme dhe si t'i zgjidhni ato:
sqlite3
Kur ekzekutoni ZAP (p.sh., npm ekzekutoni zap ), nëse shihni një gabim në lidhje me sqlite3.node në një dritare që shfaqet, ekzekutoni:
npm rindërtoni sqlite3
elektron-ndërtues
Kur kryeni instalimin npm, në post-instalim, nëse ndodh një gabim në komandën e mëposhtme në lidhje me instalimin-appdeps të elektron-builder, kanavacën e rindërtimit të elektroneve npx dështoi ose node-pre-gyp, versioni aktual i kanavacës nuk është i pajtueshëm me Windows dhe gabimi i instalimit nuk do të shkaktojë dështim në ekzekutimin e ZAP. node-canvas po punon për zgjidhjen tani dhe çështja do të zgjidhet në të ardhmen e afërt.
"postinstall": "elektron-builder install-app-deps && husky install && npm rindërto kanavacën -përditëso-binary && npm ekzekutimi version-stamp”

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

6/35

Windows Instalimi i ZAP
Kanavacë
Nëse testi i ekzekutimit npm dështon për shkak të gabimit Testi i grupit dështoi të ekzekutohej. Nuk mund të gjendet moduli '../build/Release/canvas.node' ose
zapnode_modulescanvasbuildReleasecanvas.node nuk është një aplikacion i vlefshëm Win32. , rindërtoni kanavacën si më poshtë:
npm rindërtoni kanavacën – përditësim-binar
merrni index.html ose probleme të tjera të serverit
Nëse testi i ekzekutimit npm dështon për shkak të gabimit, kërkesa për të marrë index.html dështoi me kodin e statusit 404 në testet e njësisë ose për të pasur server
problemet e lidhjes në testet e2e-ci, ekzekutoni komandat e mëposhtme:
npm ekzekutoni ndërtimin
Të tjera
Kontrolloni nëse versioni i nyjës është v18 dhe provo ta instaloni me Chocolatey.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

7/35

FAQ
FAQ
Pyetjet e bëra më shpesh
Pyetje: Si të filloni UI në një modalitet zhvillimi? Përgjigje: Mund ta nisni ndërfaqen në një modalitet zhvillimi, i cili do të rezultojë në konfigurimin e mëposhtëm:
Serveri HTTP i veçantë i zhvillimit të kuasarit, i cili rifreskohet drejtpërdrejt në portin 8080 ZAP, i cili funksionon në portin 9070 Chrome ose shfletues tjetër, që funksionon në mënyrë të pavarur Për të arritur në atë konfigurim, ndiqni udhëzimet e mëposhtme. ò Së pari, ekzekutoni serverin e zhvillimit ZAP, i cili fillon në portin 9070.
npm ekzekutoni zap-devserver - Më pas, ekzekutoni serverin e zhvillimit quasar, i cili fillon në portin 8080.
quasar dev ô Drejtoni shfletuesin tuaj ose drejtojeni një kundër të duhurit URL me argumentin restPort:
google-chrome http://localhost:8080/?restPort=9070

Pyetje: Si ta bëni këtë të funksionojë në Mac/Linux OS? A:
Instalimi npm përdoret për të shkarkuar të gjitha paketat e nevojshme të varësisë. Nëse shihni gabime në lidhje me node-gyp dhe bibliotekat lokale që mungojnë, si pixman, e kështu me radhë, ju mungojnë varësitë vendase për të përmbushur për të përpiluar binarët e nyjeve jo të parandërtuara për disa kombinime platformash dhe versionesh. Npm në cloud po përditëson vazhdimisht listën e binarëve të ofruar, kështu që është e mundur që t'i zgjidhni ato mirë, por nëse nuk e bëni, këto janë udhëzime për platforma të ndryshme:
Fedora Core me dnf:
dnf instaloni pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
ose ekzekutoni skriptin:
src-script/install-packages-fedora
Ubuntu me apt-get:
apt-get update apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
ose ekzekutoni skriptin:

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

8/35

FAQ
src-script/install-packages-ubuntu
OSX në një Mac me Brew Homebrew:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
ose ekzekutoni skriptin:
src-script/install-packages-osx
Pyetje: Si ta bëni këtë të funksionojë në Windows OS?
Përgjigje: Sigurohuni që është gjithmonë i përditësuar dhe nuk ka ndryshime që nuk janë kryer. Këshillë: git pull, statusi i git dhe git stash janë miqtë tuaj. Ju duhet të përdorni Chocolately për të bërë që Zap të funksionojë në Windows OS. Sigurohuni që të shkarkoni paketën pkgconfiglite.
choco install pkgconfiglite
Nëse keni probleme me Kajron, p.shample nëse merrni një gabim në lidhje me Kajron.h': Jo të tillë file ose direktorium, bëni sa më poshtë: ò Kontrolloni nëse kompjuteri juaj është 32 ose 64 bit. ó Në varësi të kësaj, shkarkoni paketën e duhur nga kjo faqe
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:
Klikoni në Cilësimet e Avancuara të Sistemit. Në skedën e avancuar klikoni në Ndryshoret e Mjedisit. Në seksionin System Variables gjeni variablin e mjedisit PATH dhe zgjidhni atë. Klikoni Edit dhe shtoni C:/GTK në të. Nëse ndryshorja e mjedisit PATH nuk ekziston, klikoni New. Nëse jpeglib.h nuk gjendet, provoni sa më poshtë: ò Në terminal, ekzekutoni: choco install libjpeg-turbo ó Sigurohuni që është i pastër duke përdorur: git clean -dxff dhe ekzekutoni npm install përsëri ô nëse nuk ndodhin gabime dhe shfaqen vetëm paralajmërime, provoni të përdorni rregullimin e auditimit npm õ nëse nuk mund të ekzekutoni ZAP, file src-script/zap-start.js ö Ndrysho
÷ const { spawn } = kërkoj ('cross-spawn') to const { spawn } = kerkoj ('process_child') ø Ekzekutoni npm dhe ekzekutoni zap. Referencat:
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)
Pyetje: Kam një gabim "sqlite3_node" që nuk u gjet ose i ngjashëm.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

9/35

FAQ
Përgjigje: Rindërtoni lidhjet tuaja amtare sqlite3. Për ta rregulluar këtë në shumicën e rasteve, ekzekutoni:
npm instaloni
./node_modules/.bin/electron-rebuild -w sqlite3 -p
Nëse ende nuk rregullohet, bëni:
rm -rf node_modules dhe më pas provo sërish komandat e mësipërme. Herë pas here përmirësimi i npm tuaj gjithashtu bën një ndryshim:
npm instalim -g npm
Pyetje: Kam një gabim "Versioni N-API i këtij shembulli të Nyjeve është 1. Ky modul mbështet version(et) 3 të N-API. Ky shembull i Nyjeve nuk mund ta ekzekutojë këtë modul."
Përgjigje: Përmirësoni versionin tuaj të nyjës. Zgjidhja për këtë diskutohet në këtë temë të Stack Overflow: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
Pyetje: Kompjuteri im i zhvillimit nuk funksionon me ZAP për çfarëdo arsye. A mund të përdor një kontejner docker?
A: Po mundesh. TBD.
Pyetje: Si mund ta ekzekutoj ZAP brenda VSCode?
Përgjigje: Nëse keni VSCode në rrugën tuaj, futni repon zap dhe shkruani kodin. Kjo do të hapë ZAP në VSCode. Për të ekzekutuar ZAP në modalitetin e korrigjimit, zgjidhni hapësirën e punës ZAP dhe klikoni në ikonën Run në shiritin e veglave në të majtë. Do të keni disa opsione për të zgjedhur për të ekzekutuar ZAP, zgjidhni Node.js Debug Terminal . Kjo do të hapë një dritare terminali nga e cila mund të futni npm run zap , i cili do të bashkëngjisë korrigjuesin dhe do të ekzekutojë ZAP si zakonisht nga linja e komandës. Urime, tani duhet të shihni ZAP duke ekzekutuar në korrigjues. Ju mund të vendosni pikat e ndërprerjes në VSCode si në çdo IDE tjetër.
Pyetje: Testi i njësisë së UI dështon me disa gabime rreth kanavacës që nuk është ndërtuar për versionin e duhur të nyjës. Çfarë të bëj?
A: Nëse shihni gabimin e mëposhtëm:ZAP-Developing-With-Silicon-Labs-FIG- (5)
Kompleti testues FAIL test/ui.test.js dështoi të ekzekutohej Moduli 'canvas.node' u përpilua kundër një versioni tjetër të Node.js duke përdorur NODE_MODULE_VERSION 80. Ky version i Node.js kërkon NODE_MODULE_VERSION 72. Ju lutemi, provoni të ripërpiloni ose riinstaloni modulin `për të instaluar përsëri nëpm`` (për të instaluar përsëri modulin` për të riinstaluar nëpm`).
në Objekt. (node_modules/canvas/lib/bindings.js:3 18)
pastaj ekzekutoni: npm rindërtoni kanavacën –përditësim-binary

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

10/35

Bazat e ZAP-it

ZCL/Modeli i të dhënave Bazat ZAP
Ky seksion përmban informacione për përdoruesit e rinj të ZAP. Klikoni në ikonën e tutorialit në këndin e sipërm djathtas të ZAP UI, e cila tregon se si të krijoni një konfigurim ZAP. Tutoriali do t'ju udhëzojë në sa vijon: Krijoni një pikë përfundimtare Zgjidhni një lloj pajisjeje Konfiguro një grup Konfiguro një atribut Konfiguro një komandë Për referencë të hollësishme, shihni Udhëzuesin e konfiguruesit të grupit Zigbee

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

11/35

Udhëzuesi i përdorimit të ZAP
Udhëzuesi i përdorimit të ZAP
Udhëzuesi i përdorimit të ZAP
Seksionet nën këtë udhëzues ofrojnë më shumë detaje rreth veçorive të ndryshme të ofruara nga ZAP.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

12/35

XML e personalizuar

Shtimi i XML i personalizuar nga ndërfaqja e përdoruesit ZAP
Klikoni në ikonën "Extensions" në ZAP UI. Klikoni në butonin "+" për të zgjedhur një xml të personalizuar file Grupet e personalizuara, atributet, komandat, etj duhet të shfaqen në ZAP UI pasi të jetë shtuar xml e personalizuar.
Krijimi i XML-së tuaj të personalizuar në Zigbee
Seksioni tregon se si të krijoni grupimet tuaja të personalizuara dhe të zgjeroni grupimet standarde ekzistuese me atribute dhe komanda të personalizuara për Zigbee.
Grupe specifike për prodhuesit në Zigbee
Ju mund të shtoni grupime specifike të prodhuesit në një profesionist standardfile. Ne ofrojmë një ishampnga kjo më poshtë. Për ta bërë këtë, ju duhet të përmbushni dy detyrime:
ID-ja e grupit DUHET të jetë në intervalin specifik të prodhuesit, 0xfc00 – 0xffff. Përkufizimi i grupit duhet të përfshijë një kod prodhuesi i cili do të zbatohet për të GJITHA atributet dhe komandat brenda atij grupi dhe duhet të sigurohet kur dërgoni dhe merrni komanda dhe ndërveproni me atributet. p.shampe:

ZAP-Developing-With-Silicon-Labs-FIG- (6)
Sample Mfg Specific Cluster Gjeneral Ky grup ofron një ishampse si Korniza e Aplikimit mund të zgjerohet për të përfshirë grupime specifike të prodhuesit.
0xFC00
prush sampatribut le
prush sampatributi 2


Një sample komanda specifike e prodhuesit brenda sampspecifike për prodhuesit
grumbull.


Komandat specifike të prodhuesit në grupin standard Zigbee
Ju mund të shtoni komandat tuaja në çdo grup standard Zigbee me kërkesat e mëposhtme:
Komandat tuaja specifike të prodhuesit mund të përdorin çdo id komandimi brenda intervalit të identifikimit të komandës, 0x00 – 0xff. Ju gjithashtu duhet të siguroni një kod prodhuesi për komandën në mënyrë që të mund të dallohet nga komandat e tjera në grup dhe të trajtohet siç duhet. p.shample të zgjerimit të grupit On/Off me komandat e prodhimit:

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

13/35

XML e personalizuar
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” opsional=”i vërtetë” prodhuesiCode=”0 1002″> Komanda e klientit që fiket pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificOnWithTransition” optional=”true” prodhuesiCode=”0 1002″> Komanda e klientit që ndez pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificToggleWithTransition” opsional=”i vërtetë” prodhuesiCode=”0 1002″> Komanda e klientit që ndërron pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificOnWithTransition2″ opsional=”i vërtetë” prodhuesiCode=”0 1049″> Komanda e klientit që ndez pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificToggleWithTransition2″ opsionale=”e vërtetë”
Kodi i prodhuesit =”0 1049″> Komanda e klientit që ndërron pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.

Atributet specifike të prodhuesit në grupin standard Zigbee
Ju mund të shtoni atributet tuaja në çdo grup standard Zigbee me kërkesat e mëposhtme:
Atributet tuaja specifike të prodhuesit mund të përdorin çdo id të atributit brenda intervalit id të atributit, 0x0000 – 0xffff. Ju gjithashtu duhet të jepni një kod prodhuesi për atributin në mënyrë që të mund të dallohet nga atributet e tjera në grup dhe të trajtohet siç duhet. p.shampe zgjerimit të grupit On/Off me atributet e prodhimit:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” lloji=”INT16U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opsionale=”true” prodhuesiCode=”0 1002″>SampLe Mfg Atributi specifik: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tipi=”INT8U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 0000″ opsional=”true” prodhuesiKodi=”0 1049″>SampLe Mfg Atributi specifik: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ tipi=”INT8U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 00″ opsional=”true” prodhuesiKodi=”0 1002″>SampLe Mfg Atributi specifik: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tipi=”INT16U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 0000″ opsional=”true” prodhuesiKodi=”0 1049″>Sample Mfg Atributi specifik: 0 0001 0 1040
Krijimi i XML-së tuaj të personalizuar në Matter
Seksioni tregon se si të krijoni grupimet tuaja të personalizuara dhe të zgjeroni grupimet standarde ekzistuese me atribute dhe komanda të personalizuara për Matter.
Grupet specifike të prodhuesit në materie
Mund të shtoni grupime specifike të prodhuesit në Matter. Ne ofrojmë një ishampnga kjo më poshtë.
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.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

14/35

XML e personalizuar
Në shembullin e mëposhtëmampLe, kombinimi i ID-së së shitësit (ID-ja e prodhuesit testues) prej 0xFFF1 dhe ID-së së grupit prej 0xFC20 rezulton në një value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Exampe:
Gjeneral Sample MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER Sampgrupi i MEI tregon një zgjerim të prodhuesit të grupit FlipFlop
Përgjigje për AddArguments që kthen shumën. Komanda që merr dy argumente uint8 dhe kthen shumën e tyre. Komandë e thjeshtë pa asnjë parametër dhe pa përgjigje.
Atributet specifike të prodhuesit në grupimet standarde të lëndës
Ju mund të shtoni atribute specifike të prodhuesit në çdo grup standard Matter me kërkesat e mëposhtme:
T aaaa grupi i atributeve që po ddedohen duhet të specifikohen -
e xte nd ed > “>
Kodi i atributit është një kombinim 32-bit i kodit të prodhuesit dhe ID-së për atributin. 16-bitët më të rëndësishëm janë kodi i prodhuesit. Gama për kodet e prodhuesit të testimit është 0xFFF1 – 0xFFF4. 16 bitët më pak të rëndësishëm janë ID-ja e atributit. Gama për atributet jo globale është 0x0000 – 0x4FFF.
ExampLloji i zgjerimit të grupit të çështjeve On/Off me atribute specifike për prodhimin:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2" lloji=”INT8U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opsional=”true”>Sample Atributi specifik i Mfg 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4" lloji=”INT16U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opsional=”true”>SampLe Atributi specifik i Mfg 4
Komandat specifike të prodhuesit në grupimet standarde të lëndës
Ju mund të shtoni komanda specifike të prodhuesit në çdo grup standard Matter me kërkesat e mëposhtme:
Në grup duhet të specifikohen komandat që i janë caktuar -
e xte nd ed > “>
Kodi i komandës është një kombinim 32-bit i kodit të prodhuesit dhe id për komandën. 16-bitët më të rëndësishëm janë kodi i prodhuesit. Gama për kodet e prodhuesit të testimit është 0xFFF1 – 0xFFF4. 16-bitët më pak të rëndësishëm janë ID-ja e komandës. Gama për komandat jo globale është 0x0000 – 0x00FF.
ExampZgjerimi i grupit të lëndës On/Off me grupe specifike për prodhimin:

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

15/35

XML e personalizuar

<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ opsional=”true”> Komanda e klientit që ndez pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ opsional=”true”>
Komanda e klientit që ndërron pajisjen me një tranzicion të dhënë nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

16/35

XML e personalizuar Tags për Zigbee

Dokumenti i mëposhtëm flet për secilën prej xml tags lidhur me Zigbee.
Çdo xml file është renditur midis konfiguruesit tags:

Llojet e të dhënave mund të përcaktohen brenda konfiguruesit tag. Zigbee aktualisht mbështet përkufizimin e bitmap-ve, enums, numrave të plotë, vargjeve ose strukturave. Përpara se të përcaktoni më shumë lloje, sigurohuni që të kontrolloni të gjitha llojet ekzistuese atomike të përcaktuara në lloje.xml dhe të gjitha llojet joatomike të përcaktuara në xml-në tjetër files. Ju mund t'i përcaktoni ato si më poshtë:
Bitmap: emri: emri i llojit bitmap. lloji: Bitmap me një madhësi ndërmjet 8-64 bit mund të përcaktohet, të gjitha duhet të jenë shumëfish të 8. Çdo bitmap mund të ketë fusha të shumta me një emër dhe një maskë të lidhur me të. p.sh.

“`
Enum: emri: emri i llojit enum. Lloji: Mund të përcaktohet një numër me madhësi ndërmjet 8-64 bit, të gjitha duhet të jenë shumëfisha të 8. Çdo numër mund të ketë shumë artikuj me një emër dhe një vlerë të lidhur me të. p.sh.

Integer: Llojet e numrave të plotë janë përcaktuar tashmë nën llojet atomike të cilat ekzistojnë në llojet.xml. Madhësia e tyre mund të variojë nga 8-64 bit dhe mund të jetë e nënshkruar ose e panënshkruar. p.sh.

String: Llojet e vargjeve janë përcaktuar tashmë nën llojet atomike të cilat ekzistojnë në llojet.xml. Llojet aktuale të vargut përfshijnë vargun oktet, vargun char, vargun oktet të gjatë dhe vargun e gjatë të shkronjave p.sh.:

Struktura: emri: emri i llojit të strukturës. Çdo strukturë mund të ketë disa elementë me një emër dhe një lloj të lidhur me të. Lloji mund të jetë çdo lloj i paracaktuar sipas llojeve të të dhënave. p.sh.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

17/35

XML e personalizuar Tags për Zigbee

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

Grupet e personalizuara mund të përcaktohen brenda konfiguruesit tag. emri: emri i domenit të grupit: domeni i grupit. Grup do të shfaqet në ZAP UI nën këtë domen. Përshkrimi: Përshkrimi i kodit të grupit: definimi i kodit të grupit: përcaktimi i grupit i cili përdoret nga gjeneruesi i kodit për të përcaktuar grupin në një mënyrë të caktuar prodhuesiKodi: Përdoret për të përcaktuar një grup specifik të prodhimit. Kjo duhet të jetë midis 0xfc00 - 0xffff. Kodi i prodhuesit për grupin duhet të përcaktohet si më poshtë:

Një grup prodhimi i bën automatikisht atributet dhe komandat nën të me të njëjtin kod prodhues, përveç rasteve kur ata rendisin në mënyrë të qartë kodin e prodhuesit. futurIn: Përdoret për të përcaktuar versionin specifik në të cilin u prezantua grupi. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. removeIn: Përdoret për të përcaktuar versionin specifik në të cilin grupi u hoq. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. singleton (boolean): Përdoret për të përcaktuar një grup si një tog të vetëm, në mënyrë që të ketë vetëm një shembull të atij grupi të ndarë nëpër pikat fundore. atribut: përcakton një atribut për emrin e grupit: Emri i atributit përmendet ndërmjet atributit tag.
emri i atributit
side(klient/server): Ana e grupit me të cilën lidhet edhe atributi. kodi: kodi i atributit Kodi i prodhuesit: Kjo mund të përdoret për të përcaktuar një atribut specifik të prodhuesit jashtë specifikimit zigbee të përmendur nga standardi xml. define: atribut define i cili përdoret nga gjeneruesi i kodit për të përcaktuar një atribut në një mënyrë të caktuar lloji: lloji i atributit i cili mund të jetë cilido nga llojet e të dhënave të përmendura në parazgjedhjen xml: vlera e paracaktuar për atributin. min: Vlera minimale e lejuar për një atribut maksimumi: Vlera maksimale e lejuar për një atribut të shkrueshëm: A është vlera e atributit të shkruhet apo jo. Kjo mund të përdoret për të parandaluar modifikimin e atributit nga komandat e shkrimit. opsionale (boolean): Përdoret për të përcaktuar nëse një atribut është opsional apo jo për grupin. min: Vlera minimale e lejuar për një atribut kur është një tip numër i plotë, enum ose bitmap. max: Vlera maksimale e lejuar për atributin kur është një gjatësi e tipit numër të plotë, enum ose bitmap: Përdoret për të specifikuar gjatësinë maksimale të atributit kur është i tipit string. MinLength: Përdoret për të specifikuar gjatësinë minimale të atributit kur ai është i tipit string. raportues(boolean): Tregon nëse një atribut është i raportueshëm apo jo është i Nullueshëm(boolean): Lejon vlera null për atributin. array (boolean): Përdoret për të deklaruar një atribut të llojit të grupit. futurIn: Përdoret për të përcaktuar versionin specifik në të cilin u prezantua atributi. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. removeIn: Përdoret për të përcaktuar versionin specifik në të cilin atributi u hoq. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. komanda: përcaktoni një komandë për një emër grupi: Emri i komandës.

kodi: kodi i komandës

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

18/35

XML e personalizuar Tags për Zigbee
Kodi i prodhuesit: Ky mund të përdoret për të përcaktuar një komandë specifike të prodhuesit jashtë specifikimit zigbee të përmendur nga standardi xml. përshkrimi: përshkrimi i burimit të komandës (klienti/serveri): burimi i komandës. opsionale (boolean): Përdoret për të përcaktuar nëse një komandë është opsionale apo jo për grupin. futurIn: Përdoret për të përcaktuar versionin specifik në të cilin u prezantua komanda. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. removeIn: Përdoret për të përcaktuar versionin specifik në të cilin komanda u hoq. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. argumentet e komandës:
Çdo komandë mund të ketë një grup argumentesh komanduese emri: emri i argumentit të komandës lloji: lloji i argumentit të komandës i cili mund të jetë cilido nga llojet e përmendura në xml. min: Vlera minimale e lejuar për një argument kur është një tip numër i plotë, enum ose bitmap. max: Vlera maksimale e lejuar për një argument kur është një gjatësi e tipit numër të plotë, enum ose bitmap: Përdoret për të specifikuar gjatësinë maksimale të lejueshme për një argument komandimi kur është i tipit string. MinLength: Përdoret për të specifikuar gjatësinë minimale të lejueshme për një argument komandimi kur ai është i tipit string. array (boolean): Për të përcaktuar nëse argumenti i komandës është i llojit array. presentIf(string): Ky mund të jetë një varg i kushtëzuar i operacioneve logjike të bazuar në argumente të tjera komanduese ku mund të prisni argumentin e komandës nëse vargu i kushtëzuar vlerësohet si i vërtetë. p.sh.

Shënim: Këtu statusi është një emër tjetër i argumentit të komandës. opsionale (boolean): Përdoret për të përcaktuar argumentin e komandës si opsional. countArg: Përdoret kur argumenti i komandës është i llojit të grupit. Kjo përdoret për të përmendur argumentin tjetër të komandës që tregon madhësinë e grupit për këtë argument.

futurIn: Përdoret për të përcaktuar versionin specifik në të cilin u prezantua argumenti i komandës. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. removeIn: Përdoret për të përcaktuar versionin specifik në të cilin u hoq argumenti i komandës. Kjo përdoret nga gjeneruesi i kodit për të shtuar logjikë shtesë. Zgjerimi i grupit mund të përcaktohet brenda konfiguruesit tag. Zgjerimi i grupit përdoret për të zgjeruar një grup standard me atribute dhe komanda prodhuese, p.sh

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

19/35

XML e personalizuar Tags për Zigbee
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” prodhuesiKodi=”0 1002″>SampLe Mfg Atributi specifik: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tipi=”INT8U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 0000″ opsional=”true” prodhuesiKodi=”0 1049″>SampLe Mfg Atributi specifik: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ tipi=”INT8U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 00″ opsional=”true” prodhuesiKodi=”0 1002″>SampLe Mfg Atributi specifik: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tipi=”INT16U” min=”0 0000″ max=”0xFFFF” shkrueshëm=”true” default=”0 0000″ opsional=”true” prodhuesiKodi=”0 1049″>Sample Mfg Atributi specifik: 0 0001 0 1040ampleMfgSpecificOffWithTransition” opsional=”i vërtetë” prodhuesiCode=”0 1002″> Komanda e klientit që fik pajisjen me një tranzicion të dhënë
nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificOnWithTransition” optional=”true” prodhuesiCode=”0 1002″> Komanda e klientit që ndez pajisjen me një tranzicion të dhënë
nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificToggleWithTransition” opsional=”i vërtetë” prodhuesiCode=”0 1002″> Komanda e klientit që ndërron pajisjen me një tranzicion të dhënë
nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificOnWithTransition2″ opsional=”i vërtetë” prodhuesiCode=”0 1049″> Komanda e klientit që ndez pajisjen me një tranzicion të dhënë
nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.ampleMfgSpecificToggleWithTransition2″ opsionale=”e vërtetë” prodhuesiCode=”0 1049″> Komanda e klientit që ndërron pajisjen me një tranzicion të dhënë
nga koha e tranzicionit në Ember Sampatributi i kohës së tranzicionit.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

20/35

Lloje të shumta pajisjesh për pikë përfundimtare

Ky është një veçori vetëm për çështje ku një përdorues mund të zgjedhë më shumë se një lloj pajisjeje për pikë fundore. Shtimi i llojeve të shumta të pajisjes aaa do t'i shtojë konfigurimet e grupimit brenda llojeve të pajisjes në konfigurimin e pikës fundore.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

21/35

Lloje të shumta pajisjesh për pikë përfundimtare

Imazhi i mësipërm tregon se pika përfundimtare 1 ka zgjedhur më shumë se një lloj pajisjeje. "Pajisja kryesore" tregon llojin kryesor të pajisjes me të cilën do të lidhet pika përfundimtare. Lloji kryesor i pajisjes është gjithmonë i pranishëm në indeksin 0 të listës së llojeve të pajisjeve të zgjedhura, kështu që zgjedhja e një lloji tjetër pajisjeje kryesore do të ndryshojë renditjen e llojeve të pajisjeve të zgjedhura. Zgjedhjet e llojit të pajisjes kanë gjithashtu kufizime bazuar në Specifikimin e Modelit të të Dhënave. ZAP mbron përdoruesit nga zgjedhja e kombinimeve të pavlefshme të llojeve të pajisjeve në një pikë fundore duke përdorur këto kufizime.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

22/35

Faqja e veçorive të llojit të pajisjes
Faqja e veçorive të llojit të pajisjes
Faqja e veçorive të llojit të pajisjes
ZAP mbështet vizualizimin dhe ndryshimin e veçorive Matter në faqen e veçorive të llojit të pajisjes. Do të shfaqen vetëm tiparet e llojit të pajisjes të specifikuara në material-devices.xml në depon e CHIP.

Lundrimi në faqen e veçorive
ò Hapni ZAP në Matter me Matter SDK të përditësuar. ó Krijoni një pikë fundore me një lloj pajisjeje Matter. ô Klikoni butonin Device Type Features në mes të sipërm të grupit view. Vini re se ky buton është i disponueshëm vetëm në ZAP
konfigurimet për Matter dhe kur të dhënat e konformitetit ekzistojnë në Matter SDK. Duke klikuar këtë buton do të hapet imazhi i mësipërm.
Përputhshmëria
Përputhshmëria përcakton opsionalitetin dhe varësinë për atributet, komandat, ngjarjet dhe llojet e të dhënave. Ai përcakton nëse një element është i detyrueshëm, opsional ose i pambështetur sipas konfigurimeve të caktuara të ZAP.
Përputhja e tipareve të llojit të pajisjes ka përparësi ndaj përputhshmërisë së veçorive të grupit. Për shembullampPërveç kësaj, veçoria Ndriçimi ka përputhshmëri opsionale në grupin On/Off, por deklarohet si i detyrueshëm në llojin e pajisjes Ndezur/Fikur Drita që përfshin grupin On/Off. Krijimi i një pike fundore me llojin e pajisjes "Drita ndezëse/fikse" do të shfaqë veçorinë "Ndriçimi" si të detyrueshme në faqen e veçorive.
Ndërrimi i veçorive
Në faqen e veçorive, pasi të klikoni butonin e ndërrimit për të aktivizuar ose çaktivizuar një veçori, ZAP do të:
Përditësoni elementët e lidhur (atributet, komandat, ngjarjet) për të korrigjuar konformitetin dhe shfaqni një dialog që tregon ndryshimet.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

23/35

Çështja Lloji i pajisjes Faqja e veçorive Përditësoni bitin e veçorisë në atributin featureMap të grupit të lidhur

Aktivizo "Dialogun e veçorive".

Çaktivizo dialogun e veçorive

Ndërrimi është i çaktivizuar për disa veçori kur përputhshmëria e tyre ka një vlerë të panjohur ose një formë t të pambështetur aktualisht. Në këtë rast, ZAP do të shfaqë paralajmërime në aplikacionin e njoftimit.
një Element Wa Në përputhje me tingujt

Kur ndërroni një element, ZAP mund të shfaqë si paralajmërimet e pajtueshmërisë së pajisjes ashtu edhe paralajmërimet e konformitetit. Nëse gjendja e elementit nuk përputhet me përputhshmërinë e pritur, ZAP do të shfaqë një ikonë paralajmëruese dhe do të regjistrojë paralajmërimin në aplikacionin e njoftimit. p.shampParalajmërimet e përputhshmërisë dhe konformitetit të shfaqura për një element:

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

24/35

Njoftimet
Njoftimet
Njoftimet
Seksioni i mëposhtëm përcakton se si u jepen njoftimet përdoruesve të ZAP në UI.
Njoftimet e paketës
Njoftimet e paketës janë paralajmërimet ose mesazhet e gabimit të lidhura për çdo paketë specifike të ngarkuar në ZAP. Për shembullampLe, në imazhet e mëposhtme, duke klikuar ikonën paralajmëruese nën kolonën e statusit do t'ju çojë në një dialog që tregon të gjitha njoftimet për atë paketë.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

25/35

Njoftimet
Njoftimet e sesionit
Njoftimet e sesionit janë paralajmërimet ose mesazhet e gabimit që lidhen me një sesion përdoruesi. Këto paralajmërime/gabime mund të shihen duke klikuar në butonin Njoftimet në shiritin e veglave në krye të ZAP UI. Për shembullampLe, imazhi më poshtë tregon faqen e njoftimeve të sesionit pas një isc file u ngarkua në ZAP.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

26/35

Pajtueshmëria me specifikimet e modelit të të dhënave/ZCL
Pajtueshmëria me specifikimet e modelit të të dhënave/ZCL
Modeli i të dhënave dhe Pajtueshmëria me specifikimet ZCL
Ky funksion në ZAP i ndihmon përdoruesit të shohin dështimet e pajtueshmërisë për Modelin e të Dhënave ose ZCL me konfigurimet e tyre ekzistuese ZAP. Mesazhet paralajmëruese për dështimet e pajtueshmërisë do të shfaqen në panelin e Njoftimeve në ndërfaqen e përdoruesit të ZAP dhe gjithashtu do të regjistrohen në tastierë kur përdorni ZAP përmes CLI. Funksioni i pajtueshmërisë aktualisht ofron paralajmërime për pajtueshmërinë e llojit të pajisjes dhe pajtueshmërinë e grupit në një pikë fundore.
Paralajmërimet e pajtueshmërisë në ndërfaqen e përdoruesit të ZAP
Kur një përdorues hap një .zap file duke përdorur ZAP UI ata do të shohin paralajmërime në panelin e njoftimeve të ZAP UI për të gjitha dështimet e pajtueshmërisë. Për shembullampLe, imazhi më poshtë tregon faqen e njoftimeve të sesionit pas një .zap file u hap me çështje të pajtueshmërisë.

Mesazhet e pajtueshmërisë do të zhduken pasi problemet të zgjidhen duke përdorur ZAP UI në mënyrë që të mund të mbani gjurmët vetëm për çështjet e mbetura të pajtueshmërisë. Paralajmërimet e reja do të shfaqen gjithashtu për pajtueshmërinë nëse përdoruesi çaktivizon elementët e detyrueshëm (grup/komanda/atribute) të konfigurimit. Njoftimet e pajtueshmërisë së specifikimeve do të mbajnë gjithmonë gjurmët e çdo dështimi që futet në konfigurimin ZAP, por vini re se paralajmërimet që shfaqen gjatë hapjes së një .zap file janë më të hollësishme se pse dështoi përputhshmëria kur krahasohet me paralajmërimet që shfaqen gjatë ndërveprimit me UI. Kjo është sipas projektimit dhe një kontroll i plotë i pajtueshmërisë kryhet gjatë hapjes së një .zap file.
Paralajmërimet e pajtueshmërisë në tastierë

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

27/35

Pajtueshmëria me specifikimet e modelit të të dhënave/ZCL
Kur një përdorues hap një .zap file duke përdorur ndërfaqen e pavarur ZAP ose ZAP CLI, ata do të shohin paralajmërime të regjistruara në konsolë/terminal për të gjitha dështimet e pajtueshmërisë. Për shembullampLe, imazhi më poshtë tregon paralajmërimet e njoftimit të sesionit në tastierë/terminal pas një .zap file u hap me çështje të pajtueshmërisë.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

28/35

Kontrolli i aksesit

Karakteristikat e kontrollit të aksesit
ZAP mbështet kontrollin e aksesit në të gjitha entitetet ZCL. I takon zbatimit të SDK-së për të hartuar këto veçori me veçoritë e kërkuara dhe të mbështetura të SDK-së të kontrollit të aksesit. ZAP në përgjithësi ofron një model të dhënash dhe një mekanizëm për ta koduar atë në meta-info files dhe përhapni ato të dhëna në shabllonet e gjenerimit, pa caktuar kuptime specifike për pikat e të dhënave.
Kushtet bazë
Kontrolli i aksesit ZAP përcakton tre terma bazë, si më poshtë: ò operacion : përkufizohet si diçka që mund të bëhet. p.shample: lexo, shkruaj, thirr. ó roli: i përcaktuar si privilegj i një aktori. të tilla si "View privilegj”, “Roli administrativ”, dhe djali me radhë. ô modifikuesit: përcaktohen si kushte të veçanta të kontrollit të aksesit, të tilla si të dhënat e ndjeshme të pëlhurës ose të dhënat e shtrirjes së pëlhurës. Termat bazë përcaktohen në XML të meta të dhënave nën një krye tag . Më poshtë është një ishampPërkufizimet e termave bazë të kontrollit të aksesit:
<role type=”view"përshkrim ="View privilegj”/>
Ky ishample përcakton tre operacione, lexim, shkrim dhe thirrje, dy modifikues dhe katër role.
Qasja në Trinjakë
Çdo kusht individual i aksesit mund të përcaktohet me një treshe aksesi në XML. Tripleta e aksesit është një kombinim i një operacioni, roli dhe modifikuesi. Ato janë opsionale, kështu që ju mund të keni vetëm një nga këto. Një pjesë që mungon në treshe në përgjithësi do të thotë lejuese, e cila është specifike për zbatimin për SDK-në e dhënë. Një ent që përcakton aksesin e tij mund të ketë një ose më shumë treshe aksesi. Më poshtë është një ishampe:
në 0
Ky është një përkufizim i një atributi që ka një treshe aksesi, duke deklaruar se lejon funksionimin e shkrimit nga një rol menaxhues, me modifikues të shtrirë në pëlhurë të aplikuar.
Lejet e parazgjedhura

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

29/35

Kontrolli i aksesit
Subjektet ZCL mund të përcaktojnë lejet e tyre individuale. Sidoqoftë, ekziston gjithashtu një përkufizim global i lejeve të paracaktuara për
lloje të dhëna. Këto supozohen për entitetin e caktuar, përveç rastit kur ai siguron ndonjë leje specifike të vetin.
Lejet e paracaktuara deklarohen nëpërmjet a tag në nivelin më të lartë të XML fileMe P.shampe:
aa a< ccess op=”invoke”/> a a aa < ccess op=”re d”/> a< ccess op=”shkruaj”/> a aa aa < ccess op=”re d” role=”view”/> aa < ccess op=”write” role=”oper te”/> a
Ndihmuesit e shablloneve
Ndihmësi bazë i shabllonit për t'u përdorur është përsëritësi {{#access}} … {{/access}}. Ky përsëritës përsëritet mbi të gjitha trinjakët e dhëna të aksesit.
Ai mbështet dy opsionet e mëposhtme:
entitet=”atribut/komandë/ngjarje” – nëse entiteti nuk mund të përcaktohet nga konteksti, kjo cakton llojin e entitetit. includeDefault=”true/false” – përcakton nëse vlerat e paracaktuara janë përfshirë apo jo. Më poshtë është një ishampe:
{{#zcl_clusters}}
a Cluster: {{n mua}} [{{code}}] a {{#zcl_ ttributes}} aa – ttribute: {{n me}} [{{code}}] aa {{# ccess entity=”ttribute”}}
O a RM a M * p: {{operacion}} / ole: {{role}} / odifier: {{ odifues ccess}} a{{/ ccess}} a {{/zcl_ ttribute}} a {{#zcl_comm nds}} aa – komandë nd: {{n me}} a RM a M * p: {{operacion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – ngjarje: {{n mua}} [{{kodi}}] a {{# ccess entity=”ngjarje”}} O a RM a M * p: {{operation}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}}
{{/zcl_events}}
{{/zcl_clusters}}

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

30/35

Nisja e aplikacioneve ZAP for Matter ose Zigbee
Nisja e aplikacioneve ZAP for Matter ose Zigbee
Nisja e ZAP për Matter ose Aplikimet Zigbee
Seksionet e mëposhtme përshkruajnë nisjen e ZAP-it në modalitetin e pavarur me metadatat specifike të Matter ose Zigbee. Ideja është të lëshohet ZAP me argumentet e sakta në lidhje me metadatat XML (përkufizimet e grupeve dhe llojeve të pajisjeve sipas specifikimeve të CSA) dhe shabllonet e gjenerimit, të cilat përdoren për të gjeneruar kodin e duhur.
Nisja e ZAP me Materien
Skripti i mëposhtëm mbledh meta të dhënat e sakta nga Matter SDK kur nis ZAP. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Shënim: Ju gjithashtu mund të përdorni qasjen e mëposhtme Zigbee për të nisur ZAP në Matter.
Nisja e ZAP me Zigbee
Komanda e mëposhtme nis ZAP me specifikimet ZCL dhe modelet e gjenerimit nga 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: Kjo është shtegu drejt burimit ZAP ose sdk-shtegu i ekzekutueshëm: Kjo është shtegu për në SDK
Nisja e ZAP-it pa Metadata
Mos harroni se kur lëshoni ZAP direkt përmes një ekzekutuesi ose nga burimi duke përdorur npm run zap, ju po lëshoni ZAP me meta të dhëna testuese për Matter/Zigbee të integruara brenda ZAP dhe jo meta të dhënat aktuale që vijnë nga Matter dhe Zigbee SDK-të e përmendura më sipër. Prandaj, mos harroni të krijoni konfigurimet tuaja ZAP duke përdorur metadatat SDK dhe jo duke hapur ZAP direkt me metadatat e integruara të testit.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

31/35

Gjenerimi i kodit për Matter ose Zigbee

Gjenerimi i kodit për Matter, Zigbee ose një SDK me porosi
Seksionet e mëposhtme përshkruajnë se si të gjeneroni kod duke përdorur ZAP.
Gjeni kod duke përdorur ZAP UI
Hapni ZAP UI sipas udhëzimeve në Launching ZAP for Matter ose Zigbee dhe klikoni në butonin Generate në shiritin e sipërm të menusë.
Krijo kod pa ndërfaqen e përdoruesit
Udhëzimet e mëposhtme ofrojnë mënyra të ndryshme të gjenerimit të kodit përmes CLI pa lëshuar ZAP UI.
Gjenerimi i kodit nga burimi ZAP
Ekzekutoni komandën e mëposhtme për të gjeneruar kodin duke përdorur ZAP nga burimi: nyja 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
Gjenerimi i kodit nga ZAP Ekzekutues
Ekzekutoni komandën e mëposhtme për të gjeneruar kodin duke përdorur ZAP të ekzekutueshme: [zap-path] gjeneroni –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
Gjenerimi i kodit nga ZAP CLI i ekzekutueshëm
Ekzekutoni komandën e mëposhtme për të gjeneruar kodin duke përdorur ZAP CLI të ekzekutueshme: [zap-cli-path] gjeneroni –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

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

32/35

Përditëso ZAP në Studio

Përditëso ZAP
Përditëso ZAP në Simplicity Studio
Ky mekanizëm mund të përdoret kur punoni me Matter extension ose Zigbee nga versionet e Silicon Labs SDK. ZAP mund të përditësohet brenda Simplicity Studio pa një version të Simplicity Studio duke shkarkuar ekzekutuesin më të fundit të ZAP (rekomandohet) ose duke tërhequr më të fundit nga burimi ZAP siç tregohet në Udhëzuesin e instalimit të ZAP. Pasi të keni ZAP-in më të fundit bazuar në OS-në tuaj të përdorur aktualisht, mund ta përditësoni ZAP brenda Studio si një paketë përshtatës. Ndiqni udhëzimet e mëposhtme pasi të keni shkarkuar ZAP-in më të fundit:
Shkoni te Simplicity Studio dhe zgjidhni Preferencat > Simplicity Studio > Paketat e përshtatësve. Klikoni Shto… dhe shfletoni në dosjen e zgjeruar ZAP që keni shkarkuar dhe klikoni Zgjidhni dosjen. Klikoni Apliko dhe Mbylle dhe më pas ZAP-i i sapo shtuar do të përdoret sa herë që një .zap file është hapur.
Shënim: Ndonjëherë mund të ketë raste më të vjetra të ZAP që tashmë funksionojnë edhe pas përditësimit në ZAP më të fundit. Sigurohuni që të përfundoni të gjitha rastet ekzistuese të ZAP-it në mënyrë që ZAP-i i sapomarrur të përdoret në vend të një shembulli të vjetër, i cili është ende duke punuar në sfond.
Përditëso ZAP për Zhvillimin e Materieve në Github
Kur punoni me depot Matter ose Matter-Silicon Labs në Github, vendosni variablat e mjedisit në lidhje me ZAP për të krijuar/gjeneruar konfigurime të reja ZAP ose për të rigjeneruar s ekzistuesample konfigurimet e ZAP pas aplikimit të ndryshimeve në to. Cakto ZAP_DEVELOPMENT_PATH në ZAP nga burimi duke tërhequr ekzekutuesin më të fundit ose vendos ZAP_INSTALLATION_PATH në ZAP që ke shkarkuar të fundit në drejtorinë tuaj lokale. Ki parasysh se kur të dyja ZAP_DEVELOPMENT_PATH dhe ZAP_INSTALLATION_PATH janë caktuar, përdoret ZAP_DEVELOPMENT_PATH.
Më poshtë janë ishamples që tregojnë variablat e mësipërm të mjedisit në përdorim:
Nisja e ZAP duke përdorur specifikimin e çështjes Rigjenerimi i të gjitha sampkonfigurimet e ZAP për aplikacionet Matter
Shënim: Kur përdorni skedarë të ekzekutueshëm ZAP, sigurohuni që po përdorni një version zyrtar gjatë një lëshimi çdo natë për më shumë stabilitet. Shihni
Shkarkimi i ZAP Ekzekutues në Udhëzuesin e Instalimit ZAP

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

33/35

Multi-protokolli i njëkohshëm midis Zigbee dhe Matter
Multi-protokolli i njëkohshëm midis Zigbee dhe Matter
MCoanttceurrrent Multi-protokolli midis Zigbee dhe
ZAP mund të përdoret për të konfiguruar konfigurimet ZCL (Zigbee) dhe Data-Model (Matter) në një aplikacion me shumë protokolle për Zigbee dhe Matter. ZAP ju lejon të krijoni pika përfundimtare për Zigbee dhe Matter në mënyrë eksplicite në të njëjtin konfigurim file. Nëse pikat fundore Zigbee dhe Matter janë në të njëjtin identifikues të pikës fundore (për shembullampLe, LO Dimmable Light në pikën fundore Id 1 dhe Matter Dimmable Light në një shembull tjetër të pikës fundore 1), ZAP kujdeset për sinkronizimin e atributeve të përbashkëta midis atributeve Matter dhe Zigbee. Sigurohuni që atributet që sinkronizohen të kenë të njëjtin lloj të dhënash. Atributet e përbashkëta midis Zigbee dhe Matter vendosen përmes a file i quajtur multi-protocol.json . Përdoruesi mund të lidhë çdo dy grupime nëpër Zigbee dhe Matter së bashku me atributet e tyre përkatëse duke përdorur përkatësisht kodet e grupimit dhe atributit. Kjo file mund të gjendet në [SDKPath]/app/zcl/multi-protocol.json. Kjo file është përditësuar me një grup të caktuar grupimesh dhe atributesh për të filluar, por përdoruesi mund ta përditësojë këtë file sipas nevojës dhe ZAP do të kujdeset për sinkronizimin e konfigurimit të atributeve nëpër Zigbee dhe Matter për identifikuesit e përbashkët të pikës fundore.
Ju gjithashtu mund të gjeni një tutorial ZAP në çdo aplikacion me shumë protokolla Zigbee dhe Matter nën faqen e udhëzimeve. Ky tutorial do t'ju udhëheqë përmes procesit të krijimit të aplikacionit me shumë protokolla. Ky udhëzues është i disponueshëm vetëm kur hapni një aplikacion ekzistues me shumë protokolla dhe mund të gjendet siç tregohet në imazhin më poshtë:

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

34/35

Integroni SLC CLI me ZAP
Integroni SLC CLI me ZAP
Integroni SLC CLI me ZAP
Ndiqni këto hapa për të integruar SLC CLI me ZAP: ò Instaloni SLC CLI duke ndjekur udhëzimet e instalimit në Udhëzuesin e Përdoruesit Simplicity Studio 5. ó Instaloni ZAP duke ndjekur udhëzimet në Udhëzuesin e Instalimit ZAP. ô Për të integruar SLC CLI me ZAP, shtoni një variabël mjedisi STUDIO_ADAPTER_PACK_PATH që tregon aplikacionin ZAP
drejtoria. õ Mos harroni të rinisni SLC CLI Daemon pas hapit 3. ö Çdo projekt që përdor ZAP tani do të përdorë shtegun e përcaktuar në hapin 3 kur gjenerohet nga SLC CLI. Ju lutemi referojuni SLC CLI
Përdorimi për udhëzime për përdorimin e SLC CLI për projektet tuaja.

E drejta e autorit © 2025 Silicon Laboratories. Të gjitha të drejtat e rezervuara.

35/35

Dokumentet / Burimet

SILICON LABS ZAP Zhvillimi Me Silicon Labs [pdfManuali i Përdoruesit
ZAP në zhvillim me Silicon Labs, ZAP, Developing With Silicon Labs, Silicon Labs, Labs

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *