Silicon-Labs-LOGO

ZAP ontwikkel met Silicon Labs

ZAP-Ontwikkel-Met-Silicon-Labs-PRODUCT

Spesifikasies

  • Produk Naam: Silicon Labs ZAP
  • Tipe: Kodegenerering-enjin en gebruikerskoppelvlak
  • Verenigbaarheid: Zigbee Cluster Library (Zigbee) of Data Model (Materie)
  • Ontwikkel deur: Connectivity Standards Alliance

Produkgebruiksinstruksies

  • ZAP Aan die gang
    • Volg hierdie stappe om met ZAP te begin:
      • Laai die ZAP-uitvoerbare bestand af van die amptelike bewaarplek af.
      • Installeer die afhanklikhede met behulp van npm install opdrag.
      • Vir Windows-spesifieke installasie, verwys na die ZAP Installation for Windows OS-gids.
  • Zigbee Ontwikkeling
    • As jy Zigbee-toepassings ontwikkel:
      • Gebruik Simplicity Studio wat ZAP en ander nodige gereedskap insluit.
  • Materie Ontwikkeling
    • As jy Matter-toepassings ontwikkel:
      • Opsies sluit in die gebruik van Simplicity Studio of toegang tot die Silicon Labs of CSA Github-bewaarplekke.
      • Verwys na die opdateringsinstruksies vir ZAP buite die Simplicity Studio-vrystellingsiklus indien nodig.

Gereelde vrae

  • V: Wat is die verskillende weergawes van ZAP-binaries beskikbaar?
    • A: Daar is twee weergawes beskikbaar – Amptelike vrystelling met geverifieerde bouwerk en voorafvrystelling met die nuutste kenmerke.
  • V: Wat moet ek doen as ek inheemse biblioteeksamestellingsprobleme tydens installasie ondervind?
    • A: Verwys na die FAQ-inligting oor platformspesifieke skrifte om sulke probleme op te los.

"`

Silicon Labs ZAP
Silicon Labs ZAP

Ontwikkel met Silicon Labs ZAP

Aan die gang
ZAP Kom weer aan die gangview ZAP Installasie ZAP Installasie Windows Gereelde vrae
Fundamentals ZAP Fundamentals
Gebruikersgids ZAP Gebruikersgids verbyview Gepasmaakte XML Gepasmaakte XML Tags vir Zigbee Veelvuldige toesteltipes per eindpunt Materie Toesteltipe Kenmerk Bladsykennisgewings Data-Model/ZCL-spesifikasie Voldoening Toegangsbeheer Begin ZAP for Matter of Zigbee toepassings Genereer kode vir Matter of Zigbee Opdateer ZAP in Studio Gelyktydige multi-protokol tussen Zigbee en Matter Integreer SLC CLI met ZAP

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

1/35

Ontwikkel met Silicon Labs ZAP
Ontwikkel met Silicon Labs ZAP
ZAP
ZAP is 'n generiese kodegenerering-enjin en gebruikerskoppelvlak vir toepassings en biblioteke gebaseer op die Zigbee Cluster Library van Zigbee of die Data Model from Matter. Die spesifikasie is ontwikkel deur die Connectivity Standards Alliance. ZAP laat jou toe om die volgende bewerkings uit te voer:
Voer SDK-spesifieke pasgemaakte generering uit van alle globale artefakte (konstante, tipes, ID's, ensovoorts) gebaseer op die ZCL/Data-Model spesifikasie. Voer SDK-spesifieke pasgemaakte generering uit van alle gebruiker-geselekteerde konfigurasie-artefakte (toepassingkonfigurasie, eindpuntkonfigurasie, ensovoorts) gebaseer op ZCL/Data-Model-spesifikasie en toepassingkonfigurasie wat deur die klant verskaf word. Verskaf UI vir die eindgebruiker om 'n spesifieke toepassingkonfigurasie te kies (eindpunte, trosse, eienskappe, opdragte, ensovoorts).

ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (1)

Die inhoud in hierdie afdelings beskryf hoe om Zigbee en Matter-toepassings te ontwikkel deur die ZCL (Zigbee) of Data Model (Matter) Lae met behulp van ZAP op te stel.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

2/35

ZAP Aan die gang

ZAP Aan die gang
Aan die gang met ZAP
Hierdie afdelings beskryf verskillende metodes om Zigbee- en Matter-toepassings te skep. Let daarop dat Simplicity Studio 'n manier bied om jou Zigbee- en Matter-toepassings van einde tot einde te skep waar alle gereedskap vooraf geïnstalleer is saam met Simplicity Studio (insluitend ZAP). Jy kan ook besluit om ander maniere te verken om jou toepassings te skep, soos hier beskryf.
Zigbee Ontwikkeling
Zigbee-toepassingsontwikkelaars kan hul toepassings bou deur Simplicity Studio te gebruik, wat reeds ZAP en ander hulpmiddels insluit wat u help om u toepassing van einde tot einde te bou.
Materie Ontwikkeling
Matter Toepassingsontwikkelaars kan hul toepassings bou deur die volgende metodes te gebruik: Simplicity Studio: Dit sluit ZAP en ander gereedskap in wat nodig is om die Matter-toepassing van einde tot einde te bou. Github (Silicon Labs) Github (CSA)
Let wel: Om ZAP buite die Simplicity Studio-vrystellingsiklus op te dateer, sien werk ZAP in Simplicity Studio en ZAP Installation Guide

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

3/35

ZAP installasie

Die volgende afdelings beskryf ZAP-installasie en hoe om ZAP in Simplicity Studio IDE op te dateer.
Laai die ZAP-uitvoerbare aanbeveel af)
Dit is die aanbevole manier om met ZAP te begin. Jy kan die nuutste ZAP-binaries van aa kry https://github.com/project-chip/zp/releses. Voorafgeboude binaries kom in twee verskillende weergawes.
Amptelike vrystelling: Geverifieerde bouwerk met toegewyde Matter- en Zigbee-toetssuites. Die vrystellingnaamformaat is vJJJJ.DD.MM. Voorvrystelling: Bou met die nuutste kenmerke en foutoplossings, maar hierdie bouwerk word NIE met toegewyde Matter- en Zigbee-toetssuites geverifieer nie. Die vrystellingnaamformaat is vJJJJ.DD.MM-nagliks.
Installeer ZAP vanaf Bron
Basiese instruksies om ZAP te installeer
Omdat dit 'n node.js-toepassing is, moet die node-omgewing geïnstalleer word. Die beste manier om dit te doen is om die nuutste installering van node af te laai, wat node en npm insluit. As jy 'n ouer weergawe van node op jou werkstasie geïnstalleer het, kan dit probleme veroorsaak, veral as dit baie oud is. Maak seker jy het die nuutste node v16.x weergawe met die npm wat ingesluit is. Begin node-weergawe om te kyk watter weergawe opgetel is. v18.x word aanbeveel. Nadat u 'n gewenste weergawe van node het, kan u die volgende uitvoer:
Installeer die afhanklikhede
Gebruik die volgende opdragte om afhanklikhede te installeer:

ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (2)
npm installeer
Let wel: Vir Windows-spesifieke ZAP-installasie, sien ZAP-installasie vir Windows-bedryfstelsel Dit is nie ongewoon om op hierdie stadium inheemse biblioteeksamestellingsprobleme te ondervind nie. Daar is verskeie src-script/install-* skrifte vir verskillende platforms. Sien FAQ-inligting oor watter skrip om op verskillende platforms te laat loop en voer dan npm install weer uit.
Begin die toepassing
Gebruik die volgende opdragte om die toepassing te begin:

ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (3)
npm hardloop zap
Begin die front-end in ontwikkelingsmodus
Ondersteun warmkode-herlaai, foutrapportering, ensovoorts. Gebruik die volgende opdragte om die voorkant in ontwikkeling te begin
modus:ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (4)
kwasaar dev -m elektron
or

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

4/35

ZAP Insta by o ll in
npm hardloop elektron-dev

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

5/35

ZAP Installasie Windows
ZAP Installasie Windows
ZAP-installasie vir Windows-bedryfstelsel
1. Windows Powershell
Voer Windows Powershell in in die werkskerm-soekbalk en hardloop as administrateur. Voer al die volgende opdragte binne Powershell uit.
2. Sjokoladeagtig
Installeer vanaf https://chocolatey.org/install. Kontroleer of dit behoorlik geïnstalleer is met die volgende opdragte:
sjokolade -v
Installeer pkgconfiglite-pakket met die volgende opdragte:
choco installeer pkgconfiglite
3. Installeer Node
Voer die volgende opdragte uit om te installeer:
choco installeer nodejs-lts
*Die weergawe moet 18 wees om weergawekontroletoets te slaag, na installering, kontroleer met node -v *As jy Node reeds geïnstalleer het, en sommige toetse misluk wat soortgelyk is aan Node nie kan vind nie, herinstalleer Node met chocolatey weer.
4. Volg die basiese instruksies om ZAP te installeer
Volg die ZAP-installasie-instruksies vanaf bron in ZAP-installasie. Let op vir die volgende foute en hoe om dit op te los terwyl u die basiese instruksies vir die installering van ZAP volg:
sqlite3
Wanneer jy ZAP hardloop (bv. npm run zap ), as jy 'n fout oor sqlite3.node in 'n opspringvenster sien, hardloop:
npm herbou sqlite3
elektron-bouer
Wanneer npm-installasie gedoen word, in na-installasie, as 'n fout op die volgende opdrag voorkom wat verband hou met elektron-bouer install-appdeps , npx elektron-herbou-doek het misluk of node-pre-gyp , is die huidige doekweergawe nie versoenbaar met Windows nie en die installasiefout sal nie 'n mislukking in die loop van ZAP veroorsaak nie. node-canvas werk nou aan die oplossing en die probleem sal in die nabye toekoms opgelos word.
“postinstall”: “electron-builder install-app-deps && husky install && npm herbou canvas –update-binary && npm run version-stamp”

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

6/35

ZAP Installasie Windows
Canvas
As npm run toets misluk as gevolg van die fout Toets suite kon nie hardloop nie. Kan nie module '../build/Release/canvas.node' of
zapnode_modulescanvasbuildReleasecanvas.node is nie 'n geldige Win32-toepassing nie. , herbou doek soos volg:
npm herbou doek –update-binary
kry index.html of ander bedienerkwessies
As npm hardlooptoets misluk as gevolg van die fout, kry index.html versoek misluk met statuskode 404 in eenheidstoetse of met bediener
verbindingsprobleme in e2e-ci-toetse, voer die volgende opdragte uit:
npm hardloop bou
Ander
Kyk of die nodus weergawe v18 is en probeer om dit met Chocolatey te installeer.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

7/35

Gereelde vrae
Gereelde vrae
Gereelde Vrae
V: Hoe om UI in 'n ontwikkelingsmodus te begin? A: Jy kan die UI in 'n ontwikkelingsmodus begin, wat sal lei tot 'n volgende opstelling:
Afsonderlike kwasar-ontwikkeling HTTP-bediener, wat regstreeks verfris op poort 8080 ZAP-agterkant wat op poort 9070 Chrome of ander blaaier loop, wat onafhanklik loop Om by daardie opstelling uit te kom, volg die instruksies hieronder. ò Begin eers die ZAP-ontwikkelingsbediener, wat op poort 9070 begin.
npm run zap-devserver - Begin dan die quasar-ontwikkelingsbediener, wat op poort 8080 begin.
quasar dev ô Wys jou blaaier of voer een teen die regte URL met die resPort-argument:
google-chrome http://localhost:8080/?restPort=9070

V: Hoe om dit op Mac/Linux OS te laat werk? A:
npm installering word gebruik om alle vereiste afhanklikheidspakkette af te laai. As jy foute sien wat verband hou met node-gyp en ontbrekende plaaslike biblioteke, soos pixman, ensovoorts, ontbreek jy inheemse afhanklikhede om te bevredig om nie-voorafgeboude node-binaries vir een of ander kombinasie van platforms en weergawes saam te stel. Npm op die wolk is voortdurend besig om die lys van verskafde binaries op te dateer, so dit is moontlik dat jy dit goed sal optel, maar as jy dit nie doen nie, is hierdie instruksies vir verskillende platforms:
Fedora Core met dnf:
dnf installeer pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
of voer skrip uit:
src-script/install-packages-fedora
Ubuntu met apt-get:
apt-get update apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
of voer skrip uit:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

8/35

Gereelde vrae
src-script/install-packages-ubuntu
OSX op 'n Mac met Homebrew brew:
brou installeer pkg-config cairo pango libpng jpeg giflib librsvg
of voer skrip uit:
src-script/install-packages-osx
V: Hoe om dit te laat werk op Windows OS?
A: Maak seker dit is altyd op datum en daar is geen veranderinge wat nie toegepas is nie. Wenk: git pull, git status en git stash is jou vriende. Jy moet Chocolately gebruik om Zap op Windows OS te laat werk. Maak seker dat jy die pkgconfiglite-pakket aflaai.
choco installeer pkgconfiglite
As jy probleme met Kaïro het, bvample as jy 'n fout kry oor cairo.h': Nee so file of gids, doen die volgende: ò Kyk of jou rekenaar 32 of 64 bit is. ó Afhangende daarvan, laai die toepaslike pakket van hierdie webwerf af
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:
Klik op Gevorderde stelselinstellings. Klik in die gevorderde oortjie op Omgewingsveranderlikes. In die afdeling Stelselveranderlikes, vind die PATH-omgewingsveranderlike en kies dit. Klik op Edit en voeg C:/GTK daarby. As die PATH-omgewingsveranderlike nie bestaan ​​nie, klik Nuwe. As jpeglib.h nie gevind word nie, probeer die volgende: ò Op die terminale, hardloop: choco installeer libjpeg-turbo ó Maak seker dit is skoon deur te gebruik: git clean -dxff en hardloop npm installeer weer ô as geen foute voorkom nie en net waarskuwings verskyn, probeer om npm ouditoplossing te gebruik õ as jy nie ZAP kan laat loop nie, gaan na file src-script/zap-start.js ö Verander
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('child_process') ø Hardloop npm en hardloop zap. Verwysings:
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: Ek kry 'n fout "sqlite3_node" nie gevind nie of soortgelyk.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

9/35

Gereelde vrae
A: Herbou jou eie sqlite3-bindings. Om dit in die meeste gevalle reg te stel, hardloop:
npm installeer
./node_modules/.bin/electron-rebuild -w sqlite3 -p
As dit steeds nie reggemaak word nie, doen:
rm -rf node_modules en probeer dan die bogenoemde opdragte weer. Soms maak die opgradering van jou npm ook 'n verskil:
npm installeer -g npm
V: Ek kry 'n fout "Die N-API-weergawe van hierdie Node-instansie is 1. Hierdie module ondersteun N-API-weergawe(s) 3. Hierdie Node-instansie kan nie hierdie module laat loop nie."
A: Gradeer jou node-weergawe op. Die oplossing hiervoor word in hierdie Stack Overflow-draad bespreek: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
V: My ontwikkelingsrekenaar werk om watter rede ookal nie met ZAP nie. Kan ek 'n dokhouer gebruik?
A: Ja, jy kan. TBD.
V: Hoe bestuur ek ZAP binne VSCode?
A: As jy VSCode in jou pad voer, voer die zap repo in en tik kode . Dit sal ZAP in VSCode oopmaak. Om ZAP in ontfoutingsmodus te laat loop, kies die ZAP-werkspasie en klik op die Run-ikoon aan die linkerkantse nutsbalk. Jy sal 'n paar opsies hê om van te kies om ZAP uit te voer, kies Node.js Debug Terminal . Dit sal 'n terminale venster oopmaak waaruit jy npm run zap kan invoer, wat die debugger sal heg en ZAP sal laat loop soos jy normaalweg vanaf die opdragreël sou doen. Baie geluk, jy behoort nou ZAP in die ontfouter te sien loop. Jy kan breekpunte in VSCode stel soos jy in enige ander IDE sou stel.
V: UI-eenheidtoets misluk met sommige foute rondom doek wat nie vir die regte weergawe van nodus gebou is nie. Wat doen ek?
A: As jy die volgende fout sien:ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (5)
FAIL test/ui.test.js Toetssuite kon nie loop nie. Die module 'canvas.node' is saamgestel teen 'n ander Node.js-weergawe deur NODE_MODULE_VERSION 80 te gebruik. Hierdie weergawe van Node.js vereis NODE_MODULE_VERSION 72. Probeer asseblief om die module te hersaamstel of te herinstalleer (byvoorbeeld, `npm rebuild gebruik of `npm rebuild).
by Object. (node_modules/canvas/lib/bindings.js:3 18)
hardloop dan: npm herbou canvas –update-binary

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

10/35

ZAP Fundamentals

ZCL / Data-Model ZAP Fundamentals
Hierdie afdeling bevat inligting vir nuwe ZAP-gebruikers. Klik op die tutoriaal-ikoon in die regter boonste hoek van die ZAP UI, wat wys hoe om 'n ZAP-konfigurasie te skep. Die tutoriaal sal jou deur die volgende lei: Skep 'n eindpunt Kies 'n toesteltipe Stel 'n groep op Stel 'n kenmerk op Stel 'n opdrag op Vir gedetailleerde verwysing, sien Zigbee Cluster Configurator Guide

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

11/35

ZAP Gebruikersgids
ZAP Gebruikersgids
ZAP Gebruikersgids
Die afdelings onder hierdie gids verskaf meer besonderhede oor die verskillende kenmerke wat deur ZAP verskaf word.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

12/35

Pasgemaakte XML

Voeg pasgemaakte XML by vanaf die ZAP UI
Klik op die "Uitbreidings"-ikoon in die ZAP UI. Klik op die "+" voeg by-knoppie om 'n pasgemaakte xml te kies file Die pasgemaakte groepe, eienskappe, opdragte, ens. moet in die ZAP UI verskyn sodra die pasgemaakte xml bygevoeg is.
Skep jou eie persoonlike XML in Zigbee
Die afdeling wys hoe om jou eie pasgemaakte groepe te skep en bestaande standaardgroepe uit te brei met pasgemaakte eienskappe en opdragte vir Zigbee.
Vervaardiger-spesifieke groepe in Zigbee
Jy kan vervaardiger-spesifieke groepe by 'n standaard pro voegfile. Ons verskaf 'n example hiervan hieronder. Om dit te kan doen, moet jy twee verpligtinge nakom:
Die groep-ID MOET in die vervaardigerspesifieke reeks wees, 0xfc00 – 0xffff. Die groepdefinisie moet 'n vervaardigerkode insluit wat toegepas sal word op ALLE kenmerke en opdragte binne daardie groepie en moet verskaf word wanneer opdragte gestuur en ontvang word en met eienskappe interaksie het. Bvample:

ZAP-Ontwikkel-Met-Silicon-Labs-FIG- (6)
Sample Mfg Spesifieke Cluster Algemeen Hierdie groepie bied 'n examplees van hoe die toepassingsraamwerk uitgebrei kan word om vervaardigerspesifieke groeperings in te sluit.
0xFC00
ember sampdie eienskap
ember sampdie kenmerk 2


A sample vervaardiger-spesifieke opdrag binne die aample vervaardiger-spesifiek
cluster.


Vervaardiger-spesifieke opdragte in Standaard Zigbee-groepering
U kan u eie opdragte by enige standaard Zigbee-groepering voeg met die volgende vereistes:
Jou vervaardiger-spesifieke opdragte kan enige opdrag-ID binne die opdrag-ID-reeks, 0x00 – 0xff, gebruik. U moet ook 'n vervaardigerkode vir die opdrag verskaf sodat dit van ander opdragte in die groepie onderskei kan word en toepaslik hanteer kan word. Bvample van die uitbreiding van die Aan/Af-kluster met vervaardigingsopdragte:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

13/35

Pasgemaakte XML
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” opsioneel=”ware” vervaardigerKode=”0 1002″> Kliëntopdrag wat die toestel afskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificOnWithTransition” opsioneel=”ware” vervaardigerKode=”0 1002″> Kliëntopdrag wat die toestel aanskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificToggleWithTransition” optional=”true” manufacturerCode=”0 1002″> Kliëntopdrag wat die toestel omskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificOnWithTransition2″ opsioneel=”ware” vervaardigerKode=”0 1049″> Kliëntopdrag wat die toestel aanskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificToggleWithTransition2″ opsioneel = "waar"
vervaardigerKode="0 1049″> Kliëntopdrag wat die toestel omskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.

Vervaardiger-spesifieke kenmerke in Standaard Zigbee-groepering
Jy kan jou eie eienskappe by enige standaard Zigbee-kluster voeg met die volgende vereistes:
Jou vervaardiger-spesifieke kenmerke kan enige kenmerk-ID binne die kenmerk-ID-reeks, 0x0000 – 0xffff, gebruik. Jy moet ook 'n vervaardigerkode vir die kenmerk verskaf sodat dit van ander kenmerke in die groepering onderskei en toepaslik hanteer kan word. Bvample van die uitbreiding van die Aan/Af-kluster met vervaardigingskenmerke:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” tipe=”INT16U” min=”0 0000″
max=”0xFFFF” skryfbaar=”waar” verstek=”0 0000″ opsioneel=”waar” vervaardigerKode=”0 1002″>Sample Mfg Spesifieke Eienskap: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tipe=”INT8U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true” vervaardigerKode=”0 1049″>Sample Mfg Spesifieke Eienskap: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ tipe=”INT8U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 00″ opsioneel=”true” vervaardigerKode=”0 1002″>Sample Mfg Spesifieke Eienskap: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tipe=”INT16U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true” vervaardigerKode=”0 1049″>Sample Mfg Spesifieke Eienskap: 0 0001 0 1040
Skep jou eie persoonlike XML in Matter
Die afdeling wys hoe om jou eie pasgemaakte groepe te skep en bestaande standaardgroepe uit te brei met pasgemaakte eienskappe en opdragte vir Materie.
Vervaardiger-spesifieke groepe in materie
Jy kan vervaardiger-spesifieke groepe by in Matter voeg. Ons verskaf 'n example hiervan hieronder.
Dit 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.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

14/35

Pasgemaakte XML
In die volgende example, die kombinasie van die verkoper-ID (toetsvervaardiger-ID) van 0xFFF1 en die groep-ID van 0xFC20 lei tot 'n value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Example:
Algemeen Sampdie MEI 0xFFF1FC20 SAMPLE_MEI_CLUSTER Die Sample MEI-kluster vertoon 'n groepvervaardiger-uitbreidings FlipFlop
Reaksie vir AddArguments wat die som terugstuur. Opdrag wat twee uint8-argumente neem en hul som terugstuur. Eenvoudige opdrag sonder enige parameters en sonder 'n reaksie.
Vervaardiger-spesifieke eienskappe in standaardmaterieklusters
U kan vervaardigerspesifieke kenmerke by enige standaardmateriekluster voeg met die volgende vereistes:
T aaaa die groep waaraan die eerbewyse gegee word, moet gespesifiseer word –
volgende uitg > ">
Die kode van die kenmerk is 'n 32-bis kombinasie van die vervaardigerkode en die id vir die kenmerk. Die belangrikste 16 bisse is die vervaardigerkode. Die reeks vir toetsvervaardigerkodes is 0xFFF1 – 0xFFF4. Die minste betekenisvolle 16 bisse is die kenmerk ID. Die reeks vir nie-globale eienskappe is 0x0000 – 0x4FFF.
Example van die uitbreiding van On/Off Matter cluster met vervaardiging-spesifieke eienskappe:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tipe=”INT8U” min=”0 0000″
max=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true”>Sample Mfg Spesifieke Eienskap 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tipe=”INT16U” min=”0 0000″
max=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true”>Sample Mfg Spesifieke Eienskap 4
Vervaardiger-spesifieke opdragte in standaardmaterieklusters
U kan vervaardiger-spesifieke opdragte by enige standaard Matter cluster voeg met die volgende vereistes:
T aaaa die groep waaraan die opdragte waarna gegee word, moet gespesifiseer word –
volgende uitg > ">
Die kode van die opdrag is 'n 32-bis kombinasie van die vervaardiger kode en die ID vir die opdrag. Die belangrikste 16 bisse is die vervaardigerkode. Die reeks vir toetsvervaardigerkodes is 0xFFF1 – 0xFFF4. Die minste betekenisvolle 16 bisse is die opdrag ID. Die reeks vir nie-globale opdragte is 0x0000 – 0x00FF.
Example van die uitbreiding van On/Off Matter cluster met vervaardiging-spesifieke clusters:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

15/35

Pasgemaakte XML

<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ opsioneel=”waar”> Kliëntopdrag wat die toestel aanskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ opsioneel=”waar”>
Kliëntopdrag wat die toestel omskakel met 'n oorgang wat gegee word deur die oorgangstyd in die Ember Sample oorgangstyd kenmerk.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

16/35

Pasgemaakte XML Tags vir Zigbee

Die volgende dokument praat oor elk van die xml tags geassosieer met Zigbee.
Elke xml file word tussen die konfigureerder gelys tags:

Datatipes kan binne die konfigureerder gedefinieer word tag. Zigbee ondersteun tans die definisie van bitmaps, enums, heelgetalle, snare of strukture. Voordat u meer tipes definieer, maak seker dat u al die bestaande atoomtipes gedefinieer in types.xml en al die nie-atomiese tipes wat in die ander xml gedefinieer is, nagaan files. Jy kan hulle soos volg definieer:
Bitmap: naam: naam van bitmap tipe. tipe: Bitmap met 'n grootte tussen 8-64 bisse kan gedefinieer word, wat almal veelvoude van 8 moet wees. Elke bitmap kan veelvuldige velde hê met 'n naam en 'n masker wat daarmee geassosieer word. bv:

"`
Enum: naam: naam van enum tipe. tipe: Enum met 'n grootte tussen 8-64 bisse kan gedefinieer word, wat almal veelvoude van 8 moet wees. Elke enum kan veelvuldige items hê met 'n naam en 'n waarde wat daarmee geassosieer word. bv:

Heelgetal: Heelgetaltipes word reeds gedefinieer onder atoomtipes wat in types.xml bestaan. Hul grootte kan wissel van 8-64 bisse en kan geteken of ongeteken word. bv:

String: Stringtipes word reeds gedefinieer onder atoomtipes wat in types.xml bestaan. Huidige snaartipes sluit in oktetstring, char-string, lang oktetstring en lang char-string, bv.

Struktuur: naam: naam van struktuurtipe. Elke struktuur kan veelvuldige items hê met 'n naam en 'n tipe wat daarmee geassosieer word. Die tipe kan enige vooraf gedefinieerde tipes onder datatipes wees. bv:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

17/35

Pasgemaakte XML Tags vir Zigbee

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

Pasgemaakte groepe kan binne die konfigureerder gedefinieer word tag. naam: naam van die groep domein: domein van die groep. Die groep sal in die ZAP UI onder hierdie domein verskyn. beskrywing: Beskrywing van die groep kode: groep kode definieer: groep definieer wat deur kode genereerder gebruik word om die groepering op 'n sekere manier te definieer vervaardigerKode: Gebruik om 'n vervaardiging spesifieke groep te definieer. Dit moet tussen 0xfc00 – 0xffff wees. Die vervaardigerkode vir die groepie moet soos volg gedefinieer word:

'n Vervaardigingskluster maak outomaties die eienskappe en opdragte daaronder van dieselfde vervaardigerkode, tensy hulle die vervaardigerkode uitdruklik lys. introducedIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die cluster bekendgestel is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. removeIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die groep verwyder is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. enkelton (boolean): Word gebruik om 'n cluster as 'n enkelton te bepaal sodat daar net een geval van daardie cluster oor die eindpunte gedeel word. kenmerk: definieer 'n kenmerk vir die groepnaam: Naam van kenmerk word tussen die kenmerk genoem tag.
kenmerk naam
kant (kliënt/bediener): Die kant van die groep waaraan die kenmerk ook geassosieer word. kode: kenmerk kode vervaardiger kode: Dit kan gebruik word om 'n vervaardiger spesifieke kenmerk buite die zigbee spesifikasie genoem deur die standaard xml te definieer. definieer: kenmerk definieer wat deur kodegenerator gebruik word om 'n kenmerk op 'n sekere manier te definieer tipe: die tipe kenmerk wat enige van die datatipes kan wees genoem in die xml verstek: verstekwaarde vir die kenmerk. min: Minimum toegelate waarde vir 'n kenmerk maksimum: Maksimum toegelate waarde vir 'n kenmerk skryfbaar: Is kenmerkwaarde skryfbaar of nie. Dit kan gebruik word om te verhoed dat die kenmerk deur skryfopdragte gewysig word. opsioneel (boolean): Word gebruik om te bepaal of 'n kenmerk opsioneel is of nie vir die groepering nie. min: Minimum toegelate waarde vir 'n kenmerk wanneer dit 'n heelgetal, enum of bitmap tipe is. max: Maksimum toegelate waarde vir die kenmerk wanneer dit 'n heelgetal, enum of bitmap tipe lengte is: Word gebruik om die maksimum lengte van die kenmerk te spesifiseer wanneer dit van tipe string is. minLength: Word gebruik om die minimum lengte van die kenmerk te spesifiseer wanneer dit van tipe string is. rapporteerbaar(boolean): Vertel of 'n kenmerk rapporteerbaar is of nie isNullable(boolean): Laat nulwaardes vir die kenmerk toe. skikking (boolean): Word gebruik om 'n kenmerk van tipe skikking te verklaar. introducedIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die kenmerk bekendgestel is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. removeIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die kenmerk verwyder is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. opdrag: definieer 'n opdrag vir 'n groepnaam: Naam van opdrag.

kode: opdrag kode

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

18/35

Pasgemaakte XML Tags vir Zigbee
vervaardiger kode: Dit kan gebruik word om 'n vervaardiger spesifieke opdrag buite die zigbee spesifikasie genoem deur die standaard xml te definieer. beskrywing: beskrywing van die opdrag bron (kliënt/bediener): bron van die opdrag. opsioneel (boolean): Word gebruik om te bepaal of 'n opdrag opsioneel is of nie vir die groepering nie. introducedIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die opdrag bekendgestel is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. removeIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die opdrag verwyder is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. bevel argumente:
Elke opdrag kan 'n stel opdragargumente hê naam: naam van die opdragargument tipe: tipe van die opdragargument wat enige van die tipes genoem in die xml kan wees. min: Minimum toegelate waarde vir 'n argument wanneer dit 'n heelgetal, enum of bitmap tipe is. max: Maksimum toegelate waarde vir 'n argument wanneer dit 'n heelgetal, enum of bitmap tipe lengte is: Word gebruik om die maksimum toelaatbare lengte vir 'n opdrag argument te spesifiseer wanneer dit van tipe string is. minLength: Word gebruik om die minimum toelaatbare lengte vir 'n opdragargument te spesifiseer wanneer dit van tipe string is. skikking (boolean): Om te bepaal of die opdragargument van die tipe skikking is. presentIf(string): Dit kan 'n voorwaardelike string van logiese bewerkings wees gebaseer op ander bevelargumente waar jy die bevelargument kan verwag as die voorwaardelike string na waar evalueer. bv:

Let wel: Hier is status 'n ander opdrag-argumentnaam. opsioneel (boolean): Word gebruik om die bevelargument as opsioneel te bepaal. countArg: Word gebruik wanneer die opdragargument van die tipe skikking is. Dit word gebruik om die ander opdragargument te noem wat die grootte van skikking vir hierdie argument aandui.

introducedIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die opdragargument bekendgestel is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. removeIn: Word gebruik om die spesifikasie weergawe te bepaal waarin die opdragargument verwyder is. Dit word deur kodegenerator gebruik om bykomende logika by te voeg. Cluster-uitbreiding kan binne die konfigurator gedefinieer word tag. Trosuitbreiding word gebruik om 'n standaardkluster uit te brei met vervaardigingskenmerke en -opdragte, bv

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

19/35

Pasgemaakte XML Tags vir Zigbee
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” type=”INT16U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true” vervaardigerKode=”0 1002″>Sample Mfg Spesifieke Eienskap: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ tipe=”INT8U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true” vervaardigerKode=”0 1049″>Sample Mfg Spesifieke Eienskap: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ tipe=”INT8U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 00″ opsioneel=”true” vervaardigerKode=”0 1002″>Sample Mfg Spesifieke Eienskap: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ tipe=”INT16U” min=”0 0000″ maks=”0xFFFF” skryfbaar=”true” default=”0 0000″ opsioneel=”true” vervaardigerKode=”0 1049″>Sample Mfg Spesifieke Eienskap: 0 0001 0 1040ampleMfgSpecificOffWithTransition” opsioneel=”ware” vervaardigerKode=”0 1002″> Kliëntopdrag wat die toestel afskakel met 'n oorgang gegee
teen die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificOnWithTransition” opsioneel=”ware” vervaardigerKode=”0 1002″> Kliëntopdrag wat die toestel aanskakel met 'n oorgang gegee
teen die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificToggleWithTransition” optional=”true” manufacturerCode=”0 1002″> Kliëntopdrag wat die toestel skakel met 'n oorgang gegee
teen die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificOnWithTransition2″ opsioneel=”ware” vervaardigerKode=”0 1049″> Kliëntopdrag wat die toestel aanskakel met 'n oorgang gegee
teen die oorgangstyd in die Ember Sample oorgangstyd kenmerk.ampleMfgSpecificToggleWithTransition2″ opsioneel=”ware” vervaardigerKode=”0 1049″> Kliëntopdrag wat die toestel skakel met 'n oorgang gegee
teen die oorgangstyd in die Ember Sample oorgangstyd kenmerk.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

20/35

Verskeie toesteltipes per eindpunt

Dit is 'n slegs-saaklike kenmerk waar 'n gebruiker meer as een toesteltipe per eindpunt kan kies. Die byvoeging van verskeie aaa-toesteltipes sal die groepkonfigurasies binne die toesteltipes by die eindpuntkonfigurasie voeg.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

21/35

Verskeie toesteltipes per eindpunt

Die prent hierbo wys dat eindpunt 1 meer as een toesteltipe gekies het. Die "Primêre Toestel" dui die primêre toesteltipe aan waarmee die eindpunt geassosieer sal word. Die primêre toesteltipe is altyd teenwoordig by indeks 0 van die lys toesteltipes wat gekies is, so die keuse van 'n ander primêre toesteltipe sal die volgorde van die toesteltipes wat gekies is, verander. Die toesteltipe keuses het ook beperkings gebaseer op die Data Model Spesifikasie. ZAP beskerm die gebruikers om ongeldige kombinasies van toesteltipes op 'n eindpunt te kies deur hierdie beperkings te gebruik.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

22/35

Sak toesteltipe kenmerkbladsy
Sak toesteltipe kenmerkbladsy
Sak toesteltipe kenmerkbladsy
ZAP ondersteun die visualisering en omskakeling van Matter-kenmerke op die toesteltipe-kenmerkbladsy. Slegs toesteltipe kenmerke gespesifiseer in matter-devices.xml in die CHIP-bewaarplek sal vertoon word.

Navigeer na die kenmerkbladsy
ò Begin ZAP in Matter met bygewerkte Matter SDK. ó Skep 'n eindpunt met 'n Matter-toesteltipe. ô Klik die Toesteltipe kenmerke-knoppie bo-middel van die groep view. Let daarop dat hierdie knoppie slegs in ZAP beskikbaar is
konfigurasies vir Matter en wanneer ooreenstemmingsdata in die Matter SDK bestaan. As u hierdie knoppie klik, sal die prent hierbo oopgemaak word.
Konformiteit
Konformiteit definieer opsioneel en afhanklikheid vir eienskappe, opdragte, gebeurtenisse en datatipes. Dit bepaal of 'n element verpligtend, opsioneel of nie ondersteun word onder sekere ZAP-konfigurasies nie.
Toesteltipe se kenmerkooreenstemming geniet voorrang bo groepering se kenmerkooreenstemming. Byvoorbeeldample, die Beligtingskenmerk het opsionele ooreenstemming in die Aan/Af-kluster, maar word as verpligtend verklaar in die Aan/Af-lig-toesteltipe wat die Aan/Af-kluster insluit. Die skep van 'n eindpunt met die Aan/Af Lig-toesteltipe sal die Beligtingskenmerk as verpligtend op die kenmerkbladsy wys.
Kenmerkwisseling
Op die kenmerkbladsy, nadat jy op die skakelknoppie geklik het om 'n kenmerk te aktiveer of te deaktiveer, sal ZAP:
Dateer geassosieerde elemente (kenmerke, opdragte, gebeurtenisse) op om ooreenstemming reg te stel, en vertoon 'n dialoog wat die veranderinge wys.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

23/35

Matter Device Type Feature Page Dateer die kenmerkbis op in die featureMap-kenmerk van die geassosieerde groepering

Aktiveer kenmerkdialoog

Deaktiveer kenmerkdialoog

Wissel is gedeaktiveer vir sommige kenmerke wanneer hul ooreenstemming 'n onbekende waarde het of 'n tans nie-ondersteunde vorm t. In hierdie ac se sal ZAP waarskuwings in die kennisgewing-bylae wys.
'n Wa Element Conform nce rnings

Wanneer jy 'n element wissel, kan ZAP beide toestelnakomingswaarskuwings en ooreenstemmingswaarskuwings vertoon. As die element se toestand nie ooreenstem met die verwagte ooreenstemming nie, sal ZAP 'n waarskuwing-ikoon vertoon en die waarskuwing in die kennisgewing-apne aanteken. Bvample van beide voldoenings- en voldoeningswaarskuwings wat vir 'n element vertoon word:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

24/35

Kennisgewings
Kennisgewings
Kennisgewings
Die volgende afdeling definieer hoe kennisgewings aan ZAP-gebruikers in die UI gegee word.
Pakketkennisgewings
Pakketkennisgewings is die waarskuwings of foutboodskappe wat geassosieer word vir enige spesifieke pakket wat in ZAP gelaai is. Byvoorbeeldample, in die prente hieronder, deur op die waarskuwingsikoon onder die statuskolom te klik, sal jy na 'n dialoog lei wat alle kennisgewings vir daardie pakket wys.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

25/35

Kennisgewings
Sessiekennisgewings
Sessiekennisgewings is die waarskuwings of foutboodskappe wat met 'n gebruikersessie geassosieer word. Hierdie waarskuwings/foute kan gesien word deur op die Kennisgewings-knoppie in die nutsbalk bo-op die ZAP UI te klik. Byvoorbeeldample, die prent hieronder wys die sessiekennisgewingsbladsy na 'n isc file is in ZAP gelaai.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

26/35

Voldoening aan datamodel/ZCL-spesifikasie
Voldoening aan datamodel/ZCL-spesifikasie
Data Model en ZCL Spesifikasie Voldoening
Hierdie kenmerk in ZAP help gebruikers om voldoeningsfoute vir Data Model of ZCL met hul bestaande ZAP-konfigurasies te sien. Die waarskuwingsboodskappe vir voldoeningsmislukkings sal op die Kennisgewingspaneel in die ZAP UI verskyn en sal ook op die konsole aangemeld word wanneer ZAP deur die CLI uitgevoer word. Die voldoeningskenmerk verskaf tans waarskuwings vir toesteltipe-nakoming en groepsvoldoening op 'n eindpunt.
Nakomingswaarskuwings in die ZAP UI
Wanneer 'n gebruiker 'n .zap file deur die ZAP UI te gebruik, sal hulle waarskuwings in die kennisgewingspaneel van die ZAP UI sien vir al die voldoeningsfoute. Byvoorbeeldample, die prent hieronder wys die sessiekennisgewingsbladsy na 'n .zap file is geopen met voldoeningskwessies.

Die voldoeningsboodskappe sal verdwyn sodra die probleme opgelos is met behulp van die ZAP UI sodat jy net die oorblywende voldoeningskwessies kan dophou. Nuwe waarskuwings sal ook verskyn vir voldoening as gebruiker verpligte elemente (kluster/opdragte/kenmerke) van die opstelling deaktiveer. Kennisgewings oor spesifikasievoldoening sal altyd tred hou met enige foute wat in die ZAP-konfigurasie ingebring word, maar let daarop dat die waarskuwings wat tydens die opening van 'n .zap verskyn file is meer uitgebrei oor hoekom dit nie voldoen het nie in vergelyking met die waarskuwings wat verskyn tydens interaksie met die UI. Dit is deur ontwerp en 'n volledige nakomingskontrole word uitgevoer tydens die opening van 'n .zap file.
Voldoeningswaarskuwings op die konsole

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

27/35

Voldoening aan datamodel/ZCL-spesifikasie
Wanneer 'n gebruiker 'n .zap file deur die ZAP-selfstandige UI of die ZAP CLI te gebruik, sal hulle waarskuwings sien wat by die konsole/terminale aangemeld is vir al die voldoeningsfoute. Byvoorbeeldample, die prent hieronder wys die sessiekennisgewingswaarskuwings op die konsole/terminale na 'n .zap file is geopen met voldoeningskwessies.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

28/35

Toegangsbeheer

Toegangsbeheerkenmerke
ZAP ondersteun toegangsbeheer op alle ZCL-entiteite. Dit hang af van die implementering van die SDK om hierdie kenmerke te karteer na die vereiste en ondersteunde toegangsbeheer SDK-kenmerke. ZAP verskaf gewoonlik 'n datamodel en 'n meganisme om dit in die meta-inligting te enkodeer files en versprei daardie data na die generasie-sjablone, sonder om spesifieke betekenisse aan die datapunte toe te ken.
Basisbepalings
ZAP-toegangsbeheer definieer drie basisterme, soos volg: ò werking : gedefinieer as iets wat gedoen kan word. Bvample: lees, skryf, beroep. ó rol: gedefinieer as 'n voorreg van 'n akteur. Soos "View voorreg”, “Administratiewe rol”, en seun op. ô wysigers: gedefinieer as spesiale toegangsbeheertoestande, soos stofsensitiewe data of stofomvangdata. Die basis terme word gedefinieer in die metadata XML onder 'n top tag . Die volgende is 'n example van toegangsbeheer basis term definisies:
<role type=”view"beskrywing ="View voorreg”/>
Hierdie example definieer drie bewerkings, lees, skryf en oproep, twee wysigers en vier rolle.
Toegang tot drieling
Elke individuele toegangsvoorwaarde kan gedefinieer word met 'n toegangsdrieling in die XML. Toegangsdrieling is 'n kombinasie van 'n bewerking, rol en wysiger. Hulle is opsioneel, so jy kan net een hiervan hê. 'n Ontbrekende deel van drieling beteken gewoonlik permissivenes, wat implementeringspesifiek is vir die gegewe SDK. 'n Entiteit wat sy toegang definieer, kan een of meer toegangsdrieling hê. Die volgende is 'n example:
op 0
Dit is 'n definisie van 'n eienskap wat 'n toegangsdrieling het, wat verklaar dat dit skryfbewerking deur 'n bestuursrol toelaat, met stof-omvang wysiger toegepas.
Verstektoestemmings

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

29/35

Toegangsbeheer
ZCL-entiteite kan hul eie individuele toestemmings definieer. Daar is egter ook 'n globale definisie van verstektoestemmings vir
gegewe tipes. Dit word aanvaar vir die gegewe entiteit, tensy dit enige spesifieke toestemmings van sy eie verskaf.
Verstektoestemmings word verklaar via a tag op die boonste vlak van die XML file. Bvample:
aa a< ccess op="invoke"/> a a aa < ccess op=”re d”/> a< ccess op=”skryf”/> a aa aa < ccess op=”re d” role=”view”/> aa < ccess op=”skryf” role=”oper te”/> a
Sjabloon helpers
Die basiese sjabloonhulp om te gebruik is die {{#access}} … {{/access}} iterator. Hierdie iterator herhaal oor alle gegewe toegangsdrieling.
Dit ondersteun die volgende twee opsies:
entiteit=”kenmerk/opdrag/gebeurtenis” – as die entiteit nie uit konteks bepaal kan word nie, stel dit die entiteittipe. includeDefault=”true/false” – bepaal of verstekwaardes ingesluit is of nie. Die volgende is 'n example:
{{#zcl_clusters}}
'n Groepering: {{n my}} [{{code}}] a {{#zcl_ tributes}} aa – huldeblyk: {{n me}} [{{code}}] aa {{# ccess entity=" tribute"}}
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}}} com a t" en" RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – gebeurtenis: {{n me}} [{{code}}] a {{# ccess entity=”event”}} O a RM a M * p: {{oper tion}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}}
{{/zcl_events}}
{{/zcl_clusters}}

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

30/35

Begin ZAP for Matter- of Zigbee-toepassings
Begin ZAP for Matter- of Zigbee-toepassings
Begin ZAP for Matter of Zigbee-toepassings
Die volgende afdelings beskryf die bekendstelling van ZAP in selfstandige modus met die Matter- of Zigbee-spesifieke metadata. Die idee is om ZAP te begin met die korrekte argumente wat verband hou met XML-metadata (die groepe en toesteltipes definisies volgens die CSA spesifikasies) en die generasie sjablone, wat gebruik word om die toepaslike kode te genereer.
Begin ZAP met Materie
Die volgende skrif haal die korrekte metadata van die Matter SDK op wanneer ZAP begin word. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh Let wel: Jy kan ook die volgende Zigbee-benadering volg om ZAP in Matter bekend te stel.
Begin ZAP met Zigbee
Die volgende opdrag loods ZAP met die ZCL-spesifikasies en generasie sjablone vanaf die SDK.
[zap-pad] -z [sdk-pad]/gsdk/app/zcl/zcl-zap.json -g [sdk-pad]/gsdk/protocol/zigbee/app/framework/gen-template/gen-templates.json
zap-pad: Dit is die pad na die ZAP-bron of uitvoerbare sdk-pad: Dit is die pad na die SDK
Begin ZAP sonder metadata
Onthou dat wanneer jy ZAP direk deur 'n uitvoerbare of vanaf bron begin deur npm run zap te gebruik, jy ZAP begin met toetsmetadata vir Matter/Zigbee wat binne ZAP ingebou is en nie die werklike metadata wat van die Matter en Zigbee SDK's hierbo genoem is nie. Onthou dus om jou ZAP-konfigurasies te skep deur die SDK-metadata te gebruik en nie deur ZAP direk met die ingeboude toetsmetadata oop te maak nie.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

31/35

Genereer kode vir Matter of Zigbee

Genereer kode vir materie, Zigbee of 'n pasgemaakte SDK
Die volgende afdelings beskryf hoe om kode te genereer met behulp van ZAP.
Genereer kode met behulp van ZAP UI
Begin die ZAP UI volgens die instruksies in Begin ZAP for Matter of Zigbee en klik op die Genereer-knoppie in die boonste menubalk.
Genereer kode sonder die UI
Die volgende instruksies verskaf verskillende maniere om kode deur CLI te genereer sonder om die ZAP UI te begin.
Genereer kode vanaf ZAP-bron
Voer die volgende opdrag uit om kode te genereer met behulp van ZAP vanaf bron: node src-script/zap-generate.js –genResultFile –stateDirectory ~/.zap/gen -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-
template/zigbee/gen-templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp
Genereer kode vanaf ZAP-uitvoerbare
Voer die volgende opdrag uit om kode te genereer met behulp van ZAP-uitvoerbare: [zap-pad] genereer –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
Genereer kode vanaf ZAP CLI uitvoerbare
Voer die volgende opdrag uit om kode te genereer met behulp van ZAP CLI Executable: [zap-cli-path] genereer –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

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

32/35

Dateer ZAP in Studio op

Dateer ZAP op
Dateer ZAP op in Simplicity Studio
Hierdie meganisme kan gebruik word wanneer daar met Matter-uitbreiding of Zigbee van die Silicon Labs SDK-vrystellings gewerk word. ZAP kan binne Simplicity Studio opgedateer word sonder 'n Simplicity Studio-vrystelling deur die nuutste ZAP-uitvoerbare (aanbeveel) af te laai of die nuutste vanaf ZAP-bron te trek soos in ZAP Installasiegids gewys. Nadat jy die nuutste ZAP het op grond van jou bedryfstelsel wat tans gebruik word, kan jy ZAP binne Studio opdateer as 'n adapterpakket. Volg die instruksies hieronder nadat jy die nuutste ZAP afgelaai het:
Gaan na Simplicity Studio en kies Preferences > Simplicity Studio > Adapter Packs. Klik Voeg by... en blaai na die uitgebreide ZAP-lêergids wat jy afgelaai het en klik Kies Folder . Klik Toepas en Maak toe en dan sal die nuut bygevoegde ZAP gebruik word wanneer 'n .zap file oopgemaak word.
Let wel: Soms is daar dalk ouer gevalle van ZAP wat reeds loop, selfs nadat dit na die nuutste ZAP opgedateer is. Maak seker dat jy alle bestaande ZAP-gevalle so beëindig dat die nuut-afgehaalde ZAP gebruik word in plaas van 'n ou instansie, wat steeds in die agtergrond werk.
Dateer ZAP op vir materieontwikkeling in Github
Wanneer u met die Matter of Matter-Silicon Labs-repos op Github werk, stel die omgewingsveranderlikes met betrekking tot ZAP om nuwe ZAP-konfigurasies te skep/genereer of bestaande s te hergenereerample ZAP-konfigurasies nadat veranderinge daarop toegepas is. Stel die ZAP_DEVELOPMENT_PATH na ZAP vanaf bron deur die nuutste te trek of stel ZAP_INSTALLATION_PATH na ZAP uitvoerbare bestand wat jy laas afgelaai het in jou plaaslike gids. Let daarop dat wanneer beide ZAP_DEVELOPMENT_PATH en ZAP_INSTALLATION_PATH gestel is, ZAP_DEVELOPMENT_PATH gebruik word.
Die volgende is examplese wat die bogenoemde omgewingsveranderlikes in gebruik toon:
Begin ZAP met behulp van Materie-spesifikasie Regenereer al die sample ZAP-konfigurasies vir Matter-toepassings
Let wel: Wanneer jy ZAP-uitvoerbare programme gebruik, maak seker dat jy 'n amptelike vrystelling oor 'n nagtelike vrystelling gebruik vir meer stabiliteit. Sien
Laai die ZAP-uitvoerbare bestand af in die ZAP-installasiegids

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

33/35

Gelyktydige multi-protokol tussen Zigbee en Matter
Gelyktydige multi-protokol tussen Zigbee en Matter
MCoanttceurrrent Multi-protokol tussen Zigbee en
ZAP kan gebruik word om ZCL (Zigbee) en Data-Model (Matter) konfigurasies in 'n multi-protokol toepassing vir Zigbee en Matter te konfigureer. ZAP laat jou toe om eindpunte vir Zigbee en Matter uitdruklik in dieselfde konfigurasie te skep file. As Zigbee- en Matter-eindpunte op dieselfde eindpuntidentifiseerder is (bvample, LO Dimbare lig op eindpunt Id 1 en Matter Dimmable Light op 'n ander geval van eindpunt 1), sorg ZAP vir die sinkronisering van die algemene kenmerke oor die Matter- en Zigbee-kenmerke. Maak seker dat die eienskappe wat gesinkroniseer word dieselfde datatipe het. Die gemeenskaplike eienskappe tussen Zigbee en Materie word vasgestel deur a file multi-protocol.json genoem. Die gebruiker kan enige twee groepe oor Zigbee en Matter koppel saam met hul ooreenstemmende eienskappe deur die groepering en kenmerkkodes onderskeidelik te gebruik. Hierdie file kan gevind word in [SDKPath]/app/zcl/multi-protocol.json . Hierdie file is opgedateer met 'n sekere stel groepe en eienskappe om mee te begin, maar die gebruiker kan dit opdateer file soos vereis en ZAP sal sorg vir die sinkronisering van die kenmerkkonfigurasie oor Zigbee en Matter vir algemene eindpuntidentifiseerders.
Jy kan ook 'n ZAP-tutoriaal vind in enige Zigbee and Matter-multiprotokoltoepassing onder die tutoriale-bladsy. Hierdie tutoriaal sal jou lei deur die multi-protokol aansoek skepping proses. Hierdie tutoriaal is slegs beskikbaar wanneer jy 'n bestaande multi-protokol-toepassing oopmaak en kan gevind word soos in die prent hieronder getoon:

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

34/35

Integreer SLC CLI met ZAP
Integreer SLC CLI met ZAP
Integreer SLC CLI met ZAP
Volg hierdie stappe om die SLC CLI met ZAP te integreer: ò Installeer SLC CLI deur die installasie-instruksies in die Simplicity Studio 5-gebruikersgids te volg. ó Installeer ZAP deur die instruksies in die ZAP Installasiegids te volg. ô Om SLC CLI met ZAP te integreer, voeg 'n omgewingsveranderlike STUDIO_ADAPTER_PACK_PATH by wat na die ZAP-toepassing wys
gids. õ Onthou om SLC CLI Daemon na stap 3 te herbegin. ö Enige projek wat ZAP gebruik, sal nou die pad gebruik wat in stap 3 gedefinieer is wanneer dit vanaf SLC CLI gegenereer word. Verwys asseblief na SLC CLI
Gebruik vir instruksies oor die gebruik van SLC CLI vir jou projekte.

Kopiereg © 2025 Silicon Laboratories. Alle regte voorbehou.

35/35

Dokumente / Hulpbronne

SILICON LABS ZAP ontwikkel met Silicon Labs [pdf] Eienaar se Handleiding
ZAP ontwikkel met Silicon Labs, ZAP, Ontwikkel met Silicon Labs, Silicon Labs, Labs

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *