zwave analysis, your help requested

Posted on
Sun Jun 12, 2016 5:12 pm
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

zwave analysis, your help requested

I am trying to gather datasets for my sons phd.
He is doing research on networks: natural, artificial, financial, political, economical, corruptions etc. It would may be help him to get some examples from our home automation networks.

if you participate you will get in return an analysis of your network in comparison with the other networks participating in the survey : # of nodes, ping time distribs, neighbor analysis and what ever he can get out of the data ( and later in 2 + years a pdf file of his theses if you are interested)

I have written a little script (mostly copied from other folks put together ) that you should run and then send the output to me via email (karlwachs at me dot com)

The script will get the neighbors of each zwave device and ping each device 4 times. It will create lines in the indigo log file like:
Code: Select all
....cript                          Survey Pass - 4
  Script                          attic squirrel 2                success:True  TimeDelta:18
  Script                          coffeeMachineü                  success:True  TimeDelta:283
  Script                          downstairsHallwayOutletFront    success:True  TimeDelta:340
  Script                          downstairsHallwayoutletMiddle   success:True  TimeDelta:19
  Script                          Excercise room TV switch        success:True  TimeDelta:385
  Script                          frontBalkonyCameraSwitch        success:True  TimeDelta:276
  Script                          Game Room TV switch             success:True  TimeDelta:423
  Script                          livingRoom camera switch        success:True  TimeDelta:266
  Script                          MeterTotalLeftBox               success:True  TimeDelta:1858
  Script                          MeterTotalRightBox              success:True  TimeDelta:68
  Script                          outsideBalkonyLights            success:True  TimeDelta:232
  Script                          outsideMosquito switch Balkony  success:True  TimeDelta:273
  Script                          outsideMosquito switch tree     success:True  TimeDelta:385
  Script                          poolEnergy total                success:True  TimeDelta:70
  Script                          studyOutlet                     success:True  TimeDelta:336
  Script                          switch for insteon modem        success:True  TimeDelta:19
  Script                          ThermostatDownstairs            success:True  TimeDelta:232
  Script                          ThermostatExerciseRoom          success:True  TimeDelta:384
  Script                          ThermostatGameRoom              success:True  TimeDelta:282
  Script                          Total Successes - 76
  Script                          Total Failures - 0
  Script                          Done processing devices
  Script                          results
attic squirrel 2              --:--  0--:--{'neighbors': [1, 2, 4, 5, 9, 11, 13, 14, 16, 17, 20, 22, 26, 27, 28, 29, 30], 'id': 113937113, 'pings': {'elapsedtime': 71, 'passes': {1: 18, 2: 19, 3: 16, 4: 18}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'attic squirrel 2'}
coffeeMachineü                --:--  1--:--{'neighbors': [1, 3, 4, 5, 9, 11, 13, 15, 16, 17, 23, 24, 25, 28, 30], 'id': 1017625793, 'pings': {'elapsedtime': 1181, 'passes': {1: 226, 2: 231, 3: 441, 4: 283}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'coffeeMachine\xfc'}
downstairsHallwayOutletFront  --:--  2--:--{'neighbors': [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 22, 24, 25, 26, 27, 29, 30], 'id': 1288667224, 'pings': {'elapsedtime': 1287, 'passes': {1: 337, 2: 280, 3: 330, 4: 340}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'downstairsHallwayOutletFront'}
downstairsHallwayoutletMiddle --:--  3--:--{'neighbors': [1, 3, 4, 5, 13, 14, 15, 16, 17, 22, 23, 24, 25, 28, 29, 30], 'id': 282154644, 'pings': {'elapsedtime': 67, 'passes': {1: 16, 2: 17, 3: 15, 4: 19}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'downstairsHallwayoutletMiddle'}
Excercise room TV switch      --:--  4--:--{'neighbors': [1, 2, 3, 4, 6, 7, 9, 11, 12, 15, 16, 17, 20, 29], 'id': 662003093, 'pings': {'elapsedtime': 1484, 'passes': {1: 392, 2: 381, 3: 326, 4: 385}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'Excercise room TV switch'}
frontBalkonyCameraSwitch      --:--  5--:--{'neighbors': [1, 4, 5, 15, 22, 23, 24, 25, 27, 30], 'id': 1875535582, 'pings': {'elapsedtime': 1172, 'passes': {1: 283, 2: 283, 3: 330, 4: 276}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'frontBalkonyCameraSwitch'}
Game Room TV switch           --:--  6--:--{'neighbors': [1, 2, 3, 6, 7, 9, 13, 15, 16, 17, 20], 'id': 115635811, 'pings': {'elapsedtime': 1681, 'passes': {1: 437, 2: 437, 3: 384, 4: 423}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'Game Room TV switch'}
livingRoom camera switch      --:--  7--:--{'neighbors': [1, 4, 5, 11, 22, 23, 24, 26, 27, 30], 'id': 1469978670, 'pings': {'elapsedtime': 1155, 'passes': {1: 279, 2: 273, 3: 337, 4: 266}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'livingRoom camera switch'}
MeterTotalLeftBox             --:--  8--:--{'neighbors': [1, 2, 3, 6, 12, 13, 14, 16, 17, 20], 'id': 374645596, 'pings': {'elapsedtime': 7231, 'passes': {1: 733, 2: 915, 3: 3725, 4: 1858}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'MeterTotalLeftBox'}
MeterTotalRightBox            --:--  9--:--{'neighbors': [1, 3, 7, 12, 13, 16, 17, 20], 'id': 776367642, 'pings': {'elapsedtime': 276, 'passes': {1: 67, 2: 71, 3: 70, 4: 68}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'MeterTotalRightBox'}
outsideBalkonyLights          --:-- 10--:--{'neighbors': [1, 4, 5, 11, 15, 23, 24, 25, 26, 27, 30], 'id': 652241576, 'pings': {'elapsedtime': 1532, 'passes': {1: 642, 2: 330, 3: 328, 4: 232}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'outsideBalkonyLights'}
outsideMosquito switch Balkony--:-- 11--:--{'neighbors': [1, 4, 5, 17, 22, 23, 25, 26, 28, 30], 'id': 1392012060, 'pings': {'elapsedtime': 841, 'passes': {1: 220, 2: 177, 3: 171, 4: 273}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'outsideMosquito switch Balkony'}
outsideMosquito switch tree   --:-- 12--:--{'neighbors': [1, 2, 3, 12, 13, 15, 17, 20, 29], 'id': 1215370021, 'pings': {'elapsedtime': 1385, 'passes': {1: 288, 2: 327, 3: 385, 4: 385}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'outsideMosquito switch tree'}
poolEnergy total              --:-- 13--:--{'neighbors': [1, 2, 4, 11, 15, 16, 17], 'id': 1766870014, 'pings': {'elapsedtime': 272, 'passes': {1: 71, 2: 63, 3: 68, 4: 70}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'poolEnergy total'}
studyOutlet                   --:-- 14--:--{'neighbors': [1, 4, 5, 11, 22, 23, 25, 26, 29, 30], 'id': 24596767, 'pings': {'elapsedtime': 1326, 'passes': {1: 324, 2: 386, 3: 280, 4: 336}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'studyOutlet'}
switch for insteon modem      --:-- 15--:--{'neighbors': [1, 4, 5, 11, 15, 27, 29, 30], 'id': 719674580, 'pings': {'elapsedtime': 70, 'passes': {1: 17, 2: 18, 3: 16, 4: 19}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'switch for insteon modem'}
ThermostatDownstairs          --:-- 16--:--{'neighbors': [1, 5, 9, 11, 13, 14, 15, 17, 22, 23, 24, 25, 27, 28, 29, 30], 'id': 55209657, 'pings': {'elapsedtime': 701, 'passes': {1: 119, 2: 18, 3: 332, 4: 232}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'ThermostatDownstairs'}
ThermostatExerciseRoom        --:-- 17--:--{'neighbors': [1, 2, 6, 7, 11, 12, 13, 16, 17, 20], 'id': 1623295497, 'pings': {'elapsedtime': 1419, 'passes': {1: 321, 2: 388, 3: 326, 4: 384}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'ThermostatExerciseRoom'}
ThermostatGameRoom            --:-- 18--:--{'neighbors': [1, 3, 7, 9, 12, 13, 14, 15, 16, 17, 20], 'id': 1332829462, 'pings': {'elapsedtime': 1214, 'passes': {1: 326, 2: 323, 3: 283, 4: 282}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'name': u'ThermostatGameRoom'}

it will contain all active (non battery) zwave devices with its neighbors and ping round trip times of 4 tries.

I would need the lines after the line
Code: Select all
 Script                          results



Here is what you need to do:
- download this py file https://www.dropbox.com/s/7uyt7c82r5l9vh6/zwave.py.zip?dl=1 expand and save it in~/documents/zwave.py
- then create an action group with an action like this = execute the external zwave.py script:
Screen Shot 2016-06-12 at 5.57.41 PM.png
Screen Shot 2016-06-12 at 5.57.41 PM.png (166.96 KiB) Viewed 2038 times

- then execute the action just created
- then copy the lines after results and paste into an email and send to me.
- then wait patiently

thanks in advance

Karl

Posted on
Sun Jun 12, 2016 8:32 pm
Colorado4Wheeler offline
User avatar
Posts: 2577
Joined: Jul 20, 2009
Location: Colorado

Re: zwave analysis, your help requested

I'm only just starting to really incorporate a lot of ZWave into my network, 95% Insteon right now, will having this analysis help if it's only 5-6 devices?

My Modest Contributions to Indigo:

HomeKit Bridge | Device Extensions | Security Manager | LCD Creator | Room-O-Matic | Smart Dimmer | Scene Toggle | Powermiser | Homebridge Buddy

Check Them Out Here

Posted on
Mon Jun 13, 2016 11:09 am
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

Re: zwave analysis, your help requested

anything helps .. you will be the ugly duckling that will become the shiny swan

Karl

Posted on
Mon Jun 13, 2016 1:27 pm
howartp offline
Posts: 3273
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: zwave analysis, your help requested

Done and sent.

Peter


Sent from my iPhone using Tapatalk

Posted on
Mon Jun 13, 2016 1:42 pm
autolog offline
Posts: 2305
Joined: Sep 10, 2013
Location: West Sussex

Re: zwave analysis, your help requested

Hi Karl,
I am getting messages like this in my Event Log:
Script Door - Ensuite success:False TimeDelta:32767
Script Door - Ensuite Timed-Out, No Reply Received

The Ensuite Door is a battery device - should it be checking those?

I hadn't spotted your post as I have been out and then when back, watching the Apple WWDC - thanks for drawing it to my attention. :D

Posted on
Mon Jun 13, 2016 2:22 pm
howartp offline
Posts: 3273
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: zwave analysis, your help requested

Mine did the same for Fibaro multi sensors which are batteries.

I left them in for Karl to ignore as he chose :-)


Sent from my iPhone using Tapatalk

Posted on
Mon Jun 13, 2016 3:28 pm
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

Re: zwave analysis, your help requested

I excluded battery as I understand they do not answer. I don't have any battery operated besides a remote control and THAT does not answer.

actually i excluded:

if device.supportsStatusRequest != True:

Posted on
Mon Jun 13, 2016 3:33 pm
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

Re: zwave analysis, your help requested

I am getting messages like this in my Event Log:
Script Door - Ensuite success:False TimeDelta:32767
Script Door - Ensuite Timed-Out, No Reply Received

The Ensuite Door is a battery device - should it be checking those?


don't need to exclude the script will use them and set them as timeout = do not answer which is correct

Posted on
Mon Jun 13, 2016 3:36 pm
howartp offline
Posts: 3273
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: zwave analysis, your help requested

kw123 wrote:
actually i excluded:

if device.supportsStatusRequest != True:

Ah - that's why then.

Fibaro's do support status request when they're awake, they're just very sleepy devices. :-)


Sent from my iPhone using Tapatalk

Posted on
Mon Jun 13, 2016 3:50 pm
autolog offline
Posts: 2305
Joined: Sep 10, 2013
Location: West Sussex

Re: zwave analysis, your help requested

I'll try it again tomorrow, the script exited with the following messages:
Script Error zwave.py: ServerCommunicationError -- timeout waiting for response
Script Error Exception Traceback (most recent call shown last):

zwave.py, line 80, at top level
zwave.py, line 54, in gather_data
StandardError: ServerCommunicationError -- timeout waiting for response


Posted on
Mon Jun 13, 2016 4:11 pm
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

Re: zwave analysis, your help requested

oops for those 2 that have already submitted , could you download the zwave.py file again. I forgot to include the zwave address of the devices tested.
https://www.dropbox.com/s/7uyt7c82r5l9vh6/zwave.py.zip?dl=1

the output now looks like:
Code: Select all
                   attic squirrel 2--:--  0--:-- 15--:--{'neighbors': [1, 2, 4, 5, 9, 11, 13, 14, 16, 17, 20, 22, 26, 27, 28, 29, 30], 'pings': {'elapsedtime': 64, 'passes': {1: 16, 2: 16, 3: 16, 4: 16}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'id': 113937113, 'name': u'attic squirrel 2', 'address': u'15'}
                     coffeeMachineü--:--  1--:-- 29--:--{'neighbors': [1, 3, 4, 5, 9, 11, 13, 15, 16, 17, 23, 24, 25, 28, 30], 'pings': {'elapsedtime': 2016, 'passes': {1: 545, 2: 441, 3: 600, 4: 430}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'id': 1017625793, 'name': u'coffeeMachine\xfc', 'address': u'29'}
       downstairsHallwayOutletFront--:--  2--:-- 23--:--{'neighbors': [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 22, 24, 25, 26, 27, 29, 30], 'pings': {'elapsedtime': 1609, 'passes': {1: 279, 2: 280, 3: 718, 4: 332}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'id': 1288667224, 'name': u'downstairsHallwayOutletFront', 'address': u'23'}
      downstairsHallwayoutletMiddle--:--  3--:-- 11--:--{'neighbors': [1, 3, 4, 5, 13, 14, 15, 16, 17, 22, 23, 24, 25, 28, 29, 30], 'pings': {'elapsedtime': 64, 'passes': {1: 16, 2: 16, 3: 15, 4: 17}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'id': 282154644, 'name': u'downstairsHallwayoutletMiddle', 'address': u'11'}
           Excercise room TV switch--:--  4--:-- 13--:--{'neighbors': [1, 2, 3, 4, 6, 7, 9, 11, 12, 15, 16, 17, 20, 29], 'pings': {'elapsedtime': 7680, 'passes': {1: 1896, 2: 1850, 3: 2180, 4: 1754}, 'pingcount': 4, 'success': 4, 'failure': 0}, 'id': 662003093, 'name': u'Excercise room TV switch', 'address': u'13'}


first number column is sequential, the second is the zwave number

Thanks

Karl

this will also capture the timeout and set the time to 9999

Posted on
Tue Jun 14, 2016 5:41 am
autolog offline
Posts: 2305
Joined: Sep 10, 2013
Location: West Sussex

Re: zwave analysis, your help requested

Hi Karl,
Results PM'd to you :)

Posted on
Fri Jun 17, 2016 1:28 pm
howartp offline
Posts: 3273
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: zwave analysis, your help requested

Just emailed my v2 results.

Peter

Posted on
Fri Jun 17, 2016 2:05 pm
Asconasny offline
Posts: 134
Joined: Jan 16, 2015

Re: zwave analysis, your help requested

Hi.

emailed my results :D

Regards
Asconasny

Posted on
Tue Jul 26, 2016 3:27 pm
kw123 offline
User avatar
Posts: 5523
Joined: May 12, 2013
Location: Dallas, TX

Re: zwave analysis, your help requested

As I only got 5 replies, I guess I will need to cancel this effort.
For those who submitted their data, thanks again, and sorry for your wasted efforts.

Karl

Who is online

Users browsing this forum: No registered users and 1 guest