Silicon-Labs-LOGO

ZAP ვითარდება სილიკონის ლაბორატორიებით

ZAP-Developing-With-Silicon-Labs-PRODUCT

სპეციფიკაციები

  • პროდუქტის დასახელება: სილიკონის ლაბორატორიები ZAP
  • ტიპი: კოდის გენერირების ძრავა და მომხმარებლის ინტერფეისი
  • თავსებადობა: Zigbee Cluster Library (Zigbee) ან მონაცემთა მოდელი (Matter)
  • განვითარებული ავტორი: Connectivity Standards Alliance

პროდუქტის გამოყენების ინსტრუქცია

  • ZAP-ის დაწყება
    • ZAP-ის დასაწყებად, მიჰყევით ამ ნაბიჯებს:
      • ჩამოტვირთეთ ZAP Executable ოფიციალური საცავიდან.
      • დააინსტალირეთ დამოკიდებულებები npm install ბრძანების გამოყენებით.
      • Windows-ის სპეციფიკური ინსტალაციისთვის იხილეთ ZAP Installation for Windows OS-ის სახელმძღვანელო.
  • Zigbee Development
    • თუ თქვენ ავითარებთ Zigbee აპლიკაციებს:
      • გამოიყენეთ Simplicity Studio, რომელიც მოიცავს ZAP და სხვა საჭირო ინსტრუმენტებს.
  • მატერიის განვითარება
    • თუ თქვენ ავითარებთ Matter აპლიკაციებს:
      • ვარიანტები მოიცავს Simplicity Studio-ს გამოყენებას ან Silicon Labs-ის ან CSA Github საცავებში წვდომას.
      • საჭიროების შემთხვევაში იხილეთ ZAP-ის განახლების ინსტრუქციები Simplicity Studio-ის გამოშვების ციკლის გარეთ.

ხშირად დასმული კითხვები

  • Q: რა არის ZAP ბინარების სხვადასხვა ვერსიები ხელმისაწვდომი?
    • A: ხელმისაწვდომია ორი ვერსია - ოფიციალური გამოშვება დამოწმებული კონსტრუქციებით და წინასწარი გამოშვება უახლესი ფუნქციებით.
  • კითხვა: რა უნდა გავაკეთო, თუ ინსტალაციის დროს შემექმნება მშობლიური ბიბლიოთეკის შედგენის პრობლემა?
    • A: იხილეთ FAQ ინფორმაცია პლატფორმის სპეციფიკური სკრიპტების შესახებ ასეთი პრობლემების გადასაჭრელად.

„`

სილიკონის ლაბორატორიები ZAP
სილიკონის ლაბორატორიები ZAP

ვითარდება Silicon Labs ZAP-თან ერთად

დაწყება
ZAP თავიდან დაწყებაview ZAP ინსტალაცია ZAP ინსტალაცია Windows FAQ
საფუძვლები ZAP საფუძვლები
მომხმარებლის სახელმძღვანელო ZAP მომხმარებლის სახელმძღვანელო დასრულდაview Custom XML Custom XML Tags Zigbee-ისთვის მრავალი მოწყობილობის ტიპები თითო ბოლო წერტილზე Matter მოწყობილობის ტიპი ფუნქცია გვერდის შეტყობინებები Data-Model/ZCL სპეციფიკაცია შესაბამისობის წვდომის კონტროლი გაშვება ZAP Matter-ისთვის ან Zigbee აპლიკაციებისთვის. მატერიის ან Zigbee-ის განახლების კოდის გენერირება სტუდიაში.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

1/35

ვითარდება Silicon Labs ZAP-თან ერთად
ვითარდება Silicon Labs ZAP-თან ერთად
ZAP
ZAP არის ზოგადი კოდის გენერირების ძრავა და მომხმარებლის ინტერფეისი აპლიკაციებისა და ბიბლიოთეკებისთვის, რომელიც დაფუძნებულია Zigbee კლასტერული ბიბლიოთეკაზე Zigbee-დან ან მონაცემთა მოდელი Matter-დან. სპეციფიკაცია შემუშავებულია კავშირის სტანდარტების ალიანსის მიერ. ZAP საშუალებას გაძლევთ შეასრულოთ შემდეგი ოპერაციები:
შეასრულეთ SDK-ს სპეციფიკური მორგებული გენერაცია ყველა გლობალური არტეფაქტის (მუდმივები, ტიპები, ID-ები და ა.შ.) ZCL/Data-Model-ის სპეციფიკაციის საფუძველზე. შეასრულეთ SDK-ს სპეციფიკური მორგებული გენერაცია მომხმარებლის მიერ არჩეული კონფიგურაციის არტეფაქტების (აპლიკაციის კონფიგურაცია, საბოლოო წერტილის კონფიგურაცია და ა. მიაწოდეთ UI საბოლოო მომხმარებლისთვის, რომ შეარჩიოს კონკრეტული აპლიკაციის კონფიგურაცია (ბოლო წერტილები, კლასტერები, ატრიბუტები, ბრძანებები და ა.შ.).

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

ამ სექციების შინაარსი აღწერს, თუ როგორ უნდა განვითარდეს Zigbee და Matter აპლიკაციები ZCL (Zigbee) ან მონაცემთა მოდელის (Matter) ფენების კონფიგურაციის გზით ZAP-ის გამოყენებით.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

2/35

ZAP-ის დაწყება

ZAP-ის დაწყება
ZAP-ის დაწყება
ეს სექციები აღწერს Zigbee და Matter აპლიკაციების შესაქმნელად სხვადასხვა მეთოდს. გაითვალისწინეთ, რომ Simplicity Studio გაძლევთ საშუალებას შექმნათ თქვენი Zigbee და Matter აპლიკაციები ბოლოდან ბოლომდე, სადაც ყველა ხელსაწყო არის წინასწარ დაინსტალირებული Simplicity Studio-სთან ერთად (მათ შორის ZAP). თქვენ ასევე შეგიძლიათ გადაწყვიტოთ თქვენი აპლიკაციების შექმნის სხვა გზების შესწავლა, როგორც ეს აღწერილია აქ.
Zigbee Development
Zigbee აპლიკაციის დეველოპერებს შეუძლიათ შექმნან თავიანთი აპლიკაციები Simplicity Studio-ს გამოყენებით, რომელიც უკვე შეიცავს ZAP-ს და სხვა ინსტრუმენტებს, რომლებიც დაგეხმარებათ შექმნათ თქვენი აპლიკაცია ბოლოდან ბოლომდე.
მატერიის განვითარება
Matter აპლიკაციის დეველოპერებს შეუძლიათ შექმნან თავიანთი აპლიკაციები შემდეგი მეთოდების გამოყენებით: Simplicity Studio: ეს მოიცავს ZAP-ს და სხვა ინსტრუმენტებს, რომლებიც საჭიროა Matter-ის აპლიკაციის ბოლომდე დასასრულის შესაქმნელად. Github (Silicon Labs) Github (CSA)
შენიშვნა: ZAP-ის განახლებისთვის Simplicity Studio-ის გამოშვების ციკლის გარეთ, იხილეთ ZAP-ის განახლება Simplicity Studio-ში და ZAP ინსტალაციის სახელმძღვანელო.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

3/35

ZAP ინსტალაცია

შემდეგი სექციები აღწერს ZAP-ის ინსტალაციას და ZAP-ის განახლებას Simplicity Studio IDE-ში.
რეკომენდირებულია ZAP შესრულებადი ჩამოტვირთვა)
ეს არის ZAP-ის დაწყების რეკომენდებული გზა. შეგიძლიათ მიიღოთ უახლესი ZAP ორობითი ფაილები aa-დან https://github.com/project-chip/zp/releses. წინასწარ აშენებული ბინარები მოდის ორ სხვადასხვა ვერსიაში.
ოფიციალური გამოშვება: დამოწმებული ნაგებობები გამოყოფილი Matter და Zigbee სატესტო კომპლექტებით. გამოშვების სახელის ფორმატია vYYYY.DD.MM. წინასწარი გამოშვება: ნაგებობები უახლესი ფუნქციებითა და შეცდომების გამოსწორებით, მაგრამ ეს ნაგებობები არ არის დამოწმებული გამოყოფილი Matter-ისა და Zigbee-ის სატესტო კომპლექტებით. გამოშვების სახელის ფორმატია vYYYY.DD.MM-ღამეში.
ZAP-ის ინსტალაცია წყაროდან
ძირითადი ინსტრუქციები ZAP-ის ინსტალაციისთვის
იმის გამო, რომ ეს არის node.js აპლიკაცია, თქვენ გჭირდებათ კვანძის გარემო დაინსტალირებული. ამის გაკეთების საუკეთესო გზაა კვანძის უახლესი ინსტალაციის ჩამოტვირთვა, რომელიც მოიცავს node და npm. თუ თქვენს სამუშაო სადგურზე დაინსტალირებული გაქვთ კვანძის ძველი ვერსია, ამან შეიძლება გამოიწვიოს პრობლემები, განსაკუთრებით თუ ის ძალიან ძველია. დარწმუნდით, რომ გაქვთ უახლესი node v16.x ვერსია npm-ით, რომელიც შედის. გაუშვით კვანძი – ვერსია, რომ შეამოწმოთ რომელი ვერსიაა აღებული. რეკომენდირებულია v18.x. მას შემდეგ რაც გექნებათ კვანძის სასურველი ვერსია, შეგიძლიათ გაუშვათ შემდეგი:
დააინსტალირეთ Dependencies
გამოიყენეთ შემდეგი ბრძანებები დამოკიდებულებების დასაყენებლად:

ZAP-Developing-With-Silicon-Labs-FIG- (2)
npm ინსტალაცია
შენიშვნა: Windows-ის სპეციფიკური ZAP-ის ინსტალაციისთვის, იხილეთ ZAP ინსტალაცია Windows OS-ისთვის. ამ ეტაპზე იშვიათი არ არის ბიბლიოთეკის კომპილაციის პრობლემების წარმოქმნა. არსებობს სხვადასხვა src-script/install-* სკრიპტები სხვადასხვა პლატფორმისთვის. იხილეთ FAQ ინფორმაცია იმის შესახებ, თუ რომელი სკრიპტი უნდა გაუშვათ სხვადასხვა პლატფორმაზე და შემდეგ კვლავ გაუშვით npm install.
დაიწყეთ აპლიკაცია
გამოიყენეთ შემდეგი ბრძანებები აპლიკაციის დასაწყებად:

ZAP-Developing-With-Silicon-Labs-FIG- (3)
npm გაუშვით zap
დაიწყეთ Front-End განვითარების რეჟიმში
მხარს უჭერს ცხელი კოდის გადატვირთვას, შეცდომის მოხსენებას და ა.შ. გამოიყენეთ შემდეგი ბრძანებები, რათა დაიწყოთ წინა ნაწილის განვითარება
რეჟიმი:ZAP-Developing-With-Silicon-Labs-FIG- (4)
კვაზარი dev -m ელექტრონი
or

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

4/35

ZAP Insta at o ll in
npm გაშვება electron-dev

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

5/35

ZAP ინსტალაცია Windows
ZAP ინსტალაცია Windows
ZAP ინსტალაცია Windows OS-ისთვის
1. Windows Powershell
დესკტოპის საძიებო ზოლში შეიყვანეთ Windows Powershell და გაუშვით როგორც ადმინისტრატორი. გაუშვით ყველა შემდეგი ბრძანება Powershell-ში.
2. შოკოლადი
დააინსტალირეთ https://chocolatey.org/install. შეამოწმეთ თუ არა სწორად დაინსტალირებული შემდეგი ბრძანებებით:
ჩოკო -ვ
დააინსტალირეთ pkgconfiglite პაკეტი შემდეგი ბრძანებებით:
choco install pkgconfiglite
3. დააინსტალირეთ Node
დააინსტალირეთ შემდეგი ბრძანებები:
choco install nodejs-lts
*ვერსიის შემოწმების ტესტის გასავლელად ვერსია უნდა იყოს 18, ინსტალაციის შემდეგ გადაამოწმეთ node -v-ით *თუ უკვე დააინსტალირეთ Node და ვერ ჩააბარებთ მსგავს ტესტებს, როგორიცაა Node-ის პოვნა, ხელახლა დააინსტალირეთ Node chocolatey-ით.
4. მიჰყევით ძირითად ინსტრუქციას ZAP-ის ინსტალაციისთვის
მიჰყევით ZAP-ის ინსტალაციის ინსტრუქციებს წყაროდან ZAP Installation-ში. ZAP-ის ინსტალაციის ძირითადი ინსტრუქციების შესრულებისას ყურადღება მიაქციეთ შემდეგ შეცდომებს და როგორ მოაგვაროთ ისინი:
sqlite3
ZAP-ის გაშვებისას (მაგ., npm გაუშვით zap ), თუ ხედავთ შეცდომას sqlite3.node-ის შესახებ pop-up ფანჯარაში, გაუშვით:
npm აღადგინეთ sqlite3
ელექტრონის მშენებელი
npm ინსტალაციისას, პოსტინსტალაციისას, თუ შეცდომა მოხდა შემდეგ ბრძანებაზე, რომელიც დაკავშირებულია electron-builder install-appdeps , npx electron-rebuild canvas წარუმატებელი ან node-pre-gyp , მიმდინარე canvas ვერსია არ არის თავსებადი Windows-თან და ინსტალაციის შეცდომა არ გამოიწვევს ZAP-ის გაშვებას. node-canvas ამჟამად მუშაობს გამოსავალზე და პრობლემა უახლოეს მომავალში მოგვარდება.
„პოსტინსტალაცია“: „ელექტრონის შემქმნელის ინსტალაცია-აპლიკაციის დეპსი && ჰასკის ინსტალაცია && npm ხელახალი ტილო - განახლება-ორობითი && npm გაშვება ვერსია-სტ.amp”

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

6/35

ZAP ინსტალაცია Windows
ტილო
თუ npm გაშვების ტესტი ვერ მოხერხდა შეცდომის გამო სატესტო კომპლექტი ვერ შესრულდა. ვერ მოიძებნა მოდული "../build/Release/canvas.node" ან
zapnode_modulescanvasbuildReleasecanvas.node არ არის მოქმედი Win32 აპლიკაცია. , აღადგინეთ ტილო შემდეგნაირად:
npm აღადგინეთ ტილო – განახლება-ორობითი
მიიღეთ index.html ან სხვა სერვერის პრობლემები
თუ npm გაშვების ტესტი ვერ მოხერხდა შეცდომის გამო, მიიღეთ index.html მოთხოვნა ვერ მოხერხდა სტატუსის კოდით 404 ერთეულების ტესტებში ან სერვერის არსებობაზე
კავშირის პრობლემები e2e-ci ტესტებში, შეასრულეთ შემდეგი ბრძანებები:
npm გაუშვით build
სხვა
შეამოწმეთ არის თუ არა კვანძის ვერსია v18 და სცადეთ დააინსტალიროთ Chocolatey-ით.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

7/35

FAQ
FAQ
ხშირად დასმული კითხვები
კითხვა: როგორ გავააქტიუროთ UI განვითარების რეჟიმში? პასუხი: თქვენ შეგიძლიათ დაიწყოთ UI განვითარების რეჟიმში, რაც გამოიწვევს შემდეგ დაყენებას:
ცალკეული კვაზარის განვითარების 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-ზე? A:
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 განახლება apt-get install –fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev
ან გაუშვით სკრიპტი:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

8/35

FAQ
src-script/install-packages-ubuntu
OSX Mac-ზე Homebrew brew-ით:
brew install pkg-config cairo pango 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
თუ თქვენ გაქვთ პრობლემები კაიროსთან, მაგალითადampთუ თქვენ მიიღებთ შეცდომას კაიროს შესახებ.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 გარემოს ცვლადი და აირჩიეთ იგი. დააჭირეთ რედაქტირებას და დაამატეთ C:/GTK მას. თუ PATH გარემოს ცვლადი არ არსებობს, დააწკაპუნეთ ახალი. თუ jpeglib.h ვერ მოიძებნა, სცადეთ შემდეგი: ò ტერმინალზე გაუშვით: choco install libjpeg-turbo ó დარწმუნდით, რომ ის სუფთაა გამოყენებით: git clean -dxff და გაუშვით npm install ხელახლა ô თუ შეცდომები არ მოხდება და მხოლოდ გაფრთხილებები გამოჩნდება, სცადეთ გამოიყენოთ npm audit fix õ თუ ვერ გაუშვით ZAP-ზე, გადადით. file src-script/zap-start.js ö შეცვლა
÷ const { spawn } = require('cross-spawn') to const { spawn } = require('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 Silicon Laboratories. Ყველა უფლება დაცულია.

9/35

FAQ
A: აღადგინეთ თქვენი მშობლიური sqlite3 bindings. უმეტეს შემთხვევაში ამის გამოსასწორებლად, გაუშვით:
npm ინსტალაცია
./node_modules/.bin/electron-rebuild -w sqlite3 -p
თუ ის მაინც არ გამოსწორდა, გააკეთეთ:
rm -rf node_modules და შემდეგ ისევ სცადეთ ზემოთ მოცემული ბრძანებები. ზოგჯერ თქვენი npm-ის განახლება ასევე იწვევს განსხვავებას:
npm ინსტალაცია -g npm
კითხვა: მე მივიღებ შეცდომას „ამ კვანძის ინსტანციის N-API ვერსია არის 1. ეს მოდული მხარს უჭერს N-API ვერსიებს 3. ამ კვანძის ინსტანციას არ შეუძლია ამ მოდულის გაშვება“.
A: განაახლეთ თქვენი კვანძის ვერსია. ამის გამოსავალი განხილულია ამ Stack Overflow თემაში: https://stackoverflow.com/questions/60620327/the-n-apiversion-of-this-node-instance-is-1-this-module-supports-n-api-version
კითხვა: ჩემი განვითარების კომპიუტერი არ მუშაობს ZAP-თან რაიმე მიზეზით. შემიძლია გამოვიყენო დოკერის კონტეინერი?
A: დიახ, შეგიძლიათ. TBD.
კითხვა: როგორ გავატარო ZAP VSCode-ში?
A: თუ თქვენს გზაზე VSCode გაქვთ, შეიყვანეთ zap repo და ჩაწერეთ კოდი. ეს გახსნის ZAP-ს VSCode-ში. ZAP-ის გამართვის რეჟიმში გასაშვებად, აირჩიეთ ZAP სამუშაო ადგილი და დააწკაპუნეთ Run ხატულაზე მარცხენა ხელსაწყოთა პანელზე. თქვენ გექნებათ არჩევანის რამდენიმე ვარიანტი ZAP-ის გასაშვებად, აირჩიეთ Node.js Debug Terminal. ეს გაიხსნება ტერმინალის ფანჯარა, საიდანაც შეგიძლიათ შეიყვანოთ npm run zap , რომელიც დაამაგრებს გამართვას და გაუშვებს ZAP-ს, როგორც ამას ჩვეულებრივ აკეთებთ ბრძანების ხაზიდან. გილოცავთ, ახლა თქვენ უნდა ნახოთ ZAP გაშვებული გამართვის სისტემაში. თქვენ შეგიძლიათ დააყენოთ წყვეტის წერტილები VSCode-ში, როგორც ნებისმიერ სხვა IDE-ში.
კითხვა: ინტერფეისის ერთეულის ტესტი ვერ ხერხდება ზოგიერთი შეცდომით ტილოზე, რომელიც არ არის აგებული კვანძის სწორი ვერსიისთვის. რა ვქნა?
პასუხი: თუ ხედავთ შემდეგ შეცდომას:ZAP-Developing-With-Silicon-Labs-FIG- (5)
FAIL test/ui.test.js სატესტო კომპლექტის გაშვება ვერ მოხერხდა მოდული 'canvas.node' შედგენილი იქნა სხვა Node.js ვერსიის წინააღმდეგ NODE_MODULE_VERSION 80-ის გამოყენებით. Node.js-ის ეს ვერსია საჭიროებს NODE_MODULE_VERSION 72-ს. გთხოვთ, სცადოთ ხელახლა შედგენა ან ხელახლა ინსტალაცია pm-ის გამოყენებით.
ობიექტზე. (node_modules/canvas/lib/bindings.js:3 18)
შემდეგ გაუშვით: npm rebuild canvas –update-binary

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

10/35

ZAP საფუძვლები

ZCL/Data-Model ZAP Fundamentals
ეს განყოფილება შეიცავს ინფორმაციას ZAP-ის ახალი მომხმარებლებისთვის. დააწკაპუნეთ ინსტრუქციის ხატულაზე ZAP UI-ის ზედა მარჯვენა კუთხეში, რომელიც გვიჩვენებს, თუ როგორ უნდა შექმნათ ZAP კონფიგურაცია. სახელმძღვანელო დაგეხმარებათ შემდეგში: საბოლოო წერტილის შექმნა აირჩიეთ მოწყობილობის ტიპის კონფიგურაცია კლასტერის კონფიგურაცია ატრიბუტის კონფიგურაცია ბრძანების კონფიგურაცია დეტალური მითითებისთვის იხილეთ Zigbee Cluster Configurator Guide

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

11/35

ZAP მომხმარებლის სახელმძღვანელო
ZAP მომხმარებლის სახელმძღვანელო
ZAP მომხმარებლის სახელმძღვანელო
ამ სახელმძღვანელოს სექციები უფრო მეტ დეტალს გვაწვდის ZAP-ის მიერ მოწოდებული სხვადასხვა ფუნქციების შესახებ.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

12/35

მორგებული XML

მორგებული XML დამატება ZAP UI-დან
დააწკაპუნეთ "გაფართოებების" ხატულაზე ZAP UI-ში. დააწკაპუნეთ "+" დამატების ღილაკზე, რომ აირჩიოთ მორგებული xml file მორგებული კლასტერები, ატრიბუტები, ბრძანებები და ა.შ. უნდა გამოჩნდეს ZAP UI-ში მორგებული xml-ის დამატების შემდეგ.
შექმენით თქვენი საკუთარი XML Zigbee-ში
განყოფილება გვიჩვენებს, თუ როგორ უნდა შექმნათ თქვენი საკუთარი კლასტერები და გააფართოვოთ არსებული სტანდარტული კლასტერები მორგებული ატრიბუტებითა და ბრძანებებით Zigbee-სთვის.
მწარმოებლის სპეციფიკური კლასტერები Zigbee-ში
თქვენ შეგიძლიათ დაამატოთ მწარმოებლის სპეციფიკური კლასტერები სტანდარტულ პროფესიონალსfile. ჩვენ გთავაზობთ ყოფილსampამის ქვემოთ. ამისათვის თქვენ უნდა შეასრულოთ ორი ვალდებულება:
კლასტერის ID უნდა იყოს მწარმოებლის სპეციფიკურ დიაპაზონში, 0xfc00 – 0xffff. კლასტერის განმარტება უნდა შეიცავდეს მწარმოებლის კოდს, რომელიც გამოყენებული იქნება ამ კლასტერში შემავალი ყველა ატრიბუტისთვის და ბრძანებისთვის და უნდა იყოს მოწოდებული ბრძანებების გაგზავნისა და მიღებისას და ატრიბუტებთან ურთიერთობისას. მაგampლე:

ZAP-Developing-With-Silicon-Labs-FIG- (6)
სample Mfg სპეციფიკური კლასტერი გენერალი ეს კლასტერი უზრუნველყოფს ყოფილიampიმის შესახებ, თუ როგორ შეიძლება Application Framework-ის გაფართოება მწარმოებლის სპეციფიკური კლასტერების ჩათვლით.
0xFC00
ემბერი სample ატრიბუტი
ემბერი სampატრიბუტი 2


სample მწარმოებლის სპეციფიკური ბრძანება s-შიampმწარმოებლის სპეციფიკური
კასეტური.


მწარმოებლის სპეციფიკური ბრძანებები სტანდარტულ Zigbee კლასტერში
თქვენ შეგიძლიათ დაამატოთ თქვენი საკუთარი ბრძანებები ნებისმიერ სტანდარტულ Zigbee კლასტერში შემდეგი მოთხოვნებით:
თქვენს მწარმოებლის სპეციფიკურ ბრძანებებს შეუძლიათ გამოიყენონ ნებისმიერი ბრძანების ID ბრძანების id დიაპაზონში, 0x00 – 0xff. თქვენ ასევე უნდა მიუთითოთ მწარმოებლის კოდი ბრძანებისთვის, რათა ის გამოირჩეოდეს კლასტერში არსებული სხვა ბრძანებებისგან და სათანადოდ დამუშავდეს. მაგampჩართვა/გამორთვის კლასტერის გაფართოება წარმოების ბრძანებებით:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

13/35

მორგებული XML
<command source=”client” code=”0 0006″ name=”SampleMfgSpecificOffWithTransition” სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1002″> კლიენტის ბრძანება, რომელიც გამორთავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificOnWithTransition” არჩევითი=”true” მწარმოებლის კოდი =”0 1002″> კლიენტის ბრძანება, რომელიც ჩართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificToggleWithTransition” სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1002″> კლიენტის ბრძანება, რომელიც გადართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificOnWithTransition2″ სურვილისამებრ=”true” manufacturerCode=”0 1049″> კლიენტის ბრძანება, რომელიც ჩართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificToggleWithTransition2″ სურვილისამებრ=”true”
მწარმოებლის კოდი =”0 1049″> კლიენტის ბრძანება, რომელიც გადართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.

მწარმოებლის სპეციფიკური ატრიბუტები სტანდარტულ Zigbee კლასტერში
თქვენ შეგიძლიათ დაამატოთ თქვენი საკუთარი ატრიბუტები ნებისმიერ სტანდარტულ Zigbee კლასტერს შემდეგი მოთხოვნებით:
თქვენი მწარმოებლის სპეციფიკური ატრიბუტები შეიძლება გამოიყენონ ნებისმიერი ატრიბუტის ID ატრიბუტის 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″ type=”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″ type=”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″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1049″>Sample Mfg სპეციფიკური ატრიბუტი: 0 0001 0 1040
Matter-ში თქვენი საკუთარი 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 Silicon Laboratories. Ყველა უფლება დაცულია.

14/35

მორგებული XML
შემდეგში ეგampასევე, გამყიდველის ID (ტესტი მწარმოებლის 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 კლასტერი აჩვენებს კლასტერის მწარმოებლის გაფართოებებს FlipFlop
პასუხი AddArguments-ზე, რომელიც აბრუნებს თანხას. ბრძანება, რომელიც იღებს ორ uint8 არგუმენტს და აბრუნებს მათ ჯამს. მარტივი ბრძანება ყოველგვარი პარამეტრების და უპასუხოდ.
მწარმოებლის სპეციფიკური ატრიბუტები სტანდარტული მატერიის კლასტერებში
თქვენ შეგიძლიათ დაამატოთ მწარმოებლის სპეციფიკური ატრიბუტები ნებისმიერ სტანდარტულ მატერიის კლასტერში შემდეგი მოთხოვნებით:
T aaaa ის კლასტერი იმ ტრიბუტებში, რომლებსაც მინიჭებული აქვს, უნდა იყოს მითითებული –
e xte nd ed > “>
ატრიბუტის კოდი არის მწარმოებლის კოდისა და ატრიბუტის ID-ის 32-ბიტიანი კომბინაცია. ყველაზე მნიშვნელოვანი 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″ სურვილისამებრ=”true”>Sample Mfg სპეციფიკური ატრიბუტი 2AMPLE_MFG_SPECIFIC_TRANSITION_TIME_4″ ტიპი=”INT16U” მინ=”0 0000″
max=”0xFFFF” writable=”true” default=”0 0000″ სურვილისამებრ=”true”>Sample Mfg სპეციფიკური ატრიბუტი 4
მწარმოებლის სპეციფიკური ბრძანებები სტანდარტულ მატერიის კლასტერებში
თქვენ შეგიძლიათ დაამატოთ მწარმოებლის სპეციფიკური ბრძანებები ნებისმიერ სტანდარტულ მატერიის კლასტერში შემდეგი მოთხოვნებით:
T aaaa ის კლასტერი, რომლებზეც მიიღება ბრძანებები, უნდა იყოს მითითებული -
e xte nd ed > “>
ბრძანების კოდი არის მწარმოებლის კოდისა და ბრძანების ID-ის 32-ბიტიანი კომბინაცია. ყველაზე მნიშვნელოვანი 16 ბიტი არის მწარმოებლის კოდი. ტესტის მწარმოებლის კოდების დიაპაზონი არის 0xFFF1 – 0xFFF4. ყველაზე ნაკლებად მნიშვნელოვანი 16 ბიტი არის ბრძანების ID. არაგლობალური ბრძანებების დიაპაზონი არის 0x0000 – 0x00FF.
Exampჩართული/გამორთული მატერიის კლასტერის გაფართოება წარმოების სპეციფიკური კლასტერებით:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

15/35

მორგებული XML

<command source=”client” code=”0xFFF10000″ name=”SampleMfgSpecificOnWithTransition2″ სურვილისამებრ=”true”> კლიენტის ბრძანება, რომელიც ჩართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.
<command source=”client” code=”0xFFF10001″ name=”SampleMfgSpecificToggleWithTransition2″ სურვილისამებრ=”true”>
კლიენტის ბრძანება, რომელიც გადართავს მოწყობილობას Ember S-ში გადასვლის დროით მოცემული გადასვლითampგარდამავალი დროის ატრიბუტი.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

16/35

მორგებული XML Tags ზიგბეისთვის

შემდეგი დოკუმენტი საუბრობს თითოეულ xml-ზე tags ასოცირდება ზიგბესთან.
თითოეული xml file ჩამოთვლილია კონფიგურატორს შორის tags:

მონაცემთა ტიპები შეიძლება განისაზღვროს კონფიგურატორში tag. Zigbee ამჟამად მხარს უჭერს ბიტმაპების, ენუმების, მთელი რიცხვების, სტრიქონების ან სტრუქტურების განმარტებას. მეტი ტიპის განსაზღვრამდე დარწმუნდით, რომ შეამოწმეთ ყველა არსებული ატომური ტიპი, რომელიც განსაზღვრულია Types.xml-ში და ყველა არაატომური ტიპი, რომელიც განსაზღვრულია სხვა xml-ში. fileს. თქვენ შეგიძლიათ განსაზღვროთ ისინი შემდეგნაირად:
Bitmap: სახელი: bitmap ტიპის სახელი. ტიპი: შეიძლება განისაზღვროს ბიტმაპი, რომლის ზომაა 8-64 ბიტი, ყველა მათგანი უნდა იყოს 8-ის ჯერადი. თითოეულ ბიტმაპს შეიძლება ჰქონდეს მრავალი ველი სახელთან და მასთან დაკავშირებული ნიღაბი. მაგ:

„`
Enum: სახელი: enum ტიპის სახელი. ტიპი: შეიძლება განისაზღვროს 8-64 ბიტი ზომით Enum, ყველა მათგანი უნდა იყოს 8-ის ჯერადი. თითოეულ რიცხვს შეიძლება ჰქონდეს მრავალი ელემენტი სახელით და მასთან დაკავშირებული მნიშვნელობით. მაგ:

მთელი რიცხვი: მთელი ტიპები უკვე განსაზღვრულია ატომური ტიპების მიხედვით, რომლებიც არსებობს ტიპებში.xml. მათი ზომა შეიძლება იყოს 8-64 ბიტიდან და შეიძლება იყოს ხელმოწერილი ან ხელმოუწერელი. მაგ:

სტრიქონი: სიმებიანი ტიპები უკვე განსაზღვრულია ატომური ტიპების მიხედვით, რომლებიც არსებობს ტიპებში.xml. სტრიქონების ამჟამინდელი ტიპები მოიცავს ოქტეტის სტრიქონს, char სტრიქონს, გრძელ ოქტეტის სტრიქონს და გრძელ ნიშანთა სტრიქონს, მაგ.:

სტრუქტურა: სახელი: სტრუქტურის ტიპის სახელი. თითოეულ სტრუქტურას შეიძლება ჰქონდეს მრავალი ელემენტი სახელით და მასთან დაკავშირებული ტიპით. ტიპი შეიძლება იყოს ნებისმიერი წინასწარ განსაზღვრული ტიპი მონაცემთა ტიპების მიხედვით. მაგ:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

17/35

მორგებული XML Tags ზიგბეისთვის

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

მორგებული კლასტერები შეიძლება განისაზღვროს კონფიგურატორში tag. სახელი: კლასტერის დომენის სახელი: კლასტერის დომენი. კლასტერი გამოჩნდება ZAP UI-ში ამ დომენის ქვეშ. აღწერა: კლასტერის კოდის აღწერა: კლასტერული კოდის განსაზღვრა: კლასტერული განსაზღვრა, რომელსაც იყენებს კოდის გენერატორი კლასტერის გარკვეული გზით განსაზღვრისთვის მწარმოებლის კოდი: გამოიყენება წარმოების კონკრეტული კლასტერის განსაზღვრისათვის. ეს უნდა იყოს 0xfc00-დან 0xffff-მდე. კლასტერის მწარმოებლის კოდი უნდა განისაზღვროს შემდეგნაირად:

საწარმოო კლასტერი ავტომატურად აქცევს მის ქვეშ არსებულ ატრიბუტებს და ბრძანებებს იმავე მწარმოებლის კოდით, თუ ისინი ცალსახად არ ჩამოთვლიან მწარმოებლის კოდს. შემოღებულიIn: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც დაინერგა კლასტერი. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. removeIn: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც კლასტერი ამოიშალა. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. singleton (ლოგიკური): გამოიყენება კლასტერის, როგორც სინგტონის დასადგენად, ისე, რომ ამ კლასტერის მხოლოდ ერთი მაგალითია გაზიარებული ბოლო წერტილებში. ატრიბუტი: განსაზღვრავს ატრიბუტს კლასტერის სახელისთვის: ატრიბუტის სახელი მოხსენიებულია ატრიბუტს შორის tag.
ატრიბუტის სახელი
side(კლიენტი/სერვერი): კლასტერის მხარე, რომელსაც ატრიბუტიც უკავშირდება. კოდი: ატრიბუტის კოდი მწარმოებლის კოდი: ეს შეიძლება გამოყენებულ იქნას მწარმოებლის სპეციფიკური ატრიბუტის დასადგენად სტანდარტული xml-ში აღნიშნული zigbee სპეციფიკაციის მიღმა. define: ატრიბუტი განსაზღვრა, რომელიც გამოიყენება კოდის გენერატორის მიერ ატრიბუტის გარკვეული გზით განსაზღვრისთვის. წთ: მინიმალური დასაშვები მნიშვნელობა ატრიბუტისთვის max: მაქსიმალური დასაშვები მნიშვნელობა ჩასაწერი ატრიბუტისთვის: არის ატრიბუტის მნიშვნელობა ჩასაწერად თუ არა. ეს შეიძლება გამოყენებულ იქნას ატრიბუტის შეცვლის თავიდან ასაცილებლად ჩაწერის ბრძანებებით. არჩევითი (ლოგიკური): გამოიყენება იმის დასადგენად, ატრიბუტი არჩევითია თუ არა კლასტერისთვის. min: მინიმალური დასაშვები მნიშვნელობა ატრიბუტისთვის, როდესაც ის არის მთელი რიცხვი, enum ან ბიტმაპის ტიპი. max: მაქსიმალური დასაშვები მნიშვნელობა ატრიბუტისთვის, როდესაც ის არის მთელი რიცხვი, enum ან bitmap ტიპის სიგრძე: გამოიყენება ატრიბუტის მაქსიმალური სიგრძის დასაზუსტებლად, როდესაც ის არის სტრიქონის ტიპის. minLength: გამოიყენება ატრიბუტის მინიმალური სიგრძის დასაზუსტებლად, როდესაც ის არის სტრიქონის ტიპის. Reportable(boolean): გვიჩვენებს, არის თუ არა ატრიბუტი საანგარიშო, თუ არა არის Nullable(boolean): ნებას რთავს null მნიშვნელობებს ატრიბუტისთვის. მასივი (ლოგიკური): გამოიყენება მასივის ტიპის ატრიბუტის გამოსაცხადებლად. შემოღებული: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც დანერგილია ატრიბუტი. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. removeIn: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც ამოღებულია ატრიბუტი. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. ბრძანება: განსაზღვრეთ ბრძანება კლასტერის სახელისთვის: ბრძანების სახელი.

კოდი: ბრძანების კოდი

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

18/35

მორგებული XML Tags ზიგბეისთვის
მწარმოებლის კოდი: ეს შეიძლება გამოყენებულ იქნას მწარმოებლის სპეციფიკური ბრძანების დასადგენად სტანდარტული xml-ში აღნიშნული zigbee სპეციფიკაციის მიღმა. აღწერა: ბრძანების წყაროს აღწერა (კლიენტი/სერვერი): ბრძანების წყარო. არჩევითი (ლოგიკური): გამოიყენება იმის დასადგენად, ბრძანება არჩევითია თუ არა კლასტერისთვის. შემოღებული: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც დაინერგა ბრძანება. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. removeIn: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც ამოღებულია ბრძანება. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. ბრძანების არგუმენტები:
თითოეულ ბრძანებას შეიძლება ჰქონდეს ბრძანების არგუმენტების ნაკრები სახელი: ბრძანების არგუმენტის სახელი ტიპი: ბრძანების არგუმენტის ტიპი, რომელიც შეიძლება იყოს xml-ში ნახსენები ნებისმიერი ტიპი. min: მინიმალური დასაშვები მნიშვნელობა არგუმენტისთვის, როდესაც ის არის მთელი რიცხვი, enum ან ბიტმაპის ტიპი. max: მაქსიმალური დასაშვები მნიშვნელობა არგუმენტისთვის, როდესაც ის არის მთელი რიცხვი, enum ან bitmap ტიპის სიგრძე: გამოიყენება ბრძანების არგუმენტის მაქსიმალური დასაშვები სიგრძის დასადგენად, როდესაც ის არის სტრიქონის ტიპის. minLength: გამოიყენება ბრძანების არგუმენტის მინიმალური დასაშვები სიგრძის დასადგენად, როდესაც ის არის string ტიპის. array (ლოგიკური): იმის დასადგენად, არის თუ არა ბრძანების არგუმენტი მასივის ტიპის. presentIf(string): ეს შეიძლება იყოს ლოგიკური ოპერაციების პირობითი სტრიქონი, რომელიც დაფუძნებულია სხვა ბრძანების არგუმენტებზე, სადაც შეგიძლიათ ველოდოთ ბრძანების არგუმენტს, თუ პირობითი სტრიქონი შეფასდება true. მაგ:

შენიშვნა: აქ სტატუსი არის სხვა ბრძანების არგუმენტის სახელი. არჩევითი (ლოგიკური): გამოიყენება ბრძანების არგუმენტის არჩევის დასადგენად. countArg: გამოიყენება, როდესაც ბრძანების არგუმენტი არის მასივის ტიპის. ეს გამოიყენება სხვა ბრძანების არგუმენტის აღსანიშნავად, რომელიც აღნიშნავს ამ არგუმენტის მასივის ზომას.

შემოღებული: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც ბრძანების არგუმენტი იყო დანერგილი. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. removeIn: გამოიყენება სპეციფიკური ვერსიის დასადგენად, რომელშიც ამოღებულია ბრძანების არგუმენტი. ეს გამოიყენება კოდის გენერატორის მიერ დამატებითი ლოგიკის დასამატებლად. კლასტერული გაფართოება შეიძლება განისაზღვროს კონფიგურატორში tag. კლასტერული გაფართოება გამოიყენება სტანდარტული კლასტერის გასაგრძელებლად წარმოების ატრიბუტებითა და ბრძანებებით, მაგ

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

19/35

მორგებული XML Tags ზიგბეისთვის
<attribute side=”server” code=”0 0006″ define=”SAMPLE_MFG_SPECIFIC_TRANSITION_TIME” type=”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″ type=”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″ type=”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″ type=”INT16U” min=”0 0000″ max=”0xFFFF” writable=”true” default=”0 0000″ სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1049″>Sample Mfg სპეციფიკური ატრიბუტი: 0 0001 0 1040ampleMfgSpecificOffWithTransition” სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1002″> კლიენტის ბრძანება, რომელიც გამორთავს მოწყობილობას მოცემული გადასვლით
გარდამავალი დროით ემბერ სampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificOnWithTransition” სურვილისამებრ=”true” manufacturerCode=”0 1002″> კლიენტის ბრძანება, რომელიც რთავს მოწყობილობას მოცემული გადასვლით
გარდამავალი დროით ემბერ სampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificToggleWithTransition” სურვილისამებრ=”true” მწარმოებლის კოდი=”0 1002″> კლიენტის ბრძანება, რომელიც გადართავს მოწყობილობას მოცემული გადასვლით
გარდამავალი დროით ემბერ სampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificOnWithTransition2″ სურვილისამებრ=”true” manufacturerCode=”0 1049″> კლიენტის ბრძანება, რომელიც რთავს მოწყობილობას მოცემული გადასვლით
გარდამავალი დროით ემბერ სampგარდამავალი დროის ატრიბუტი.ampleMfgSpecificToggleWithTransition2″ სურვილისამებრ=”true” manufacturerCode=”0 1049″> კლიენტის ბრძანება, რომელიც გადართავს მოწყობილობას მოცემული გადასვლით
გარდამავალი დროით ემბერ სampგარდამავალი დროის ატრიბუტი.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

20/35

მოწყობილობის რამდენიმე ტიპი ბოლო წერტილზე

ეს არის მხოლოდ Matter-ის ფუნქცია, სადაც მომხმარებელს შეუძლია აირჩიოს ერთზე მეტი მოწყობილობის ტიპი ბოლო წერტილზე. მრავალი aaa მოწყობილობის ტიპების დამატება დაამატებს კლასტერების კონფიგურაციას მოწყობილობის ტიპებში საბოლოო წერტილის კონფიგურაციაში.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

21/35

მოწყობილობის რამდენიმე ტიპი ბოლო წერტილზე

ზემოთ მოყვანილი სურათი აჩვენებს, რომ ბოლო წერტილში 1 არის არჩეული ერთზე მეტი მოწყობილობის ტიპი. „პირველადი მოწყობილობა“ აღნიშნავს მოწყობილობის ძირითად ტიპს, რომელთანაც იქნება დაკავშირებული საბოლოო წერტილი. მოწყობილობის ძირითადი ტიპი ყოველთვის არის არჩეული მოწყობილობის ტიპების სიის ინდექსში 0, ამიტომ მოწყობილობის სხვა ძირითადი ტიპის არჩევა შეცვლის მოწყობილობის ტიპების შეკვეთას. მოწყობილობის ტიპის არჩევანს ასევე აქვს შეზღუდვები მონაცემთა მოდელის სპეციფიკაციაზე დაყრდნობით. ZAP იცავს მომხმარებლებს ამ შეზღუდვების გამოყენებით ბოლო წერტილზე მოწყობილობის ტიპების არასწორი კომბინაციების არჩევისგან.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

22/35

მატერიალური მოწყობილობის ტიპის ფუნქციის გვერდი
მატერიალური მოწყობილობის ტიპის ფუნქციის გვერდი
მატერიალური მოწყობილობის ტიპის ფუნქციის გვერდი
ZAP მხარს უჭერს მატერიის ფუნქციების ვიზუალიზაციას და გადართვას მოწყობილობის ტიპის მახასიათებლების გვერდზე. CHIP საცავში ნაჩვენები იქნება მხოლოდ მოწყობილობის ტიპის ფუნქციები, რომლებიც მითითებულია matter-devices.xml-ში.

ნავიგაცია ფუნქციების გვერდზე
ò გაუშვით ZAP Matter-ში განახლებული Matter SDK-ით. ó შექმენით საბოლოო წერტილი Matter მოწყობილობის ტიპით. ô დააწკაპუნეთ ღილაკზე Device Type Features კლასტერის ზედა შუაზე view. გაითვალისწინეთ, რომ ეს ღილაკი ხელმისაწვდომია მხოლოდ ZAP-ში
Matter-ის კონფიგურაციები და როდესაც შესაბამისობის მონაცემები არსებობს Matter SDK-ში. ამ ღილაკზე დაჭერით გაიხსნება ზემოთ მოცემული სურათი.
შესაბამისობა
შესაბამისობა განსაზღვრავს არჩევითობას და დამოკიდებულებას ატრიბუტების, ბრძანებების, მოვლენებისა და მონაცემთა ტიპებისთვის. ის განსაზღვრავს, არის თუ არა ელემენტი სავალდებულო, არჩევითი ან მხარდაჭერილი ZAP-ის გარკვეული კონფიგურაციების მიხედვით.
მოწყობილობის ტიპის მახასიათებლის შესაბამისობა უპირატესობას ანიჭებს კლასტერის ფუნქციების შესაბამისობას. მაგampასევე, განათების ფუნქციას აქვს სურვილისამებრ შესაბამისობა ჩართვა/გამორთვის კლასტერში, მაგრამ სავალდებულოდ არის გამოცხადებული ჩართვა/გამორთვა განათების მოწყობილობის ტიპში, რომელიც მოიცავს ჩართვა/გამორთვის კლასტერს. ბოლო წერტილის შექმნა ჩართვა/გამორთვა განათების მოწყობილობის ტიპით აჩვენებს განათების ფუნქციას, როგორც სავალდებულო ფუნქციების გვერდზე.
ფუნქციის გადართვა
ფუნქციების გვერდზე, მას შემდეგ რაც დააწკაპუნებთ გადართვის ღილაკზე ფუნქციის ჩართვის ან გამორთვისთვის, ZAP გააკეთებს:
განაახლეთ დაკავშირებული ელემენტები (ატრიბუტები, ბრძანებები, მოვლენები) შესაბამისობის გამოსასწორებლად და აჩვენეთ დიალოგი, რომელიც აჩვენებს ცვლილებებს.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

23/35

Matter Device Type Feature გვერდი განაახლეთ ფუნქციის ბიტი ასოცირებული კლასტერის featureMap ატრიბუტში

ფუნქციის დიალოგის ჩართვა

გამორთეთ ფუნქციების დიალოგი

გადართვა გამორთულია ზოგიერთი ფუნქციისთვის, როდესაც მათ შესაბამისობას აქვს უცნობი მნიშვნელობა ან ამჟამად მხარდაუჭერელი ფორმა t. ამ შემთხვევაში, ZAP აჩვენებს გაფრთხილებებს შეტყობინების აპში.
Wa Element შეესაბამება nce rings

როდესაც თქვენ გადართავთ ელემენტს, ZAP-მა შეიძლება აჩვენოს როგორც მოწყობილობის შესაბამისობის გაფრთხილებები, ასევე შესაბამისობის გაფრთხილებები. თუ ელემენტის მდგომარეობა არ ემთხვევა მოსალოდნელ შესაბამისობას, ZAP აჩვენებს გამაფრთხილებელ ხატულას და დარეგისტრირებს გაფრთხილებას შეტყობინების აპში. მაგampელემენტისთვის ნაჩვენებია როგორც შესაბამისობის, ასევე შესაბამისობის გაფრთხილებები:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

24/35

შეტყობინებები
შეტყობინებები
შეტყობინებები
შემდეგი განყოფილება განსაზღვრავს, თუ როგორ მიეწოდებათ შეტყობინებები ZAP მომხმარებლებს UI-ში.
პაკეტის შეტყობინებები
პაკეტის შეტყობინებები არის გაფრთხილებები ან შეცდომის შეტყობინებები, რომლებიც დაკავშირებულია ZAP-ში ჩატვირთულ ნებისმიერ კონკრეტულ პაკეტთან. მაგampქვემოთ მოცემულ სურათებში, სტატუსის სვეტის ქვეშ გამაფრთხილებელ ხატულაზე დაწკაპუნება მიგიყვანთ დიალოგში, რომელიც აჩვენებს ამ პაკეტის ყველა შეტყობინებას.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

25/35

შეტყობინებები
სესიის შეტყობინებები
სესიის შეტყობინებები არის გაფრთხილებები ან შეცდომის შეტყობინებები, რომლებიც დაკავშირებულია მომხმარებლის სესიასთან. ეს გაფრთხილებები/შეცდომები შეგიძლიათ იხილოთ ZAP UI-ის თავზე არსებული ხელსაწყოთა ზოლში შეტყობინებების ღილაკზე დაწკაპუნებით. მაგampქვემოთ მოცემულ სურათზე ნაჩვენებია სესიის შეტყობინებების გვერდი isc-ის შემდეგ file ჩაიტვირთა ZAP-ში.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

26/35

მონაცემთა მოდელი/ZCL სპეციფიკაციის შესაბამისობა
მონაცემთა მოდელი/ZCL სპეციფიკაციის შესაბამისობა
მონაცემთა მოდელი და ZCL სპეციფიკაციის შესაბამისობა
ეს ფუნქცია ZAP-ში ეხმარება მომხმარებლებს დაინახონ მონაცემთა მოდელის ან ZCL-ის შესაბამისობის ხარვეზები მათ არსებულ ZAP კონფიგურაციებთან. შესაბამისობის წარუმატებლობის შესახებ გამაფრთხილებელი შეტყობინებები გამოჩნდება შეტყობინებების პანელზე ZAP UI-ში და ასევე შესული იქნება კონსოლზე ZAP-ის CLI-ით გაშვებისას. შესაბამისობის ფუნქცია ამჟამად უზრუნველყოფს გაფრთხილებებს მოწყობილობის ტიპის შესაბამისობისა და კლასტერული შესაბამისობის შესახებ საბოლოო წერტილზე.
შესაბამისობის გაფრთხილებები ZAP UI-ში
როდესაც მომხმარებელი ხსნის .zap-ს file ZAP UI-ის გამოყენებით ისინი დაინახავენ გაფრთხილებებს ZAP UI-ის შეტყობინებების პანელში ყველა შესაბამისობის შეფერხების შესახებ. მაგampქვემოთ მოცემულ სურათზე ნაჩვენებია სესიის შეტყობინებების გვერდი .zap-ის შემდეგ file გაიხსნა შესაბამისობის საკითხებით.

შესაბამისობის შეტყობინებები გაქრება, როგორც კი პრობლემები მოგვარდება ZAP UI-ის გამოყენებით ისე, რომ თქვენ შეგიძლიათ თვალყური ადევნოთ მხოლოდ დარჩენილ შესაბამისობის საკითხებს. ახალი გაფრთხილებები ასევე გამოჩნდება შესაბამისობისთვის, თუ მომხმარებელი გამორთავს კონფიგურაციის სავალდებულო ელემენტებს (კლასტერი/ბრძანებები/ატრიბუტები). სპეციფიკაციების შესაბამისობის შეტყობინებები ყოველთვის თვალყურს ადევნებს ZAP-ის კონფიგურაციაში შეტანილ ნებისმიერ წარუმატებლობას, მაგრამ გაითვალისწინეთ, რომ გაფრთხილებები, რომლებიც გამოჩნდება .zap-ის გახსნისას. file უფრო დეტალურად არის განხილული, თუ რატომ ვერ შესრულდა ის გაფრთხილებებთან შედარებით, რომლებიც ჩნდება ინტერფეისთან ურთიერთობისას. ეს არის დიზაინის მიხედვით და სრული შესაბამისობის შემოწმება ხორციელდება .zap-ის გახსნისას file.
შესაბამისობის გაფრთხილებები კონსოლზე

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

27/35

მონაცემთა მოდელი/ZCL სპეციფიკაციის შესაბამისობა
როდესაც მომხმარებელი ხსნის .zap-ს file ZAP დამოუკიდებელი ინტერფეისის ან ZAP CLI-ის გამოყენებით ისინი დაინახავენ გაფრთხილებებს, რომლებიც შესულია კონსოლში/ტერმინალში ყველა შესაბამისობის შეფერხებისთვის. მაგampქვემოთ მოცემულ სურათზე ნაჩვენებია სესიის შეტყობინების გაფრთხილებები კონსოლზე/ტერმინალზე .zap-ის შემდეგ file გაიხსნა შესაბამისობის საკითხებით.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

28/35

წვდომის კონტროლი

წვდომის კონტროლის ფუნქციები
ZAP მხარს უჭერს წვდომის კონტროლს ყველა ZCL ერთეულზე. ეს დამოკიდებულია SDK-ის იმპლემენტაციაზე, რომ დააფიქსიროს ეს მახასიათებლები საჭირო და მხარდაჭერილი წვდომის კონტროლის SDK ფუნქციებზე. ZAP ზოგადად უზრუნველყოფს მონაცემთა მოდელს და მექანიზმს მისი დაშიფვრის მეტა-ინფორმაციაში files და გაავრცელეთ ეს მონაცემები გენერირების შაბლონებში, მონაცემთა წერტილებისთვის კონკრეტული მნიშვნელობების მინიჭების გარეშე.
საბაზისო პირობები
ZAP წვდომის კონტროლი განსაზღვრავს სამ საბაზისო ტერმინს, შემდეგნაირად: ò ოპერაცია : განისაზღვრება, როგორც რაღაც, რისი გაკეთებაც შესაძლებელია. მაგample: წაკითხვა, დაწერა, გამოძახება. ó როლი: განისაზღვრება, როგორც მსახიობის პრივილეგია. როგორიცაა "View პრივილეგია“, „ადმინისტრაციული როლი“ და ვაჟი. ô მოდიფიკატორები: განისაზღვრება, როგორც სპეციალური წვდომის კონტროლის პირობები, როგორიცაა ქსოვილის მგრძნობიარე მონაცემები ან ქსოვილის მასშტაბის მონაცემები. საბაზისო ტერმინები განსაზღვრულია მეტამონაცემების XML-ში ზედა ნაწილის ქვეშ tag . შემდეგი არის ყოფილიampწვდომის კონტროლის ბაზის ტერმინების განმარტებები:
<role type=”view”აღწერა=”View პრივილეგია”/>
ეს ყოფილიample განსაზღვრავს სამ ოპერაციას, წაკითხვას, ჩაწერას და გამოძახებას, ორ მოდიფიკატორს და ოთხ როლს.
წვდომა სამეულებზე
თითოეული ინდივიდუალური წვდომის პირობა შეიძლება განისაზღვროს XML-ში წვდომის სამეულით. წვდომის ტრიპლეტი არის ოპერაციის, როლისა და მოდიფიკატორის კომბინაცია. ისინი არჩევითია, ასე რომ თქვენ შეგიძლიათ მხოლოდ ერთი მათგანი. ტრიპლეტის გამოტოვებული ნაწილი, როგორც წესი, ნიშნავს ნებადართულობას, რომელიც სპეციფიკურია იმპლემენტაციისთვის მოცემული SDK-სთვის. ერთეულს, რომელიც განსაზღვრავს მის წვდომას, შეიძლება ჰქონდეს ერთი ან მეტი წვდომის სამეული. შემდეგი არის ყოფილიampლე:
0-ზე
ეს არის ატრიბუტის განმარტება, რომელსაც აქვს წვდომის ტრიპლეტი, რომელიც აცხადებს, რომ ის საშუალებას აძლევს ჩაწერის ოპერაციას მართვის როლით, ქსოვილის მოდიფიკატორის გამოყენებით.
ნაგულისხმევი ნებართვები

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

29/35

წვდომის კონტროლი
ZCL სუბიექტებს შეუძლიათ განსაზღვრონ საკუთარი ინდივიდუალური ნებართვები. თუმცა, ასევე არსებობს ნაგულისხმევი ნებართვების გლობალური განმარტება
მოცემული ტიპები. ეს გათვალისწინებულია მოცემული ერთეულისთვის, გარდა იმ შემთხვევისა, როდესაც ის არ იძლევა რაიმე კონკრეტულ ნებართვას.
ნაგულისხმევი ნებართვები გამოცხადებულია ა tag XML-ის უმაღლეს დონეზე fileრა მაგampლე:
ააა a< ccess op=”invoke”/> a ა aa < ccess op=”re d”/> a< ccess op=”write”/> a ააა aa < ccess op=”re d” role=”view”/> aa < ccess op=”write” role=”oper te”/> a
შაბლონის დამხმარეები
შაბლონის ძირითადი დამხმარე გამოსაყენებელია {{#access}} … {{/access}} იტერატორი. ეს იტერატორი იმეორებს ყველა მოცემულ წვდომის სამეულს.
იგი მხარს უჭერს შემდეგ ორ ვარიანტს:
entity=”ატრიბუტი/ბრძანება/მოვლენა” – თუ ერთეულის დადგენა შეუძლებელია კონტექსტიდან, ეს ადგენს ერთეულის ტიპს. includeDefault=”true/false” – განსაზღვრავს, შედის თუ არა ნაგულისხმევი მნიშვნელობები. შემდეგი არის ყოფილიampლე:
{{#zcl_clusters}}
a კლასტერი: {{n me}} [{{code}}] a {{#zcl_ ttributes}} aa – ტრიბუტი: {{n me}} [{{code}}] aa {{# ccess entity=”ttribute”}}
O a RM a M * p: {{ოპერაცია}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}} a {{/zcl_ ტრიბუტები}} a {{#zcl_comm nds}} aa – comm nd: {{n me}} a [{{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: {{ოპერაცია}} / ole: {{role}} / odifier: {{ ccess odifier}} a{{/ ccess}}
{{/zcl_events}}
{{/zcl_clusters}}

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

30/35

ZAP-ის გაშვება Matter ან Zigbee აპლიკაციებისთვის
ZAP-ის გაშვება Matter ან Zigbee აპლიკაციებისთვის
ZAP-ის გაშვება Matter ან Zigbee აპლიკაციებისთვის
შემდეგი სექციები აღწერს ZAP-ის დამოუკიდებელ რეჟიმში გაშვებას Matter-ის ან Zigbee-ის სპეციფიკური მეტამონაცემებით. იდეა არის ZAP-ის გაშვება XML მეტამონაცემებთან დაკავშირებული სწორი არგუმენტებით (კლასტერებისა და მოწყობილობის ტიპების განმარტებები CSA სპეციფიკაციების მიხედვით) და გენერირების შაბლონები, რომლებიც გამოიყენება შესაბამისი კოდის შესაქმნელად.
ZAP-ის გაშვება მატერიით
შემდეგი სკრიპტი იღებს სწორ მეტამონაცემებს Matter SDK-დან ZAP-ის გაშვებისას. https://github.com/project-chip/connectedhomeip/blob/master/scripts/tools/zap/run_zaptool.sh შენიშვნა: თქვენ ასევე შეგიძლიათ გამოიყენოთ Zigbee შემდეგი მიდგომა ZAP-ის მატერიაში გასაშვებად.
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 გზა: ეს არის გზა SDK-მდე
ZAP-ის გაშვება მეტამონაცემების გარეშე
გახსოვდეთ, რომ ZAP-ის გაშვებისას უშუალოდ შესრულებადი ან წყაროდან npm run zap-ის გამოყენებით, თქვენ იწყებთ ZAP-ს ტესტის მეტამონაცემებით Matter/Zigbee-სთვის ჩაშენებული ZAP-ში და არა ფაქტობრივი მეტამონაცემებით, რომლებიც მოდის ზემოთ ნახსენები Matter და Zigbee SDK-ებიდან. ამიტომ, დაიმახსოვრეთ, რომ შექმნათ თქვენი ZAP კონფიგურაციები SDK მეტამონაცემების გამოყენებით და არა ZAP უშუალოდ ჩაშენებული ტესტის მეტამონაცემების გახსნით.

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

31/35

Matter-ის ან Zigbee-ის კოდის გენერირება

Matter-ის, Zigbee-ის ან მორგებული SDK კოდის გენერირება
შემდეგი სექციები აღწერს, თუ როგორ უნდა გენერირება კოდი ZAP-ის გამოყენებით.
შექმენით კოდი ZAP UI-ის გამოყენებით
გაუშვით ZAP UI ინსტრუქციის მიხედვით ZAP-ის გაშვებაში Matter ან Zigbee-ში და დააწკაპუნეთ ღილაკზე გენერირება ზედა მენიუს ზოლში.
შექმენით კოდი UI-ს გარეშე
შემდეგი ინსტრუქციები გთავაზობთ CLI-ის მეშვეობით კოდის გენერირების სხვადასხვა გზებს ZAP UI-ის გაშვების გარეშე.
კოდის გენერირება ZAP წყაროდან
შეასრულეთ შემდეგი ბრძანება კოდის შესაქმნელად ZAP-ის გამოყენებით წყაროდან: 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
კოდის გენერირება 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 Executable-დან
შეასრულეთ შემდეგი ბრძანება კოდის შესაქმნელად ZAP CLI Executable-ის გამოყენებით: [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 Silicon Laboratories. Ყველა უფლება დაცულია.

32/35

განაახლეთ ZAP სტუდიაში

განაახლეთ ZAP
განაახლეთ ZAP Simplicity Studio-ში
ეს მექანიზმი შეიძლება გამოყენებულ იქნას Matter გაფართოებასთან ან Zigbee-თან მუშაობისას Silicon Labs SDK გამოშვებებიდან. ZAP შეიძლება განახლდეს Simplicity Studio-ში Simplicity Studio-ის გამოშვების გარეშე უახლესი ZAP შესრულებადი (რეკომენდებული) ჩამოტვირთვის ან ZAP წყაროდან უახლესი ამოღებით, როგორც ეს ნაჩვენებია ZAP ინსტალაციის სახელმძღვანელოში. მას შემდეგ, რაც თქვენ გექნებათ უახლესი ZAP, რომელიც დაფუძნებულია თქვენს ამჟამად გამოყენებულ OS-ზე, შეგიძლიათ განაახლოთ ZAP Studio-ში, როგორც ადაპტერის პაკეტი. მიჰყევით ქვემოთ მოცემულ ინსტრუქციას უახლესი ZAP-ის ჩამოტვირთვის შემდეგ:
გადადით Simplicity Studio-ში და აირჩიეთ Preferences > Simplicity Studio > Adapter Packs. დააწკაპუნეთ დამატება… და დაათვალიერეთ გაფართოებული ZAP საქაღალდე, რომელიც გადმოწერეთ და დააწკაპუნეთ აირჩიეთ საქაღალდე. დააწკაპუნეთ Apply-ზე და Close-ზე და შემდეგ ახლად დამატებული 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.
შემდეგი არის ყოფილიamples, რომელიც აჩვენებს ზემოხსენებულ გარემოს ცვლადებს გამოყენებაში:
ZAP-ის გაშვება მატერიის სპეციფიკაციის გამოყენებით. ყველა s-ის რეგენერაციაample ZAP კონფიგურაციები Matter აპლიკაციებისთვის
შენიშვნა: ZAP შემსრულებელი ფაილების გამოყენებისას, დარწმუნდით, რომ იყენებთ ოფიციალურ გამოცემას ღამის გამოშვებაზე მეტი სტაბილურობისთვის. იხ
ZAP Executable-ის ჩამოტვირთვა ZAP-ის ინსტალაციის სახელმძღვანელოში

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

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 სახელწოდებით multi-protocol.json . მომხმარებელს შეუძლია დააკავშიროს ნებისმიერი ორი კლასტერი Zigbee-სა და Matter-ში მათ შესაბამის ატრიბუტებთან ერთად კლასტერის და ატრიბუტის კოდების გამოყენებით. ეს file შეგიძლიათ იხილოთ [SDKPath]/app/zcl/multi-protocol.json-ში. ეს file დასაწყისისთვის განახლებულია კლასტერებისა და ატრიბუტების გარკვეული ნაკრებით, მაგრამ მომხმარებელს შეუძლია ამის განახლება file საჭიროებისამებრ და ZAP იზრუნებს ატრიბუტის კონფიგურაციის სინქრონიზაციაზე Zigbee-სა და Matter-ზე საერთო საბოლოო წერტილის იდენტიფიკატორებისთვის.
თქვენ ასევე შეგიძლიათ იპოვოთ ZAP გაკვეთილი Zigbee and Matter მრავალპროტოკოლის ნებისმიერ აპლიკაციაში გაკვეთილების გვერდზე. ეს გაკვეთილი დაგეხმარებათ მრავალპროტოკოლიანი განაცხადის შექმნის პროცესში. ეს გაკვეთილი ხელმისაწვდომია მხოლოდ მაშინ, როდესაც ხსნით არსებულ მრავალპროტოკოლიან აპლიკაციას და შეგიძლიათ იხილოთ, როგორც ნაჩვენებია ქვემოთ მოცემულ სურათზე:

საავტორო უფლება © 2025 Silicon Laboratories. Ყველა უფლება დაცულია.

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 Silicon Laboratories. Ყველა უფლება დაცულია.

35/35

დოკუმენტები / რესურსები

SILICON LABS ZAP ვითარდება სილიკონის ლაბორატორიებით [pdf] მფლობელის სახელმძღვანელო
ZAP განვითარება Silicon Labs, ZAP, Developing With Silicon Labs, Silicon Labs, Labs

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *