ZAP se razvija sa Silicon Labs
Specifikacije
- Naziv proizvoda: Silicon Labs ZAP
- Vrsta: Motor za generisanje koda i korisnički interfejs
- Kompatibilnost: Zigbee klaster biblioteka (Zigbee) ili model podataka (materija)
- Developed autor: Connectivity Standards Alliance
Upute za upotrebu proizvoda
- ZAP Getting Started
- Da biste započeli sa ZAP-om, slijedite ove korake:
- Preuzmite ZAP Executable iz službenog spremišta.
- Instalirajte zavisnosti koristeći npm install naredbu.
- Za instalaciju specifičnu za Windows, pogledajte vodič za ZAP instalaciju za Windows OS.
- Da biste započeli sa ZAP-om, slijedite ove korake:
- Zigbee Development
- Ako razvijate Zigbee aplikacije:
- Koristite Simplicity Studio koji uključuje ZAP i druge potrebne alate.
- Ako razvijate Zigbee aplikacije:
- Razvoj materije
- Ako razvijate Matter aplikacije:
- Opcije uključuju korištenje Simplicity Studio ili pristup Silicon Labs ili CSA Github repozitorijumima.
- Pogledajte uputstva za ažuriranje za ZAP izvan ciklusa izdanja Simplicity Studio ako je potrebno.
- Ako razvijate Matter aplikacije:
FAQs
- P: Koje su različite verzije ZAP binarnih datoteka dostupne?
- A: Dostupne su dvije verzije – službeno izdanje s provjerenim verzijama i predizdanje s najnovijim funkcijama.
- P: Šta da radim ako naiđem na probleme sa kompilacijom izvorne biblioteke tokom instalacije?
- A: Pogledajte informacije o čestim pitanjima o skriptama specifičnim za platformu da biste riješili takve probleme.
“`
Silicon Labs ZAP
Silicon Labs ZAP
Razvoj sa Silicon Labs ZAP
Getting Started
Započnite iznovaview ZAP instalacija ZAP instalacija Windows FAQ
Osnove Osnove ZAP-a
Korisnički vodič ZAP Korisnički vodič Prekoview Prilagođeni XML Prilagođeni XML Tags za Zigbee Više tipova uređaja po Endpoint Matter Tip uređaja Obaveštenja o stranici sa podacima o modelu/ZCL specifikaciji Usklađenost Kontrola pristupa Pokretanje ZAP-a za aplikacije Matter ili Zigbee Generisanje koda za Matter ili Zigbee Ažuriranje ZAP-a u Studiju Istovremeni multiprotokol između Zigbee-a i Matter Integracija SLC CLI sa Z-om
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
1/35
Razvoj sa Silicon Labs ZAP
Razvoj sa Silicon Labs ZAP
ZAP
ZAP je generički mehanizam za generiranje koda i korisničko sučelje za aplikacije i biblioteke bazirane na Zigbee Cluster Library iz Zigbee-a ili Data Model from Matter. Specifikacija je razvijena od strane Connectivity Standards Alliance. ZAP vam omogućava da izvršite sljedeće operacije:
Izvršite prilagođeno generiranje svih globalnih artefakata (konstante, tipovi, ID-ovi i tako dalje) specifično za SDK na osnovu ZCL/Data-Model specifikacije. Izvršite prilagođeno generiranje specifičnog za SDK svih korisničkih odabranih konfiguracijskih artefakata (konfiguracija aplikacije, konfiguracija krajnje točke i tako dalje) na osnovu specifikacije ZCL/Data-Model i konfiguracije aplikacije koju daje korisnik. Omogućite UI za krajnjeg korisnika da odabere određenu konfiguraciju aplikacije (krajnje točke, klasteri, atributi, naredbe itd.).
Sadržaj u ovim odjeljcima opisuje kako razviti Zigbee i Matter aplikacije konfiguriranjem slojeva ZCL (Zigbee) ili Data Model (Matter) pomoću ZAP-a.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
2/35
ZAP Getting Started
ZAP Getting Started
Početak rada sa ZAP-om
Ovi odjeljci opisuju različite metode za kreiranje Zigbee i Matter aplikacija. Imajte na umu da Simplicity Studio pruža način za kreiranje Zigbee i Matter aplikacija od kraja do kraja gdje svi alati dolaze unaprijed instalirani zajedno sa Simplicity Studio (uključujući ZAP). Također možete odlučiti istražiti druge načine kreiranja vaših aplikacija, kao što je ovdje opisano.
Zigbee Development
Zigbee programeri aplikacija mogu izgraditi svoje aplikacije koristeći Simplicity Studio, koji već uključuje ZAP i druge alate koji vam pomažu da izgradite svoju aplikaciju od kraja do kraja.
Razvoj materije
Programeri Matter aplikacija mogu izgraditi svoje aplikacije koristeći sljedeće metode: Simplicity Studio: Ovo uključuje ZAP i druge alate koji su potrebni za izgradnju aplikacije Matter od kraja do kraja. Github (Silicon Labs) Github (CSA)
Napomena: Za ažuriranje ZAP-a izvan ciklusa izdanja Simplicity Studio, pogledajte ažuriranje ZAP-a u Simplicity Studio-u i Vodiču za instalaciju ZAP-a
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
3/35
ZAP Installation
Sljedeći odjeljci opisuju instalaciju ZAP-a i kako ažurirati ZAP u Simplicity Studio IDE-u.
Preporučeno preuzimanje ZAP Executable)
Ovo je preporučeni način da počnete sa ZAP-om. Možete dobiti najnovije ZAP binarne datoteke od aa https://github.com/project-chip/zp/releses. Unaprijed izgrađene binarne datoteke dolaze u dvije različite verzije.
Zvanično izdanje: Provjerene verzije s namjenskim Matter i Zigbee test paketima. Format naziva izdanja je vGGGG.DD.MM. Prethodno izdanje: Izrađene s najnovijim funkcijama i ispravkama grešaka, ali ove verzije NIJE provjerene s namjenskim Matter i Zigbee test paketima. Format naziva izdanja je vGGGG.DD.MM-noćno.
Instaliranje ZAP-a iz izvora
Osnovne upute za instalaciju ZAP-a
Budući da je ovo aplikacija node.js, potrebno vam je instalirano okruženje čvora. Najbolji način da to učinite je da preuzmete najnoviju instalaciju čvora, koja uključuje node i npm. Ako imate stariju verziju čvora instaliranu na vašoj radnoj stanici, to može uzrokovati probleme, posebno ako je vrlo stara. Uvjerite se da imate najnoviju verziju čvora v16.x s uključenim npm-om. Pokrenite node –version da provjerite koja je verzija podignuta. v18.x se preporučuje. Nakon što imate željenu verziju čvora, možete pokrenuti sljedeće:
Instalirajte ovisnosti
Koristite sljedeće naredbe za instaliranje zavisnosti:
npm install
Napomena: Za instalaciju ZAP-a specifičnu za Windows, pogledajte ZAP instalacija za Windows OS Nije neuobičajeno da naiđete na probleme sa kompilacijom izvorne biblioteke u ovom trenutku. Postoje razne src-script/install-* skripte za različite platforme. Pogledajte FAQ informacije o tome koju skriptu treba pokrenuti na različitim platformama, a zatim ponovo pokrenite npm install.
Pokrenite aplikaciju
Koristite sljedeće komande da pokrenete aplikaciju:
npm run zap
Pokrenite Front-End u razvojnom modu
Podržava ponovno učitavanje vrućeg koda, izvještavanje o greškama i tako dalje. Koristite sljedeće naredbe da pokrenete front-end u razvoju
način rada:
kvazar dev -m elektron
or
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
4/35
ZAP Insta i o ll in
npm run electron-dev
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
5/35
ZAP Instalacija Windows
ZAP Instalacija Windows
ZAP instalacija za Windows OS
1. Windows Powershell
U traci za pretragu radne površine unesite Windows Powershell i pokrenite kao administrator. Pokrenite sve sljedeće komande unutar Powershell-a.
2. Čokolada
Instaliraj iz https://chocolatey.org/install. Provjerite da li je ispravno instaliran pomoću sljedećih naredbi:
čoko -v
Instalirajte paket pkgconfiglite sa sljedećim naredbama:
choco install pkgconfiglite
3. Instalirajte Node
Pokrenite sljedeće naredbe za instalaciju:
choco install nodejs-lts
*Verzija mora biti 18 da bi prošla test za provjeru verzije, nakon instalacije provjerite pomoću node -v *Ako ste već instalirali Node i ne uspjeli ste na nekim testovima sličnim ne može pronaći Node, ponovo instalirajte Node sa čokoladom.
4. Slijedite Osnovna uputstva za instaliranje ZAP-a
Slijedite upute za instalaciju ZAP-a iz izvora u ZAP instalaciji. Dok slijedite osnovna uputstva za instalaciju ZAP-a, pazite na sljedeće greške i kako ih riješiti:
sqlite3
Prilikom pokretanja ZAP-a (npr. npm run zap), ako vidite grešku o sqlite3.node u iskačućem prozoru, pokrenite:
npm rebuild sqlite3
graditelj elektrona
Kada radite npm install, u post-instalaciji, ako dođe do greške na sljedećoj komandi koja se odnosi na electron-builder install-appdeps, npx electron-rebuild canvas failed ili node-pre-gyp, trenutna verzija platna nije kompatibilna sa Windows-om i greška instalacije neće uzrokovati neuspjeh u pokretanju ZAP-a. node-canvas trenutno radi na rješenju i problem će biti riješen u bliskoj budućnosti.
“postinstall”: “electron-builder install-app-deps && husky install && npm rebuild canvas –update-binary && npm run version-stamp”
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
6/35
ZAP Instalacija Windows
Platno
Ako npm run test ne uspije zbog greške Testni paket nije uspio da se pokrene. Ne mogu pronaći modul '../build/Release/canvas.node' ili
zapnode_modulescanvasbuildReleasecanvas.node nije važeća Win32 aplikacija. , obnovite platno na sljedeći način:
npm rebuild canvas –update-binary
nabavite index.html ili drugi problemi sa serverom
Ako npm run test ne uspije zbog greške get index.html zahtjev nije uspio sa statusnim kodom 404 u jediničnim testovima ili sa serverom
problemi sa vezom u e2e-ci testovima, pokrenite sljedeće naredbe:
npm run build
Ostalo
Provjerite da li je verzija čvora v18 i pokušajte ga instalirati s Chocolatey.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
7/35
FAQ
FAQ
Često postavljana pitanja
P: Kako pokrenuti UI u razvojnom modu? O: Možete pokrenuti korisničko sučelje u razvojnom modu, što će rezultirati sljedećim podešavanjem:
Odvojeni HTTP server za razvoj quasar-a, koji vrši osvježavanje uživo na portu 8080 ZAP pozadinskog dijela koji radi na portu 9070 Chrome ili drugom pretraživaču, radi nezavisno Da biste došli do tog podešavanja, slijedite upute u nastavku. ò Prvo pokrenite ZAP razvojni server, koji počinje na portu 9070.
npm run zap-devserver — Zatim pokrenite quasar razvojni server, koji počinje na portu 8080.
quasar dev ô Usmjerite svoj pretraživač ili pokrenite jedan prema odgovarajućem URL sa argumentom restPort:
google-chrome http://localhost:8080/?restPort=9070
P: Kako ovo učiniti na Mac/Linux OS? O:
npm install se koristi za preuzimanje svih potrebnih paketa zavisnosti. Ako vidite greške vezane za node-gyp i nedostajuće lokalne biblioteke, kao što je pixman i tako dalje, nedostaju vam izvorne zavisnosti koje treba zadovoljiti da biste kompajlirali ne-unaprijed izgrađene binarne čvorove za neku kombinaciju platformi i verzija. Npm u oblaku stalno ažurira listu ponuđenih binarnih datoteka, tako da je moguće da ćete ih dobro pokupiti, ali ako to ne učinite, ovo su upute za različite platforme:
Fedora Core sa dnf-om:
dnf install pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
ili pokrenite skriptu:
src-script/install-packages-fedora
Ubuntu sa apt-get :
apt-get update apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
ili pokrenite skriptu:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
8/35
FAQ
src-script/install-packages-ubuntu
OSX na Mac-u s Homebrew brew-om:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
ili pokrenite skriptu:
src-script/install-packages-osx
P: Kako ovo učiniti na Windows OS?
O: Uvjerite se da je uvijek ažuriran i da nema promjena koje nisu unesene. Savjet: git pull, git status i git stash su vaši prijatelji. Morate koristiti Chocolately da bi Zap radio na Windows OS-u. Obavezno preuzmite paket pkgconfiglite.
choco install pkgconfiglite
Ako imate problema sa Kairom, nprample ako dobijete grešku o cairo.h': Ne postoji file ili direktorijum, uradite sledeće: ò Proverite da li je vaš računar 32-bitni ili 64-bitni. ó U zavisnosti od toga, preuzmite odgovarajući paket sa ove stranice
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:
Kliknite na Napredne postavke sistema. U naprednoj kartici kliknite na Varijable okruženja. U odjeljku Sistemske varijable pronađite PATH varijablu okruženja i odaberite je. Kliknite Uredi i dodajte mu C:/GTK. Ako varijabla okruženja PATH ne postoji, kliknite na Novo. Ako jpeglib.h nije pronađen, pokušajte sljedeće: ò Na terminalu pokrenite: choco install libjpeg-turbo ó Provjerite je li čist koristeći: git clean -dxff i ponovo pokrenite npm install ô ako se ne pojave greške i pojavljuju se samo upozorenja, pokušajte koristiti npm audit fix õ ako ne možete ići na file src-script/zap-start.js ö Promjena
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('child_process') ø Pokrenite npm i pokrenite zap. Reference:
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)
P: Dobijam grešku “sqlite3_node” nije pronađen ili sličnu.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
9/35
FAQ
O: Ponovo izgradite svoje izvorne sqlite3 veze. Da biste to popravili u većini slučajeva, pokrenite:
npm install
./node_modules/.bin/electron-rebuild -w sqlite3 -p
Ako se i dalje ne popravi, uradite:
rm -rf node_modules, a zatim ponovo pokušajte s gornjim naredbama. Povremeno nadogradnja vašeg npm-a također čini razliku:
npm install -g npm
P: Dobijem grešku “N-API verzija ove instance čvora je 1. Ovaj modul podržava N-API verziju(e) 3. Ova instanca čvora ne može pokrenuti ovaj modul.”
O: Nadogradite svoju verziju čvora. Rješenje za ovo se raspravlja u ovoj niti Stack Overflow: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
P: Moj razvojni računar ne radi sa ZAP-om iz bilo kog razloga. Mogu li koristiti docker kontejner?
O: Da, možete. TBD.
P: Kako da pokrenem ZAP unutar VSCode-a?
O: Ako imate VSCode na svojoj putanji unesite zap repo i unesite kod. Ovo će otvoriti ZAP u VSCodeu. Za pokretanje ZAP-a u načinu za otklanjanje grešaka, odaberite ZAP radni prostor i kliknite na ikonu Pokreni na lijevoj traci s alatima. Imat ćete nekoliko opcija koje možete izabrati za pokretanje ZAP-a, odaberite Node.js Debug Terminal. Ovo će otvoriti prozor terminala iz kojeg možete unijeti npm run zap , koji će priključiti program za otklanjanje grešaka i pokrenuti ZAP kao što biste inače radili iz komandne linije. Čestitamo, sada biste trebali vidjeti kako ZAP radi u programu za otklanjanje grešaka. Možete postaviti tačke prekida u VSCode kao i u bilo kojem drugom IDE-u.
P: UI test jedinice ne uspijeva sa nekim greškama oko platna koji nije napravljen za pravu verziju čvora. sta da radim?
O: Ako vidite sljedeću grešku:
FAIL test/ui.test.js Test paket nije uspio pokrenuti Modul 'canvas.node' je kompajliran u odnosu na drugu verziju Node.js koristeći NODE_MODULE_VERSION 80. Ova verzija Node.js zahtijeva NODE_MODULE_VERSION 72. Molimo pokušajte ponovo kompajlirati ili ponovo instalirati modul (re-instaliranje ili re-instalnp`m). `npm install`).
na Object. (node_modules/canvas/lib/bindings.js:3 18)
zatim pokrenite: npm rebuild canvas –update-binary
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
10/35
ZAP Fundamentals
ZCL/Data-Model ZAP Fundamentals
Ovaj odjeljak sadrži informacije za nove ZAP korisnike. Kliknite na ikonu vodiča u gornjem desnom uglu ZAP korisničkog sučelja, koja pokazuje kako kreirati ZAP konfiguraciju. Vodič će vas voditi kroz sljedeće: Kreiranje krajnje točke Odaberite tip uređaja Konfigurirajte klaster Konfigurirajte atribut Konfigurirajte naredbu Za detaljnu referencu pogledajte Vodič za konfigurator Zigbee klastera
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
11/35
ZAP korisnički priručnik
ZAP korisnički priručnik
ZAP korisnički priručnik
Odjeljci ovog vodiča pružaju više detalja o različitim funkcijama koje pruža ZAP.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
12/35
Custom XML
Dodavanje prilagođenog XML-a iz ZAP korisničkog sučelja
Kliknite na ikonu “Extensions” u ZAP korisničkom sučelju. Kliknite na dugme "+" za dodavanje da odaberete prilagođeni xml file Prilagođeni klasteri, atributi, komande itd. bi se trebali pojaviti u korisničkom sučelju ZAP-a nakon što se doda prilagođeni xml.
Kreiranje vlastitog prilagođenog XML-a u Zigbee-u
Odjeljak pokazuje kako kreirati vlastite prilagođene klastere i proširiti postojeće standardne klastere prilagođenim atributima i naredbama za Zigbee.
Klasteri specifični za proizvođača u Zigbeeju
Standardnom profesionalcu možete dodati klastere specifične za proizvođačafile. Nudimo bivšegample od ovoga u nastavku. Da biste to učinili morate ispuniti dvije obaveze:
ID klastera MORA biti u rasponu specifičnom za proizvođača, 0xfc00 – 0xffff. Definicija klastera mora uključivati proizvođački kod koji će biti primijenjen na SVE atribute i naredbe unutar tog klastera i mora se osigurati prilikom slanja i primanja naredbi i interakcije s atributima. Prample:
Sample Mfg Specific Cluster Generale Ovaj klaster pruža exampo tome kako se Aplikacioni okvir može proširiti da uključi klastere specifične za proizvođača.
0xFC00
ember sample attribute
ember sampatribut 2
A sample naredba specifična za proizvođača unutar sampspecifičan za proizvođača
klaster.
Naredbe specifične za proizvođača u standardnom Zigbee klasteru
Možete dodati vlastite komande u bilo koji standardni Zigbee klaster sa sljedećim zahtjevima:
Vaše komande specifične za proizvođača mogu koristiti bilo koji ID naredbe unutar raspona ID-a komande, 0x00 – 0xff. Također morate dati proizvođački kod za naredbu tako da se može razlikovati od drugih naredbi u klasteru i da se njime rukuje na odgovarajući način. Prampmogućnost proširenja On/Off klastera sa proizvodnim komandama:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
13/35
Custom XML
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” opcionalno=”true” proizvođačKod=”0 1002″> Klijentska komanda koja isključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.ampleMfgSpecificOnWithTransition” opcionalno=”true” proizvođačCode=”0 1002″> Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.ampleMfgSpecificToggleWithTransition” opcionalno=”true” proizvođačCode=”0 1002″> Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.ampleMfgSpecificOnWithTransition2″ opciono=”true” proizvođačCode=”0 1049″> Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.ampleMfgSpecificToggleWithTransition2″ opciono=”true”
kod proizvođača=”0 1049″> Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.
Atributi specifični za proizvođača u standardnom Zigbee klasteru
Možete dodati vlastite atribute bilo kojem standardnom Zigbee klasteru sa sljedećim zahtjevima:
Vaši atributi specifični za proizvođača mogu koristiti bilo koji ID atributa unutar raspona ID-a atributa, 0x0000 – 0xffff. Također morate dati kod proizvođača za atribut tako da se može razlikovati od drugih atributa u klasteru i da se njime rukuje na odgovarajući način. Prampdio proširenja On/Off klastera s proizvodnim atributima:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” type=”INT16U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opciono=”true” proizvođačCode=”0 1002″>Sample Mfg Specifični atribut: 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″ opciono=”true” proizvođačCode=”0 1049″>Sample Mfg Specifični atribut: 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″ opciono=”true” proizvođačCode=”0 1002″>Sample Mfg Specifični atribut: 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″ opciono=”true” proizvođačCode=”0 1049″>Sample Mfg Specifični atribut: 0 0001 0 1040
Kreiranje vlastitog prilagođenog XML-a u Matteru
Odjeljak pokazuje kako kreirati vlastite prilagođene klastere i proširiti postojeće standardne klastere prilagođenim atributima i naredbama za Matter.
Klasteri specifični za proizvođača u materiji
U Matter možete dodati klastere specifične za proizvođača. Nudimo bivšegample od ovoga u nastavku.
To 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.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
14/35
Custom XML
U sljedećem prampDakle, kombinacija ID-a dobavljača (ID testnog proizvođača) od 0xFFF1 i ID-a klastera od 0xFC20 rezultira value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Example:
Generale Sample MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER Sample MEI klaster prikazuje proširenja proizvođača klastera FlipFlop
Odgovor za AddArguments koji vraća zbroj. Naredba koja uzima dva argumenta uint8 i vraća njihov zbir. Jednostavna komanda bez ikakvih parametara i bez odgovora.
Atributi specifični za proizvođača u standardnim grupama materija
Možete dodati specifične atribute proizvođača u bilo koji standardni klaster Matter sa sljedećim zahtjevima:
T aaaa klaster u koji se atributi koji se dodaju moraju specificirati –
e xte nd ed > “>
Kôd atributa je 32-bitna kombinacija koda proizvođača i id-a atributa. Najznačajnijih 16 bita je kod proizvođača. Raspon kodova proizvođača testa je 0xFFF1 – 0xFFF4. Najmanji značajnih 16 bitova je ID atributa. Raspon za neglobalne atribute je 0x0000 – 0x4FFF.
Exampdio proširenja On/Off Matter klastera sa atributima specifičnim za proizvodnju:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tip=”INT8U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opciono=”true”>Sample Mfg Specific Attribute 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tip=”INT16U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ opciono=”true”>Sample Mfg Specific Attribute 4
Naredbe specifične za proizvođača u standardnim grupama materija
Možete dodati specifične naredbe proizvođača u bilo koji standardni klaster Matter sa sljedećim zahtjevima:
T aaaa klaster u koji se naredbe koje se dodaju moraju navesti –
e xte nd ed > “>
Kod naredbe je 32-bitna kombinacija koda proizvođača i ID-a naredbe. Najznačajnijih 16 bita je kod proizvođača. Raspon kodova proizvođača testa je 0xFFF1 – 0xFFF4. Najmanji značajnih 16 bitova je ID komande. Raspon za neglobalne komande je 0x0000 – 0x00FF.
Exampdio proširenja On/Off Matter klastera s grupama specifičnim za proizvodnju:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
15/35
Custom XML
<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ optional=”true”> Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ optional=”true”>
Klijentska komanda koja uključuje uređaj s prijelazom zadanim vremenom prijelaza u Ember Sampatribut vremena tranzicije.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
16/35
Sljedeći dokument govori o svakom od xml tags povezan sa Zigbeejem.
Svaki xml file je naveden između konfiguratora tags:
Tipovi podataka se mogu definirati unutar konfiguratora tag. Zigbee trenutno podržava definiciju bitmapa, enuma, cijelih brojeva, nizova ili struktura. Prije definiranja više tipova provjerite sve postojeće atomske tipove definirane u type.xml i sve neatomske tipove definirane u drugom xml-u files. Možete ih definirati na sljedeći način:
Bitmap: ime: naziv tipa bitmape. tip: Bitmapa veličine između 8-64 bita može se definirati, od kojih bi svi trebali biti višekratnici od 8. Svaka bitmapa može imati više polja s imenom i maskom koja je povezana s njim. npr.:
“`
Enum: ime: ime tipa enuma. tip: Enum veličine između 8-64 bita može se definirati, od kojih bi svi trebali biti višekratnici od 8. Svaki enum može imati više stavki s imenom i vrijednošću koja je povezana s njim. npr.:
Integer: Integer tipovi su već definirani pod atomskim tipovima koji postoje u type.xml. Njihova veličina može biti u rasponu od 8-64 bita i mogu biti potpisana ili nepotpisana. npr.:
String: Tipovi stringova su već definirani pod atomskim tipovima koji postoje u type.xml. Trenutni tipovi stringova uključuju niz okteta, niz znakova, dugi niz okteta i dug niz znakova, npr.:
Struktura: ime: ime tipa strukture. Svaka struktura može imati više stavki s imenom i tipom koji je povezan s njom. Tip može biti bilo koji unaprijed definirani tip pod tipovima podataka. npr.:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
17/35
Custom XML Tags za Zigbee
<item name=”structItem1″ type=” Any defined type name in the xml files]”/>
Prilagođeni klasteri se mogu definirati unutar konfiguratora tag. ime: ime klastera domena: domena klastera. Klaster će se pojaviti u ZAP korisničkom sučelju pod ovom domenom. opis: Opis koda klastera: cluster code define: definiranje klastera koji koristi generator koda za definiranje klastera na određeni način proizvođačCode: Koristi se za definiranje specifičnog klastera za proizvodnju. Ovo mora biti između 0xfc00 – 0xffff. Proizvođački kod za klaster treba definirati na sljedeći način:
Proizvodni klaster automatski pravi atribute i naredbe ispod istog koda proizvođača osim ako eksplicitno ne navodi proizvođački kod. UvedenIn: Koristi se za određivanje verzije specifikacije u kojoj je klaster uveden. Ovo koristi generator koda za dodavanje dodatne logike. removeIn: Koristi se za određivanje verzije specifikacije u kojoj je klaster uklonjen. Ovo koristi generator koda za dodavanje dodatne logike. singleton(boolean): Koristi se za određivanje klastera kao singletona tako da postoji samo jedna instanca tog klastera podijeljena na krajnjim točkama. atribut: definira atribut za ime klastera: Ime atributa se spominje između atributa tag.
naziv atributa
strana(klijent/server): Strana klastera kojoj je atribut također pridružen. code: kod atributa kod proizvođača: Ovo se može koristiti za definiranje specifičnog atributa proizvođača izvan zigbee specifikacije spomenute u standardnom xml-u. define: atribut define koji koristi generator koda za definiranje atributa na određeni način type: tip atributa koji može biti bilo koji od tipova podataka spomenutih u xml defaultu: default vrijednost za atribut. min: Minimalna dozvoljena vrijednost za atribut max: Maksimalna dozvoljena vrijednost za atribut koji se može pisati: Da li se vrijednost atributa može pisati ili ne. Ovo se može koristiti za sprječavanje modifikacije atributa naredbama pisanja. opciono (boolean): Koristi se za određivanje da li je atribut opcionalan ili nije za klaster. min: Minimalna dozvoljena vrijednost za atribut kada je cijeli broj, enum ili bitmap tip. max: Maksimalna dozvoljena vrijednost za atribut kada je dužina tipa cijeli broj, enum ili bitmap: Koristi se za specificiranje maksimalne dužine atributa kada je niz tipa. minLength: Koristi se za određivanje minimalne dužine atributa kada je tipa string. reportable(boolean): Kaže da li se atribut može prijaviti ili nije isNullable(boolean): Dozvoljava nulte vrijednosti za atribut. array(boolean): Koristi se za deklarisanje atributa tipa array. UvedenIn: Koristi se za određivanje verzije specifikacije u kojoj je atribut uveden. Ovo koristi generator koda za dodavanje dodatne logike. removeIn: Koristi se za određivanje verzije specifikacije u kojoj je atribut uklonjen. Ovo koristi generator koda za dodavanje dodatne logike. naredba: definirajte naredbu za ime klastera: Ime naredbe.
kod: komandni kod
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
18/35
Custom XML Tags za Zigbee
kod proizvođača: Ovo se može koristiti za definiranje naredbe specifične za proizvođača izvan zigbee specifikacije spomenute u standardnom xml-u. opis: opis izvor naredbe (klijent/server): izvor naredbe. opciono (boolean): Koristi se za određivanje da li je naredba opciona ili nije za klaster. UvedenIn: Koristi se za određivanje verzije specifikacije u kojoj je naredba uvedena. Ovo koristi generator koda za dodavanje dodatne logike. removeIn: Koristi se za određivanje verzije specifikacije u kojoj je komanda uklonjena. Ovo koristi generator koda za dodavanje dodatne logike. naredbeni argumenti:
Svaka naredba može imati skup argumenata naredbe ime: ime argumenta naredbe tip: tip argumenta naredbe koji može biti bilo koji od tipova spomenutih u xml-u. min: Minimalna dozvoljena vrijednost za argument kada je cijeli broj, enum ili bitmap tip. max: Maksimalna dozvoljena vrijednost za argument kada je dužina tipa cijeli broj, enum ili bitmap: Koristi se za specificiranje maksimalne dozvoljene dužine za argument naredbe kada je tipa string. minLength: Koristi se za specificiranje minimalne dozvoljene dužine za argument naredbe kada je tipa string. array(boolean): Za određivanje da li je argument naredbe tipa array. presentIf(string): Ovo može biti uslovni niz logičkih operacija zasnovanih na drugim argumentima komande gde možete očekivati argument komande ako se uslovni niz procenjuje na istinito. npr.:
Napomena: Ovdje status predstavlja drugo ime argumenta naredbe. optional(boolean): Koristi se za određivanje argumenta naredbe kao opcionog. countArg: Koristi se kada je argument naredbe tipa array. Ovo se koristi za spominjanje drugog argumenta naredbe koji označava veličinu niza za ovaj argument.
UvedenIn: Koristi se za određivanje verzije specifikacije u kojoj je uveden argument naredbe. Ovo koristi generator koda za dodavanje dodatne logike. removeIn: Koristi se za određivanje verzije specifikacije u kojoj je uklonjen argument naredbe. Ovo koristi generator koda za dodavanje dodatne logike. Cluster Extension se može definirati unutar konfiguratora tag. Ekstenzija klastera se koristi za proširenje standardnog klastera sa proizvodnim atributima i komandama, npr
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
19/35
Custom XML Tags za 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″ opciono=”true” proizvođačCode=”0 1002″>Sample Mfg Specifični atribut: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ opciono=”true” proizvođačCode=”0 1049″>Sample Mfg Specifični atribut: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ opciono=”true” proizvođačCode=”0 1002″>Sample Mfg Specifični atribut: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ opciono=”true” proizvođačCode=”0 1049″>Sample Mfg Specifični atribut: 0 0001 0 1040ampleMfgSpecificOffWithTransition” opcionalno=”true” proizvođačKod=”0 1002″> Klijentska komanda koja isključuje uređaj sa datim prijelazom
do vremena tranzicije u Ember Sampatribut vremena tranzicije.ampleMfgSpecificOnWithTransition” opcionalno=”true” proizvođačCode=”0 1002″> Klijentska komanda koja uključuje uređaj sa datim prijelazom
do vremena tranzicije u Ember Sampatribut vremena tranzicije.ampleMfgSpecificToggleWithTransition” opcionalno=”true” proizvođačCode=”0 1002″> Klijentska komanda koja prebacuje uređaj sa datim prijelazom
do vremena tranzicije u Ember Sampatribut vremena tranzicije.ampleMfgSpecificOnWithTransition2″ opciono=”true” proizvođačCode=”0 1049″> Klijentska komanda koja uključuje uređaj sa datim prijelazom
do vremena tranzicije u Ember Sampatribut vremena tranzicije.ampleMfgSpecificToggleWithTransition2″ opciono=”true” proizvođačCode=”0 1049″> Klijentska komanda koja prebacuje uređaj sa datim prijelazom
do vremena tranzicije u Ember Sampatribut vremena tranzicije.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
20/35
Više tipova uređaja po krajnjoj tački
Ovo je značajka samo za Matter gdje korisnik može odabrati više od jedne vrste uređaja po krajnjoj točki. Dodavanje više aaa tipova uređaja će dodati konfiguracije klastera unutar tipova uređaja u konfiguraciju krajnje točke.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
21/35
Više tipova uređaja po krajnjoj tački
Gornja slika pokazuje da krajnja tačka 1 ima više od jednog odabranog tipa uređaja. “Primarni uređaj” označava primarni tip uređaja s kojim će biti povezana krajnja tačka. Tip primarnog uređaja uvijek je prisutan na indeksu 0 na listi odabranih tipova uređaja, tako da će odabir drugog primarnog tipa uređaja promijeniti redoslijed odabranih tipova uređaja. Odabir tipa uređaja također ima ograničenja zasnovana na specifikaciji modela podataka. ZAP štiti korisnike od odabira nevažećih kombinacija tipova uređaja na krajnjoj točki koristeći ova ograničenja.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
22/35
Bitna stranica sa karakteristikama tipa uređaja
Bitna stranica sa karakteristikama tipa uređaja
Bitna stranica sa karakteristikama tipa uređaja
ZAP podržava vizualizaciju i prebacivanje Matter funkcija na stranici sa karakteristikama tipa uređaja. Biće prikazane samo karakteristike tipa uređaja specificirane u materiji-devices.xml u CHIP spremištu.
Navigacija na stranicu sa funkcijama
ò Pokrenite ZAP in Matter sa ažuriranim Matter SDK-om. ó Kreirajte krajnju tačku s tipom uređaja Matter. ô Kliknite na tipku Device Type Features na gornjoj sredini klastera view. Imajte na umu da je ovo dugme dostupno samo u ZAP-u
konfiguracije za Matter i kada podaci o usklađenosti postoje u Matter SDK-u. Klikom na ovo dugme otvoriće se gornja slika.
Usklađenost
Usklađenost definira opcionalnost i ovisnost za atribute, naredbe, događaje i tipove podataka. Određuje da li je element obavezan, neobavezan ili nepodržan u određenim ZAP konfiguracijama.
Usklađenost karakteristika tipa uređaja ima prednost nad usklađenošću karakteristika klastera. Za nprampDakle, funkcija osvetljenja ima opcionu usklađenost u grupi za uključivanje/isključivanje, ali je deklarisana kao obavezna u tipu uređaja za uključivanje/isključivanje koji uključuje klaster za uključivanje/isključivanje. Kreiranje krajnje tačke sa tipom uređaja On/Off Light će prikazati funkciju osvetljenja kao obaveznu na stranici sa karakteristikama.
Funkcija Toggling
Na stranici sa značajkama, nakon što kliknete dugme za prebacivanje da biste omogućili ili onemogućili funkciju, ZAP će:
Ažurirajte povezane elemente (atribute, komande, događaje) da ispravite usklađenost i prikažite dijalog koji prikazuje promjene.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
23/35
Bitno Tip uređaja Stranica sa karakteristikama Ažurirajte bit karakteristike u atributu featureMap pridruženog klastera
Omogući dijalog funkcija
Onemogućite dijalog funkcija
Prebacivanje je onemogućeno za neke karakteristike kada njihova usklađenost ima nepoznatu vrijednost ili trenutno nije podržan oblik t. U ovom slučaju, ZAP će prikazati upozorenja u aplikaciji za obavještenje.
a Wa Element Conform nce rnings
Kada uključite element, ZAP može prikazati i upozorenja o usklađenosti uređaja i upozorenja o usklađenosti. Ako stanje elementa ne odgovara očekivanoj usklađenosti, ZAP će prikazati ikonu upozorenja i zabilježiti upozorenje u aplikaciji za obavještenje. Prample upozorenja o usklađenosti i usklađenosti prikazana za element:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
24/35
Obavještenja
Obavještenja
Obavještenja
Sljedeći odjeljak definira kako se obavještenja daju ZAP korisnicima u korisničkom sučelju.
Obavještenja o paketima
Obavijesti o paketima su upozorenja ili poruke o grešci povezane za bilo koji određeni paket učitan u ZAP. Za nprampNa slikama ispod, klik na ikonu upozorenja ispod stupca statusa će vas dovesti do dijaloga koji prikazuje sva obavještenja za taj paket.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
25/35
Obavještenja
Obavještenja o sesiji
Obavijesti o sesiji su upozorenja ili poruke o grešci koje su povezane sa sesijom korisnika. Ova upozorenja/greške se mogu videti klikom na dugme Obaveštenja na traci sa alatkama na vrhu ZAP korisničkog interfejsa. Za nprample, slika ispod prikazuje stranicu s obavijestima o sesiji nakon isc file je učitano u ZAP.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
26/35
Usklađenost sa modelom podataka/ZCL specifikacijom
Usklađenost sa modelom podataka/ZCL specifikacijom
Usklađenost modela podataka i ZCL specifikacija
Ova funkcija u ZAP-u pomaže korisnicima da vide greške u usklađenosti za Data Model ili ZCL sa njihovim postojećim ZAP konfiguracijama. Poruke upozorenja za neusklađenost će se pojaviti u oknu Obavještenja u korisničkom sučelju ZAP-a i također će biti prijavljene na konzolu kada se ZAP pokreće kroz CLI. Funkcija usklađenosti trenutno pruža upozorenja za usklađenost tipa uređaja i usklađenost klastera na krajnjoj točki.
Upozorenja o usklađenosti u korisničkom sučelju ZAP-a
Kada korisnik otvori .zap file koristeći ZAP korisničko sučelje, vidjet će upozorenja u oknu s obavijestima ZAP korisničkog sučelja za sve greške u usklađenosti. Za nprampSlika ispod prikazuje stranicu sa obaveštenjima o sesiji nakon .zap file je otvoren s problemima usklađenosti.
Poruke o usklađenosti će nestati kada se problemi riješe pomoću ZAP korisničkog sučelja tako da možete pratiti samo preostale probleme usklađenosti. Nova upozorenja će se također pojaviti za usklađenost ako korisnik onemogući obavezne elemente (klaster/naredbe/atribute) konfiguracije. Obavještenja o usklađenosti sa specifikacijama uvijek će pratiti sve greške koje su unete u ZAP konfiguraciju, ali imajte na umu da upozorenja koja se pojavljuju tokom otvaranja .zap-a file su detaljnije o tome zašto nije uspio u skladu sa upozorenjima koja se pojavljuju tokom interakcije s korisničkim sučeljem. Ovo je zamišljeno i potpuna provjera usklađenosti se vrši tokom otvaranja .zap-a file.
Upozorenja o usklađenosti na konzoli
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
27/35
Usklađenost sa modelom podataka/ZCL specifikacijom
Kada korisnik otvori .zap file koristeći ZAP samostalno korisničko sučelje ili ZAP CLI vidjet će upozorenja prijavljena na konzolu/terminal za sve greške u usklađenosti. Za nprampda, slika ispod prikazuje upozorenja o obavještenjima o sesiji na konzoli/terminalu nakon .zap file je otvoren s problemima usklađenosti.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
28/35
Kontrola pristupa
Funkcije kontrole pristupa
ZAP podržava kontrolu pristupa na svim ZCL entitetima. Na implementaciji SDK-a je da mapirate ove karakteristike na potrebne i podržane SDK karakteristike kontrole pristupa. ZAP općenito pruža model podataka i mehanizam za njihovo kodiranje u meta-informacijama files i propagirati te podatke u šablone generiranja, bez dodjeljivanja specifičnih značenja tačkama podataka.
Osnovni uslovi
ZAP kontrola pristupa definira tri osnovna pojma, kako slijedi: ò operacija: definirana kao nešto što se može učiniti. Prample: čitanje, pisanje, pozivanje. ó uloga: definisana kao privilegija glumca. Kao što je “View privilegija”, “Administrativna uloga” i sin dalje. ô modifikatori: definirani kao posebni uvjeti kontrole pristupa, kao što su podaci osjetljivi na tkaninu ili podaci u opsegu tkanine. Osnovni pojmovi su definirani u XML-u metapodataka ispod vrha tag . Slijedi bivšiampdefinicije osnovnih pojmova kontrole pristupa:
<role type=”view”opis=”View privilegija”/>
Ovaj example definira tri operacije, čitanje, pisanje i pozivanje, dva modifikatora i četiri uloge.
Pristup trojkama
Svaki pojedinačni uvjet pristupa može se definirati s pristupnim tripletom u XML-u. Pristupni triplet je kombinacija operacije, uloge i modifikatora. Oni su opcioni, tako da možete imati samo jedan od ovih. Nedostajući dio tripleta općenito znači permissivenes, što je specifično za implementaciju za dati SDK. Entitet koji definira svoj pristup može imati jednu ili više pristupnih trojki. Slijedi bivšiample:
at0
Ovo je definicija atributa koji ima pristupni triplet, deklarirajući da dozvoljava operaciju pisanja od strane upravljačke uloge, s primijenjenim modifikatorom u opsegu tkanine.
Default Permissions
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
29/35
Kontrola pristupa
ZCL entiteti mogu definirati vlastite pojedinačne dozvole. Međutim, postoji i globalna definicija zadanih dozvola za
date vrste. One se pretpostavljaju za dati entitet, osim ako ne daje bilo kakve vlastite posebne dozvole.
Zadane dozvole su deklarirane putem a tag na najvišem nivou XML-a file. Prample:
aa a< ccess op=”invoke”/> a a aa < ccess op=”re d”/> a< ccess op=”write”/> a aa aa < pristup op=”re d” role=”view”/> aa < ccess op=”write” role=”oper te”/> a
Template Helpers
Osnovni pomoćnik šablona za korištenje je iterator {{#access}} … {{/access}}. Ovaj iterator iterira sve date pristupne trojke.
Podržava sljedeće dvije opcije:
entity=”attribute/command/event” – ako se entitet ne može odrediti iz konteksta, ovo postavlja tip entiteta. includeDefault=”true/false” – određuje da li su podrazumevane vrednosti uključene ili ne. Slijedi bivšiample:
{{#zcl_clusters}}
a Klaster: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa – atribut: {{n me}} [{{code}}] aa {{# pristupni entitet=” ttribute”}}
O a RM a M * p: {{operacija}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ccess}} a {{/zcl_ ttributes}} a {{#zcl_comm nds}} aa – komm nd: {{n me}} [{{code{code}}] com a RM a M * p: {{operacija}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – događaj: {{n me}} [{{code}}] a {{# ccess entity=”event”}} O a RM a M * p: {{operacija}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ccess}}
{{/zcl_events}}
{{/zcl_clusters}}
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
30/35
Pokretanje ZAP-a za aplikacije Matter ili Zigbee
Pokretanje ZAP-a za aplikacije Matter ili Zigbee
Pokretanje ZAP-a za aplikacije Matter ili Zigbee
Sljedeći odjeljci opisuju pokretanje ZAP-a u samostalnom načinu rada s metapodacima specifičnim za Matter ili Zigbee. Ideja je da se ZAP pokrene sa ispravnim argumentima vezanim za XML metapodatke (definicije klastera i tipova uređaja prema CSA specifikacijama) i šablona za generisanje, koji se koriste za generisanje odgovarajućeg koda.
Pokretanje ZAP-a sa Matterom
Sljedeća skripta preuzima ispravne metapodatke iz Matter SDK-a prilikom pokretanja ZAP-a. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Napomena: Takođe možete koristiti sljedeći Zigbee pristup za pokretanje ZAP-a u Matteru.
Pokretanje ZAP-a sa Zigbee-om
Sljedeća naredba pokreće ZAP sa ZCL specifikacijama i predlošcima generiranja iz SDK-a.
[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: Ovo je put do ZAP izvornog ili izvršnog sdk-path: Ovo je put do SDK-a
Pokretanje ZAP-a bez metapodataka
Zapamtite da kada pokrećete ZAP direktno kroz izvršnu datoteku ili iz izvora koristeći npm run zap, vi pokrećete ZAP sa test metapodacima za Matter/Zigbee ugrađenim unutar ZAP-a, a ne stvarnim metapodacima koji dolaze iz Matter i Zigbee SDK-ova spomenutih gore. Stoga, ne zaboravite da kreirate svoje ZAP konfiguracije koristeći SDK metapodatke, a ne otvaranjem ZAP-a direktno sa ugrađenim test metapodacima.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
31/35
Generiranje koda za Matter ili Zigbee
Generisanje koda za Matter, Zigbee ili prilagođeni SDK
Sljedeći odjeljci opisuju kako generirati kod koristeći ZAP.
Generirajte kod koristeći ZAP UI
Pokrenite ZAP UI prema uputama u Pokretanje ZAP-a za Matter ili Zigbee i kliknite na dugme Generiraj na gornjoj traci menija.
Generirajte kod bez korisničkog sučelja
Sljedeće upute pružaju različite načine generiranja koda putem CLI bez pokretanja ZAP korisničkog sučelja.
Generiranje koda iz ZAP izvora
Pokrenite sljedeću naredbu za generiranje koda koristeći ZAP iz izvora: čvor 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
Generisanje koda iz ZAP izvršne datoteke
Pokrenite sljedeću naredbu za generiranje koda koristeći ZAP izvršnu datoteku: [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
Generiranje koda iz ZAP CLI izvršne datoteke
Pokrenite sljedeću naredbu za generiranje koda koristeći 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
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
32/35
Ažurirajte ZAP u Studiju
Ažurirajte ZAP
Ažurirajte ZAP u Simplicity Studio
Ovaj mehanizam se može koristiti kada radite sa ekstenzijom Matter ili Zigbee iz Silicon Labs SDK izdanja. ZAP se može ažurirati unutar Simplicity Studio bez izdanja Simplicity Studio preuzimanjem najnovijeg izvršnog ZAP-a (preporučeno) ili izvlačenjem najnovijeg iz ZAP izvora kao što je prikazano u Vodiču za instalaciju ZAP-a. Nakon što imate najnoviji ZAP zasnovan na vašem trenutno korištenom OS-u, možete ažurirati ZAP unutar Studija kao adapterski paket. Slijedite upute u nastavku nakon preuzimanja najnovijeg ZAP-a:
Idite na Simplicity Studio i odaberite Preferences > Simplicity Studio > Adapter Packs. Kliknite Dodaj… i pronađite prošireni ZAP folder koji ste preuzeli i kliknite Odaberi mapu . Kliknite na Primijeni i zatvori i tada će se novododani ZAP koristiti svaki put kada je .zap file je otvoren.
Napomena: Ponekad mogu postojati starije instance ZAP-a koje su već pokrenute čak i nakon ažuriranja na najnoviji ZAP. Pobrinite se da završite sve postojeće ZAP instance tako da se novo dohvaćeni ZAP koristi umjesto stare instance, koja još uvijek radi u pozadini.
Ažurirajte ZAP za razvoj materije u Githubu
Kada radite sa Matter ili Matter-Silicon Labs repozitorijumima na Githubu, postavite varijable okruženja u odnosu na ZAP da kreirate/generišete nove ZAP konfiguracije ili ponovo generišete postojećeample ZAP konfiguracije nakon primjene promjena na njih. Postavite ZAP_DEVELOPMENT_PATH na ZAP iz izvora tako što ćete povući najnoviji ili postaviti ZAP_INSTALLATION_PATH na ZAP izvršnu datoteku koju ste zadnji preuzeli u svom lokalnom direktoriju. Imajte na umu da kada su postavljeni i ZAP_DEVELOPMENT_PATH i ZAP_INSTALLATION_PATH, koristi se ZAP_DEVELOPMENT_PATH.
Sljedeće su nprampdatoteke koje pokazuju gore navedene varijable okruženja u upotrebi:
Pokretanje ZAP-a pomoću specifikacije materije Regeneracija svih sample ZAP konfiguracije za aplikacije Matter
Napomena: Kada koristite ZAP izvršne datoteke, osigurajte da koristite službeno izdanje preko noćnog izdanja radi veće stabilnosti. Vidi
Preuzimanje ZAP Executable u ZAP Vodiču za instalaciju
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
33/35
Konkurentni multi-protokol između Zigbee-a i Matter-a
Konkurentni multi-protokol između Zigbee-a i Matter-a
MCoanttceurrrent Više protokola između Zigbee i
ZAP se može koristiti za konfiguriranje konfiguracija ZCL (Zigbee) i Data-Model (Matter) u višeprotokolskoj aplikaciji za Zigbee i Matter. ZAP vam omogućava da kreirate krajnje tačke za Zigbee i Matter eksplicitno u istoj konfiguraciji file. Ako su Zigbee i Matter krajnje tačke na istom identifikatoru krajnje tačke (nprample, LO Dimmable Light na krajnjoj tački Id 1 i Matter Dimmable Light na drugoj instanci krajnje točke 1), ZAP brine o sinhronizaciji zajedničkih atributa u Matter i Zigbee atributima. Uvjerite se da atributi koji se sinkroniziraju imaju isti tip podataka. Zajednički atributi između Zigbee-a i Materije su uspostavljeni kroz a file pod nazivom multi-protocol.json . Korisnik može povezati bilo koja dva klastera preko Zigbee i Matter zajedno sa njihovim odgovarajućim atributima koristeći šifre klastera i atributa. Ovo file može se naći u [SDKPath]/app/zcl/multi-protocol.json. Ovo file je ažuriran sa određenim skupom klastera i atributa za početak, ali korisnik to može ažurirati file prema potrebi i ZAP će se pobrinuti za sinhronizaciju konfiguracije atributa preko Zigbee i Matter za zajedničke identifikatore krajnje točke.
Također možete pronaći ZAP tutorijal u bilo kojoj Zigbee and Matter višeprotokolskoj aplikaciji ispod stranice s tutorijalima. Ovaj vodič će vas voditi kroz proces kreiranja aplikacije sa više protokola. Ovaj vodič je dostupan samo kada otvorite postojeću višeprotokolnu aplikaciju i može se pronaći kao što je prikazano na slici ispod:
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
34/35
Integrirajte SLC CLI sa ZAP-om
Integrirajte SLC CLI sa ZAP-om
Integrirajte SLC CLI sa ZAP-om
Pratite ove korake da integrišete SLC CLI sa ZAP-om: ò Instalirajte SLC CLI prateći uputstva za instalaciju u Simplicity Studio 5 Korisničkom vodiču. ó Instalirajte ZAP slijedeći upute u ZAP Vodiču za instalaciju. ô Da integrišete SLC CLI sa ZAP-om, dodajte varijablu okruženja STUDIO_ADAPTER_PACK_PATH koja ukazuje na ZAP aplikaciju
imenik. õ Ne zaboravite ponovo pokrenuti SLC CLI Daemon nakon koraka 3. ö Svaki projekt koji koristi ZAP sada će koristiti stazu definiranu u koraku 3 kada se generira iz SLC CLI. Molimo pogledajte SLC CLI
Upotreba za upute o korištenju SLC CLI za vaše projekte.
Autorska prava © 2025 Silicon Laboratories. Sva prava zadržana.
35/35
Dokumenti / Resursi
![]() |
SILICON LABS ZAP se razvija sa Silicon Labs [pdf] Uputstvo za upotrebu ZAP razvija sa Silicon Labs, ZAP, Razvoj sa Silicon Labs, Silicon Labs, Labs |