-
-
Notifications
You must be signed in to change notification settings - Fork 1
Stack
Interact with the EmberZNet stack in the adapter.
Print the EmberZNet stack version and the associated EZSP version.
Example:
EmberZNet: 7.4.3 [GA]. EZSP: 13
Print the default stack configuration (configs, policies, libraries, mfg tokens), optionally save it to a JSON file.
Example:
{
"CONFIG.PACKET_BUFFER_HEAP_SIZE": "255",
"CONFIG.NEIGHBOR_TABLE_SIZE": "26",
"CONFIG.APS_UNICAST_MESSAGE_COUNT": "32",
"CONFIG.BINDING_TABLE_SIZE": "32",
"CONFIG.ADDRESS_TABLE_SIZE": "16",
"CONFIG.MULTICAST_TABLE_SIZE": "16",
"CONFIG.ROUTE_TABLE_SIZE": "16",
"CONFIG.DISCOVERY_TABLE_SIZE": "8",
"CONFIG.STACK_PROFILE": "0",
"CONFIG.SECURITY_LEVEL": "5",
"CONFIG.MAX_HOPS": "30",
"CONFIG.MAX_END_DEVICE_CHILDREN": "32",
"CONFIG.INDIRECT_TRANSMISSION_TIMEOUT": "3000",
"CONFIG.END_DEVICE_POLL_TIMEOUT": "8",
"CONFIG.TX_POWER_MODE": "0",
"CONFIG.DISABLE_RELAY": "0",
"CONFIG.TRUST_CENTER_ADDRESS_CACHE_SIZE": "0",
"CONFIG.SOURCE_ROUTE_TABLE_SIZE": "200",
"CONFIG.FRAGMENT_WINDOW_SIZE": "1",
"CONFIG.FRAGMENT_DELAY_MS": "0",
"CONFIG.KEY_TABLE_SIZE": "12",
"CONFIG.APS_ACK_TIMEOUT": "1600",
"CONFIG.BEACON_JITTER_DURATION": "3",
"CONFIG.PAN_ID_CONFLICT_REPORT_THRESHOLD": "2",
"CONFIG.REQUEST_KEY_TIMEOUT": "0",
"CONFIG.CERTIFICATE_TABLE_SIZE": "ZIGBEE_EZSP_ERROR",
"CONFIG.APPLICATION_ZDO_FLAGS": "0",
"CONFIG.BROADCAST_TABLE_SIZE": "15",
"CONFIG.MAC_FILTER_TABLE_SIZE": "15",
"CONFIG.SUPPORTED_NETWORKS": "1",
"CONFIG.SEND_MULTICASTS_TO_SLEEPY_ADDRESS": "0",
"CONFIG.ZLL_GROUP_ADDRESSES": "0",
"CONFIG.ZLL_RSSI_THRESHOLD": "216",
"CONFIG.MTORR_FLOW_CONTROL": "1",
"CONFIG.RETRY_QUEUE_SIZE": "16",
"CONFIG.NEW_BROADCAST_ENTRY_THRESHOLD": "9",
"CONFIG.TRANSIENT_KEY_TIMEOUT_S": "300",
"CONFIG.BROADCAST_MIN_ACKS_NEEDED": "255",
"CONFIG.TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S": "300",
"CONFIG.CTUNE_VALUE": "128",
"CONFIG.ASSUME_TC_CONCENTRATOR_TYPE": "1",
"CONFIG.GP_PROXY_TABLE_SIZE": "5",
"CONFIG.GP_SINK_TABLE_SIZE": "0",
"CONFIG.END_DEVICE_CONFIGURATION": "ZIGBEE_EZSP_ERROR",
"POLICY.TRUST_CENTER_POLICY": "ALLOW_JOINS,ALLOW_UNSECURED_REJOINS",
"POLICY.BINDING_MODIFICATION_POLICY": "DISALLOW_BINDING_MODIFICATION",
"POLICY.UNICAST_REPLIES_POLICY": "HOST_WILL_NOT_SUPPLY_REPLY",
"POLICY.POLL_HANDLER_POLICY": "POLL_HANDLER_IGNORE",
"POLICY.MESSAGE_CONTENTS_IN_CALLBACK_POLICY": "MESSAGE_TAG_ONLY_IN_CALLBACK",
"POLICY.TC_KEY_REQUEST_POLICY": "DENY_TC_KEY_REQUESTS",
"POLICY.APP_KEY_REQUEST_POLICY": "DENY_APP_KEY_REQUESTS",
"POLICY.PACKET_VALIDATE_LIBRARY_POLICY": "PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED",
"LIBRARY.ZIGBEE_PRO": "PRESENT / ROUTER_CAPABILITY",
"LIBRARY.BINDING": "PRESENT",
"LIBRARY.END_DEVICE_BIND": "NOT_PRESENT",
"LIBRARY.SECURITY_CORE": "PRESENT / ROUTER_SUPPORT",
"LIBRARY.SECURITY_LINK_KEYS": "PRESENT",
"LIBRARY.ALARM": "NOT_PRESENT",
"LIBRARY.CBKE": "NOT_PRESENT",
"LIBRARY.CBKE_DSA_SIGN": "NOT_PRESENT",
"LIBRARY.ECC": "NOT_PRESENT",
"LIBRARY.CBKE_DSA_VERIFY": "NOT_PRESENT",
"LIBRARY.PACKET_VALIDATE": "PRESENT / ENABLED",
"LIBRARY.INSTALL_CODE": "PRESENT",
"LIBRARY.ZLL": "PRESENT",
"LIBRARY.CBKE_283K1": "NOT_PRESENT",
"LIBRARY.ECC_283K1": "NOT_PRESENT",
"LIBRARY.CBKE_CORE": "NOT_PRESENT",
"LIBRARY.NCP": "PRESENT",
"LIBRARY.MULTI_NETWORK": "NOT_PRESENT",
"LIBRARY.ENHANCED_BEACON_REQUEST": "PRESENT",
"LIBRARY.CBKE_283K1_DSA_VERIFY": "NOT_PRESENT",
"LIBRARY.MULTI_PAN": "NOT_PRESENT",
"MFG_TOKEN.CUSTOM_VERSION": "255,255",
"MFG_TOKEN.STRING": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255",
"MFG_TOKEN.BOARD_NAME": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255",
"MFG_TOKEN.MANUF_ID": "255,255",
"MFG_TOKEN.PHY_CONFIG": "255,255",
"MFG_TOKEN.BOOTLOAD_AES_KEY": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255",
"MFG_TOKEN.ASH_CONFIG": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255",
"MFG_TOKEN.EZSP_STORAGE": "255,255,255,255,255,255,255,255",
"MFG_TOKEN.STACK_CAL_DATA": "",
"MFG_TOKEN.CBKE_DATA": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255",
"MFG_TOKEN.INSTALLATION_CODE": "255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255",
"MFG_TOKEN.STACK_CAL_FILTER": "",
"MFG_TOKEN.CUSTOM_EUI_64": "255,255,255,255,255,255,255,255",
"MFG_TOKEN.CTUNE": "255,255"
}
Print the current network information, if any.
Example:
Node EUI64=0xe0798dfffe712345 type=COORDINATOR.
Network parameters:
- PAN ID: 49050 (0xBF9A)
- Extended PAN ID: 231,167,10,89,112,86,25,20
- Radio Channel: 20
- Radio Power: 20 dBm
- Preferred Channels: 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
Network key info:
- Set? yes
- Sequence Number: 0
- Frame Counter: 4097
- Alt Set? no
- Alt Sequence Number: 0
Trust Center link key info:
- Properties: HAS_OUTGOING_FRAME_COUNTER|HAS_PARTNER_EUI64|IS_AUTHORIZED
- Incoming Frame Counter: 0
- Outgoing Frame Counter: 0
Scan the Zigbee network channels.
Scan for channel usage (how busy each is around the adapter).
Example:
Channel 11: ••••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-62 dBm]
Channel 12: ••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-84 dBm]
Channel 13: •••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-81 dBm]
Channel 14: ••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-64 dBm]
Channel 15: ••••••••••••••••••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-48 dBm]
Channel 16: ••••••••••••••••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-50 dBm]
Channel 17: •••••••••••••••••••••••••••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-39 dBm]
Channel 18: •••••••••••••••••••••••••••••••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-47 dBm]
Channel 19: ••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-78 dBm]
Channel 20: ••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-82 dBm]
Channel 21: •••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-83 dBm]
Channel 22: •••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-83 dBm]
Channel 23: ••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-86 dBm]
Channel 24: ••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-82 dBm]
Channel 25: ••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-76 dBm]
Channel 26: ••••••••••••••∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ [-76 dBm]
Scan for existing Zigbee network around the adapter.
Note
This picks up networks from all surrounding Zigbee nodes, meaning you will get reports for each device in range on the same network (with RSSI/LQI for each).
Example:
Found network:
- PAN ID: 6754
- Ext PAN ID: 221,221,221,221,221,221,221,221
- Channel: 11
- Allowing join: no
- Node RSSI: -63 dBm | LQI: 148
Found network:
- PAN ID: 6754
- Ext PAN ID: 221,221,221,221,221,221,221,221
- Channel: 11
- Allowing join: no
- Node RSSI: -46 dBm | LQI: 216
Create an open coordinator backup at the selected location, if possible.
Restore an open coordinator backup from the selected location. The final step of this process validates that the network in the backup now matches the network in the adapter.
Caution
This action cannot be undone after confirming.
Leave the network saved in the adapter.
Caution
This action cannot be undone after confirming.
Backup the adapter's NVM3 Zigbee tokens to the selected location.
Important
This will write the adapter's EUI64 in the backup, to be restored.
Restore NVM3 Zigbee tokens in the adapter from the selected location.
Caution
This action cannot be undone.
Reset NVM3 Zigbee tokens in the adapter to factory defaults. Optionally exclude a few select tokens.
Caution
This action cannot be undone after confirming.
Write the given EUI64 (IEEE) for the adapter in the NVM3. The written value will be used as an alternative to the factory default EUI64 and will allow to migrate from one adapter to another without having to rebuild the network from scratch. You will be presented with two options:
- Use a network backup file (
coordinator_backup.json
) from Zigbee2MQTT or Ember ZLI. The value saved in the file will be converted to the proper format automatically. - Enter the EUI64 manually. The expected format is the same used by Zigbee2MQTT:
0x1122334455667788
(little endian).
Important
Writing 0xFFFFFFFFFFFFFFFF
allows to restore the factory default EUI64.
Tip
Using this menu, then restoring the rest of the network backup (via Ember ZLI or Zigbee2MQTT) should allow you to migrate from one adapter to another with minimal effort. Note: Backing up NVM3 tokens from one adapter then restoring them on another, with the above menus, has the same effect.
Print the various security keys in the adapter.
Example:
Trust Center Link Key: da85e5bac80c8a958b14d44f14c2ba16
Network Key: 486127e65c48659440e1fad6c31f6947
ZLL Encryption Key: 00000000000000000000000000000000
ZLL Preconfigured Key: 00000000000000000000000000000000
Green Power Proxy Table Key: ffffffffffffffffffffffffffffffff
Green Power Sink Table Key: 00209c0e002009000114010800000000
Creates a new network with "ideal" parameters on the adapter, and writes a configuration.yaml
file to use with Zigbee2MQTT.
Scans for unused PAN ID and channel (configurable), then forms the new network on the adapter, and finally writes the corresponding starter YAML configuration file (you will be prompted for extra details to complete this step).
Example written configuration:
mqtt:
base_topic: zigbee2mqtt
server: mqtt://localhost:1883
serial:
adapter: ember
baudrate: 115200
port: COM3
rtscts: false
advanced:
log_level: info
pan_id: 49050
ext_pan_id: [231,167,10,89,112,86,25,20]
network_key: [225,214,40,219,169,230,136,32,115,154,205,223,214,134,156,55]
channel: 20
transmit_power: 20
frontend: true
homeassistant: false
Caution
This action cannot be undone after confirming.
Important
The written configuration.yaml
file contains the information gathered by Ember ZLI. It may require adjustments, particularly if you are going to use the adapter on a different machine (port).
Repair possible issues in the adapter.
Repair a EUI64 mismatch in different locations in the adapter.
See https://github.com/zigpy/bellows/pull/577 for more details.
Note
Does nothing if your adapter is not affected.