Page 1 of 11

indigo utilities discussion

PostPosted: Thu Oct 08, 2015 2:03 pm
by kw123
this is the discussion thread for http://forums.indigodomo.com/viewtopic.php?f=164&t=14825

Karl

Re: indigo utilities discussion

PostPosted: Sat Oct 24, 2015 7:06 pm
by kw123
new version 1.1.3 posted :http://forums.indigodomo.com/viewtopic.php?f=164&t=14825

fixed:
- print device states etc works now with all options in Postgres
- fixed some spelling and improved the tables to make sure it is self explaining


new:
- added option to print device.name-- device.id to log file. This is useful if you have the device.id but want to know the device.name

Karl

Re: indigo utilities discussion

PostPosted: Fri Oct 30, 2015 9:19 am
by kw123
version 1.2.1

added printout of zwave network: all devices with their network numbers and neighbors. This is useful if you want to debug your z-wave network

http://forums.indigodomo.com/viewtopic.php?f=164&t=14825


Karl

Re: indigo utilities discussion

PostPosted: Fri Oct 30, 2015 10:08 am
by autolog
Hi karl,
Very useful - Thanks :D

It poses a question though and this is just one example:
I have a battery operated device (a Stella-with address 33).
I have a TKB Power switch (mains powered) - It shows a list of neighbours including 33 (the battery device).
Just wondering how Zwave differentiates between battery and non-battery devices and more specifically which devices are relays.
Obviously sending a command via the battery device wouldn't work if it was asleep. :?

Recently when including any z-wave device, my Z-Stick S2 is taking a very long time to do the include :(

Re: indigo utilities discussion

PostPosted: Fri Oct 30, 2015 2:44 pm
by howartp
Zwave has a property called 'supports routing' (well, not sure what it's actually called, but...)

Battery devices always have this as False, as they will never relay.

I believe when you scan for neighbours, the scan also reads that property - so the device you're scanning from will know that it cannot route through that battery device.

I further suspect that mains devices don't see battery devices when scanning neighbours, so won't add them to their neighbour list - I suspect it's only when you scan neighbours from the battery device (and have thus woken it up) that IT sees the mains device and updates both neighbour lists.


Sent from my iPhone using Tapatalk

Re: indigo utilities discussion

PostPosted: Fri Oct 30, 2015 4:34 pm
by kw123
the info is from :
indigo.server.log(indigo.devices[devnumber].globalProps["com.perceptiveautomation.indigoplugin.zwave"]["zwNodeNeighborsStr"])

it is the zwave neighbor list that indigo has it its properties.

you can get everything indigo has: with

indigo.server.log(unicode(indigo.devices[devnumber])) .. not nicely formatted though(*)

Karl

(*)which would look like for the key fob :
u'address : 8\nbatteryLevel : 98\nbuttonGroupCount : 0\nconfigured : True\ndescription : 008 - \ndeviceTypeId : zwCustomType\ndisplayStateId : batteryLevel\ndisplayStateImageSel : None\ndisplayStateValRaw : 98\ndisplayStateValUi : 98%\nenabled : True\nenergyAccumBaseTime : None\nenergyAccumTimeDelta : None\nenergyAccumTotal : None\nenergyCurLevel : None\nerrorState : \nfolderId : 1630687330\nglobalProps : MetaProps : (dict)\n com.perceptiveautomation.indigoplugin.zwave : (dict)\n SupportsBatteryLevel : true (bool)\n SupportsEnergyMeter : false (bool)\n SupportsEnergyMeterReset : false (bool)\n SupportsOnState : false (bool)\n SupportsSensorValue : false (bool)\n address : 8 (integer)\n propsPushTickler : 3 (string)\n tempAlwaysFalse : false (bool)\n userConfigVal250 : true (bool)\n userPollAfterActivity : true (bool)\n userPollInterval : 0 (integer)\n userPollingEnabled : true (bool)\n userWakeInterval : 60 (integer)\n zwAppVersMajor : 1 (integer)\n zwAppVersMinor : 12 (integer)\n zwAssociationsMap : (dict)\n g1 : (list)\n Item : 1 (integer)\n zwAssociationsMapStr : 1:[1] (string)\n zwClassCmdBase : 0 (integer)\n zwClassCmdMap : (dict)\n c112 : 1 (integer)\n c114 : 1 (integer)\n c128 : 1 (integer)\n c132 : 2 (integer)\n c133 : 1 (integer)\n c134 : 1 (integer)\n c32 : 1 (integer)\n zwClassCmdMapStr : 20v1 80v1 84v2 85v1 86v1 70v1 72v1 (string)\n zwClassIds : (list)\n Item : 1 (integer)\n Item : 1 (integer)\n Item : 1 (integer)\n zwClassInstanceCountMap : (dict)\n zwClassInstanceCountMapStr : - none - (string)\n zwClassName : Portable Remote Controller (string)\n zwConfigVals : (dict)\n p250 : 1 (integer)\n zwConfigValsStr : 250:1 (string)\n zwDevSubIndex : 0 (integer)\n zwEndpointClassMap : (dict)\n zwEndpointClassMapStr : - none - (string)\n zwEndpointDevTypeMap : (dict)\n zwEndpointDevTypeMapStr : - none - (string)\n zwFeatureListStr : battery, beaming, waking (string)\n zwLibType : 2 (integer)\n zwManufactureId : 134 (integer)\n zwManufactureName : Aeon Labs (string)\n zwMeterSubTypeFlags : 0 (integer)\n zwMeterSupportsReset : false (bool)\n zwMeterType : 0 (integer)\n zwModelDefnVers : 3 (integer)\n zwModelId : 65558 (integer)\n zwModelName : Key Fob (DSA22) (string)\n zwNodeNeighbors : (list)\n zwNodeNeighborsStr : - none - (string)\n zwProtoVersMajor : 2 (integer)\n zwProtoVersMinor : 78 (integer)\n zwShowMainUI : true (bool)\n zwShowPollingUI : false (bool)\n zwShowWakeIntervalUI : true (bool)\n zwWakeInterval : 60 (integer)\nid : 1223893079\nlastChanged : 2013-09-03 13:39:01\nmodel : Key Fob (DSA22)\nname : Key Fob\npluginId : com.perceptiveautomation.indigoplugin.zwave\npluginProps : emptyDict : (dict)\nprotocol : ZWave\nremoteDisplay : True\nstates : States : (dict)\n batteryLevel : 98 (integer)\n batteryLevel.ui : 98% (string)\nsubModel : \nsupportsAllLightsOnOff : False\nsupportsAllOff : False\nsupportsStatusRequest : False\nversion : 0'

Re: indigo utilities discussion

PostPosted: Fri Nov 06, 2015 6:27 am
by McJohn
Hi Karl,

I'm playing with the other features of Indigo util.
Nice Print lists!
Is it possible for you to make an overview of all the Triggers/Schedules/Groups, which are "connected" to each (Z-Wave) Device?

Kind regards,

John

Re: indigo utilities discussion

PostPosted: Mon Nov 09, 2015 12:03 pm
by kw123
new Version 1.3.1 http://forums.indigodomo.com/viewtopic.php?f=164&t=14825

added:
print information about all triggers
some menu typos etc.

improved:
database recovery: due to an unfortunate accident the recovery process could be improved. It now checks for more errors in the DB.

Re: indigo utilities discussion

PostPosted: Thu Nov 12, 2015 5:55 am
by McJohn
Thanks for the update Karl, nice!

Question about the SQL backup feature;

- receive an email when the SQL file is corrupt?
- an option to overwrite former backup?

Kind regards,

John

Re: indigo utilities discussion

PostPosted: Thu Nov 12, 2015 11:22 am
by kw123
John,
currently the backup is done on request = you should have a schedule e.g. at 1:07 am to start
then it renames the last backup to -2 and the new one is -1
I hope that is enough flexibility.

Thought about adding the email feature.
I would propose to add a trigger event and then you add a trigger that triggers on that event and you decide about what to do, send an email, sound alarm ...
Does that make sense?
Karl

Re: indigo utilities discussion

PostPosted: Fri Nov 13, 2015 8:16 am
by McJohn
Thanks for the explanation.
OK, so, max 2 backups , that's perfect!

The Trigger idea works I think.
Or is this possible with a Trigger, SQL Logger event, Error in Event Log , what kind of error should I specify?

John

indigo utilities discussion

PostPosted: Fri Nov 13, 2015 8:19 am
by kw123
Will check.


Sent from my iPhone using Tapatalk

Re: indigo utilities discussion

PostPosted: Mon Nov 16, 2015 4:27 pm
by kw123
new version posted 1.4.1: http://forums.indigodomo.com/viewtopic.php?f=184&t=14825


added:
- you now can setup a trigger on an event of "backup failure" due to a corrupt DB or other other circumstances
- you can select the number of back-ups to keep(1-5) - (they are called indigo_histoyr-1.sqlite .. -5.sqlite in the indigo.logs folder

improved:
data recovery in case of a bad database, added some more recovery functions (i.e. bad time sequence)

As time machine does not do a reliable backup of your live sqliteDB ( only every x days or so it actually works) this tools gives you the option to create a back up every hour / every day through a schedule you setup. THEN Time Machine will backup that backup file reliably -- not the live db though.
In case of a crash you can then switch back to the last good backup or use the fix option in the utility.


Karl

Re: indigo utilities discussion

PostPosted: Thu Nov 26, 2015 8:33 am
by McJohn
Karl, I have failed to find a Time Machine backup check in your Util plugin :D
(something like; if the backup goes wrong, an email will be send or if the backup was OK, an email wil be send)

Re: indigo utilities discussion

PostPosted: Thu Nov 26, 2015 10:54 am
by kw123
John,

controlling time machine would be a VERY difficult task.
The storage used by time machine is very complex, and it tries every 10 minutes,
Even if i could do that ( 1 year project) creating emails on success or failure of time machine might flood your inbox.

Karl