There have been a number of cases who’s problem is there’s “too much data” on the zwave network. As a result I’ve been looking at my network to see how it is doing and if I have some data that is updating more than I need it to. AFAIK, there is no good way to do this, beyond looking at zwave statistics (which only tell you the node with the most RX) or poking around in the logs.
So, I wrote a shell script to help. The simplest source seemed to be the z-ui* log files - which are in the zwaveui log directory. Logging will need to be enabled at an INFO level or higher.
Here’s my functional non-elegant script.
#/bin/bash
grep INFO $1 | grep -i "value updated" |
awk -F: '{print $4,$5}' |
sed s/'=>.*'//g |
sed 's/\[Node //g' |
sed 's/] Value updated //g' |
rev | cut -d ' ' -f 3,4,5,6,7,8,9 | rev |
sort |
uniq -c |
sort -nr
I put this info a file called z-ui-log-analyzer.sh and then run it against yesterdays log file.
./z-ui-log-analyzer.sh z-ui_2023-01-31.log | more
Which creates this output.
So, we can see that Node 15 Air Temperature is updating every minute (1440 minutes in a day) which I don’t need it to. Not sure of the other stuff yet, but I’ll work down the list from top to point of diminishing returns.
1441 15:49-0-Air temperature
646 22:49-0-Humidity
368 17:49-0-Humidity
366 13:49-0-Air temperature
364 13:49-0-Humidity
360 13:49-0-Illuminance
359 4:49-0-Illuminance
359 4:49-0-Humidity
359 4:49-0-Air temperature
290 8:49-0-Air temperature
289 8:49-0-Illuminance
289 10:49-0-Air temperature
288 14:50-0-value-66817
288 14:50-0-value-66561
288 14:50-0-value-66049
288 14:50-0-value-65537
288 10:49-0-Illuminance
270 22:49-0-Air temperature
237 17:49-0-Air temperature
194 22:69-0-state
184 12:38-0-currentValue
184 11:38-0-currentValue