-
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathzigbee.yaml
More file actions
246 lines (235 loc) · 9.27 KB
/
zigbee.yaml
File metadata and controls
246 lines (235 loc) · 9.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
# Format for this file is not stable, and can change at any time.
general:
# Defines how much time a loop will sleep after each iteration.
# Note: This does not necesseraly mean that each 2 minutes
# sensor values will be updated. Currently all sensors are polled
# synchronously, which means that if there are 3 sensors defined
# and each needs 5 seconds to obtain the result then it will take
# (3 * 5)s + runevery, which in this case will be 1m15s.
runevery: 1m
# Board name, as defined in Zephyr.
board: nrf52840dongle_nrf52840
# NCS configuration allows to customize location and used version
# of SDK and toolchain that will be used to compile the firmware.
#
# Generally it will not be necessary to provide this manually,
# only if there are specific requirements.
#
# Updating from old configuration:
# ncs_version -> ncs.sdk_version
# zephyr_base -> ncs.sdk_base
# ncs_toolchain_base -> ncs.toolchain_base
ncs:
# Defines specific version that should be used.
# Later patch version can be automatically selected by the program,
# if specific version is not found.
# I.e. if requested v2.7.0, but only v2.7.2 is found - v2.7.2 will be used instead.
# Higher then minimum supported version can be specified (but may be incompatible),
# but lower then minimum version will result in an error.
#
# Toolchain version will be selected to be at least of this version,
# or next higher one will be selected if this specific one is not available.
#
# This is optional configuration.
sdk_version: v2.9.2
# If nRF Connect setup was done with default paths
# from VS Code extension or nrfutil -
# most probably this can be left empty.
# Paths specified here can start with `~/`, and contain
# environmental variables, which will be resolved.
#
# This values have sane defaults based on nRF Connect documentation
# https://docs.nordicsemi.com/bundle/ncs-2.9.2/page/nrf/installation/install_ncs.html#install_the_nrf_connect_sdk_toolchain
#
# Env variables NCS_TOOLCHAIN_BASE & ZEPHYR_BASE have
# priority over this fields.
#toolchain_base: ~/toolchains/
#sdk_base: ~/ncs/zephyr
# zigbee_channels will provide optional list of channels to use.
# Note: if not defined device will use all available channels,
# so it is not needed to define this if not specifically necessary.
zigbee_channels: [11,13,15,16,17]
# Flasher tells which flashing method to use.
# Currently `nrfutil`, `mcuboot` and `west`
# are defined(but not equally tested). Nrfutil works though.
flasher: nrfutil
# Flasheroptions are flasher-specific options.
flasheroptions:
port: /dev/ttyACM1
# This section is for defining peripherals
# on the board. I.e. uart, spi, i2c, etc.
# NOTE: Only changes should be defined here.
# See https://github.com/zephyrproject-rtos/zephyr/tree/main/boards/<vendor>/<board_name>/<board_name>.dts
# for existing definitions for the board.
# For example nRF52840 Dongle would have board devicetree at
# https://github.com/zephyrproject-rtos/zephyr/blob/26603cefaf41298c417f2eee834ed40d9ab35d3a/boards/nordic/nrf52840dongle/nrf52840dongle_nrf52840.dts
board:
# Specifically define bootloader for the board.
# This field is optional, and in most cases this might not be needed.
# But it is possible that board can be flashed
# with some non-default bootloader, or that the generated firmware is not
# placed correctly in memory. This setting can help in above situations.
# Also this option can be used to try and support boards that
# are not labeled as officialy supported.
#
# Note: if this field is present - this will force bootloader
# to be selected one, even if the value is empty string.
#bootloader: nrf52_legacy
# This option enables watchdog, that will reset the board
# in case of lock-up or similar misbehavior.
#
# It is enabled by default and is present here to only showcase the option.
#
# User can disable watchdog by setting this options to "false".
# It is also always disabled when debug.enabled == true.
enable_watchdog: true
# This will make "button0" factory reset button.
# Pressing this button for at least 5 seconds
# would remove current network configuration,
# allowing it to be connected to another network.
factory_reset_button: button0
# This option will add UART loging functionality.
# User can choose which console to use(usb or uart).
# UART has to be defined either in default device tree,
# or in `board.uart` section.
# Quite limited for now, but can be easily extended
debug:
# Enable logging and possibly LEDs
# for debugging.
enabled: false
# Console is where logs will be spit out.
# Choices are:
# * usb - no need to define any other configuration for `usb`.
# * uart1, uart2, ... - this either should be already defined for used board,
# or be defined in `uart` section.
console: uart0
# LEDs will use LED to show some board state(i.e. power, connection, etc).
# Leds used here MUST be always defined in `leds`, even if they already
# present in board definition.
leds:
# If false - leds will not be enabled to signal state.
enabled: true
# Define led which will be used to show that the board is powered.
power: led_green
# Change device type from sleepy end device to router.
# This allows for device to always be available from coordinator
# and other devices.
# By default device will be configured as sleepy end device.
# Note: Enabling router will increase the size of the firmware.
is_router: false
# Buttons is optional, to provide information about available buttons on the board.
# Available button is not necessary a physical button, but can also be a pin.
buttons:
# If only ID is provided it means that this button is already present in board definition,
# and it will be just referenced from it.
- id: button0
# Button can also have a pin, which will create new "button" on specified pin.
# To make it active-low - set "inverted" configuration option to "true".
- id: button1
pin:
port: 0
pin: 18
inverted: true
# I2C is optional, only to provide different pins for i2c instance(s)
i2c:
# ID of instance is the same as defined in the SoC definition.
# Generally they are in form of `i2c[0-9]`.
# Number of i2c instances is also limited, and this allows only to
# re-define pins for specified i2c instance.
- id: i2c0
sda: 0.29
scl:
port: 0
pin: 31
uart:
- id: uart0
# Pins are optional, if this is existing uart interface.
tx: 1.03
rx: 1.10
leds:
- id: led_green
# The pin definition is optional, if led is already present in board definition.
pin:
port: 0
pin: 6
inverted: true
# Sensors define a list of devices that
# can provide sensor values or be controlled
sensors:
# All sensors have type, and most will,
# also have sensor-specific configuration.
- type: bme680
i2c:
id: i2c0
# Some devices might have changable I2C address,
# which can be defined here.
# Note: this does not change the device address,
# only tells which address to use.
addr: 0x76
- type: scd4x
i2c:
id: i2c0
# - type: device_temperature
# on_off is a sensor that will respond to on/off state of the pin.
# For now verifyied to be controlled by the client only,
# so not by actually changing the state of the pin manually.
# - type: on_off
# pin:
# # This is Green LED(LD1) on nrf52840 Dongle
# port: 0
# pin: 6
# inverted: true
# Add a dht sensor from aosong manufacturer
# If DHT22 or AM2302 is used, variant must be set to "dht22". DHT11 does not need variant.
# - type: dht
# variant: "dht22"
# pin:
# port: 1
# pin: 13
#
# power_config uses ADC to measure positive voltage
# on pin 0.04 and report it as a battery voltage.
# ZCL 4.9 will be implemented to do general
# electricity measurements through ADC.
# Capacitive mositure sensors would be added
# with ZCL 4.7.
# - type: power_config
# adc_pin: 0.04
# battery_rated_voltage: 3000
# battery_voltage_min_threshold: 2500
#
# This example is crude example of using soil_moisture_adc
# sensor to get water moisture percentage.
#
# Note: min & max mv values may differ for your sensor,
# so please test it and adjust them accordingly!
# - type: soil_moisture_adc
# adc_pin:
# pin: 0.04
# oversampling: 4
# min_moisture_mv: 730
# max_moisture_mv: 430
#
# Rotary encoder that will provide up/down action.
# This example will work if pins A and B are
# connected as defined, and pin C is connected to Ground.
#
# Please note that you may need to have different
# pin configuration than in this example if you would have
# pin C connected to IO voltage.
#
# Also if the resulting actions are reverted,
# i.e. received event is "down" when scrolling clockwise -
# you can just swap A and B pins to fix it.
# - type: rotary_encoder
# pins:
# a:
# pin:
# port: 1
# pin: 14
# inverted: true
# b:
# pin:
# port: 1
# pin: 15
# inverted: true