This page last changed on May 31, 2014 by technicallygky.

I am trying to get the status of an insteon light switch and cant seem to get it. I'm sure its something simple but beyond me at the moment...

I am setting up a custom command, using the following:
url: http://10.0.0.249/rest/nodes/29%20B3%2023%201/ST
HTTP Method: GET
user: admin
pass: (correct password)

Xpath: I've tried multiple versions -
//properties/property/@value
concat(//properties/property/@value,"")
number(concat(//properties/property/@value,""))
//property/@value

If I browse to the url myself, I get:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property uom="%/on/off" formatted="Off" value="0" id="ST"/>
</properties>

I need to pull that value for a range, which will vary from 0 - 255.

Thoughts?


ISY_switch.jpg (image/jpeg)
ISY_on.jpg (image/jpeg)

Update:
It seems to be an issue with the http authentication. I created an xml file with the exact same xml info and pointed the sensor to it. That one works fine which is why I think its the authentication, however I know the username and password I have entered are correct since they are the ones I use when I browse to the page manually...

Update 2:
The minds behind all of this deserve alot of credit for all they've done. I didn't realize that I could simply create an ISY-99 command with ST as the actual command and it would then run that as a status check instead of a command. This is much easier than I was expecting it to be.

Now if only I could figure out why the slider doesn't line up right for what it is telling the switch...

Posted by technicallygky at May 31, 2014 18:26

You will need a command which has a polling interval and which returns the sensor value for the slide.
There is no connection between switch and slider and once the switch turns something on, you need a sensor to give feedback.

Posted by mredeker at Jun 01, 2014 11:20

Thank you for the response, Marcus. I would agree with you that I need a command with a polling interval, but I couldn't get that command to get any data because of the authentication issue. What is working for getting the status is this -

It doesn't make sense to me that it works, but I'm not going to question it.
What is happening with the slider tho is an issue with the ranges they function on. The slider seems to be sending commands based on percent (0%-100%) but I can only read status on a 0-255 scale. For example, when I move the slider to 33%, it sets the light correctly to 84 (33% of 255) but then updates the position of the slider to 84% based on the status returned. I tried setting the slider range to 0-255, but then 98 will set the light to 98% and 102 is back to 2%, same for 198 and 202, and finally 255 (slider all the way) is only 55%.I have the slider using the DON command which for insteon uses a 0-255 scale for commands - http://wiki.universal-devices.com/index.php?title=ISY-99i_Series_INSTEON:REST_Interface#Commands

Advice on correcting the slider would be awesome.

Posted by technicallygky at Jun 01, 2014 12:59

You should be able to create a sensor 0-255 which is used by the slider.

Posted by mredeker at Jun 01, 2014 17:12

Hi Jesse,

I have checked in a version of the controller and designer which I would expect would provide you a much better experience with the ISY.

The designer can interrogate the ISY for all the devices, and automatically create appropriate commands, sensors, switches and sliders for every element. It is very similar to Dan's work with the Omnilink. It just so happens I have 1 house with Omnilink, and another with ISY.

The controller has been upgraded to use a Soap subscription to monitor all status changes via 1 channel, instead of the existing http polling method which really isn't scalable. I found the ISY starts throwing errors with not too many commands polling.

However, getting your own designer installed at home is no small feat. It requires knowledge of mysql, tomcat and a few other things. If you would like to give this a try you can find my changes at:

https://svn.code.sf.net/p/openremote/code/workspace/craigham/

It is the two ISY folders.

cheers,
craig

Posted by craigham at Jun 01, 2014 17:49

Thank you both for your replies.

Marcus, I have a sensor set for 0-255 range and it reads that correctly. Unfortunately, it seems that the command the slider sends is based off percentage, as in 0-100 no matter what I do.

Craig, I would be very interested in setting up my own designer and have a fair amount of dealings with mysql but not much with tomcat. Is there a thread or tutorial somewhere that provides some basic steps for setting up an inhouse designer?

Posted by technicallygky at Jun 03, 2014 19:05

Jesse,

Here is a recent post of someone who set up designer, beehive and mysql.

Make sure you notice the GWT version that ended up working. This also tripped me up last year when I set up my environment.

http://www.openremote.org/display/forums/Setting+up+local+Beehive,+Designer+and+Controller

You may want to set up an environment with the builds of controller and designer they used in the post just to limit diversion of steps. After you get beehive and mysql and the controller/designer working in this article, it would be rather straight forward to download my versions of the designer/controller and you'd be on your way.

Just a warning, it can be painful getting started, but once you have everything working, it really opens up the possibility to make changes, or use some of the bleeding edge enhancements.

cheers,
craig

Posted by craigham at Jun 03, 2014 19:27

Thank you very much... I wish there was a thanks button I could push

Posted by technicallygky at Jun 03, 2014 19:37

What console are you using that exhibits this behavior with the slider ?
Also I suspect that the slider feedback would be wrong and that when the sensor returns 100 the slider is already at maximum position ?

Posted by ebariaux at Jun 05, 2014 15:33

So far the only console I've used is the web console. And yes, the slider doesn't like the feedback - anything 100 up just sets the slider to max. I probably need to make a macro or rule (I'm a noob here... I don't know what exactly need made) that essentially divides the feedback by 2.5 so it gives the slider the correct data. It would be awesome if it didn't have to be done for each individual switch since there are almost 80 dimmers in this setup to program.

Posted by technicallygky at Jun 05, 2014 16:06

This looks to me like a bug in the WebConsole, so eventually it should be fixed, though I can't promise when.

Macro wouldn't help, it should be possible to work around the issue with rules but that's a lot of work for a temporary fix.
So I would just advice to wait for now...

Posted by ebariaux at Jun 05, 2014 16:16

So it should work correctly in the iphone console?

Posted by technicallygky at Jun 05, 2014 16:21

Yes, if it does not, please let me know and I'll investigate, but as far as I remember this was working OK.

Posted by ebariaux at Jun 05, 2014 16:25

Hi Jesse,

I can confirm that this isn't an issue with the Web Console, I created a virtual test slider with a range of 0-255 and it correctly displays and the correct value is sent back to the controller when the slider is changed.

Sounds like a command problem, worth checking on the iOS console though to be sure.

Rich

Posted by kurrazyman at Jun 05, 2014 18:05

As Rich says, testing with the iOS console would confirm that the issue is not in the WebConsole (if the behavior is the same).

Just to double check, you did define a sensor of type range, defined its min at 0 and max at 255 and used that sensor in your "building modeler slider" definition, then linked that element to your visual slider ?

Also, if you create a label and link the sensor to it, does it correctly display 0->255 values ?

Posted by ebariaux at Jun 06, 2014 10:23

I think I've figured out what is going on with the slider. Based on the packets I see being sent, whenever I set the slider the value that is sent to the ISY is whatever the slider is multiplied by 2.55. Since I have the sliders range as 0-255. When I move the slider to full (255) it sends/cmd/DON/650 (which is 255*2.55) and the light sets to 138, which is (650-256)-256.

How do I get rid of that multiplier on the slider?

Posted by technicallygky at Jun 12, 2014 13:45

I will test with the iOS console today and report my findings.

As far as how I've set it up, its exactly as you said currently. I will create a label linked to the sensor and check, but I'm pretty sure it will be correctly displaying the 0-255 value.

Posted by technicallygky at Jun 18, 2014 13:15

Tested in iOS - same results.

Posted by technicallygky at Jun 19, 2014 02:40

I just figured out what I was doing wrong in the original post - the url I was accessing had spaces for the insteon address, so I was putting %20 in place of the space. I noticed that in the packet sent that it was sending %2520... I simply put a space in the command instead of %20 and it worked!
wrong address - http://10.0.0.249/rest/nodes/29%20B3%2023%201/ST
right address - http://10.0.0.249/rest/nodes/29 B3 23 1/ST

I'll just stand in the corner with a dunce cap now...

Posted by technicallygky at Jun 19, 2014 03:12

No problem, glad it works and thanks for the feedback.

Posted by ebariaux at Jun 23, 2014 10:32

I guess I should add for the sake of anyone in the future running into the slider issue I was having that I am using a http command for the status query with the above address and have:
(round(number(concat(//properties/property/@value,"")) div 2.55))

in the Xpath command field so that the status is in a 0-100 range. Then I set the sensor to a range of 0-100 and everything works great.

Posted by technicallygky at Jun 23, 2014 20:43
Document generated by Confluence on Jun 05, 2016 09:39