indigo utilities discussion

User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

indigo utilities discussion

Post by kw123 »

this is the discussion thread for http://forums.indigodomo.com/viewtopic. ... 64&t=14825

Karl
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post by kw123 »

new version 1.1.3 posted :http://forums.indigodomo.com/viewtopic. ... 64&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
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post 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. ... 64&t=14825


Karl
autolog
Posts: 4077
Joined: Tue Sep 10, 2013 3:07 am
Location: West Sussex, UK
Contact:

Re: indigo utilities discussion

Post 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 :(
howartp
Posts: 4559
Joined: Thu Jan 09, 2014 4:43 pm
Location: West Yorkshire, UK

Re: indigo utilities discussion

Post 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
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post 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'
User avatar
McJohn
Posts: 681
Joined: Tue Dec 18, 2012 5:58 am
Location: The Netherlands
Contact:

Re: indigo utilities discussion

Post 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
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post by kw123 »

new Version 1.3.1 http://forums.indigodomo.com/viewtopic. ... 64&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.
User avatar
McJohn
Posts: 681
Joined: Tue Dec 18, 2012 5:58 am
Location: The Netherlands
Contact:

Re: indigo utilities discussion

Post 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
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post 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
User avatar
McJohn
Posts: 681
Joined: Tue Dec 18, 2012 5:58 am
Location: The Netherlands
Contact:

Re: indigo utilities discussion

Post 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
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

indigo utilities discussion

Post by kw123 »

Will check.


Sent from my iPhone using Tapatalk
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post by kw123 »

new version posted 1.4.1: http://forums.indigodomo.com/viewtopic. ... 84&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
User avatar
McJohn
Posts: 681
Joined: Tue Dec 18, 2012 5:58 am
Location: The Netherlands
Contact:

Re: indigo utilities discussion

Post 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)
User avatar
kw123
Posts: 8705
Joined: Sun May 12, 2013 4:44 pm
Location: Dallas, TX
Contact:

Re: indigo utilities discussion

Post 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
Post Reply

Return to “Indigo Utilities”