Insteon Health Test Tool app now available

Posted on
Fri Jun 13, 2014 12:25 pm
RogueProeliator offline
User avatar
Posts: 2501
Joined: Nov 13, 2012
Location: Baton Rouge, LA

Re: Insteon Health Test Tool app now available

Just as a suggestion, if there is anyway you can expose Cheetah to the plugin, that would be great. Since this is not an IWS plugin, I have been forced to include it into the plugin. And Boy, I didn't realize how large it was until I bundled it in.

I'm not quite sure of your plan or what you need, but I was able to successfully, and fairly easily, "integrate" this with the HousePad plugin -- the main Indigo plugin manages the installation / upgrade of an IWS plugin. The user never knows any difference from it being only an Indigo Plugin. Then the IWS plugin communicates to the Indigo plugin via a socket/web server for data and interaction.

May not fit your particular need, but thought I would throw that out there... feel free to check it out in the plugin's source if you think it might be an option for you.

Adam

Posted on
Sat Jun 14, 2014 9:08 am
kw123 offline
User avatar
Posts: 8333
Joined: May 12, 2013
Location: Dallas, TX

Re: Insteon Health Test Tool app now available

Could you also produce a simple table with all the data? Going through hundred (nice) pages is ok, but I like condense info. Thanks for rewriting this.

Karl

Posted on
Tue Jun 17, 2014 1:55 pm
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

kw123 wrote:
Could you also produce a simple table with all the data? Going through hundred (nice) pages is ok, but I like condense info. Thanks for rewriting this.


Yes, that is effectively the current idea that I am moving towards.

There will be an index page, with a sortable, and searchable table that highlights any devices with a high ping. That table will allow you to open detailed metrics pages which contain the actual ping by ping breakdown of the device, along with some additional information.

I'm currently designing the secondary pages.

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Tue Jun 17, 2014 1:56 pm
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

RogueProeliator wrote:
Just as a suggestion, if there is anyway you can expose Cheetah to the plugin, that would be great. Since this is not an IWS plugin, I have been forced to include it into the plugin. And Boy, I didn't realize how large it was until I bundled it in.

I'm not quite sure of your plan or what you need, but I was able to successfully, and fairly easily, "integrate" this with the HousePad plugin -- the main Indigo plugin manages the installation / upgrade of an IWS plugin. The user never knows any difference from it being only an Indigo Plugin. Then the IWS plugin communicates to the Indigo plugin via a socket/web server for data and interaction.

May not fit your particular need, but thought I would throw that out there... feel free to check it out in the plugin's source if you think it might be an option for you.

Adam


I'm not sure how this would integrate? Where can I find some information on house pad? Housepad is a very generic term, and my GoogleFu is being defeated by thousands of pages mentions homes and pads.

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Tue Jun 17, 2014 9:21 pm
RogueProeliator offline
User avatar
Posts: 2501
Joined: Nov 13, 2012
Location: Baton Rouge, LA

Re: Insteon Health Test Tool app now available

I'm not sure how this would integrate? Where can I find some information on house pad? Housepad is a very generic term, and my GoogleFu is being defeated by thousands of pages mentions homes and pads.

Sorry, you can download the plugin in the forums: http://forums.indigodomo.com/viewtopic.php?f=73&t=11533

Basically, the Android client talks to Indigo via the IWS plugin -- which then communicates with the "regular" plugin for IOM access via sockets. Just a thought since you mentioned it - don't know if that is any better/worse than including the Cheetah engine, just an option.

Adam

Posted on
Wed Jun 25, 2014 10:10 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: Insteon Health Test Tool app now available

Indigo v6.0.13 is now available for download and includes a new API to ping() INSTEON and Z-Wave devices. The API Notes has an example of how to use it.

Here is a bit more detailed example where I walk through all the devices. The conditionals in the loop do their best to skip over devices that may sleep or are duplicates (or are disabled).
Code: Select all
def nopFunc(a,a2=None,a3=None): pass
debugLog = nopFunc    # or set to indigo.server.log for debug logging

kSecondaryModels = ["FanLinc - Fan"]
for dev in indigo.devices.iter("indigo.insteon"):
  if not dev.configured or not dev.enabled:
    continue
  if dev.model in kSecondaryModels:
    debugLog("- skip %s (secondary device)" % (dev.name))
    continue
  if not dev.supportsStatusRequest:
    debugLog("- skip %s (does not support request)" % (dev.name))
    continue
  if dev.batteryLevel is not None:
    debugLog("- skip %s (has battery level -- might be asleep)" % (dev.name))
    continue

  debugLog("checking %s" % (dev.name))
  result = indigo.device.ping(dev, suppressLogging=True)
  if result["Success"]:
    indigo.server.log("%.3f seconds ping for %s" % (result["TimeDelta"]/1000.0, dev.name))
  else:
    indigo.server.log("ping failed for %s" % (dev.name), isError=True)

for dev in indigo.devices.iter("indigo.zwave"):
  if not dev.configured or not dev.enabled:
    continue
  zwaveProps = dev.globalProps["com.perceptiveautomation.indigoplugin.zwave"]
  if zwaveProps.get("zwDevSubIndex", None) != 0:
    debugLog("- skip %s (secondary device)" % (dev.name))
    continue
  if not dev.supportsStatusRequest:
    debugLog("- skip %s (does not support request)" % (dev.name))
    continue
  if dev.batteryLevel is not None:
    debugLog("- skip %s (has battery level -- might be asleep)" % (dev.name))
    continue

  debugLog("checking %s" % (dev.name))
  result = indigo.device.ping(dev, suppressLogging=True)
  if result["Success"]:
    indigo.server.log("%.3f seconds ping for %s" % (result["TimeDelta"]/1000.0, dev.name))
  else:
    indigo.server.log("ping failed for %s" % (dev.name), isError=True)

Looking at it I realize I should have added exception catching around the loops. The ping() call will throw if the INSTEON or Z-Wave interface is not available/disconnected/etc., or if you try to call it on a device that isn't INSTEON or Z-Wave (X10 isn't supported and likely never will be since most X10 modules aren't 2-way and won't respond to pings/status requests). If the Z-Wave or INSTEON module just isn't reachable, then it does not throw — in that case result["Success"] will be False.

Using this new ping() call will be significantly more accurate in the time results that are returned. It measures the time around when the command is sent to the interface and when the ACK result is returned. If there are several outbound commands in the progress queue accurate results will still be returned for the individual command. Collisions and retries will still return a longer duration result, but just having outbound INSTEON or Z-Wave commands queued up will not.

Image

Posted on
Thu Jun 26, 2014 6:52 am
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

matt (support) wrote:
Indigo v6.0.13 is now available for download and includes a new API to ping() INSTEON and Z-Wave devices. The API Notes has an example of how to use it.

Here is a bit more detailed example where I walk through all the devices. The conditionals in the loop do their best to skip over devices that may sleep or are duplicates (or are disabled).


Excellent Timing on your part, since I'll have Zwave online later this week.

But bad timing since I'm trying to push out a new version of the Thermostat Enhancement plugin. It's a total rewrite since I'm trying to dramatically simplify and expand it's functionality and historical data features. (I had a small disagreement with the local gas / electric company. Thus the power meter and thermostat monitoring rewrite.)

I believe that I have the code revised for API v1.16's Insteon Ping, but I need to test with a live interface. And I will need to revise the labeling to switch to (presumably) milliseconds. The only reason I was using seconds was that Python's time functions were only rated for precision in seconds. Presumably the API will give use a more accurate reading, thus there's no reason to not use milliseconds.

So with luck v2.10 will be out tonight or early tomorrow. v2.20 will be out after I have been able to certify and test with a Zwave device (I assume the Zwave energy meter will respond to a ping?).

- Benjamin

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Thu Jun 26, 2014 7:03 am
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

matt (support) wrote:
Indigo v6.0.13 is now available for download and includes a new API to ping() INSTEON and Z-Wave devices. The API Notes has an example of how to use it.

Here is a bit more detailed example where I walk through all the devices. The conditionals in the loop do their best to skip over devices that may sleep or are duplicates (or are disabled).


Matt,

I'm a little confused at a error here.

Now, I expect the power line error, since I'm testing from a offline Indigo system.

Code: Select all
>>> test = indigo.devices[1085155465] # "master bedroom ControLinc"
>>> indigo.device.ping (test)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
RuntimeError: InterfaceError -- INSTEON power line interface is not connected or enabled
>>> indigo.device.ping (test, supressLogging=True)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
[b]ArgumentError: Python argument types in
    DeviceCmds.ping(DeviceCmds, Device)
did not match C++ signature:
    ping(CDeviceBase::_DeviceCmds {lvalue}, boost::python::api::object elem, bool suppressLogging=False)
[/b]


If I attempt to use the suppressLogging argument, we get aBoost / C++ signature mismatch error? If I don't use the supressLogging argument, it works fine. (Well, as fine as without a power line will work).

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Thu Jun 26, 2014 7:35 am
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: Insteon Health Test Tool app now available

bschollnick2 wrote:
So with luck v2.10 will be out tonight or early tomorrow. v2.20 will be out after I have been able to certify and test with a Zwave device (I assume the Zwave energy meter will respond to a ping?).

Great, and yes the energy meter will respond to the pings. Just about all modules will if they are awake, I believe.

bschollnick2 wrote:
If I attempt to use the suppressLogging argument, we get aBoost / C++ signature mismatch error? If I don't use the supressLogging argument, it works fine. (Well, as fine as without a power line will work).

You are missing the second 'p' in suppressLogging. ;-)

Image

Posted on
Thu Jun 26, 2014 8:25 am
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

matt (support) wrote:
bschollnick2 wrote:
So with luck v2.10 will be out tonight or early tomorrow. v2.20 will be out after I have been able to certify and test with a Zwave device (I assume the Zwave energy meter will respond to a ping?).

Great, and yes the energy meter will respond to the pings. Just about all modules will if they are awake, I believe.

bschollnick2 wrote:
If I attempt to use the suppressLogging argument, we get aBoost / C++ signature mismatch error? If I don't use the supressLogging argument, it works fine. (Well, as fine as without a power line will work).

You are missing the second 'p' in suppressLogging. ;-)


Doh! I looked at that 3-4 times before giving up. Geez, I hate it when that happens.

- Ben

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Fri Jun 27, 2014 4:37 pm
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

Okay, I have tested, and this is working with Insteon.

https://dl.dropboxusercontent.com/u/241 ... 0v2.10.zip

That being said, v2.10 also has revised hop timings, so please send me feedback on them.

v2.20 or v2.30 will be available within 3-4 days, which should support Zwave network testing.

I am being forced to build out a Zwave network, and all I have right now is a Zwave Energy meter, which I can't reach from my Indigo server. I was hoping the energy meter device would be close enough, but it isn't. It looks like I am going to have get some repeaters to make that work. So if anyone would like to help , I won't argue with Zwave donations...

Changes since v2.00 (6/19/2014):

⁃ v2.10 - Released 6/26/2014
⁃ Using Indigo API V1.16’s Ping command, so we can now test Insteon and Z-Wave (Pending) devices in a cross-platform manner.
⁃ Switched to using the Ping results from Indigo’s API. This should be more accurate and dependable.
⁃ Due to the switch to Indigo’s results, I am switching the timings to Milliseconds, instead of seconds.
⁃ v2.10 REQUIRES Indigo v6.0.13 or higher, due to the dependency on API v1.16.
⁃ v2.10 now uses the WaitUntilIdle Server command, so this should help prevent any stalls from other requests from Indigo.

⁃ v2.04 - Released 6/22/2014
⁃ Suppress the duplicate address warning for fanlinc devices. The duplicate device won’t be counted / pinged, but you won’t receive the warning message for it.

⁃ v2.03 - Released 6/21/2014
⁃ Added warning message regarding duplicate devices with identical addresses
⁃ The plugin will ignore the 2+ device with a duplicate device ID

⁃ v2.02 - Released 6/20/2014
⁃ Fixed a typo in the hop heat map lookup table

⁃ v2.01 - Released 6/20/2014
⁃ Bundled the wrong version for previous release. Re-released as v2.01.

⁃ v2.00 - Released 6/19/2014
⁃ First general release

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Sat Jun 28, 2014 12:02 am
kw123 offline
User avatar
Posts: 8333
Joined: May 12, 2013
Location: Dallas, TX

Re: Insteon Health Test Tool app now available

very good tool.

.. as for the fanlinc: the output now looks like the attached: it shows 200% in the ping reliability.. its a bit nitpicking

I am happy with the report.


Karl
Attachments
Screen Shot 2014-06-28 at 1.00.05 AM.png
Screen Shot 2014-06-28 at 1.00.05 AM.png (46.18 KiB) Viewed 8394 times

Posted on
Sat Jun 28, 2014 3:49 am
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

Looks like a small regression may have occurred with the FanLinc.

I'll make a note, and take a look when I am performing the tests with the ZWave code.

- Ben

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Mon Jun 30, 2014 4:08 pm
bschollnick2 offline
Posts: 1355
Joined: Oct 17, 2004
Location: Rochester, Ny

Re: Insteon Health Test Tool app now available

v2.20 of the Survey Tool is now available, and supports both Insteon and Zwave.

I want to thank both Norm and Matt for helping with my ZWave confusion.

This plugin currently supports all Insteon devices that support the Insteon StatusRequest command. Generally that means that any battery powered Insteon device will not be tested with this plugin.

Changes

v2.20 (2014-06-30)
++++++++++++++++++
* Fixed percentage errors with Fanlincs
* Added code to deal with Zwave subdevices
* First version to support ZWave devices

2.10 (2014-06-27)
+++++++++++++++++
* Switched to using the Ping results from Indigo’s API. This should be more accurate and dependable.
* Switched to API v1.16 Ping Command
* v2.10 REQUIRES Indigo v6.0.13 or higher, due to the dependency on API v1.16.
* Using Indigo API V1.16’s Ping command, so we can now test Insteon and Z-Wave (Pending) devices in a cross-platform manner.
* Started to update to PEP 8 standards
* v2.10 now uses the WaitUntilIdle Server command, so this should help prevent any stalls from other requests from Indigo.
* Due to the switch to Indigo’s results, I am switching the timings to Milliseconds, instead of seconds.

https://dl.dropboxusercontent.com/u/241 ... 0v2.20.zip

------
My Plugins for Indigo (v4, v5, and v6) - http://bit.ly/U8XxPG

Security Script for v4 - http://bit.ly/QTgclf
for v5 - http://bit.ly/T6WBKu

Support Forum(s) - http://www.perceptiveautomation.com/userforum/viewforum.php?f=33

Posted on
Mon Jun 30, 2014 9:04 pm
kw123 offline
User avatar
Posts: 8333
Joined: May 12, 2013
Location: Dallas, TX

Re: Insteon Health Test Tool app now available

using latest indigo 6.0.13,
got the following error.

Code: Select all
 Starting plugin "Survey Plugin 2.20" (pid 8149)
  Started plugin "Survey Plugin 2.20"
  Survey Plugin                   1 Pass Survey Requested....
  Survey Plugin                   Survey Pass - 1
  Error                           resending previous command (reply mismatch)

Jun 30, 2014, 9:59:53 PM
  Survey Plugin                      LampLink ?? Timed-Out, No Reply Received
  Survey Plugin                      outsideGarageLights Timed-Out, No Reply Received
  Survey Plugin                      pool temp io linc Timed-Out, No Reply Received
  Survey Plugin                      spare micro Timed-Out, No Reply Received
  Survey Plugin Error             Error in plugin execution MenuAction:

Traceback (most recent call last):
  File "plugin.py", line 321, in survey_1pass_manualUpdate
  File "plugin.py", line 263, in gather_data
<type 'exceptions.ValueError'>: IllegalParameterError -- plugin does not define method sendDevicePing


Who is online

Users browsing this forum: No registered users and 1 guest