ZAP се развива со силиконски лаборатории
Спецификации
- Име на производ: Силиконски лаборатории ЗАП
- Тип: Мотор за генерирање код и кориснички интерфејс
- Компатибилност: Зигби кластер библиотека (Zigbee) или модел на податоци (материја)
- Развиена од: Алијанса за стандарди за поврзување
Упатство за употреба на производот
- Започнување со ZAP
- За да започнете со ZAP, следете ги овие чекори:
- Преземете го ZAP Executable од официјалното складиште.
- Инсталирајте ги зависностите користејќи ја командата за инсталирање npm.
- За инсталација специфична за Windows, погледнете го упатството за инсталација на ZAP за Windows OS.
- За да започнете со ZAP, следете ги овие чекори:
- Зигби развој
- Ако развивате Zigbee апликации:
- Користете Simplicity Studio кое вклучува ZAP и други потребни алатки.
- Ако развивате Zigbee апликации:
- Развој на материјата
- Ако развивате Matter апликации:
- Опциите вклучуваат користење на Simplicity Studio или пристап до Silicon Labs или CSA Github складиштата.
- Доколку е потребно, погледнете ги упатствата за ажурирање за ZAP надвор од циклусот на издавање Simplicity Studio.
- Ако развивате Matter апликации:
Најчесто поставувани прашања
- П: Кои се достапните различни верзии на ZAP бинарните датотеки?
- A: Достапни се две верзии - Официјално издание со потврдени изданија и предиздавање со најновите функции.
- П: Што треба да направам ако наидам на проблеми со компилацијата на матичната библиотека при инсталацијата?
- A: Погледнете ги информациите за ЧПП за скрипти специфични за платформата за да ги решите ваквите проблеми.
„`
Силиконски лаборатории ЗАП
Силиконски лаборатории ЗАП
Се развива со Silicon Labs ZAP
Почеток
ZAP Почнуваме одновоview Инсталација на ZAP ЧПП за инсталација на Windows
Основи ЗАП Основи
Упатство за корисникот ZAP Упатство за корисникот Надview Прилагодено XML Прилагодено XML Tags за Zigbee повеќе типови уреди по крајна точка Тип на материја одлика Известувања за страница Data-Model/ZCL Спецификација за усогласеност Контрола на пристап Стартување ZAP за Matter или Zigbee апликации Генерирање код за Matter или Zigbee Ажурирање ZAP во студио Истовремен мулти-протокол помеѓу Zigbee и Matter Integrate ZLC CLI
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
1/35
Се развива со Silicon Labs ZAP
Се развива со Silicon Labs ZAP
ЗАП
ZAP е генерички мотор за генерирање код и кориснички интерфејс за апликации и библиотеки базирани на Zigbee Cluster Library од Zigbee или на Data Model од Matter. Спецификацијата е развиена од Алијансата за стандарди за поврзување. ZAP ви овозможува да ги извршите следните операции:
Изведете приспособено генерирање на SDK-специфично на сите глобални артефакти (константи, типови, ID и така натаму) врз основа на спецификацијата ZCL/Data-Model. Изведете приспособено генерирање на SDK-специфично на сите конфигурациски артефакти избрани од корисникот (конфигурација на апликацијата, конфигурација на крајната точка и слично) врз основа на спецификацијата на ZCL/Data-Model и конфигурацијата на апликацијата обезбедена од клиентот. Обезбедете UI за крајниот корисник да избере одредена конфигурација на апликацијата (крајни точки, кластери, атрибути, команди и така натаму).
Содржината во овие делови опишува како да се развијат апликации Zigbee и Matter со конфигурирање на слоевите ZCL (Zigbee) или Data Model (Matter) користејќи ZAP.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
2/35
Започнување со ZAP
Започнување со ZAP
Започнување со ZAP
Овие делови опишуваат различни методи за креирање апликации Zigbee и Matter. Имајте предвид дека Simplicity Studio обезбедува начин да ги креирате вашите Zigbee и Matter апликации од крај до крај каде што сите алатки се претходно инсталирани заедно со Simplicity Studio (вклучувајќи го и ZAP). Може да одлучите да истражите и други начини за креирање на вашите апликации, како што е опишано овде.
Зигби развој
Програмерите на Zigbee апликации можат да ги градат своите апликации користејќи Simplicity Studio, кое веќе вклучува ZAP и други алатки кои ви помагаат да ја изградите вашата апликација од крај до крај.
Развој на материјата
Програмерите на Matter Application може да ги градат своите апликации користејќи ги следниве методи: Simplicity Studio: Ова вклучува ZAP и други алатки кои се потребни за да се изгради апликацијата Matter од крај до крај. Github (Silicon Labs) Github (CSA)
Забелешка: За ажурирање на ZAP надвор од циклусот на издавање на Simplicity Studio, видете го ажурирањето на ZAP во Simplicity Studio и Упатството за инсталација на ZAP
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
3/35
Инсталација на ZAP
Следните делови ја опишуваат инсталацијата на ZAP и како да се ажурира ZAP во Simplicity Studio IDE.
Препорачано преземање на ZAP извршната датотека)
Ова е препорачаниот начин за започнување со ZAP. Можете да ги добиете најновите ZAP бинарни датотеки од аа https://github.com/project-chip/zp/releses. Однапред вградените бинарни датотеки доаѓаат во две различни верзии.
Официјално издание: Потврдени изданија со посветени тест пакети Matter и Zigbee. Форматот на името на изданието е vYYYY.DD.MM. Предиздавање: Изградби со најнови функции и поправени грешки, но овие изданија НЕ се потврдени со посветени тест пакети Matter и Zigbee. Форматот на името на изданието е vYYYY.DD.MM-ноќно.
Инсталирање на ZAP од Source
Основни упатства за инсталирање на ZAP
Бидејќи ова е апликација node.js, потребна ви е инсталирана околина за јазли. Најдобар начин да го направите ова е да ја преземете најновата инсталација на јазол, која ги вклучува node и npm. Ако имате инсталирано постара верзија на јазол на вашата работна станица, тоа може да предизвика проблеми, особено ако е многу стара. Проверете дали ја имате најновата верзија на јазол v16.x со вклучена npm. Стартувај јазол – верзија за да провериш која верзија е подигната. се препорачува v18.x. Откако ќе ја имате саканата верзија на јазол, можете да го извршите следново:
Инсталирајте ги Dependencies
Користете ги следните команди за да инсталирате зависности:
npm инсталирај
Забелешка: За инсталација на ZAP специфична за Windows, видете Инсталација на ZAP за Windows OS Во овој момент не е невообичаено да наидете на проблеми со компилацијата на домашна библиотека. Постојат различни скрипти src-script/install-* за различни платформи. Видете информации за ЧПП за тоа која скрипта да се извршува на различни платформи и потоа повторно да ја извршите инсталацијата npm.
Стартувајте ја апликацијата
Користете ги следните команди за да ја стартувате апликацијата:
npm изврши zap
Стартувајте го Front-End во режим на развој
Поддржува повторно вчитување на жешкиот код, известување за грешки и така натаму. Користете ги следните команди за да го започнете предниот дел во развој
режим:
квазар dev -m електрон
or
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
4/35
ZAP Insta на o ll in
npm изврши електрон-dev
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
5/35
Инсталација на ZAP Windows
Инсталација на ZAP Windows
Инсталација на ZAP за Windows OS
1. Windows Powershell
Во лентата за пребарување на работната површина, внесете Windows Powershell и стартувајте како администратор. Извршете ги сите следни команди во Powershell.
2. Чоколадо
Инсталирајте од https://chocolatey.org/install. Проверете дали е правилно инсталиран со следните команди:
чоко -v
Инсталирајте го пакетот pkgconfiglite со следните команди:
choco install pkgconfiglite
3. Инсталирајте јазол
Извршете ги следните команди за инсталирање:
choco install nodejs-lts
*Верзијата треба да биде 18 за да го помине тестот за проверка на верзијата, по инсталирањето, проверете со јазол -v *Ако веќе сте го инсталирале Node и не успеете во некои тестови слични на не можам да го најдам Node , повторно инсталирајте го Node со chocolatey.
4. Следете ги основните инструкции за да го инсталирате ZAP
Следете ги упатствата за инсталација на ZAP од изворот во инсталацијата на ZAP. Додека ги следите основните упатства за инсталирање на ZAP, внимавајте на следните грешки и како да ги решите:
sqlite3
Кога работи ZAP (на пр., npm, стартувајте zap ), ако видите грешка за sqlite3.node во скокачки прозорец, извршете:
npm обнова на sqlite3
градител на електрони
Кога правите инсталација npm, при пост-инсталирање, ако се појави грешка на следнава команда поврзана со електрон-градител install-appdeps , npx електрони-обнова платно не успеа или јазол-пред-gyp , тековната верзија на платно не е компатибилна со Windows и грешката во инсталацијата нема да предизвика неуспех во извршувањето на ZAP. node-canvas работи на решението сега и проблемот ќе биде решен во блиска иднина.
„постинсталирање“: „Инсталирање-апликација-проверки за градење на електрони и инсталирање на хаски и и npm обновување на платно – ажурирање-бинарна и и npm извршена верзија-стamp”
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
6/35
Инсталација на ZAP Windows
Платно
Ако тестот за извршување npm не успее поради грешката Тест пакетот не успеа да се изврши. Не можам да го најдам модулот „../build/Release/canvas.node“ или
zapnode_modulescanvasbuildReleasecanvas.node не е валидна апликација Win32. , обновете го платното на следниов начин:
npm обнова на платно – ажурирање-бинарно
добие index.html или други серверски проблеми
Ако тестот за извршување npm не успее поради грешката get index.html барањето не успеа со код за статус 404 во тестовите на единицата или има сервер
проблеми со поврзувањето во тестовите e2e-ci, извршете ги следните команди:
npm извршете ја изградбата
Друго
Проверете дали верзијата на јазол е v18 и обидете се да ја инсталирате со Chocolatey.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
7/35
Најчесто поставувани прашања
Најчесто поставувани прашања
Најчесто поставувани прашања
П: Како да стартувате интерфејс во режим на развој? О: Можете да го стартувате интерфејсот во развојен режим, што ќе резултира со следното поставување:
Одделен HTTP сервер за развој на квазари, кој се освежува во живо на портата 8080 ZAP задна страна што работи на портата 9070 Chrome или друг прелистувач, работи независно За да дојдете до тоа поставување, следете ги инструкциите подолу. ò Прво, стартувајте го серверот за развој на ZAP, кој започнува на портата 9070.
npm стартувајте zap-devserver - Следно, стартувајте го серверот за развој на квазари, кој започнува на портата 8080.
quasar dev ô Насочете го вашиот прелистувач или стартувајте го против правилното URL со аргументот restPort:
google-chrome http://localhost:8080/?restPort=9070
П: Како да го направите ова да функционира на Mac/Linux OS? А:
Инсталирањето npm се користи за преземање на сите потребни пакети за зависност. Ако видите грешки поврзани со node-gyp и исчезнати локални библиотеки, како што е pixman , и така натаму, ви недостасуваат природни зависности што треба да ги задоволите за да компајлирате непреградени бинарни јазли за некоја комбинација на платформи и верзии. Npm на облакот постојано ја ажурира листата на обезбедени бинарни датотеки, па можно е да ги соберете добро, но ако не, ова се упатства за различни платформи:
Fedora Core со dnf:
dnf инсталирај pixman-devel cairo-devel pango-devel libjpeg-devel giflib-devel
или изврши скрипта:
src-script/install-packages-fedora
Ubuntu со apt-get:
apt-get update apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
или изврши скрипта:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
8/35
Најчесто поставувани прашања
src-script/install-packages-ubuntu
OSX на Mac со Homebrew подготовка:
подготовка инсталирај pkg-config каиро панго libpng jpeg giflib librsvg
или изврши скрипта:
src-script/install-packages-osx
П: Како да го направите ова да функционира на Windows OS?
О: Погрижете се секогаш да е ажуриран и да нема промени што не се извршени. Совет: git pull, git status и git stash се ваши пријатели. Мора да користите Chocolately за да го направите Zap да работи на Windows OS. Погрижете се да го преземете пакетот pkgconfiglite.
choco install pkgconfiglite
Ако имате проблеми со Каиро, на прample ако добиете грешка за Каиро.h': Нема таква file или директориум, направете го следново: ò Проверете дали вашиот компјутер е 32 или 64 битен. ó Во зависност од тоа, преземете го соодветниот пакет од оваа страница
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:
Кликнете на Напредни системски поставки. Во напредниот таб кликнете на Environment Variables. Во делот System Variables, пронајдете ја променливата на околината PATH и изберете ја. Кликнете на Edit и додадете C:/GTK на него. Ако променливата на околината PATH не постои, кликнете Ново. Ако jpeglib.h не е пронајден, обидете се со следново: ò на терминалот, стартувајте: choco install libjpeg-turbo ó Проверете дали е чист со користење: git clean -dxff и извршете npm инсталирајте повторно ô ако не се појават грешки и се појават само предупредувања, обидете се да користите npm ревизија поправка õ ако не можете да извршите ZAP. file src-script/zap-start.js ö Промени
÷ const { spawn } = бара ('cross-spawn') to const { spawn } = бара ('child_process') ø Изврши npm и изврши zap. Референци:
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)
П: Добивам грешка „sqlite3_node“ не е пронајдена или слично.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
9/35
Најчесто поставувани прашања
О: Обновете ги вашите родни sqlite3 врски. За да го поправите ова во повеќето случаи, извршете:
npm инсталирај
./node_modules/.bin/electron-rebuild -w sqlite3 -p
Ако сè уште не се поправи, направете:
rm -rf node_modules и потоа обидете се со горните команди повторно. Повремено надградувањето на вашиот npm исто така прави разлика:
npm инсталирај -g npm
П: Добивам грешка „Верзијата N-API на овој примерок на јазол е 1. Овој модул поддржува верзии на N-API 3. Овој примерок на јазол не може да го изврши овој модул“.
О: Надградете ја вашата верзија на јазол. Решението за ова е дискутирано во оваа нишка на Stack Overflow: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
П: Мојот компјутер за развој не работи со ZAP од која било причина. Може ли да користам докер контејнер?
О: Да, можеш. ТБД.
П: Како да го стартувам ZAP во VSCode?
О: Ако имате VSCode на вашата патека, внесете го zap repo и внесете го кодот . Ова ќе го отвори ZAP во VSCode. За да го извршите ZAP во режим за отстранување грешки, изберете го работниот простор на ZAP и кликнете на иконата Изврши на левата лента со алатки. Ќе имате неколку опции од кои можете да изберете за да го извршите ZAP, изберете Node.js Debug Terminal . Ова ќе отвори терминален прозорец од кој можете да внесете npm run zap , кој ќе го прикачи дебагерот и ќе го изврши ZAP како што обично би го правеле од командната линија. Честитки, сега треба да видите дека ZAP работи во дебагерот. Можете да поставите точки на прекин во VSCode како и во кој било друг IDE.
П: Тестот на единицата за интерфејс не успеа со некои грешки околу платното што не е изградено за вистинската верзија на јазолот. Што да правам?
О: Ако ја видите следнава грешка:
FAIL test/ui.test.js Тест пакетот не успеа да се изврши Модулот „canvas.node“ беше компајлиран против друга верзија Node.js користејќи NODE_MODULE_VERSION 80. Оваа верзија на Node.js бара NODE_MODULE_VERSION 72.
кај Објектот. (node_modules/canvas/lib/bindings.js:3 18)
потоа извршете: npm обновете платно – ажурирање-бинарно
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
10/35
Основи на ЗАП
ZCL/Data-Model ZAP Fundamentals
Овој дел содржи информации за новите корисници на ZAP. Кликнете на иконата за упатство во горниот десен агол на ZAP UI, што покажува како да креирате ZAP конфигурација. Упатството ќе ве води низ следново: Креирајте крајна точка Изберете тип на уред Конфигурирајте кластер Конфигурирајте атрибут Конфигурирајте команда За детална референца, видете го Водичот за конфигуратор на кластерот Zigbee
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
11/35
Упатство за корисникот ZAP
Упатство за корисникот ZAP
Упатство за корисникот ZAP
Деловите под ова упатство даваат повеќе детали за различните карактеристики обезбедени од ZAP.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
12/35
Прилагодено XML
Додавање прилагодено XML од ZAP UI
Кликнете на иконата „Екстензии“ во интерфејсот на ZAP. Кликнете на копчето за додавање „+“ за да изберете сопствен xml file Прилагодените кластери, атрибути, команди итн. треба да се појават во ZAP UI откако ќе се додаде приспособениот xml.
Создавање сопствена сопствена XML во Zigbee
Делот покажува како да креирате сопствени сопствени кластери и да ги проширите постоечките стандардни кластери со сопствени атрибути и команди за Zigbee.
Кластери специфични за производителот во Zigbee
Можете да додадете кластери специфични за производителот на стандарден професионалецfile. Ние обезбедуваме ексampод ова подолу. За да го направите ова, мора да исполните две обврски:
ID на кластерот МОРА да биде во опсегот специфичен за производителот, 0xfc00 – 0xffff. Дефиницијата на кластерот мора да вклучува код на производителот кој ќе се применува на СИТЕ атрибути и команди во тој кластер и мора да биде обезбеден при испраќање и примање наредби и интеракција со атрибути. Прampле:
Сample Mfg Специфичен кластер Општо Овој кластер обезбедува ексampле за тоа како Апликациската рамка може да се прошири за да вклучи кластери специфични за производителот.
0xFC00
жар сampатрибут le
жар сampатрибут 2
А сample команда специфична за производителот во рамките на sampспецифични за производителот
кластер.
Наредби специфични за производителот во стандардниот кластер Zigbee
Можете да додадете свои команди на кој било стандарден Zigbee кластер со следниве барања:
Вашите команди специфични за производителот може да користат кој било ид на команда во опсегот на идентификација на командата, 0x00 – 0xff. Мора да наведете и код на производителот за командата за да може да се разликува од другите команди во кластерот и соодветно да се ракува. ПрampПроширување на кластерот за вклучување/исклучување со команди за производство:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
13/35
Прилагодено XML
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го исклучува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.ampleMfgSpecificOnWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го вклучува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.ampleMfgSpecificToggleWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го менува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.ampleMfgSpecificOnWithTransition2″ изборен=”вистински” производителКод=”0 1049″> Команда на клиентот што го вклучува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.ampleMfgSpecificToggleWithTransition2″ опционално=”точно”
производител Код=”0 1049″> Команда на клиентот што го менува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.
Атрибути специфични за производителот во стандардниот кластер Zigbee
Можете да додадете свои атрибути на кој било стандарден Zigbee кластер со следниве барања:
Вашите атрибути специфични за производителот може да користат кој било ID на атрибут во опсегот на идентификација на атрибутот, 0x0000 – 0xffff. Мора да наведете и код на производителот за атрибутот за да може да се разликува од другите атрибути во кластерот и соодветно да се ракува. Прampза проширување на кластерот за вклучување/исклучување со производствени атрибути:
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” тип=”INT16U” мин=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ опционално=”true” manufacturerCode=”0 1002″>Sample Mfg Специфичен атрибут: 0 0000 0 1002
<attribute side=”server” code=”0 0000″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ тип=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ опционален=”true” производител Код=”0 1049″>Sample Mfg Специфичен атрибут: 0 0000 0 1049
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ тип=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ опционален=”true” производител Код=”0 1002″>Sample Mfg Специфичен атрибут: 0 0001 0 1002
<attribute side=”server” code=”0 0001″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ тип=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ опционален=”true” производител Код=”0 1049″>Sample Mfg Специфичен атрибут: 0 0001 0 1040
Создавање сопствена сопствена XML во Материја
Делот покажува како да креирате сопствени сопствени кластери и да ги проширите постоечките стандардни кластери со сопствени атрибути и команди за Matter.
Кластери во материјата специфични за производителот
Може да додадете кластери специфични за производителот во Matter. Ние обезбедуваме ексampле од ова подолу.
Тоа 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.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
14/35
Прилагодено XML
Во следните прample, комбинацијата на ID на продавач (Test Manufacturer ID) од 0xFFF1 и ID на кластерот 0xFC20 резултира со value of 0xFFF1FC20. The commands and attributes within this cluster will adopt the same Manufacturer ID. Exampле:
Општо Сample MEI 0xFFF1FC20 СAMPLE_MEI_CLUSTER Сample MEI кластерот прикажува екстензии на производители на кластери ФлипФлоп
Одговор за AddArguments што ја враќа сумата. Команда која зема два аргументи uint8 и го враќа нивниот збир. Едноставна команда без никакви параметри и без одговор.
Атрибути специфични за производителот во кластери за стандардни материи
Можете да додадете атрибути специфични за производителот на кој било стандарден кластер за материи со следниве барања:
Т аааа кластерот мора да биде наведен -
e xte nd ed > „>
Кодот на атрибутот е 32-битна комбинација на кодот на производителот и id за атрибутот. Најзначајните 16 бита се кодот на производителот. Опсегот за тест кодови на производителот е 0xFFF1 – 0xFFF4. Најмалку значајни 16 бита се ID на атрибутот. Опсегот за неглобални атрибути е 0x0000 – 0x4FFF.
ExampПроширување на вклучено/исклучено кластер на материи со атрибути специфични за производството:
<attribute side=”server” code=”0xFFF0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ тип =”INT8U” мин=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true”>Sample Mfg Специфичен атрибут 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ тип =”INT16U” мин=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ optional=”true”>Sample Mfg Специфичен атрибут 4
Наредби специфични за производителот во кластери за стандардни материи
Можете да додавате команди специфични за производителот на кој било стандарден кластер на Материја со следниве барања:
Т аааа кластерот на командите на кои се доделени мора да бидат специфицирани -
e xte nd ed > „>
Кодот на командата е 32-битна комбинација од кодот на производителот и идентификацијата на командата. Најзначајните 16 бита се кодот на производителот. Опсегот за тест кодови на производителот е 0xFFF1 – 0xFFF4. Најмалку значајни 16 бита се ID на командата. Опсегот за неглобални команди е 0x0000 – 0x00FF.
ExampПроширување на кластерот за вклучување/исклучување на материјата со кластери специфични за производството:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
15/35
Прилагодено XML
<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ изборен=”true”> Команда на клиентот што го вклучува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ изборен=”true”>
Команда на клиентот што го менува уредот со транзиција дадена од времето на транзиција во Ember Sampатрибут за време на транзиција.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
16/35
Следниот документ зборува за секој од xml tags поврзани со Зигби.
Секој xml file е наведена помеѓу конфигураторот tags:
Типовите на податоци може да се дефинираат во рамките на конфигураторот tag. Zigbee моментално ја поддржува дефиницијата за битмапи, нумери, цели броеви, низи или структури. Пред да дефинирате повеќе типови, проверете ги сите постоечки атомски типови дефинирани во типовите.xml и сите неатомски типови дефинирани во другите xml fileс. Можете да ги дефинирате на следниов начин:
Битмапа: име: име на типот на битмапа. тип: Може да се дефинира битмапа со големина помеѓу 8-64 бита, од кои сите треба да бидат множители на 8. Секоја битмапа може да има повеќе полиња со име и маска поврзани со неа. на пример:
„`
Enum: име: име на типот enum. тип: Може да се дефинира енум со големина помеѓу 8-64 бита, од кои сите треба да бидат множители на 8. Секоја нумера може да има повеќе ставки со име и вредност поврзана со него. на пример:
Цел број: Цели типови се веќе дефинирани под атомски типови кои постојат во типови.xml. Нивната големина може да се движи од 8-64 бита и може да биде потпишана или непотпишана. на пример:
Низа: Типовите на низи се веќе дефинирани под атомски типови кои постојат во типови.xml. Тековните типови на жици вклучуваат низа од октет, низа со знак, долга октетна низа и долга низа со знаци, на пр.
Структура: име: име на тип на структура. Секоја структура може да има повеќе ставки со име и тип поврзани со неа. Типот може да биде кој било претходно дефиниран тип под типови на податоци. на пример:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
17/35
Прилагодено XML Tags за Зигби
<item name=”structItem1″ type=” Any defined type name in the xml files]”/>
Прилагодените кластери може да се дефинираат во рамките на конфигураторот tag. име: име на доменот на кластерот: домен на кластерот. Кластерот ќе се појави во интерфејсот на ZAP под овој домен. опис: Опис на кодот на кластерот: дефинирање на кодот на кластерот: дефинирање на кластерот што го користи генератор на код за да го дефинира кластерот на одреден начин производител Код: Се користи за дефинирање на одреден производствен кластер. Ова треба да биде помеѓу 0xfc00 - 0xffff. Кодот на производителот за кластерот треба да се дефинира на следниов начин:
Производниот кластер автоматски ги прави атрибутите и командите под него од истиот код на производителот, освен ако тие експлицитно не го наведуваат кодот на производителот. IntrodudIn: Се користи за одредување на специфичната верзија во која е претставен кластерот. Ова се користи од генератор на код за да додаде дополнителна логика. removeIn: Се користи за одредување на специфичната верзија во која е отстранет кластерот. Ова се користи од генератор на код за да додаде дополнителна логика. singleton(boolean): Се користи за одредување на кластер како единечно така што има само еден пример од тој кластер споделен низ крајните точки. атрибут: дефинира атрибут за името на кластерот: Името на атрибутот се споменува помеѓу атрибутот tag.
име на атрибут
страна (клиент/сервер): страната на кластерот на која е поврзан и атрибутот. код: код на атрибут код на производителот: Ова може да се користи за да се дефинира специфичен атрибут за производителот надвор од спецификацијата zigbee спомната со стандардниот xml. define: атрибут define кој се користи од генератор на код за дефинирање на атрибут на одреден начин тип: тип на атрибут кој може да биде кој било од типовите на податоци споменати во стандардната xml: стандардна вредност за атрибутот. min: Минимална дозволена вредност за атрибут max: Максимална дозволена вредност за атрибут што може да се запише: Дали вредноста на атрибутот може да се запише или не. Ова може да се користи за да се спречи менувањето на атрибутот со команди за пишување. опционално (булова): Се користи за одредување дали атрибутот е изборен или не за кластерот. min: Минимална дозволена вредност за атрибут кога е цел број, енум или битмап тип. max: Максимална дозволена вредност за атрибутот кога е цел број, енум или должина од типот на битмапа: Се користи за одредување на максималната должина на атрибутот кога е од тип стринг. minLength: Се користи за одредување на минималната должина на атрибутот кога е од типот стринг. за известување (булова): Покажува дали атрибутот може да се пријави или не е Нуллив(булонски): Дозволува нула вредности за атрибутот. низа (булова): Се користи за декларирање на атрибут од тип низа. IntroductionIn: Се користи за одредување на специфичната верзија во која е воведен атрибутот. Ова се користи од генератор на код за да додаде дополнителна логика. removeIn: Се користи за одредување на специфичната верзија во која е отстранет атрибутот. Ова се користи од генератор на код за да додаде дополнителна логика. команда: дефинирајте команда за име на кластерот: Име на командата.
код: команден код
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
18/35
Прилагодено XML Tags за Зигби
код на производителот: Ова може да се користи за да се дефинира команда специфична за производителот надвор од спецификацијата zigbee спомната со стандардниот xml. опис: опис на командата извор (клиент/сервер): извор на командата. опционално (булова): Се користи за одредување дали командата е изборна или не за кластерот. IntroductionIn: Се користи за одредување на специфичната верзија во која е воведена командата. Ова се користи од генератор на код за да додаде дополнителна логика. removeIn: Се користи за одредување на специфичната верзија во која командата е отстранета. Ова се користи од генератор на код за да додаде дополнителна логика. командни аргументи:
Секоја команда може да има множество на командни аргументи име: име на командниот аргумент тип: тип на команден аргумент кој може да биде кој било од типовите споменати во xml. min: Минимална дозволена вредност за аргумент кога е цел број, енум или битмап тип. max: Максимално дозволена вредност за аргумент кога е цел број, енум или должина од типот на битмапа: Се користи за одредување на максималната дозволена должина за команден аргумент кога е од тип стринг. minLength: Се користи за одредување на минималната дозволена должина за команден аргумент кога е од типот стринг. array(boolean): За да се утврди дали командниот аргумент е од типот низа. presentIf(string): Ова може да биде условна низа од логички операции засновани на други командни аргументи каде што можете да го очекувате аргументот на командата ако условната низа се процени на точно. на пример:
Забелешка: Овде статусот е друго име на команден аргумент. optional(boolean): Се користи за одредување на командниот аргумент како изборен. countArg: Се користи кога командниот аргумент е од типот низа. Ова се користи за да се спомене другиот команден аргумент кој ја означува големината на низата за овој аргумент.
IntrodudIn: Се користи за одредување на специфичната верзија во која е воведен командниот аргумент. Ова се користи од генератор на код за да додаде дополнителна логика. removeIn: Се користи за одредување на специфичната верзија во која е отстранет аргументот на командата. Ова се користи од генератор на код за да додаде дополнителна логика. Кластер Екстензија може да се дефинира во рамките на конфигураторот tag. Екстензијата на кластерот се користи за проширување на стандарден кластер со производствени атрибути и команди, на пр
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
19/35
Прилагодено XML Tags за Зигби
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” тип=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ опционален=”true” производителКод=”0 1002″>Sample Mfg Специфичен атрибут: 0 0000 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_2″ тип=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ опционален=”true” производител Код=”0 1049″>Sample Mfg Специфичен атрибут: 0 0000 0 1049AMPLE_MFG_SPECIFIC_TRANSITION_TIME_3″ тип=”INT8U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 00″ опционален=”true” производител Код=”0 1002″>Sample Mfg Специфичен атрибут: 0 0001 0 1002AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ тип=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ опционален=”true” производител Код=”0 1049″>Sample Mfg Специфичен атрибут: 0 0001 0 1040ampleMfgSpecificOffWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го исклучува уредот со дадена транзиција
до времето на транзиција во Ембер Сampатрибут за време на транзиција.ampleMfgSpecificOnWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го вклучува уредот со дадена транзиција
до времето на транзиција во Ембер Сampатрибут за време на транзиција.ampleMfgSpecificToggleWithTransition” опционален=”вистински” производителКод=”0 1002″> Команда на клиентот што го менува уредот со дадена транзиција
до времето на транзиција во Ембер Сampатрибут за време на транзиција.ampleMfgSpecificOnWithTransition2″ изборен=”вистински” производителКод=”0 1049″> Команда на клиентот што го вклучува уредот со дадена транзиција
до времето на транзиција во Ембер Сampатрибут за време на транзиција.ampleMfgSpecificToggleWithTransition2″ изборен=”вистински” производителКод=”0 1049″> Команда на клиентот што го менува уредот со дадена транзиција
до времето на транзиција во Ембер Сampатрибут за време на транзиција.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
20/35
Повеќе типови уреди по крајна точка
Ова е функција „Само прашање“ каде што корисникот може да избере повеќе од еден тип на уред по крајна точка. Додавањето на повеќе типови уреди aaa ќе ги смести конфигурациите на кластерот во типовите на уреди во конфигурацијата на крајната точка.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
21/35
Повеќе типови уреди по крајна точка
Горенаведената слика покажува дека крајната точка 1 има избрано повеќе од еден тип на уред. „Примарниот уред“ означува примарен тип на уред со кој ќе се поврзе крајната точка. Примарниот тип на уред е секогаш присутен на индексот 0 од списокот со избрани типови уреди, така што изборот на различен примарен тип на уред ќе го промени редоследот на избраните типови уреди. Изборот на тип на уред има и ограничувања врз основа на спецификацијата на моделот на податоци. ZAP ги штити корисниците од избор на невалидни комбинации на типови уреди на крајна точка користејќи ги овие ограничувања.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
22/35
Matter Device Type Feature Page
Matter Device Type Feature Page
Matter Device Type Feature Page
ZAP поддржува визуелизирање и префрлање на функциите Matter на страницата со карактеристики тип уред. Ќе се прикажат само карактеристиките на типот на уред наведени во matter-devices.xml во складиштето CHIP.
Навигација до страницата со карактеристики
ò Стартувајте го ZAP во Matter со ажурирана Matter SDK. ó Создадете крајна точка со тип на уред Matter. ô Кликнете на копчето Device Type Features на горната средина на кластерот view. Забележете дека ова копче е достапно само во ZAP
конфигурации за Matter и кога постојат податоци за усогласеност во Matter SDK. Со кликнување на ова копче ќе се отвори горната слика.
Усогласеност
Сообразноста ја дефинира опционалноста и зависноста за атрибути, команди, настани и типови на податоци. Тој одредува дали некој елемент е задолжителен, изборен или неподдржан во одредени конфигурации на ZAP.
Усогласеноста на карактеристиките на типот на уред има предност пред усогласеноста на карактеристиките на кластерот. За прampОдликата за осветлување има изборна усогласеност во кластерот за вклучување/исклучување, но е декларирана како задолжителна во типот на уред за вклучување/исклучување светло што го вклучува кластерот за вклучување/исклучување. Создавањето крајна точка со типот на уред за вклучено/исклучено светло ќе ја прикаже функцијата Осветлување како задолжителна на страницата со карактеристики.
Вклучување на функцијата
На страницата со карактеристики, откако ќе кликнете на копчето за вклучување за да овозможите или оневозможите функција, ZAP ќе:
Ажурирајте ги поврзаните елементи (атрибути, команди, настани) за да ја поправите усогласеноста и прикажете дијалог кој ги прикажува промените.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
23/35
Matter Device Type Feature Page Ажурирајте го битот на функцијата во атрибутот featureMap на поврзаниот кластер
Овозможете го дијалогот за функции
Оневозможи дијалог за функции
Вклучувањето е оневозможено за некои функции кога нивната усогласеност има непозната вредност или моментално неподдржан формулар t. Во овој приказ, ZAP ќе прикажува предупредувања во известувањето ap ne.
a Wa Element Согласете ги ѕвонењата
Кога менувате елемент, ZAP може да прикаже и предупредувања за усогласеност на уредот и предупредувања за усогласеност. Ако состојбата на елементот не се совпаѓа со очекуваната усогласеност, ZAP ќе прикаже икона за предупредување и ќе го најави предупредувањето во апликацијата за известување. ПрampПрикажани се и предупредувањата за усогласеност и усогласеност за елемент:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
24/35
Известувања
Известувања
Известувања
Следниот дел дефинира како се даваат известувањата до корисниците на ZAP во UI.
Известувања за пакети
Известувањата за пакети се предупредувања или пораки за грешка поврзани за кој било специфичен пакет вчитан во ZAP. За прampЛе, на сликите подолу, кликнувањето на иконата за предупредување под колоната за статус ќе ве доведе до дијалог што ги прикажува сите известувања за тој пакет.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
25/35
Известувања
Известувања за сесија
Известувањата за сесии се предупредувања или пораки за грешка кои се поврзани со корисничка сесија. Овие предупредувања/грешки може да се видат со кликнување на копчето Известувања во лентата со алатки на врвот на ZAP UI. За прampле, сликата подолу ја прикажува страницата за известувања за сесија по исцртување file беше вчитан во ЗАП.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
26/35
Усогласеност со спецификациите на Data-Model/ZCL
Усогласеност со спецификациите на Data-Model/ZCL
Усогласеност со моделот на податоци и спецификациите на ZCL
Оваа функција во ZAP им помага на корисниците да видат неуспеси за усогласеност за Data Model или ZCL со нивните постоечки ZAP конфигурации. Предупредувачките пораки за неуспеси во усогласеноста ќе се појават на окното за известувања во ZAP UI и исто така ќе бидат најавени на конзолата кога се извршува ZAP преку CLI. Функцијата за усогласеност моментално обезбедува предупредувања за усогласеност со типот на уред и усогласеност на кластерот на крајната точка.
Предупредувања за усогласеност во интерфејсот на ZAP
Кога корисникот ќе отвори .zap file користејќи го ZAP UI тие ќе гледаат предупредувања во панелот за известувања на ZAP UI за сите неуспеси во усогласеноста. За прampле, сликата подолу ја прикажува страницата за известувања за сесија по .zap file беше отворена со прашања за усогласеност.
Пораките за усогласеност ќе исчезнат откако ќе се решат проблемите со користење на ZAP UI, така што ќе можете да ги следите само преостанатите проблеми со усогласеноста. Ќе се појават и нови предупредувања за усогласеност доколку корисникот ги оневозможи задолжителните елементи (кластер/наредби/атрибути) на конфигурацијата. Известувањата за усогласеност со спецификациите секогаш ќе ги следат сите неуспеси што се воведени во конфигурацијата на ZAP, но имајте предвид дека предупредувањата што се појавуваат за време на отворањето на .zap file се подетални за тоа зошто не успеа да се усогласи во споредба со предупредувањата што се појавуваат при интеракција со интерфејсот. Ова е според дизајнот и се врши целосна проверка на усогласеноста за време на отворањето на .zap file.
Предупредувања за усогласеност на конзолата
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
27/35
Усогласеност со спецификациите на Data-Model/ZCL
Кога корисникот ќе отвори .zap file користејќи го самостојниот интерфејс на ZAP или ZAP CLI, тие ќе видат предупредувања најавени во конзолата/терминалот за сите неуспеси во усогласеноста. За прampле, сликата подолу ги прикажува предупредувањата за известување за сесијата на конзолата/терминалот по .zap file беше отворена со прашања за усогласеност.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
28/35
Контрола на пристап
Карактеристики за контрола на пристап
ZAP поддржува контрола на пристап на сите ентитети на ZCL. Се сведува на имплементацијата на SDK да ги мапира овие карактеристики на потребните и поддржани функции на SDK за контрола на пристап. ZAP генерално обезбедува модел на податоци и механизам за нивно кодирање во мета-информациите files и пропагирајте ги тие податоци на шаблоните за генерирање, без да назначите специфични значења на точките за податоци.
Основни услови
Контролата за пристап ZAP дефинира три основни термини, како што следува: ò операција : дефинирано како нешто што може да се направи. Прample: читај, пишувај, повикувај. ó улога: дефинирана како привилегија на актерот. како што се „View привилегија“, „Административна улога“ и син на. ô модификатори: дефинирани како посебни услови за контрола на пристап, како што се податоци чувствителни на ткаенина или податоци за опсегот на ткаенината. Основните термини се дефинирани во метаподатоците XML под врвот tag . Следниве е ексampДефиниции на основните термини за контрола на пристап:
<role type=”view„опис =“View привилегија“/>
Овој ексample дефинира три операции, читање, пишување и повикување, два модификатори и четири улоги.
Пристап до тројки
Секој поединечен услов за пристап може да се дефинира со тројка за пристап во XML. Тројката за пристап е комбинација од операција, улога и модификатор. Тие се опционални, така што можете да имате само еден од нив. Недостасува дел од тројката генерално значи дозвола, што е специфично за имплементацијата за дадениот SDK. Ентитетот што го дефинира својот пристап може да има една или повеќе тројки за пристап. Следниве е ексampле:
на 0
Ова е дефиниција за атрибут што има тројка за пристап, изјавувајќи дека дозволува операција за запишување со управувачка улога, со применет модификатор со опсег на ткаенина.
Стандардни дозволи
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
29/35
Контрола на пристап
Ентитетите на ZCL можат да дефинираат свои индивидуални дозволи. Сепак, постои и глобална дефиниција за стандардните дозволи за
дадени типови. Тие се претпоставуваат за дадениот ентитет, освен ако тој не обезбеди свои специфични дозволи.
Стандардните дозволи се декларирани преку a tag на највисокото ниво на XML fileНа Прampле:
аа a< ccess op=”invoke”/> a а aa < ccess op=”re d”/> a< ccess op=”write”/> a аа аа < ccess op=”re d” role=”view”/> aa < ccess op=”write” role=”oper te”/> a
Помошници на шаблоните
Основниот помошник за шаблоните што треба да се користи е итетерот {{#access}} … {{/access}}. Овој итератор се повторува преку сите дадени тројки за пристап.
Ги поддржува следните две опции:
ентитет=”атрибут/команда/настан” – ако ентитетот не може да се одреди од контекст, ова го поставува типот на ентитетот. includeDefault=”true/false” – одредува дали стандардните вредности се вклучени или не. Следниве е ексampле:
{{#zcl_clusters}}
Кластер: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa – tribute: {{n me}} [{{code}}] aa {{# ccess entity=” tribute”}}
O a RM a M * p: {{операција}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_ tributes}} a {{#zcl_comm nds}} aa – comm nd: {{n me}} [{{and {code{=}"}] a RM a M * p: {{ операција }} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_comm nds}}
{{#zcl_events}}
a – настан: {{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}}
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
30/35
Стартување на ZAP for Matter или Zigbee апликации
Стартување на ZAP for Matter или Zigbee апликации
Стартување на ZAP for Matter или Zigbee апликации
Следните делови го опишуваат стартувањето на ZAP во самостоен режим со метаподатоци специфични за Matter или Zigbee. Идејата е да се лансира ZAP со точни аргументи поврзани со метаподатоци на XML (дефиниции за типови на кластери и уреди според спецификациите на CSA) и шаблони за генерирање, кои се користат за генерирање на соодветниот код.
Лансирање на ZAP со Материја
Следната скрипта ги зема точните метаподатоци од Matter SDK при стартување на ZAP. Htt
Лансирање на ZAP со Zigbee
Следната команда го стартува ZAP со спецификациите на ZCL и шаблони за генерирање од SDK.
[zap-path] -z [sdk-path]/gsdk/app/zcl/zcl-zap.json -g [sdk-path]/gsdk/protocol/zigbee/app/framework/gen-template/gen-templates.json
zap-path: Ова е патеката до изворот ZAP или извршната sdk-path: Ова е патеката до SDK
Стартување на ZAP без метаподатоци
Запомнете дека кога го стартувате ZAP директно преку извршна датотека или од извор користејќи npm run zap, го стартувате ZAP со тест метаподатоци за Matter/Zigbee вградени во ZAP, а не со вистинските метаподатоци што доаѓаат од Matter и Zigbee SDK споменати погоре. Затоа, не заборавајте да ги креирате вашите ZAP конфигурации користејќи ги метаподатоците SDK, а не со директно отворање на ZAP со вградените тест метаподатоци.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
31/35
Се генерира код за Matter или Zigbee
Создавање код за материја, Zigbee или приспособена SDK
Следните делови опишуваат како да генерирате код користејќи ZAP.
Генерирајте код користејќи ZAP UI
Стартувајте го ZAP UI според упатствата во Стартување на ZAP за Matter или Zigbee и кликнете на копчето Генерирај во горната лента со мени.
Генерирајте код без интерфејс
Следниве инструкции обезбедуваат различни начини на генерирање код преку CLI без стартување на ZAP UI.
Генерирање код од ZAP Source
Извршете ја следнава команда за да генерирате код користејќи ZAP од изворот: јазол 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
Генерирање код од ZAP Executable
Извршете ја следнава команда за да генерирате код користејќи 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
Генерирање код од ZAP CLI извршна
Извршете ја следнава команда за да генерирате код користејќи ZAP CLI извршна: [zap-cli-path] генерира –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
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
32/35
Ажурирајте го ZAP во Студио
Ажурирајте го ZAP
Ажурирајте го ZAP во Simplicity Studio
Овој механизам може да се користи при работа со наставката Matter или Zigbee од изданијата на Silicon Labs SDK. ZAP може да се ажурира во рамките на Simplicity Studio без издание на Simplicity Studio со преземање на најновата извршна датотека на ZAP (препорачано) или со повлекување на најновата од изворот на ZAP како што е прикажано во Упатството за инсталација на ZAP. Откако ќе го имате најновиот ZAP врз основа на вашиот тековно користен оперативен систем, можете да го ажурирате ZAP во Studio како пакет со адаптери. Следете ги упатствата подолу откако ќе го преземете најновиот ZAP:
Одете во Simplicity Studio и изберете Preferences > Simplicity Studio > Адаптер пакети. Кликнете Додај… и прелистајте ја проширената папка ZAP што ја презедовте и кликнете Изберете папка. Кликнете Примени и Затвори, а потоа новододадениот ZAP ќе се користи секогаш кога .zap file се отвора.
Забелешка: Понекогаш може да има постари примероци на ZAP кои веќе работат дури и по ажурирањето на најновиот ZAP. Погрижете се да ги завршите сите постоечки примери на ZAP така што ново преземениот ZAP да се користи наместо стара инстанца, која сè уште работи во заднина.
Ажурирајте го ZAP за развој на материја во Github
Кога работите со Matter или Matter-Silicon Labs на Github, поставете ги променливите на животната средина во однос на ZAP за да креирате/генерирате нови ZAP конфигурации или повторно да генерирате постоечкиample ZAP конфигурации по примена на промени на нив. Поставете го ZAP_DEVELOPMENT_PATH на ZAP од изворот со повлекување на најновиот или поставете го ZAP_INSTALLATION_PATH на ZAP извршната датотека што сте ја преземале последен во вашиот локален директориум. Имајте предвид дека кога се поставени и ZAP_DEVELOPMENT_PATH и ZAP_INSTALLATION_PATH, се користи ZAP_DEVELOPMENT_PATH.
Следниве се прampлес кои ги прикажуваат горенаведените променливи на животната средина во употреба:
Стартување на ZAP со помош на спецификација на материјата Регенерирање на сите сample ZAP конфигурации за Matter апликации
Забелешка: Кога користите ZAP извршни датотеки, проверете дали користите официјално издание во текот на ноќното издание за поголема стабилност. Види
Преземање на ZAP Executable во ZAP Installation Guide
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
33/35
Истовремен мулти-протокол помеѓу Zigbee и Matter
Истовремен мулти-протокол помеѓу Zigbee и Matter
MCoanttceurrrent Мулти-протокол помеѓу Zigbee и
ZAP може да се користи за конфигурирање на конфигурациите на ZCL (Zigbee) и Data-Model (Matter) во мултипротоколна апликација за Zigbee и Matter. ZAP ви овозможува да креирате крајни точки за Zigbee и Matter експлицитно во истата конфигурација file. Ако крајните точки Zigbee и Matter се на истиот Идентификатор на крајна точка (на прample, LO Dimmable Light на крајната точка Id 1 и Matter Dimmable Light на друг пример на крајната точка 1), ZAP се грижи за синхронизирање на заедничките атрибути низ атрибутите Matter и Zigbee. Проверете дали атрибутите што се синхронизираат имаат ист тип на податоци. Заедничките атрибути помеѓу Зигби и Материјата се воспоставуваат преку а file наречен мулти-протокол.json . Корисникот може да поврзе кои било два кластери низ Zigbee и Matter заедно со нивните соодветни атрибути користејќи ги соодветно кластерите и атрибутските кодови. Ова file може да се најде во [SDKPath]/app/zcl/multi-protocol.json. Ова file за почеток е ажуриран со одреден сет на кластери и атрибути, но корисникот може да го ажурира ова file по потреба и ZAP ќе се погрижи за синхронизирање на конфигурацијата на атрибутот низ Zigbee и Matter за заеднички идентификатори на крајната точка.
Можете исто така да најдете упатство за ZAP во која било апликација со повеќе протокол на Zigbee и Matter под страницата со упатства. Ова упатство ќе ве води низ процесот на креирање апликација со повеќе протоколи. Ова упатство е достапно само кога отворате постоечка мултипротоколна апликација и може да се најде како што е прикажано на сликата подолу:
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
34/35
Интегрирајте го SLC CLI со ZAP
Интегрирајте го SLC CLI со ZAP
Интегрирајте го SLC CLI со ZAP
Следете ги овие чекори за да го интегрирате SLC CLI со ZAP: ò Инсталирајте SLC CLI следејќи ги упатствата за инсталација во Упатството за корисникот Simplicity Studio 5. ó Инсталирајте го ZAP следејќи ги упатствата во Водичот за инсталација на ZAP. ô За да се интегрира SLC CLI со ZAP, додадете променлива на животната средина STUDIO_ADAPTER_PACK_PATH што укажува на апликацијата ZAP
директориум. õ Запомнете да го рестартирате SLC CLI Daemon по чекор 3. ö Секој проект што користи ZAP сега ќе ја користи патеката дефинирана во чекор 3 кога ќе се генерира од SLC CLI. Ве молиме погледнете го SLC CLI
Употреба за инструкции за користење на SLC CLI за вашите проекти.
Авторски права © 2025 Силиконски лаборатории. Сите права се задржани.
35/35
Документи / ресурси
![]() |
SILICON LABS ZAP се развива со силиконски лаборатории [pdf] Упатство за сопственикот ZAP во развој со силиконски лаборатории, ZAP, развој со силиконски лаборатории, силиконски лаборатории, лаборатории |