ZAP se razvija s Silicon Labs
Specifikacije
- Ime izdelka: Silicon Labs ZAP
- Tip: Motor za ustvarjanje kode in uporabniški vmesnik
- Združljivost: Knjižnica gruče Zigbee (Zigbee) ali podatkovni model (Matter)
- Razvita avtor: Connectivity Standards Alliance
Navodila za uporabo izdelka
- Začetek ZAP
- Če želite začeti uporabljati ZAP, sledite tem korakom:
- Prenesite izvršljivo datoteko ZAP iz uradnega repozitorija.
- Namestite odvisnosti z ukazom npm install.
- Za namestitev, specifično za Windows, glejte priročnik ZAP Installation for Windows OS.
- Če želite začeti uporabljati ZAP, sledite tem korakom:
- Razvoj Zigbee
- Če razvijate aplikacije Zigbee:
- Uporabite Simplicity Studio, ki vključuje ZAP in druga potrebna orodja.
- Če razvijate aplikacije Zigbee:
- Razvoj zadeve
- Če razvijate aplikacije Matter:
- Možnosti vključujejo uporabo Simplicity Studio ali dostop do skladišč Silicon Labs ali CSA Github.
- Po potrebi glejte navodila za posodobitev za ZAP zunaj cikla izdaje Simplicity Studio.
- Če razvijate aplikacije Matter:
pogosta vprašanja
- V: Katere različne različice binarnih datotek ZAP so na voljo?
- A: Na voljo sta dve različici – uradna izdaja s preverjenimi različicami in predizdaja z najnovejšimi funkcijami.
- V: Kaj naj storim, če med namestitvijo naletim na težave s prevajanjem izvorne knjižnice?
- A: Če želite odpraviti takšne težave, glejte informacije o pogostih vprašanjih o skriptih, specifičnih za platformo.
“`
Silicon Labs ZAP
Silicon Labs ZAP
Razvija se s Silicon Labs ZAP
Kako začeti
ZAP Kako začeti znovaview Namestitev ZAP Namestitev ZAP Windows Pogosta vprašanja
Osnove ZAP Osnove
Uporabniški priročnik ZAP Uporabniški priročnik Večview XML po meri XML po meri Tags za Zigbee Več vrst naprav na končno točko Zadeva Vrsta naprave Funkcijska stran Obvestila Podatkovni model/Specifikacija ZCL Skladnost Nadzor dostopa Zagon ZAP za aplikacije Matter ali Zigbee Generiranje kode za Matter ali Zigbee Posodobitev ZAP v Studiu Sočasni večprotokol med Zigbee in Matter Integracija SLC CLI z ZAP
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
1/35
Razvija se s Silicon Labs ZAP
Razvija se s Silicon Labs ZAP
ZAP
ZAP je generični mehanizem za ustvarjanje kode in uporabniški vmesnik za aplikacije in knjižnice, ki temeljijo na knjižnici gruče Zigbee podjetja Zigbee ali podatkovnem modelu podjetja Matter. Specifikacijo je razvilo združenje Connectivity Standards Alliance. ZAP omogoča izvajanje naslednjih operacij:
Izvedite prilagojeno generiranje vseh globalnih artefaktov (konstant, tipov, ID-jev itd.), specifično za SDK, na podlagi specifikacije ZCL/Data-Model. Izvedite prilagojeno generiranje, specifično za SDK, vseh uporabniško izbranih konfiguracijskih artefaktov (konfiguracija aplikacije, konfiguracija končne točke itd.) na podlagi specifikacije ZCL/Data-Model in konfiguracije aplikacije, ki jo zagotovi stranka. Zagotovite uporabniški vmesnik za končnega uporabnika, da izbere določeno konfiguracijo aplikacije (končne točke, gruče, atribute, ukaze itd.).
Vsebina v teh razdelkih opisuje, kako razviti aplikacije Zigbee in Matter s konfiguracijo plasti ZCL (Zigbee) ali podatkovnega modela (Matter) z uporabo ZAP.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
2/35
Začetek ZAP
Začetek ZAP
Kako začeti z ZAP
Ti razdelki opisujejo različne metode za ustvarjanje aplikacij Zigbee in Matter. Upoštevajte, da Simplicity Studio omogoča ustvarjanje vaših aplikacij Zigbee in Matter od konca do konca, kjer so vsa orodja vnaprej nameščena skupaj s Simplicity Studio (vključno z ZAP). Lahko se tudi odločite raziskati druge načine ustvarjanja svojih aplikacij, kot je opisano tukaj.
Razvoj Zigbee
Razvijalci aplikacij Zigbee lahko gradijo svoje aplikacije s pomočjo Simplicity Studio, ki že vključuje ZAP in druga orodja, ki vam pomagajo zgraditi vašo aplikacijo od konca do konca.
Razvoj zadeve
Razvijalci aplikacij Matter lahko gradijo svoje aplikacije z uporabo naslednjih metod: Simplicity Studio: To vključuje ZAP in druga orodja, ki so potrebna za izdelavo aplikacije Matter od konca do konca. Github (Silicon Labs) Github (CSA)
Opomba: Če želite posodobiti ZAP zunaj cikla izdaje Simplicity Studio, glejte posodobitev ZAP v Simplicity Studio in Vodnik za namestitev ZAP
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
3/35
Namestitev ZAP
Naslednji razdelki opisujejo namestitev ZAP in kako posodobiti ZAP v Simplicity Studio IDE.
Priporočen prenos izvršljive datoteke ZAP)
To je priporočen način za začetek uporabe ZAP. Najnovejše binarne datoteke ZAP lahko dobite pri aa https://github.com/project-chip/zp/releses. Vnaprej zgrajene binarne datoteke so na voljo v dveh različnih različicah.
Uradna izdaja: preverjene gradnje z namenskimi testnimi zbirkami Matter in Zigbee. Oblika imena izdaje je vLLLL.DD.MM. Predizdaja: gradnje z najnovejšimi funkcijami in popravki napak, vendar te gradnje NISO preverjene z namenskimi zbirkami testov Matter in Zigbee. Oblika imena izdaje je vLLLL.DD.MM-nočno.
Namestitev ZAP iz izvorne kode
Osnovna navodila za namestitev ZAP
Ker je to aplikacija node.js, morate namestiti okolje vozlišča. Najboljši način za to je prenos najnovejše namestitve node, ki vključuje node in npm. Če imate na delovni postaji nameščeno starejšo različico vozlišča, lahko povzroči težave, zlasti če je zelo stara. Prepričajte se, da imate najnovejšo različico vozlišča v16.x z vključenim npm. Zaženite node –version, da preverite, katera različica je prevzeta. Priporočena je v18.x. Ko imate želeno različico vozlišča, lahko zaženete naslednje:
Namestite odvisnosti
Za namestitev odvisnosti uporabite naslednje ukaze:
namestitev npm
Opomba: Za namestitev ZAP, specifično za Windows, glejte Namestitev ZAP za OS Windows. Na tej točki ni neobičajno, da naletite na težave s prevajanjem izvorne knjižnice. Za različne platforme obstajajo različni skripti src-script/install-*. Oglejte si informacije o pogostih vprašanjih o tem, kateri skript izvajati na različnih platformah in nato znova zaženite namestitev npm.
Zaženite aplikacijo
Za zagon aplikacije uporabite naslednje ukaze:
npm zaženi zap
Zaženite Front-End v razvojnem načinu
Podpira ponovno nalaganje vroče kode, poročanje o napakah itd. Uporabite naslednje ukaze za zagon sprednjega dela v razvoju
način:
kvazar dev -m elektron
or
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
4/35
ZAP Insta at o ll in
npm zaženi elektron-dev
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
5/35
Namestitev ZAP Windows
Namestitev ZAP Windows
Namestitev ZAP za Windows OS
1. Windows Powershell
V iskalno vrstico namizja vnesite Windows Powershell in zaženite kot skrbnik. Zaženite vse naslednje ukaze znotraj Powershell.
2. Čokoladno
Namesti iz https://chocolatey.org/install. Preverite, ali je pravilno nameščen z naslednjimi ukazi:
čoko -v
Namestite paket pkgconfiglite z naslednjimi ukazi:
choco namestite pkgconfiglite
3. Namestite Node
Za namestitev zaženite naslednje ukaze:
choco namestite nodejs-lts
*Različica mora biti 18, da opravi preizkus preverjanja različice, po namestitvi preverite z vozliščem -v *Če ste že namestili Node in ne uspete na nekaterih testih, podobnih temu, da Node ni mogoče najti, znova namestite Node s čokolado.
4. Sledite osnovnim navodilom za namestitev ZAP
Sledite navodilom za namestitev ZAP iz vira v Namestitvi ZAP. Medtem ko sledite osnovnim navodilom za namestitev ZAP, bodite pozorni na naslednje napake in kako jih odpraviti:
sqlite3
Če med izvajanjem ZAP (npr. npm run zap) v pojavnem oknu vidite napako o sqlite3.node, zaženite:
npm obnovi sqlite3
elektron-graditelj
Če pri namestitvi npm po namestitvi pride do napake pri naslednjem ukazu, povezanem z electron-builder install-appdeps, npx electron-rebuild canvas failed ali node-pre-gyp, trenutna različica canvas ni združljiva z Windows in napaka pri namestitvi ne bo povzročila napake pri izvajanju ZAP. node-canvas trenutno dela na rešitvi in težava bo rešena v bližnji prihodnosti.
“postinstall”: “electron-builder install-app-deps && husky install && npm rebuild canvas –update-binary && npm run version-stamp”
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
6/35
Namestitev ZAP Windows
Platno
Če preizkus zagona npm ne uspe zaradi napake Testne zbirke ni bilo mogoče izvesti. Ne najdem modula '../build/Release/canvas.node' oz
zapnode_modulescanvasbuildReleasecanvas.node ni veljavna aplikacija Win32. , znova zgradite platno na naslednji način:
npm rebuild canvas –update-binary
dobite index.html ali Druge težave s strežnikom
Če preskus zagona npm ne uspe zaradi napake, zahteva get index.html ni uspela s statusno kodo 404 v testih enote ali ob strežniku
težave s povezavo pri testih e2e-ci, zaženite naslednje ukaze:
npm zaženi gradnjo
drugo
Preverite, ali je različica vozlišča v18, in jo poskusite namestiti s Chocolatey.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
7/35
pogosta vprašanja
pogosta vprašanja
Pogosto zastavljena vprašanja
V: Kako zagnati uporabniški vmesnik v razvojnem načinu? O: Uporabniški vmesnik lahko zaženete v razvojnem načinu, kar bo povzročilo naslednjo nastavitev:
Ločen strežnik HTTP za razvoj kvazarja, ki osvežuje v živo na vratih 8080 ZAP zadnji konec, ki deluje na vratih 9070 Chrome ali drug brskalnik, deluje neodvisno. Če želite priti do te nastavitve, sledite spodnjim navodilom. ò Najprej zaženite razvojni strežnik ZAP, ki se zažene na vratih 9070.
npm zaženite zap-devserver ó Nato zaženite razvojni strežnik quasar, ki se zažene na vratih 8080.
quasar dev ô Usmerite brskalnik ali ga zaženite proti pravemu URL z argumentom restPort:
google-chrome http://localhost:8080/?restPort=9070
V: Kako narediti, da bo to delovalo v OS Mac/Linux? A:
npm install se uporablja za prenos vseh zahtevanih paketov odvisnosti. Če opazite napake, povezane z node-gyp in manjkajočimi lokalnimi knjižnicami, kot je pixman itd., vam manjkajo izvorne odvisnosti, ki bi jih morali izpolniti za prevajanje nepredzgrajenih binarnih datotek vozlišča za nekatere kombinacije platform in različic. Npm v oblaku nenehno posodablja seznam ponujenih binarnih datotek, zato je možno, da jih boste dobro izbrali, če pa ne, so to navodila za različne platforme:
Fedora Core z dnf:
dnf namestite pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
ali zaženi skript:
src-script/install-packages-fedora
Ubuntu z apt-get:
apt-get posodobitev apt-get namestitev –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
ali zaženi skript:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
8/35
pogosta vprašanja
src-script/install-packages-ubuntu
OSX na Macu z zvarkom Homebrew:
brew namestite pkg-config kairo pango libpng jpeg giflib librsvg
ali zaženi skript:
src-script/namestitveni-paketi-osx
V: Kako omogočiti, da to deluje v operacijskem sistemu Windows?
O: Prepričajte se, da je vedno posodobljen in da ni sprememb, ki še niso bile potrjene. Nasvet: git pull, git status in git stash so vaši prijatelji. Če želite, da Zap deluje v operacijskem sistemu Windows, morate uporabiti Chocolately. Ne pozabite prenesti paketa pkgconfiglite.
choco namestite pkgconfiglite
Če imate težave s kairom, nprample, če dobite napako o cairo.h': Ne file ali imenik, naredite naslednje: ò Preverite, ali je vaš računalnik 32- ali 64-bitni. ó Glede na to prenesite ustrezen paket s tega mesta
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 Napredne sistemske nastavitve. V naprednem zavihku kliknite Spremenljivke okolja. V razdelku Sistemske spremenljivke poiščite spremenljivko okolja PATH in jo izberite. Kliknite Uredi in mu dodajte C:/GTK. Če spremenljivka okolja PATH ne obstaja, kliknite Novo. Če jpeglib.h ni najden, poskusite naslednje: ò Na terminalu zaženite: choco install libjpeg-turbo ó Prepričajte se, da je čist z uporabo: git clean -dxff in znova zaženite npm install ô če se ne pojavi nobena napaka in se prikažejo samo opozorila, poskusite uporabiti npm audit fix õ če ne morete zagnati ZAP, pojdite na file src-script/zap-start.js ö Spremeni
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('child_process') ø Zaženi npm in zaženi 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)
V: Dobim napako »sqlite3_node« not found ali podobno.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
9/35
pogosta vprašanja
A: Znova zgradite izvorne vezave sqlite3. Če želite to popraviti v večini primerov, zaženite:
namestitev npm
./node_modules/.bin/electron-rebuild -w sqlite3 -p
Če še vedno ni mogoče popraviti, naredite:
rm -rf node_modules in nato znova poskusite z zgornjimi ukazi. Občasna nadgradnja vašega npm prav tako vpliva:
npm namestite -g npm
V: Dobim napako »Različica N-API tega primerka vozlišča je 1. Ta modul podpira različico(e) N-API 3. Ta primerek vozlišča ne more zagnati tega modula.«
O: Nadgradite svojo različico vozlišča. Rešitev za to je obravnavana v tej temi Stack Overflow: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
V: Moj razvojni računalnik ne deluje z ZAP iz katerega koli razloga. Ali lahko uporabim docker vsebnik?
O: Da, lahko. še ni razvidno
V: Kako zaženem ZAP znotraj VSCode?
O: Če na svoji poti uporabljate VSCode, vnesite zap repo in vnesite kodo. To bo odprlo ZAP v VSCode. Če želite zagnati ZAP v načinu za odpravljanje napak, izberite delovni prostor ZAP in kliknite ikono Zaženi v levi orodni vrstici. Za zagon ZAP boste imeli na izbiro nekaj možnosti, izberite Node.js Debug Terminal. To bo odprlo terminalsko okno, v katerem lahko vnesete npm run zap, ki bo priklopil razhroščevalnik in zagnal ZAP, kot bi običajno iz ukazne vrstice. Čestitamo, zdaj bi morali videti, da se ZAP izvaja v razhroščevalniku. V VSCode lahko nastavite prekinitvene točke, kot bi jih v katerem koli drugem IDE.
V: Preizkus enote uporabniškega vmesnika je neuspešen z nekaj napakami v zvezi z izgradnjo platna za pravo različico vozlišča. kaj naredim
O: Če vidite to napako:
FAIL test/ui.test.js Testne zbirke ni bilo mogoče zagnati. Modul 'canvas.node' je bil preveden v drugo različico Node.js z uporabo NODE_MODULE_VERSION 80. Ta različica Node.js zahteva NODE_MODULE_VERSION 72. Poskusite ponovno prevesti ali znova namestiti modul (na primer z uporabo `npm rebuild` ali `npm namestiti`).
pri Objektu. (node_modules/canvas/lib/bindings.js:3 18)
nato zaženite: npm rebuild canvas –update-binary
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
10/35
Osnove ZAP
Osnove ZCL/Data-Model ZAP
Ta razdelek vsebuje informacije za nove uporabnike ZAP. Kliknite ikono vadnice v zgornjem desnem kotu uporabniškega vmesnika ZAP, ki prikazuje, kako ustvariti konfiguracijo ZAP. Vadnica vas bo vodila skozi naslednje: Ustvarite končno točko Izberite vrsto naprave Konfigurirajte gručo Konfigurirajte atribut Konfigurirajte ukaz Za podrobnejše reference glejte Priročnik za konfiguracijo gruče Zigbee
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
11/35
Navodila za uporabo ZAP
Navodila za uporabo ZAP
Navodila za uporabo ZAP
Razdelki pod tem vodnikom ponujajo več podrobnosti o različnih funkcijah, ki jih ponuja ZAP.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
12/35
XML po meri
Dodajanje XML-ja po meri iz uporabniškega vmesnika ZAP
V uporabniškem vmesniku ZAP kliknite ikono »Razširitve«. Kliknite gumb »+« za dodajanje, da izberete xml po meri file Gruče po meri, atributi, ukazi itd. bi se morali prikazati v uporabniškem vmesniku ZAP, ko je dodan xml po meri.
Ustvarjanje lastnega XML-ja po meri v Zigbee
Razdelek prikazuje, kako ustvarite lastne gruče po meri in razširite obstoječe standardne gruče z atributi po meri in ukazi za Zigbee.
Grozdi, specifični za proizvajalca v Zigbeeju
Standardnemu profesionalcu lahko dodate grozde, specifične za proizvajalcafile. Nudimo example tega spodaj. Če želite to narediti, morate izpolniti dve obveznosti:
ID gruče MORA biti v območju, specifičnem za proizvajalca, 0xfc00 – 0xffff. Definicija gruče mora vključevati kodo proizvajalca, ki bo uporabljena za VSE atribute in ukaze znotraj te gruče in jo je treba zagotoviti pri pošiljanju in prejemanju ukazov ter interakciji z atributi. nprample:
Sample Mfg Specific Cluster Splošno Ta grozd zagotavlja exampo tem, kako je mogoče aplikacijsko ogrodje razširiti tako, da vključuje proizvajalčevo specifične gruče.
0xFC00
žerjavica sample atribut
žerjavica sampatribut 2
A sample ukaz, specifičen za proizvajalca znotraj sample glede na proizvajalca
grozd.
Ukazi, specifični za proizvajalca v standardni gruči Zigbee
Svoje lastne ukaze lahko dodate v katero koli standardno gručo Zigbee z naslednjimi zahtevami:
Vaši ukazi, specifični za proizvajalca, lahko uporabljajo kateri koli ID ukaza v območju ID-ja ukaza, 0x00 – 0xff. Za ukaz morate zagotoviti tudi kodo proizvajalca, da ga je mogoče razlikovati od drugih ukazov v gruči in ustrezno obravnavati. nprampdatoteka za razširitev gruče On/Off z ukazi za proizvodnjo:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
13/35
XML po meri
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki izklopi napravo s prehodom, ki ga določi čas prehoda v Ember Sample atribut prehodnega časa.ampleMfgSpecificOnWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki vklopi napravo s prehodom, ki ga določi čas prehoda v Ember Sample atribut prehodnega časa.ampleMfgSpecificToggleWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki preklopi napravo s prehodom, ki ga poda čas prehoda v Ember Sample atribut prehodnega časa.ampleMfgSpecificOnWithTransition2″ optional=”true” manufacturerCode=”0 1049″> Odjemalski ukaz, ki vklopi napravo s prehodom, ki ga določi čas prehoda v Ember Sample atribut prehodnega časa.ampleMfgSpecificToggleWithTransition2″ izbirno=”true”
proizvajalecCode=”0 1049″> Odjemalski ukaz, ki preklopi napravo s prehodom, ki ga poda čas prehoda v Ember Sample atribut prehodnega časa.
Atributi, specifični za proizvajalca v standardni gruči Zigbee
Vsaki standardni gruči Zigbee lahko dodate lastne atribute z naslednjimi zahtevami:
Vaši atributi, specifični za proizvajalca, lahko uporabljajo kateri koli ID atributa znotraj obsega ID-ja atributa, 0x0000 – 0xffff. Za atribut morate zagotoviti tudi kodo proizvajalca, da ga je mogoče razlikovati od drugih atributov v gruči in z njim ustrezno ravnati. nprample za razširitev gruče On/Off z atributi proizvodnje:
<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” manufacturerCode=”0 1002″>SampSpecifični atribut le Mfg: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>SampSpecifični atribut le Mfg: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>SampSpecifični atribut le Mfg: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>SampSpecifični atribut le Mfg: 0 0001 0 1040
Ustvarjanje lastnega XML-ja po meri v Matterju
Razdelek prikazuje, kako ustvarite lastne gruče po meri in razširite obstoječe standardne gruče z atributi po meri in ukazi za Matter.
Proizvajalci specifični grozdi v materiji
V Matter lahko dodate grozde, specifične za proizvajalca. Nudimo example tega spodaj.
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.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
14/35
XML po meri
V naslednjem prample, kombinacija ID-ja prodajalca (ID-ja preskusnega proizvajalca) 0xFFF1 in ID-ja gruče 0xFC20 povzroči value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Example:
Splošno Sample MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER Sample MEI grozd prikazuje razširitve proizvajalca grozda FlipFlop
Odgovor za AddArguments, ki vrne vsoto. Ukaz, ki sprejme dva argumenta uint8 in vrne njuno vsoto. Preprost ukaz brez parametrov in brez odziva.
Atributi, specifični za proizvajalca, v skupinah standardnih snovi
Atribute, specifične za proizvajalca, lahko dodate kateri koli standardni gruči Matter z naslednjimi zahtevami:
T aaaa grozd, v katerem morajo biti navedeni atributi –
razširjeno > “>
Koda atributa je 32-bitna kombinacija kode proizvajalca in ID-ja atributa. Najpomembnejših 16 bitov je koda proizvajalca. Razpon za kode proizvajalca testa je 0xFFF1 – 0xFFF4. Najmanj pomembnih 16 bitov je ID atributa. Razpon za neglobalne atribute je 0x0000 – 0x4FFF.
Exampdatoteka razširitve gruče On/Off Matter z atributi, specifičnimi za proizvajalca:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true”>SampSpecifični atribut le Mfg 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true”>SampSpecifični atribut le Mfg 4
Ukazi, specifični za proizvajalca, v grozdih standardnih snovi
Ukaze, specifične za proizvajalca, lahko dodate v katero koli standardno gručo Matter z naslednjimi zahtevami:
T aaaa grozd, v katerega se pošiljajo ukazi, mora biti določen –
razširjeno > “>
Koda ukaza je 32-bitna kombinacija kode proizvajalca in ID-ja za ukaz. Najpomembnejših 16 bitov je koda proizvajalca. Razpon za kode proizvajalca testa je 0xFFF1 – 0xFFF4. Najmanj pomembnih 16 bitov je ID ukaza. Razpon za neglobalne ukaze je 0x0000 – 0x00FF.
Example razširitve gruče On/Off Matter z gručami, specifičnimi za proizvajalca:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
15/35
XML po meri
<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ izbirno=”true”> Odjemalski ukaz, ki vklopi napravo s prehodom, ki ga določi čas prehoda v Ember Sample atribut prehodnega časa.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ optional=”true”>
Odjemalski ukaz, ki preklopi napravo s prehodom, ki ga poda čas prehoda v Ember Sample atribut prehodnega časa.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
16/35
Naslednji dokument govori o vsakem od xml tags povezana z Zigbeejem.
Vsak xml file je navedena med konfiguratorjem tags:
Podatkovne tipe lahko definiramo znotraj konfiguratorja tag. Zigbee trenutno podpira definicijo bitnih slik, enumov, celih števil, nizov ali struktur. Pred definiranjem več tipov preverite vse obstoječe atomske tipe, definirane v types.xml, in vse neatomske tipe, definirane v drugem xml files. Lahko jih definirate na naslednji način:
Bitna slika: ime: ime vrste bitne slike. tip: definirati je mogoče bitno sliko z velikostjo med 8 in 64 bitov, ki morajo biti vse večkratniki števila 8. Vsaka bitna slika ima lahko več polj z imenom in masko, povezanih z njo. npr.:
“`
Enum: ime: ime tipa enum. vrsta: Enum z velikostjo med 8-64 bitov je mogoče definirati, vsi morajo biti večkratniki števila 8. Vsak enum ima lahko več elementov z imenom in vrednostjo, ki je povezana z njim. npr.:
Integer: Celoštevilski tipi so že definirani pod atomskimi tipi, ki obstajajo v types.xml. Njihova velikost je lahko od 8 do 64 bitov in so lahko predpisani ali nepodpisani. npr.:
Niz: Vrste nizov so že definirane pod atomskimi tipi, ki obstajajo v types.xml. Trenutne vrste nizov vključujejo oktetni niz, niz znakov, dolg oktetni niz in dolg niz znakov, npr.
Struct: ime: ime tipa strukture. Vsaka struktura ima lahko več postavk z imenom in vrsto, ki je povezana z njo. Vrsta je lahko katera koli vnaprej določena vrsta pod tipi podatkov. npr.:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
17/35
XML po meri Tags za Zigbee
<item name=”structItem1″ type=” Any defined type name in the xml files]”/>
Grozde po meri lahko definirate znotraj konfiguratorja tag. ime: ime domene gruče: domena gruče. Grozd bo prikazan v uporabniškem vmesniku ZAP pod to domeno. opis: Opis kode gruče: definicija kode gruče: definicija gruče, ki jo generator kode uporablja za definiranje gruče na določen način manufacturerCode: Uporablja se za definiranje grozda, specifičnega za proizvodnjo. To mora biti med 0xfc00 – 0xffff. Kodo proizvajalca za gručo je treba definirati na naslednji način:
Proizvodni grozd samodejno naredi atribute in ukaze pod njim iste kode proizvajalca, razen če izrecno navede kodo proizvajalca. createdIn: Uporablja se za določitev različice specifikacije, v kateri je bila uvedena gruča. To uporablja generator kode za dodajanje dodatne logike. removeIn: Uporablja se za določitev različice specifikacije, v kateri je bila gruča odstranjena. To uporablja generator kode za dodajanje dodatne logike. singleton(boolean): Uporablja se za določitev gruče kot enojne, tako da je samo en primerek te gruče v skupni rabi med končnimi točkami. atribut: definira atribut za ime gruče: ime atributa je omenjeno med atributom tag.
ime atributa
stran (odjemalec/strežnik): Stran gruče, s katero je povezan tudi atribut. koda: koda atributa koda proizvajalca: To lahko uporabite za definiranje atributa, specifičnega za proizvajalca, zunaj specifikacije zigbee, ki jo omenja standardni xml. define: atribut define, ki ga generator kode uporablja za definiranje atributa na določen način type: tip atributa, ki je lahko katera koli od podatkovnih vrst, omenjenih v xml default: privzeta vrednost za atribut. min: Najmanjša dovoljena vrednost za atribut max: Največja dovoljena vrednost za zapisljiv atribut: Ali je vrednost atributa zapisljiva ali ne. To lahko uporabite za preprečitev spreminjanja atributa z ukazi za pisanje. izbirno (boolean): Uporablja se za določanje, ali je atribut izbiren ali ne za gručo. min: Najmanjša dovoljena vrednost za atribut, če je celo število, enum ali vrsta bitne slike. max: Največja dovoljena vrednost za atribut, ko je celo število, enum ali vrsta bitne slike. Dolžina: Uporablja se za določitev največje dolžine atributa, ko je vrste niz. minLength: Uporablja se za določitev najmanjše dolžine atributa, ko je vrste niz. reportable(boolean): pove, ali je o atributu mogoče poročati ali ne isNullable(boolean): dovoljuje ničelne vrednosti za atribut. array(boolean): Uporablja se za deklaracijo atributa tipa array. createdIn: Uporablja se za določitev različice specifikacije, v kateri je bil atribut uveden. To uporablja generator kode za dodajanje dodatne logike. removeIn: Uporablja se za določitev različice specifikacije, v kateri je bil atribut odstranjen. To uporablja generator kode za dodajanje dodatne logike. ukaz: definirajte ukaz za ime gruče: Ime ukaza.
koda: koda ukaza
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
18/35
XML po meri Tags za Zigbee
koda proizvajalca: to lahko uporabite za definiranje posebnega ukaza proizvajalca zunaj specifikacije zigbee, ki jo omenja standardni xml. description: opis ukaza source(client/server): vir ukaza. izbirno (boolean): Uporablja se za ugotavljanje, ali je ukaz neobvezen ali ne za gručo. createdIn: Uporablja se za določitev različice specifikacije, v kateri je bil ukaz predstavljen. To uporablja generator kode za dodajanje dodatne logike. removeIn: Uporablja se za določitev različice specifikacije, v kateri je bil ukaz odstranjen. To uporablja generator kode za dodajanje dodatne logike. argumenti ukaza:
Vsak ukaz ima lahko nabor argumentov ukaza ime: ime tipa argumenta ukaza: tip argumenta ukaza, ki je lahko kateri koli tip, omenjen v xml. min: Najmanjša dovoljena vrednost za argument, če je celo število, enum ali tip bitne slike. max: Največja dovoljena vrednost za argument, ko je celo število, enum ali tip bitne slike Dolžina: Uporablja se za določitev največje dovoljene dolžine za ukazni argument, ko je vrste niz. minLength: Uporablja se za določitev najmanjše dovoljene dolžine za argument ukaza, ko je tipa niz. array(boolean): Za ugotavljanje, ali je argument ukaza tipa array. presentIf(string): To je lahko pogojni niz logičnih operacij, ki temeljijo na drugih ukaznih argumentih, kjer lahko pričakujete ukazni argument, če je pogojni niz ocenjen kot resničen. npr.:
Opomba: tukaj je stanje drugo ime argumenta ukaza. izbirno (boolean): Uporablja se za določitev ukaznega argumenta kot neobveznega. countArg: Uporablja se, ko je argument ukaza tipa array. To se uporablja za omembo drugega ukaznega argumenta, ki označuje velikost matrike za ta argument.
createdIn: Uporablja se za določitev različice specifikacije, v kateri je bil uveden ukazni argument. To uporablja generator kode za dodajanje dodatne logike. RemovedIn: Uporablja se za določitev različice specifikacije, v kateri je bil ukazni argument odstranjen. To uporablja generator kode za dodajanje dodatne logike. Cluster Extension lahko definirate znotraj konfiguratorja tag. Razširitev gruče se uporablja za razširitev standardne gruče s proizvodnimi atributi in ukazi, npr
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
19/35
XML po meri 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″ optional=”true” manufacturerCode=”0 1002″>SampSpecifični atribut le Mfg: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>SampSpecifični atribut le Mfg: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ type=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ optional=”true” manufacturerCode=”0 1002″>SampSpecifični atribut le Mfg: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true” manufacturerCode=”0 1049″>SampSpecifični atribut le Mfg: 0 0001 0 1040ampleMfgSpecificOffWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki izklopi napravo z danim prehodom
do prehodnega časa v Ember Sample atribut prehodnega časa.ampleMfgSpecificOnWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki vklopi napravo z danim prehodom
do prehodnega časa v Ember Sample atribut prehodnega časa.ampleMfgSpecificToggleWithTransition” optional=”true” manufacturerCode=”0 1002″> Odjemalski ukaz, ki preklopi napravo z danim prehodom
do prehodnega časa v Ember Sample atribut prehodnega časa.ampleMfgSpecificOnWithTransition2″ optional=”true” manufacturerCode=”0 1049″> Odjemalski ukaz, ki vklopi napravo z danim prehodom
do prehodnega časa v Ember Sample atribut prehodnega časa.ampleMfgSpecificToggleWithTransition2″ optional=”true” manufacturerCode=”0 1049″> Odjemalski ukaz, ki preklopi napravo z danim prehodom
do prehodnega časa v Ember Sample atribut prehodnega časa.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
20/35
Več vrst naprav na končno točko
To je samo zadevna funkcija, kjer lahko uporabnik izbere več kot eno vrsto naprave na končno točko. Dodatek več vrst naprav aaa bo konfiguracije gruče znotraj vrst naprav dodal konfiguraciji končne točke.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
21/35
Več vrst naprav na končno točko
Zgornja slika prikazuje, da ima končna točka 1 izbrano več kot eno vrsto naprave. »Primarna naprava« označuje primarno vrsto naprave, s katero bo povezana končna točka. Primarna vrsta naprave je vedno prisotna na indeksu 0 na seznamu izbranih vrst naprav, zato bo izbira druge primarne vrste naprave spremenila vrstni red izbranih vrst naprav. Izbire vrste naprave imajo tudi omejitve na podlagi specifikacije podatkovnega modela. ZAP ščiti uporabnike pred izbiro neveljavnih kombinacij vrst naprav na končni točki s temi omejitvami.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
22/35
Stran s funkcijami vrste naprave Matter
Stran s funkcijami vrste naprave Matter
Stran s funkcijami vrste naprave Matter
ZAP podpira vizualizacijo in preklapljanje funkcij Matter na strani s funkcijami vrste naprave. Prikazane bodo samo funkcije vrste naprave, določene v material-devices.xml v repozitoriju CHIP.
Navigacija do strani s funkcijami
ò Zaženite ZAP v Matter s posodobljenim Matter SDK. ó Ustvarite končno točko z vrsto naprave Matter. ô Kliknite gumb Device Type Features na zgornji sredini gruče view. Upoštevajte, da je ta gumb na voljo samo v ZAP
konfiguracije za Matter in kdaj podatki o skladnosti obstajajo v Matter SDK. S klikom na ta gumb se odpre zgornja slika.
Skladnost
Skladnost definira izbirnost in odvisnost za atribute, ukaze, dogodke in vrste podatkov. Določa, ali je element obvezen, neobvezen ali nepodprt v določenih konfiguracijah ZAP.
Skladnost funkcij vrste naprave ima prednost pred skladnostjo funkcij gruče. Na primerample ima funkcija osvetlitve izbirno skladnost v gruči za vklop/izklop, vendar je deklarirana kot obvezna v vrsti naprave za vklop/izklop luči, ki vključuje gručo za vklop/izklop. Če ustvarite končno točko z vrsto naprave On/Off Light, bo funkcija osvetlitve prikazana kot obvezna na strani s funkcijami.
Preklapljanje funkcij
Ko na strani s funkcijami kliknete preklopni gumb, da omogočite ali onemogočite funkcijo, bo ZAP:
Posodobite povezane elemente (atribute, ukaze, dogodke), da popravite skladnost, in prikažite pogovorno okno, ki prikazuje spremembe.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
23/35
Matter Device Type Feature Page Posodobite bit funkcije v atributu featureMap povezane gruče
Omogoči pogovorno okno funkcij
Onemogoči pogovorno okno funkcij
Preklapljanje je onemogočeno za nekatere funkcije, če ima njihova skladnost neznano vrednost ali trenutno nepodprto obliko t. V tem primeru bo ZAP prikazal opozorila v aplikaciji za obvestila.
Skladnost z elementom Wa
Ko preklopite element, lahko ZAP prikaže opozorila o skladnosti naprave in opozorila o skladnosti. Če se stanje elementa ne ujema s pričakovano skladnostjo, bo ZAP prikazal opozorilno ikono in zabeležil opozorilo v aplikaciji za obveščanje. nprampdatoteka opozoril o skladnosti in skladnosti, prikazanih za element:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
24/35
Obvestila
Obvestila
Obvestila
Naslednji razdelek določa, kako se v uporabniškem vmesniku dajejo obvestila uporabnikom ZAP.
Obvestila o paketih
Obvestila o paketih so opozorila ali sporočila o napakah, povezana s katerim koli posebnim paketom, naloženim v ZAP. Na primerample, na spodnjih slikah vas bo klik opozorilne ikone pod stolpcem stanja vodil do pogovornega okna, ki prikazuje vsa obvestila za ta paket.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
25/35
Obvestila
Obvestila o seji
Obvestila o seji so opozorila ali sporočila o napakah, ki so povezana z uporabniško sejo. Ta opozorila/napake si lahko ogledate s klikom na gumb Obvestila v orodni vrstici na vrhu uporabniškega vmesnika ZAP. Na primerample, spodnja slika prikazuje stran z obvestili o seji po isc file je bil naložen v ZAP.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
26/35
Skladnost s specifikacijo podatkovnega modela/ZCL
Skladnost s specifikacijo podatkovnega modela/ZCL
Skladnost podatkovnega modela in specifikacije ZCL
Ta funkcija v ZAP pomaga uporabnikom videti napake skladnosti za podatkovni model ali ZCL z njihovimi obstoječimi konfiguracijami ZAP. Opozorilna sporočila za neskladnost bodo prikazana v podoknu z obvestili v uporabniškem vmesniku ZAP in bodo tudi prijavljena na konzolo, ko ZAP izvajate prek CLI. Funkcija skladnosti trenutno zagotavlja opozorila glede skladnosti vrste naprave in skladnosti gruče na končni točki.
Opozorila o skladnosti v uporabniškem vmesniku ZAP
Ko uporabnik odpre .zap file z uporabniškim vmesnikom ZAP bodo v podoknu z obvestili uporabniškega vmesnika ZAP videli opozorila za vse napake skladnosti. Na primerample, spodnja slika prikazuje stran z obvestili o seji po .zap file je bil odprt zaradi težav s skladnostjo.
Sporočila o skladnosti bodo izginila, ko bodo težave odpravljene z uporabniškim vmesnikom ZAP, tako da lahko spremljate le preostale težave s skladnostjo. Nova opozorila se bodo prikazala tudi glede skladnosti, če uporabnik onemogoči obvezne elemente (gručo/ukaze/atribute) konfiguracije. Obvestila o skladnosti s specifikacijami bodo vedno spremljala vse napake, ki so vnesene v konfiguracijo ZAP, vendar upoštevajte, da opozorila, ki se prikažejo med odpiranjem .zap file so bolj podrobno razložena, zakaj ni bila skladna v primerjavi z opozorili, ki se prikažejo med interakcijo z uporabniškim vmesnikom. To je po zasnovi in popolno preverjanje skladnosti se izvede med odpiranjem .zap file.
Opozorila o skladnosti na konzoli
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
27/35
Skladnost s specifikacijo podatkovnega modela/ZCL
Ko uporabnik odpre .zap file z uporabo samostojnega uporabniškega vmesnika ZAP ali ZAP CLI bodo videli opozorila, prijavljena v konzolo/terminal za vse napake skladnosti. Na primerample, spodnja slika prikazuje obvestila o seji na konzoli/terminalu po .zap file je bil odprt zaradi težav s skladnostjo.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
28/35
Nadzor dostopa
Funkcije nadzora dostopa
ZAP podpira nadzor dostopa do vseh entitet ZCL. Za preslikavo teh funkcij v zahtevane in podprte funkcije SDK za nadzor dostopa je odvisno od implementacije SDK-ja. ZAP na splošno zagotavlja podatkovni model in mehanizem za njegovo kodiranje v meta-info files in razširja te podatke v predloge za ustvarjanje, ne da bi podatkovnim točkam dodelil posebne pomene.
Osnovni pogoji
Nadzor dostopa ZAP opredeljuje tri osnovne izraze, kot sledi: ò delovanje : definirano kot nekaj, kar je mogoče narediti. nprample: brati, pisati, klicati. ó vloga: opredeljena kot privilegij igralca. Kot na primer "View privilegij«, »Upravna vloga« in sin naprej. ô modifikatorji: opredeljeni kot posebni pogoji nadzora dostopa, kot so občutljivi podatki v omrežju ali podatki v obsegu v omrežju. Osnovni izrazi so opredeljeni v metapodatkih XML pod vrhom tag . Sledi bivšiampdefinicije osnovnih izrazov za nadzor dostopa:
<role type=”view” opis=”View privilegij”/>
Ta bivšiample definira tri operacije, branje, pisanje in priklic, dva modifikatorja in štiri vloge.
Dostop do trojčkov
Vsak posamezen pogoj dostopa je mogoče definirati s trojčkom dostopa v XML. Triplet dostopa je kombinacija operacije, vloge in modifikatorja. So izbirni, zato lahko imate samo enega od teh. Manjkajoči del tripleta običajno pomeni permissivenes, kar je specifično za izvedbo za dani SDK. Entiteta, ki definira svoj dostop, ima lahko enega ali več trojčkov dostopa. Sledi bivšiample:
pri0
To je definicija atributa, ki ima trojček dostopa, ki izjavlja, da dovoljuje operacijo pisanja z vlogo upravljanja z uporabljenim modifikatorjem v obsegu tkanine.
Privzeta dovoljenja
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
29/35
Nadzor dostopa
Entitete ZCL lahko določijo lastna individualna dovoljenja. Vendar pa obstaja tudi globalna definicija privzetih dovoljenj za
dane vrste. Te so predpostavljene za dano entiteto, razen če sama zagotovi kakršna koli posebna dovoljenja.
Privzeta dovoljenja so navedena prek a tag na najvišji ravni XML file. Nprample:
aa a< ccess op=”invoke”/> a a aa < ccess op=”re d”/> a< ccess op=”write”/> a aa aa < ccess op=”re d” role=”view”/> aa < ccess op=”write” role=”oper te”/> a
Pomočniki predlog
Osnovni pomočnik predloge za uporabo je iterator {{#access}} … {{/access}}. Ta iterator ponovi vse dane trojčke dostopa.
Podpira naslednji dve možnosti:
entiteta=”atribut/ukaz/dogodek” – če entitete ni mogoče določiti iz konteksta, to nastavi vrsto entitete. includeDefault=”true/false” – določa, ali so privzete vrednosti vključene ali ne. Sledi bivšiample:
{{#zcl_clusters}}
a Grozd: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa – ttribute: {{n me}} [{{code}}] aa {{# ccess entity=” ttribute”}}
O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_ ttributes}} a {{#zcl_comm nds}} aa – comm nd: {{n me}} [{{code}}] aa {{# ccess entity=”comm nd”}} O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – dogodek: {{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}}
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
30/35
Zagon aplikacij ZAP for Matter ali Zigbee
Zagon aplikacij ZAP for Matter ali Zigbee
Zagon aplikacij ZAP for Matter ali Zigbee
Naslednji razdelki opisujejo zagon ZAP v samostojnem načinu z metapodatki, specifičnimi za Matter ali Zigbee. Ideja je zagnati ZAP s pravilnimi argumenti, povezanimi z metapodatki XML (definicijami gruč in vrst naprav v skladu s specifikacijami CSA) in predlogami za generiranje, ki se uporabljajo za generiranje ustrezne kode.
Zagon ZAP z materijo
Naslednji skript pobere pravilne metapodatke iz Matter SDK ob zagonu ZAP. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Opomba: Uporabite lahko tudi naslednji pristop Zigbee za zagon ZAP v Matter.
Zagon ZAP z Zigbee
Naslednji ukaz zažene ZAP s specifikacijami ZCL in predlogami za generiranje iz SDK.
[zap-pot] -z [sdk-pot]/gsdk/app/zcl/zcl-zap.json -g [sdk-pot]/gsdk/protocol/zigbee/app/framework/gen-template/gen-templates.json
zap-path: To je pot do vira ZAP ali izvršljivega sdk-path: To je pot do SDK-ja
Zagon ZAP brez metapodatkov
Ne pozabite, da ko zaženete ZAP neposredno prek izvršljive datoteke ali iz vira z uporabo npm run zap, zaženete ZAP s preskusnimi metapodatki za Matter/Zigbee, vgrajenimi v ZAP, in ne z dejanskimi metapodatki, ki prihajajo iz zgoraj omenjenih SDK-jev Matter in Zigbee. Zato ne pozabite ustvariti svojih konfiguracij ZAP z uporabo metapodatkov SDK in ne z neposrednim odpiranjem ZAP z vgrajenimi testnimi metapodatki.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
31/35
Ustvarjanje kode za Matter ali Zigbee
Ustvarjanje kode za Matter, Zigbee ali SDK po meri
Naslednji razdelki opisujejo, kako ustvariti kodo z uporabo ZAP.
Ustvarite kodo z uporabniškim vmesnikom ZAP
Zaženite uporabniški vmesnik ZAP v skladu z navodili v Zagon ZAP for Matter ali Zigbee in kliknite gumb Generate v zgornji menijski vrstici.
Ustvarite kodo brez uporabniškega vmesnika
Naslednja navodila ponujajo različne načine generiranja kode prek CLI brez zagona uporabniškega vmesnika ZAP.
Generiranje kode iz vira ZAP
Zaženite naslednji ukaz za ustvarjanje kode z uporabo ZAP iz vira: vozlišče 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
Ustvarjanje kode iz izvršljive datoteke ZAP
Zaženite naslednji ukaz za ustvarjanje kode z izvedljivo datoteko ZAP: [zap-path] generate –genResultFile –stateDirectory ~/.zap/gen -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-
templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp
Generiranje kode iz izvršljive datoteke ZAP CLI
Zaženite naslednji ukaz za ustvarjanje kode z izvedljivo datoteko ZAP CLI: [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
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
32/35
Posodobite ZAP v Studiu
Posodobite ZAP
Posodobite ZAP v Simplicity Studio
Ta mehanizem je mogoče uporabiti pri delu z razširitvijo Matter ali Zigbee iz izdaj Silicon Labs SDK. ZAP je mogoče posodobiti znotraj Simplicity Studio brez izdaje Simplicity Studio, tako da prenesete najnovejšo izvršljivo datoteko ZAP (priporočeno) ali potegnete najnovejšo iz vira ZAP, kot je prikazano v Navodilih za namestitev ZAP. Ko imate najnovejši ZAP, ki temelji na trenutno uporabljenem OS, lahko posodobite ZAP v Studiu kot adapterski paket. Po prenosu najnovejšega ZAP sledite spodnjim navodilom:
Pojdite v Simplicity Studio in izberite Preferences > Simplicity Studio > Adapter Packs. Kliknite Dodaj… in poiščite razširjeno mapo ZAP, ki ste jo prenesli, ter kliknite Izberi mapo. Kliknite »Uporabi« in »Zapri«, nato pa bo na novo dodan ZAP uporabljen vsakič, ko bo .zap file je odprta.
Opomba: včasih se morda že izvajajo starejši primerki ZAP, tudi po posodobitvi na najnovejši ZAP. Prepričajte se, da ste končali vse obstoječe primerke ZAP, tako da bo namesto starega primerka, ki še vedno deluje v ozadju, uporabljen na novo pridobljeni ZAP.
Posodobite ZAP za razvoj snovi v Githubu
Ko delate z repozitorijem Matter ali Matter-Silicon Labs na Githubu, nastavite spremenljivke okolja glede na ZAP, da ustvarite/generirate nove konfiguracije ZAP ali ponovno ustvarite obstoječeample konfiguracije ZAP, potem ko jih spremenite. Nastavite ZAP_DEVELOPMENT_PATH na ZAP iz vira tako, da povlečete najnovejšo ali nastavite ZAP_INSTALLATION_PATH na ZAP izvršljivo datoteko, ki ste jo nazadnje prenesli v vašem lokalnem imeniku. Upoštevajte, da ko sta nastavljeni tako ZAP_DEVELOPMENT_PATH kot ZAP_INSTALLATION_PATH, se uporabi ZAP_DEVELOPMENT_PATH.
Sledijo prampdatoteke, ki prikazujejo zgornje spremenljivke okolja v uporabi:
Zagon ZAP z uporabo specifikacije zadeve Regeneracija vseh sample konfiguracije ZAP za aplikacije Matter
Opomba: Ko uporabljate izvedljive datoteke ZAP, zagotovite, da namesto nočne izdaje uporabljate uradno izdajo za večjo stabilnost. glej
Prenos izvedljive datoteke ZAP v priročniku za namestitev ZAP
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
33/35
Sočasni večprotokol med Zigbee in Matter
Sočasni večprotokol med Zigbee in Matter
MCoanttceurrrent Večprotokol med Zigbee in
ZAP je mogoče uporabiti za konfiguracijo konfiguracij ZCL (Zigbee) in Data-Model (Matter) v aplikaciji z več protokoli za Zigbee in Matter. ZAP vam omogoča ustvarjanje končnih točk za Zigbee in Matter eksplicitno v isti konfiguraciji file. Če sta končni točki Zigbee in Matter na istem identifikatorju končne točke (nprample, LO Dimmable Light na končni točki Id 1 in Matter Dimmable Light na drugi instanci končne točke 1), ZAP poskrbi za sinhronizacijo skupnih atributov v atributih Matter in Zigbee. Prepričajte se, da imajo atributi, ki se sinhronizirajo, isto vrsto podatkov. Skupne lastnosti med Zigbeejem in Matterjem so vzpostavljene prek a file imenovan multi-protocol.json. Uporabnik lahko poveže kateri koli dve gruči prek Zigbee in Matter skupaj z njunimi ustreznimi atributi z uporabo kod gruče oziroma atributa. to file najdete v [SDKPath]/app/zcl/multi-protocol.json. to file je bil za začetek posodobljen z določenim naborom gruč in atributov, vendar lahko uporabnik to posodobi file po potrebi, ZAP pa bo poskrbel za sinhronizacijo konfiguracije atributov med Zigbee in Matter za skupne identifikatorje končnih točk.
Vadnico ZAP najdete tudi v kateri koli aplikaciji z več protokoli Zigbee and Matter na strani z vadnicami. Ta vadnica vas bo vodila skozi postopek ustvarjanja aplikacije z več protokoli. Ta vadnica je na voljo samo, ko odprete obstoječo aplikacijo z več protokoli in jo najdete, kot je prikazano na spodnji sliki:
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
34/35
Integrirajte SLC CLI z ZAP
Integrirajte SLC CLI z ZAP
Integrirajte SLC CLI z ZAP
Za integracijo SLC CLI z ZAP sledite tem korakom: ò Namestite SLC CLI po navodilih za namestitev v uporabniškem priročniku za Simplicity Studio 5. ó Namestite ZAP po navodilih v Navodilih za namestitev ZAP. ô Za integracijo SLC CLI z ZAP dodajte spremenljivko okolja STUDIO_ADAPTER_PACK_PATH, ki kaže na aplikacijo ZAP
imenik. õ Ne pozabite znova zagnati SLC CLI Daemon po 3. koraku. ö Vsak projekt, ki uporablja ZAP, bo zdaj uporabil pot, definirano v 3. koraku, ko je ustvarjen iz SLC CLI. Glejte SLC CLI
Uporaba za navodila o uporabi SLC CLI za vaše projekte.
Avtorske pravice © 2025 Silicon Laboratories. Vse pravice pridržane.
35/35
Dokumenti / Viri
![]() |
SILICON LABS ZAP razvija s Silicon Labs [pdf] Priročnik za lastnika ZAP razvija s Silicon Labs, ZAP, razvija s Silicon Labs, Silicon Labs, Labs |