Vera and an ISY994i

I plan on updating my ISY in the next day or two. I was going to update it yesterday, but ended up getting distracted with other projects around the house.

I would like to add more support for devices, but my insteon gear is not very diverse. Hopefully supporting more devices with my current code is not too difficult. I tried my best to make things simple.

  • Garrett

Garrett,

The limitations are not due to your code. In fact, it was easy to get the Z-Wave items detected.

It seems to be a limitation of the current ISY firmware/UI?at least for my Leviton dimmers. I do not have any GE dimmers installed any more, so I can’t test if those are working any better.

Also, the REST API for locks hasn’t been published, so I haven’t worked on those at all.

-Jacob

Maybe we should get a project page going in code.mios.com to use for committing changes via git?

  • Garrett

I haven’t used code.mios.com, but I can try. I’ll try not to goof up like I did with Altsteon in the beginning.

I just got locks working, sort of. The status is reflected in Vera, but commands still don’t work (until they publish the REST API call for locks).

I would post over on the UD forum to ask what the api calls are for the z-wave locks. Better yet, email UD support. They are very fast at responding and very helpful.

  • Garrett

PurdueGuy,

Here is the project for the ISY plugin over at code.mios.com: Universal Devices ISY Plugin

In order to write to the git repository you’ll need to create an account over on code.mios.com. You’ll need to contect mcv.andrei to have him create an account for you there. Once an account is created, let me know via pm your username and I’ll add you to the project. The git repo path is located here:

Public

Public 2
git://code.mios.com/mios/universal_devices_isy_plugin.git
HTTP
http://code.mios.com/git/mios/universal_devices_isy_plugin.git
SSH
ssh://git@code.mios.com/mios/universal_devices_isy_plugin.git

  • Garrett

Ok, sent messages off.

Current status for new items:

[ul][li]Z-Wave Binary switches[/li]
[list][li]done[/li][/list]
[li]Z-Wave Dimmer switches[/li]
[list]
[li]appear as binary switches (for now)[/li]
[li]only on/off supported[/li]
[li]ISY itself only supports On/Off for Leviton - others dimmers may work?[/li]
[/list]
[li]Z-Wave Locks[/li]
[list]
[li]only status is reported[/li]
[li]awaiting release of developer documentation to added remote lock/unlock (or trial & error)[/li]
[/list]
[li]Z-Wave Thermostat[/li]
[list]
[li]Not started[/li]
[/list]
[li]Insteon IOLinc[/li]
[list]
[li]relay works[/li]
[li]sensor needs to be tested[/li]
[/list][/ul]

-Jacob (PurdueGuy)

I have the ISY controller plugin working. One Lamplinc setup for testing seems to be responding correctly. Hopefully, I can try some more devices tomorrow.

Jacob, I will be glad to test the IOLinc functionality whenever ready. Do I need to collect the files from the code.mios.com repository?

I don’t have access to the repository yet, and I won’t be home until later this evening.
If I have access then, I can upload, otherwise I can post them here.

I have an IOLinc, I just don’t have a sensor hooked up to it. I can test that prior to release.

No rush. Either method is fine.

Garrett, could you provide an example of a PLEG that runs a scene from the ISY that interacts with the KPL?

[quote=“PurdueGuy, post:27, topic:177592”]Ok, sent messages off.

Current status for new items:

[ul][li]Z-Wave Binary switches[/li]
[list][li]done[/li][/list]
[li]Z-Wave Dimmer switches[/li]
[list]
[li]appear as binary switches (for now)[/li]
[li]only on/off supported[/li]
[li]ISY itself only supports On/Off for Leviton - others dimmers may work?[/li]
[/list]
[li]Z-Wave Locks[/li]
[list]
[li]only status is reported[/li]
[li]awaiting release of developer documentation to added remote lock/unlock (or trial & error)[/li]
[/list]
[li]Z-Wave Thermostat[/li]
[list]
[li]Not started[/li]
[/list]
[li]Insteon IOLinc[/li]
[list]
[li]relay works[/li]
[li]sensor needs to be tested[/li]
[/list][/ul]

-Jacob (PurdueGuy)[/quote]

Great job! Looking forward to looking over the code changes. Hopefully MCV will get back to you soon. MCV.Andrei has been pretty responsive in requests.

I am hoping that this plugin is proving it’s value to others.

  • Garrett

Garrett, could you provide an example of a PLEG that runs a scene from the ISY that interacts with the KPL?[/quote]

When I get some time, I’ll post a little write up. What you would do is create inputs for the devices you want to act on and their respective conditions in pleg. For their actions you would go to the advanced tab of the action creator, select the ISY Controller device → select runScene and the id field would than be the scene id number found in the ISY controller. The newTargetValue would be either 1 for on or 0 for off.

  • Garrett

Ok, here are my updates. No access the the git repo yet.

Current status for new items:

[ul][li]Z-Wave Binary switches[/li]
[list][li]done[/li][/list]
[li]Z-Wave Dimmer switches[/li]
[list]
[li]appear as binary switches (for now)[/li]
[li]only on/off supported[/li]
[li]ISY itself only supports On/Off for Leviton - others dimmers may work?[/li]
[/list]
[li]Z-Wave Locks[/li]
[list]
[li]works[/li]
[/list]
[li]Z-Wave Thermostat[/li]
[list]
[li]Not started[/li]
[/list]
[li]Insteon IOLinc[/li]
[list]
[li]creates 2 devices[/li]
[li]relay works (my relay is set to Momentary A - doesn’t reflect as on in Vera, which is what I want[/li]
[li]sensor work (trip the sensor once, and a “Reverse” variable is created in case the status shows backwards)[/li]
[/list][/ul]

Have a look. I think you just need to upload the files, restart the daemon, and any new devices will be created.

After the new devices are detected, you can click “Update Names” for the main ISY device, and item will be renamed to match ISY.

I am going to have to wipe my ISY Z-Wave dongle and start over, so I might be re-installing the ISY plugin.
-Jacob (PurdueGuy)

Ok, so my initial set of devices wasn’t a good set to start with it appears.
I wasn’t sure how the “type” field worked for Z-Wave nodes, since it was set to 4, which in Insteon is a whole different category. Turns out, there is a new tag for Z-Wave nodes, called “family” which is set to 4.

Currently, the “family” tag is not handled by the code, and will need to be added.

I have found that all z-wave devices are “family”=4, but the “type” varies:
Kwikset Locks: type = 4.64.3.0
Leviton relay switch & receptacle: type = 4.16.3.0
Leviton dimmer: type=4.17.4.0
GE relay switch & receptacle: type=4.16.1.0
Intermatic receptacle: type=3.16.1.0
Cooper receptacle: type=4.16.1.0
Evolve relay module: type=4.16.3.0

It looks like the code will work UNLESS you have Intermatic devices.
I will have to ask UD about that.

For now, you can experiment. Perhaps someone more versed in the XML parsing, etc. can update/add the “family” parsing. That code will have to check the family tag (if it exists) before creating a Z-Wave device.

EDIT: Oops, I believe it is Intermatic HomeSettings receptacles that are different.

In which api call does the family tag show up in? e.g /rest/nodes/devices If you provide me the xml output, I can see what I can do to add the family tag. It should not be too hard to add.

Update:

Looking further into the family tag, we would need to modify the code to check the family id first and than proceed with the appropriate functions. This would require changing the category maps to their respective families. Does the family tag exist for the insteon devices or only show for the zwave devices? I do not have a family tag listed for any of my insteon devices. If no family tag is set for the device, I would than assume it would be an insteon device.

  • Garrett

It only shows up for Z-Wave that I have seen.

Here is 2 examples with different types:
Kwikset deadbolt:

<node flag="144">
  <address>ZW002_1</address>
  <name>Front Door Deadbolt</name>
  <family>4</family>
  <parent type="3">39649</parent>
  <type>4.64.3.0</type>
  <enabled>true</enabled>
  <deviceClass>0</deviceClass>
  <wattage>0</wattage>
  <dcPeriod>0</dcPeriod>
  <pnode>ZW002_1</pnode>
  <devtype>
    <gen>4.64.3</gen>
    <mfg>144.1.1</mfg>
  </devtype>
  <ELK_ID>K08</ELK_ID>
  <property id="ST" value="101" formatted="Locked" uom="boolean"/>
</node>

Intermatic receptacle:

<node flag="128">
  <address>ZW011_1</address>
  <name>Nightstand</name>
  <family>4</family>
  <parent type="3">63462</parent>
  <type>3.16.1.0</type>
  <enabled>true</enabled>
  <deviceClass>0</deviceClass>
  <wattage>0</wattage>
  <dcPeriod>0</dcPeriod>
  <pnode>ZW011_1</pnode>
  <devtype>
    <gen>3.16.1</gen>
    <mfg>5.1.3</mfg>
  </devtype>
  <ELK_ID>L07</ELK_ID>
  <property id="ST" value="0" formatted="Off" uom="%"/>
  </node>

Let me see what I can break with adding support for the family id. I took your changes and added them to the code and will upload it to the git repo.

Even though the leviton dimmers do not support dimming yet, I changed the device type to a dimmer for future use. It would be confusing and a pain to convert the zwave dimmer devices from a binary switch to a dimmable switch.

  • Garrett

Sorry, running into a bit of a wall here. Are the scenes that you refer to ISY-only (i.e., only incorporating Insteon devices), or are you able to create scenes that incorporate any eligible device configured with your Vera? While I understand how to make scenes or programs within the ISY, I am not seeing a way to do so incorporating Vera devices. Specifically, the scene controller device created by the plugin does not have any of the typical drop-downs used for this purpose.

I understand that you are still working to get the meat of the plugin functional; if you prefer to leave these types of details until after that, it is fine.

With in a Vera scene, on the Advanced tab, you can choose the main ISY device, and hit “Add”
Then you can choose “runScene” to run an Insteon scene on the ISY.
What that IYS scene does is up to the user/ISY capabilities.

So say you had a group of devices, some Insteon, some Z-Wave and you want to turn them all off.
Create a scene in ISY called “All Off” - add all the Insteon members, setting them to off.
Create a scene in Vera called “All Off” - set the Z-Wave items you want off in the devices tab.
Go to the Advanced tab, chose the main ISY device, hit “Add”, select “runScene” fill in the details, (scene id as defined in ISY, 0 for newTargetValue).