Before posting a question
When posting a question, make sure to include the following:
For general community usage please refer to the Silicon Labs Community Guidelines.
Is it possible to set CTUNE value for EFR32ZG14 without JTAG via bootloader or main app? The device flashed with the OTW bootloader and controller app that coming with SimplicityStudio.
I don't know if it is the sdk problem or I'm doing wrong . Follow the instruction to build a uart demo , device cannot receive all data
Here is my testing :
1. sdk :220.127.116.11 demo : DoorLockKeyPad
2. Chang the demo and open uart1 :
a. Change DEVICE_OPTIONS_MASK to listening mode
#define DEVICE_OPTIONS_MASK APPLICATION_NODEINFO_LISTENING
and change uart1 default pin to
#define UART1_TX_PORT gpioPortD
#define UART1_TX_PIN 13
#define UART1_RX_PORT gpioPortD
#define UART1_RX_PIN 14
b. Open uart0 and uart1
1)undefine DISABLE_USART0 DISABLE_USART1
//In Simplicity Studio open Project->Properties->C/C++ General->Paths and Symbols
//Remove DISABLE_USART0 from list found under # Symbols->GNU C
define DEBUGPRINT =1
2) Enable uart1 interrupt in ZAF_UART1_enable
uint32_t baudRate, /* IN Baud rate (e.g. 9600=>9600baud/s, 115200=>115200baud/s) */
bool bEnableTx, /* IN true: Tx enabled, false: Tx disabled */
bool bEnableRx) /* IN true: Rx enabled, false: Rx disabled */
/* enable cmu clock for USART1 */
UartEnable(USART1, baudRate, bEnableTx, bEnableRx);
3) Use uart0 to send data which uart1 receive :
/* Check for RX data valid interrupt */
if (USART1->STATUS & USART_STATUS_RXDATAV)
/* Copy data into RX Buffer */
uint8_t rxData = USART_Rx(USART1);
DPRINTF("%x ", rxData); // Print the received character to debug output
// Put code here to send event/data to application task
/* Clear RXDATAV interrupt */
4) Enable uart1
ZAF_UART1_enable(115200, true, true);
I am trying to use Z/IP Gateway and I configure the gateway to support extra command classes.
When I get the node information about my controller those extra classes are advertised in the command class list as expected. I have read that using unsolicited servers should receive commands for these extra command classes as I send those commands to the controller. The unsolicited server I have running works with lifeline association alarm/notification messages. I would expect, based on what I read, that it should receive the extra commands for me to handle - however it does not appear to receive any message when I send a command that is part of the configured command classes. There are two mistakes I might be making but both will some effort to explore so I figured I would ask here first.
I either need to configure and support a 2nd unsolicited server, however, if I understand the documentation correctly (which I might not be) I don't think I need that. Or I need to have my controller included in another controller's network and the unsolicited server will only handle the extra command classes when sent from another controller? Or maybe something else? Does anyone have insights into handling these extra command classes?
When using ZWare service (or any application built on top of ZWare HCAPI) I've noticed that Z-Wave devices are polled every 30 seconds (active get status).
I've found that this is hardcoded in HCAPI source code (there is no configuration parameter to change the polling time or disable polling)
Polling intervals are hardcoded in: "src/zwave/hcapi/include/zip_dev_poll.h"
There is a commented line to disable device polling in "src/zwave/hcapi/src/zip_dev_poll.c" that says:
//#define DISABLE_DEV_POLLING ///< Disable device polling (for debugging purposes)
Do you think this (poll all devices every 30 seconds) is good for production? or HCAPI code is just considered a sample client for ZIP Gateway and should not be used as-is in production environment?
From what I've read, most Z-Wave experts recommend disabling device polling or minimizing it (poll every couple of hours). What are Silicon Labs recommendations?
I'm assuming that all Z-Wave devices that are used support sending unsolicited reports if anything change (you don't need to poll the device to get its current state).
I would like to know if there is any way to call command classes not supported by Zware, i am using ZIP 700 series.
from the documentation it seems it is possible:
"ZipUnsolicitedDestinationIp6 An IPv6 address to send unsolicited commands to. Unsolicited commands are Z-Wave command classes which are not handled by the Z/IP gateway. This option makes it possible to extend the functionality of the Z/IP gateway, with a foreign back end program."
But i would like more info on this setup,
I am using zware and zipgateway sdk of version 7.12 for my custom z-wave controller development on z-wave 700 series. I am trying initialize z-wave network by calling int zwnet_init(const zwnet_init_p init, zwnet_p *net) function. I am getting Transport Layer initialization failed (Error code -45 = ZW_ERR_TRANSPORT_INI) very first time at first boot-up of system. If i try to initialize the z-wave network second time then it don't give Transport Layer initialization error and everything works fine. I am curious to know that in which case The Transport layer don't get initalize successful. I tried to go through the zware sdk code but don't get much idea.
Sometimes there will be problems after OTA, and the IC must be reprogrammed
I try to replicate the phenomenon
Found easy to replicate
SDK 7.13.7 , SwitchOnOff
Just add a line of code : uint8_t myTest
typedef struct SApplicationData
uint8_t myTest ;
Then there will be problems after OTA
In v7.11.0\ZAF\CommandClasses, I cannot find a Multilevel Sensor command class. I was hoping not to have to create my own. Am I missing something?
I want a hand-held remote that JUST sends out a zwave packet whenever a button is pushed and preferably has buttons for all digits (0-9)
All of the zwave remotes that I see online are intended to be connected directly to devices. E.g., I have a "Aeon Labs DSA03202 v1 - Z-Wave Minimote". The intent of this device, as near as I can tell, is to create scenes using some software like home monitor, and then associate buttons with scenes so that button 1 turns on the porch lights, button 2 turns on the kitchen lights, etc.
But, I am not using any software like HM. I have been programming for over 35 years and would much rather roll my own. I already have a nice docker container that will soon have a nice REST API in it, etc. What I am looking for is a hand-held remote control, that simply sends a packet out on the zwave network.
E.g., I configured my smart switch to send out its power usage every 60 seconds. So if I monitor the network, I will see a message every 60 seconds to the effect of "power on node 6 is 128W".
I want a remote that basically works like that: if I press the button labeled "5", I want it to send a "button 5 on node 11 was pressed." From there, I can write a state engine that can watch for sequences from the remote and do recorded actions.
While I could do this with something like the minimote (if I can get it to join my network and send packets; still working on that), it still has the limitation of only four buttons (1-4). I can make that work, but at some point, I want to do things like interpret the button sequence as a number of seconds to take an action (e.g., turn on front porch light in 3 hours). I don't relish having to do that in base 4 :-)
I'm troubleshooting a Z-Wave network using the "Z-Wave Zniffer" (model ACC-UZB3-S which came with the Gecko Development Tools (SLWSTK6050A 700 MESH STARTER KIT).
I notice that in the installation directory, "C:\Program Files (x86)\Sigma Designs\Z-Wave Zniffer 4 Secured", there are two executables:
I would like to automate my testing, which makes the UI-version of Zniffer unpractical. Is it possible to make the console-version dump the content to StdOut? When I start the console version using "ZWaveZniffer.exe -s COM3" it only report lines as this:
The help text from the console application only show command line switches for setting serial port, frequency, baud rate etc. Nothing that has to do with raw packet dumps (nor actual decoding for that matter).
Any tips/hints would be greatly appreciated :-)
I am getting following error after calling zwif_config_info_get function ?
cfg_info_cap = (zwcfg_info_cap_p)intf->data;;
result = ZW_ERR_INTF_NO_DATA;