Jump to content

ISY -> Home Assistant -> HomeKit


Recommended Posts

Hi guys,

I have an ISY994i and the following types of Insteon devices:

  • Dimmer Switches
  • Dimmer Keypads
  • On/Off Keypads
  • Dimmer DIN modules
  • On/ Off DIN Modules
  • Open/Close Micro Modules (for shutters)
  • On/Off Outlets 

I would like bring all of those devices into HomeKit via Home Assistant: 

ISY -> HA: Universal Devices ISY994 - Home Assistant

HA -> HomeKit: HomeKit - Home Assistant

My goal is to expose all of my Insteon Devices to Home Assistant and the bring a selected group into HomeKit. I’m wondering if anyone is using this setup as I have a few questions:

  • has this been a stable setup in your experience? I’m looking for a rock solid solution that works. 

 

  • Will I still be able to have dimming control over my dimmable devices from within HomeKit or will they all just become on/off?  I saw this on the home assistant plugin site: “All Insteon scenes configured in the ISY994 will show up as a switch in Home Assistant, as they do not support dimming or setting specific brightness settings as Home Assisstant’s light component.” Is this only scene specific? Can I still dim my dimmer switches?

 

  • Will this solution support the open/close micro module and expose it as a window covering in HomeKit?

 

  • Is it possible to expose a single button from the keypad switch so that I can use it as an automation trigger inside of HomeKit? For example: the user presses button D on the Insteon keypad and I have they trigger the “Good Morning” scene inside HomeKit. I would only want to expose maybe 1 or 2 buttons from my keypads into HomeKit. 

 

I’m currently using Homebridge and this plugin to bridge my Insteon devices into HomeKit but it has some shortcomings:

  • no longer under active development 
  • Doesn’t support ISY 5
  • Doesn’t support open/off micro module 
  • Starting to fall apart a bit

So I’m looking for a new solution and was hoping that maybe the Home Assistant route may be the answer. 

Looking forward to hear your thoughts!

Link to comment
  • 4 months later...

I don't think you'll have any problem.  I have a rock solid installation with ISY and HA, i don't use homekit, but i did try it out.

there's no gotacha's just dive in and get it going.  Not going to give detail instructions based on this post, because it's impossible to tell what stage you're at now.

dive in.

Link to comment
  • 2 weeks later...
On 11/27/2021 at 5:57 AM, MrBill said:

I don't think you'll have any problem.  I have a rock solid installation with ISY and HA, i don't use homekit, but i did try it out.

there's no gotacha's just dive in and get it going.  Not going to give detail instructions based on this post, because it's impossible to tell what stage you're at now.

dive in.

Thanks, mate. I finally took the plunge! Everything seems to work BUT any HA scenes with more than 3-5 Insteon devices and execution seems to become very slow and unreliable. Way slower and unreliable than it was through my homebridge setup. 
 

What is your experience with this @MrBill?

Link to comment
2 hours ago, MrBill said:

Not surprising.   I don't make scenes in HA, All my scenes exist in the ISY, HA can control the ISY scenes.

I would like to do that too but my problem with that is that HA reports the scene as “on” even if not all the lights of the scene are on OR if they aren’t set to the right brightness. So it’s impossible to toggle it even if just a few lights of the scene are on. Do you know a workaround to this @MrBill?

Link to comment
4 hours ago, larryllix said:

Not having tried HomAss, yet, what processes do you use from it?

Sent from my SM-G781W using Tapatalk
 

Its great. I took the plunge a year ago.  I ditched Polisy in favor of it.  

I pull all my other devices in to it.  So, ISY, MyQ, ecobee, anything z-wave (Z-wave just worked better for me in Home Assistant than ISY), cameras, unifi controller, logitech remotes, elk m1, an MQTT broker, rain machine, synology, shelly devices.

I've got really nice dashboards made for both desktop and mobile. Lots of customization possible here. Much nicer interface than anything I found on the direct ISY side. 

HA seems to be the go-to these days.  Lots of development.  Lots of devices supported.

Link to comment
7 hours ago, MrBill said:

Not surprising.   I don't make scenes in HA, All my scenes exist in the ISY, HA can control the ISY scenes.

I started using it as a front end to the ISY, to replace mobilinc, agave, etc... most has stayed in the ISY, but I added zigbee to HA... using about a dozen HA integrations mostly for things the ISY couldn't do.

Link to comment
51 minutes ago, MrBill said:

I started using it as a front end to the ISY, to replace mobilinc, agave, etc... most has stayed in the ISY, but I added zigbee to HA... using about a dozen HA integrations mostly for things the ISY couldn't do.

We would like to talk about that ZigBee thing (not now = vacation) . I am sitting on some basic Zwave things but still thinking ZigBee may be a better protocol and may be a better option.  If HomAss can do it then with some specs a bridge could be written...possibly a NS, which could break open a whole 'nuther can of worms for ISY also.

So if I understand you correctly, HomAss is acting as a bridge from ISY to Zigbee, mostly.

Link to comment
35 minutes ago, larryllix said:

We would like to talk about that ZigBee thing (not now = vacation) . I am sitting on some basic Zwave things but still thinking ZigBee may be a better protocol and may be a better option.  If HomAss can do it then with some specs a bridge could be written...possibly a NS, which could break open a whole 'nuther can of worms for ISY also.

So if I understand you correctly, HomAss is acting as a bridge from ISY to Zigbee, mostly.

HA is another controller.  I do have some ways to cross things back and forth, like i do have an insteon button that opens a zigbee shade.

When you get home you just need to get a PI and load up HA and start playing.  there's no way for anyone to explain why it's great.

Link to comment
7 hours ago, Venicenerd said:

I would like to do that too but my problem with that is that HA reports the scene as “on” even if not all the lights of the scene are on OR if they aren’t set to the right brightness. So it’s impossible to toggle it even if just a few lights of the scene are on. Do you know a workaround to this @MrBill?

Hey, @MrBilldo you happen to have any thoughts on this one? Would be awesome if there's a way to get the ISY scenes to turn OFF on HA as soon as the states don't match the lights on the ISY anymore.

Link to comment
13 hours ago, Venicenerd said:

Hey, @MrBilldo you happen to have any thoughts on this one? Would be awesome if there's a way to get the ISY scenes to turn OFF on HA as soon as the states don't match the lights on the ISY anymore.

This is true when not using HA too.  Any ISY scene is considered to be off only when all members of the scene are off.

The solution can vary, but sending a scene an ON command will turn the scene to it's predefined on state, regardless of it's current state. Sending an Off will always turn it off.    It sounds like the problem is you may be trying to use toggle when you need to use on or off.  Without further context it's hard to make suggestions.

ISY scenes aren't rigid....  Scene 1 can have A, B, C   Scene 2 can have A and C  Scene 3 Might be A, B and D.  So that's to say a scene member can belong to multiple scene, and just because B is in a scene that doesn't dictate any other scene members.

Link to comment
3 hours ago, MrBill said:

This is true when not using HA too.  Any ISY scene is considered to be off only when all members of the scene are off.

The solution can vary, but sending a scene an ON command will turn the scene to it's predefined on state, regardless of it's current state. Sending an Off will always turn it off.    It sounds like the problem is you may be trying to use toggle when you need to use on or off.  Without further context it's hard to make suggestions.

ISY scenes aren't rigid....  Scene 1 can have A, B, C   Scene 2 can have A and C  Scene 3 Might be A, B and D.  So that's to say a scene member can belong to multiple scene, and just because B is in a scene that doesn't dictate any other scene members.

***  Thread Hijack Alert  ***

This has always struck me as a fundamental missing piece for Insteon and/or ISY.  It seems to me there should be both "Scene" and "Group".  A Group would always act in synchrony.  For instance, the exterior lighting sconces on my home are controlled by at least 8 Insteon switches, but they always all do the same thing.  A Scene should be something that is executed, not turned on and off or dimmed.  So, a Scene to adjust the lights to watch a movie.  The concept of turning off a Scene, or dimming it, seems weird.  These are functions for a Group.

Link to comment
***  Thread Hijack Alert  ***
This has always struck me as a fundamental missing piece for Insteon and/or ISY.  It seems to me there should be both "Scene" and "Group".  A Group would always act in synchrony.  For instance, the exterior lighting sconces on my home are controlled by at least 8 Insteon switches, but they always all do the same thing.  A Scene should be something that is executed, not turned on and off or dimmed.  So, a Scene to adjust the lights to watch a movie.  The concept of turning off a Scene, or dimming it, seems weird.  These are functions for a Group.
I always try to use 'Insteon Scenes as 'scenes has developed many different meanings.

This is very similar to Home Assistant people trying to horn-in on the HA acronym, that has always meant 'Home Automation' for the last few decades.

Sent from my SM-G781W using Tapatalk

Link to comment
5 hours ago, MrBill said:

This is true when not using HA too.  Any ISY scene is considered to be off only when all members of the scene are off.

I'm not sure this is true, ISY does not have a value for scene status. We do have estimated status in App.

2 hours ago, carealtor said:

***  Thread Hijack Alert  ***

This has always struck me as a fundamental missing piece for Insteon and/or ISY.  It seems to me there should be both "Scene" and "Group".  A Group would always act in synchrony.  For instance, the exterior lighting sconces on my home are controlled by at least 8 Insteon switches, but they always all do the same thing.  A Scene should be something that is executed, not turned on and off or dimmed.  So, a Scene to adjust the lights to watch a movie.  The concept of turning off a Scene, or dimming it, seems weird.  These are functions for a Group.

As our app developer I have a few questions and observations, which may help future app development.

What happens when a member of a Group is out of sync or does not support the sync value (i.e. binary on/off vs dimmable)?  Would this not lead to the same issue?  Is the goal to show a status?  There may be too many variables to make this "better" than the current implementation. The Group definition sounds similar to having (1) all Controllable devices in a Scene as controllers of the Scene, (2) all devices must not be responders to any other Scene, and (3) all devices support the same values (binary or dimmable). 

How would your description of Scene handle a non momentary device event (i.e. kpl on/off)?  What is the difference between your Scene description and a program which executes THEN on device command?  A program can control a Scene with no hardware controllers so the command ON value is always executed and command OFF is never executed.  The Program case can also handle the non momentary events.

Link to comment
3 hours ago, carealtor said:

***  Thread Hijack Alert  ***

This has always struck me as a fundamental missing piece for Insteon and/or ISY.  It seems to me there should be both "Scene" and "Group".  A Group would always act in synchrony.  For instance, the exterior lighting sconces on my home are controlled by at least 8 Insteon switches, but they always all do the same thing.  A Scene should be something that is executed, not turned on and off or dimmed.  So, a Scene to adjust the lights to watch a movie.  The concept of turning off a Scene, or dimming it, seems weird.  These are functions for a Group.

My outside lights are controlled by 8 devices, switches and a double outlet.  I have 4 scenes:  Day, Evening, Late Night and Bright.  All 4 scenes have all the same members.  (day used to be called Off, but one of the outlets turns on in the day now so it was renamed "Day").   The ISY turns on Day at Sunrise, then turns on Evening at Sunset, Late Night turns on at "bedtime" or away mode is on at a random number of minutes after 9:46pm.  the scene called Bright is a button on a keypad by the front door.  

In fact buttons E, F, G, H each hold one of those scenes, the buttons are "non-toggle On".   No scene is ever turned off, but the KPL buttons do turn off so that they act as Radio Buttons.  E is Evening, F is Late Night, G is Day, H is Bright.   The KPL will tell you at a glance which scene is On and the buttons can be used to override the ISY.

In practice I hardly touch the buttons, but occasionally we do use bright. and to Undo bright you must hit the corresponding Day, Evening, Late Night button.

Link to comment
1 hour ago, Javi said:

I'm not sure this is true, ISY does not have a value for scene status. We do have estimated status in App.

I had forgotten this but you're correct.  HA calculates a scene as On if any of it's members are on, and Off only if All members are off.   It ignores the state of wireless remote button controllers when calculating if the scene is on or off.  (ignoring wireless buttons was actually a change that occurred after an issue I opened-- so did know but forgot)

Link to comment

Insteon scenes, as defined by the Insteon protocol don't have status.  

The controller of the scene has zero knowledge of what the scene configuration looks like, it simply sends a command.  Responders are then programmed to look for commands and do something.  The controller has no idea which devices will respond nor how those that do, will respond.

But it seem like everyone wants to see scene status so most software will try to come up with something to represent a scene's status.  And because different people have different ideas of what scene status should be (since it is by the very nature of Insteon, undefined) we see different implementations of scene status.

If I have to provide scene status, I choose to represent a scene as ON if and only if all the devices that respond to the scene on command are in the state that is defined for that scene command.  If not all the devices are in the proper state, the scene is not "ON". 

Link to comment
1 hour ago, Javi said:

What happens when a member of a Group is out of sync or does not support the sync value (i.e. binary on/off vs dimmable)?  Would this not lead to the same issue?  Is the goal to show a status?  There may be too many variables to make this "better" than the current implementation. The Group definition sounds similar to having (1) all Controllable devices in a Scene as controllers of the Scene, (2) all devices must not be responders to any other Scene, and (3) all devices support the same values (binary or dimmable). 

How would your description of Scene handle a non momentary device event (i.e. kpl on/off)?  What is the difference between your Scene description and a program which executes THEN on device command?  A program can control a Scene with no hardware controllers so the command ON value is always executed and command OFF is never executed.  The Program case can also handle the non momentary events.

Well, I never said my idea was perfect. ?

Link to comment
32 minutes ago, bpwwer said:

If I have to provide scene status, I choose to represent a scene as ON if and only if all the devices that respond to the scene on command are in the state that is defined for that scene command.  If not all the devices are in the proper state, the scene is not "ON". 

@bpwwer are you making this calculation somewhere?    I can foresee making a similar calculation for the ISY Scene Member (Controller) based on link type Command , but even this could be difficult if the scene link type or command values is  adjusted from a program.

Link to comment
37 minutes ago, Javi said:

@bpwwer are you making this calculation somewhere?    I can foresee making a similar calculation for the ISY Scene Member (Controller) based on link type Command , but even this could be difficult if the scene link type or command values is  adjusted from a program.

I did this in my HomeSeer plugin for ISY.   The ISY does send the information on what devices are are programmed to be respond to the various configured scenes so you can create that mapping.  I.E. 

scene # => list of devices and levels

The initially for each scene, loop through the devices to see if they match the scene or not.  That would give me the initial state of the scene (on/off).

Then anytime a device status change happened, I'd have to check every scene that it was a member of and do the same check to detect if the scene state changed.

It's been a while since I worked on that plug-in so I'd have to review the code to be more detailed in how it was implemented.

For Insteon, the limit is something around 255 scenes so at least it is somewhat constrained.

Also, I think the ISY does send out updates if the scene is adjusted so you can keep track of that and adjust internally as needed.

Link to comment

Thanks @bpwwer,  Calculating on the app side is somewhat expensive at app start especially with more than one system.

UD Mobile has app defined Node Server files for Scenes, Programs, Variables, ect, so they appear the same as any Node.  At some point we may be able to add a second status definition to scenes..  Keeping the current Estimated Status with percentage so it appears as a "Group" and a second Scene Status calculated with Link Type. I think link type would have to be static after synchronization as querying this at startup would cause a few seconds of delay, but may satisfy most situations.

UD Mobile currently queries the scene relations table when values are updated for all "ST" values with UOM 100 (0-255) and UOMs 51, 78, 79 (0-100).  Then takes the matched relations rows and runs 2 queries one for  UOM 100 / 2.55 and and one for UOMs 51, 78, 79 with precision calculations.  I never could get SQLite to do all calculations in the same query with division for 255 and percentage precision values. 

Link to comment
18 hours ago, carealtor said:

***  Thread Hijack Alert  ***

This has always struck me as a fundamental missing piece for Insteon and/or ISY.  It seems to me there should be both "Scene" and "Group".  A Group would always act in synchrony.  For instance, the exterior lighting sconces on my home are controlled by at least 8 Insteon switches, but they always all do the same thing.  A Scene should be something that is executed, not turned on and off or dimmed.  So, a Scene to adjust the lights to watch a movie.  The concept of turning off a Scene, or dimming it, seems weird.  These are functions for a Group.

The problem is that both are interchangeable. I completely understand the point your making and its valid, how do you quantify that when everyone has their own idea of how they run their home? 

 

Link to comment
14 hours ago, bpwwer said:

Insteon scenes, as defined by the Insteon protocol don't have status.  

The controller of the scene has zero knowledge of what the scene configuration looks like, it simply sends a command.  Responders are then programmed to look for commands and do something.  The controller has no idea which devices will respond nor how those that do, will respond.

But it seem like everyone wants to see scene status so most software will try to come up with something to represent a scene's status.  And because different people have different ideas of what scene status should be (since it is by the very nature of Insteon, undefined) we see different implementations of scene status.

If I have to provide scene status, I choose to represent a scene as ON if and only if all the devices that respond to the scene on command are in the state that is defined for that scene command.  If not all the devices are in the proper state, the scene is not "ON". 

This has been my issue with trying to track scenes. If I turn a scene on and later adjust one of the lights slightly, is it still on? Everyone has a different idea of when they consider a scene/group ion that someone is left with incorrect information which is worse than no information at all.

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...