Jump to content

Home Assistant ISY Component


fasttimes

Recommended Posts

This is just a placeholder thread for trying to debug the poor performance of the ISY Component for Home Assistant.  Note, this is not code developed by UDI, despite the name.  Hopefully @Michel Kohanim will be able to provide some guidance.

The Home Assistant platform has many different components that lets you “add” and control devices from Home Assistant.  For example, the MyQ Cover component lets you include garage doors associated with your MyQ account so that you can view and control them directly with Home Assistant.  In the Home Assistant configuration file you would add something like the following:

cover:
  - platform: myq
    username: YOUR_USERNAME
    password: YOUR_PASSWORD
    type: chamberlain

And any devices that are associated to the username specified would get sucked in to Home Assistant.  You can then control them, monitor their states and write automations.  Likewise, there is also an ISY Component which sucks in and controls lights ISY devices.

# Example configuration.yaml entry
isy994:
  host: ISY_ADDRESS
  username: ISY_USERNAME
  password: ISY_PASSWORD

Mostly I want to control ISY lights (usually representing a single Insteon dimmer) or an ISY scene (an actual ISY scene, compromised of several Insteon dimmers with different load levels and ramp rates).

As I have mentioned in other threads, if I expose ISY devices or scenes with the ISY Portal, I can control those with Alexa or Google Assistant.  They respond quickly.

However, controlling devices found with the ISY Component is anything *but* fast.  I’m going to see if I can figure out how to write my own custom component in order to find out where things might be slowing down.

Link to comment
I have to say that it isn't the component.  I can hit the switch in a lovelace Entities card and the light is on before the animation of the switch is done.


It’s instantaneous for me unless it results in flooding the Insteon network from the ISY’s perspective. In that case, it can take a long time or just not work at all. I have a languishing PR here to PyISY that helps my setup tremendously: https://github.com/automicus/PyISY/pull/46

Did you turn on debug for the isy994 component? No need to create a separate custom component for that. If you want to add debug, you can just copy the component directory into the config/custom_components directory and modify it there (create the dir if needed).
Link to comment
  • 5 months later...
30 minutes ago, carealtor said:

I'm on 0.101.3, which should be the latest I think.  I have a few nodeservers...  Sonos, Ecobee, Harmony, Hue Emulator, all on the latest and greatest.  My ISY is at 5.0.14 if it matters.

The only difference here that I see is my ISY is running 5.0.16

Link to comment

I had an issue similar to this. See my post about using 5.0 14 on homeassistant for the errors.

I kinda forgot about it actually. 

I did have the hue nodeserver running and it had somehow gotten messed up. I deleted it from polyglot and made it again and no more issues.

 

That said there is an updated custom version of the isy integration that works better. It is in HACS if you are interested.

Link to comment
Just now, danbutter said:

I had an issue similar to this. See my post about using 5.0 14 on homeassistant for the errors.

I kinda forgot about it actually. 

I did have the hue nodeserver running and it had somehow gotten messed up. I deleted it from polyglot and made it again and no more issues.

 

That said there is an updated custom version of the isy integration that works better. It is in HACS if you are interested.

I just re-installed my nodeservers last night so I'll try again today.  I have not tried the version in HACS yet  so I'll also give that a try.

Link to comment
  • 1 month later...
On 11/20/2019 at 12:06 PM, simplextech said:

I just re-installed my nodeservers last night so I'll try again today.  I have not tried the version in HACS yet  so I'll also give that a try.

I'm having similar issues but at different points.  In my case, the IOLinc seems to be the point where it bombs out from the debug log.

The trouble seems to be that PyISY hasn't been fully updated to handle firmware v5 fully, more than the add-on not working.  PyISY should be handling an IOLinc using a different mechanism on v5 firmware, but instead it's being passed to a legacy 4.x device handler and that's where the error is occurring.  Without getting more into debugging everything it's hard to tell more, and I'm not that good at debugging. :)

Link to comment
24 minutes ago, jec6613 said:

I'm having similar issues but at different points.  In my case, the IOLinc seems to be the point where it bombs out from the debug log.

The trouble seems to be that PyISY hasn't been fully updated to handle firmware v5 fully, more than the add-on not working.  PyISY should be handling an IOLinc using a different mechanism on v5 firmware, but instead it's being passed to a legacy 4.x device handler and that's where the error is occurring.  Without getting more into debugging everything it's hard to tell more, and I'm not that good at debugging. :)

I went several rounds looking for the issue and I just stopped it wasn't worth the frustration with soooo little payoff from HASS.  I'm instead torturing myself with CQC and Allonis to act as wrappers around everything.  I've gotten much farther with CQC because Dean is very helpful and has actually fixed a few things very quickly (a day or two) in between me reporting issues as the CQC driver isn't up to date either for FW 5.x.  Allonis has been not interested to say the least in end-user sales.  I tried and was interested but their driver has problems too, so does a lot of their stuff that I tried and they are not interested in fixing things in a timely manner either.  So... I'm playing with CQC with my 40 day trial.  See how far I get with it.  It's crazy!

Link to comment
I went several rounds looking for the issue and I just stopped it wasn't worth the frustration with soooo little payoff from HASS.  I'm instead torturing myself with CQC and Allonis to act as wrappers around everything.  I've gotten much farther with CQC because Dean is very helpful and has actually fixed a few things very quickly (a day or two) in between me reporting issues as the CQC driver isn't up to date either for FW 5.x.  Allonis has been not interested to say the least in end-user sales.  I tried and was interested but their driver has problems too, so does a lot of their stuff that I tried and they are not interested in fixing things in a timely manner either.  So... I'm playing with CQC with my 40 day trial.  See how far I get with it.  It's crazy!


I know you’re well beyond me here. I would enjoy any insight you can give to what you are /hoping to do to with CQC.


Sent from my iPhone using Tapatalk
Link to comment

Might I suggest that perhaps simpler is better -- not only "best practices" better, but also better in the sense of one's sanity?  Feel free to disagree...

I've run hass and an ISY for a long time -- independently.  Reading the experiences with the integration on this forum convinced me not to attempt to integrate the two.

However, after an unfortunate event with one of the alpha firmwares on the ISY, I moved some of my z-wave to the hass system, and that force my hand.

So, given the general poor reviews of the formal ISY integration in hass, and the commentary here about pyISY, I chose to integrate using variables and network resources.  The hass system makes REST calls to the ISY to set various state variables to signal the handful of important things that it needs to tell the ISY about.  The ISY uses network resources to make REST calls to the hass system to tell it about important things that the ISY needs it to know (e.g. the z-wave siren is on the hass system - when the sump pump runs a long cycle and alarms, the ISY lights up a red KPL button, sends a text message, and the signals to hass that it should sound the siren for 30 seconds).

I have a reasonably large setup -- and only a very small handful of "messages" that need to be sent between the two systems.  Network resources and state variables are quite sufficient to do the job.  And as for best practices, the idea of exposing only what is necessary is a key theme in designing quality systems, so it seems to me that the apparent "gracefulness" of having everything in the ISY mirrored in hass is actually not a good engineering design - it's asking for reliability issues right off the get-go.

I certainly accept that one has to plan and isolate the two approaches -- you can't have the switches in a room on the ISY while the lights are all on hass.  But I'd argue that if you did that, any problems you have with integrating the two are not due to reliability issues with either the ISY, hass, or pyISY -- they're primarily due to a not-so-good device layout!  It's unreasonable to think that either the ISY or hass would be designed so that you could "glue" another completely different controller onto the side, and expect the franken-troller you just created to be as reliable and manageable as either one of the two alone.

Just some thoughts...

Link to comment
37 minutes ago, TrojanHorse said:

 


I know you’re well beyond me here. I would enjoy any insight you can give to what you are /hoping to do to with CQC.


Sent from my iPhone using Tapatalk

 

Besides maybe go insane? 

I enjoy the challenge of playing with different tech and learning new things

I fully agree with @mwesterthat having an idea or expectation of a single system "doing it all" is a bad approach and will end in failures and problems.  However I like the approach of having systems do what they do best do the job.  I have multiple systems and multiple interfaces and I'm looking for a way to nicely exchange data between them and integrate my AV stuff.  Some of it can be done with nodeservers but a lot of it can't and I can't add a nice control interface to the system to bring all of that together along with my cameras and such.  Some of the "cool" things that I will probably only look at in passing by but my family will enjoy and "see" what I'm doing.  Plus... I just want to play with it and see what I can do.  The UI builder is very nice and pretty easy to understand once past the basics of how it works.  CQC is a very tight fitting system well developed and self contained everything is C++ so it's nice and fast.  Downside today it runs on Windows but Dean is busy porting it to Linux which I think will make it even better.

Link to comment
9 hours ago, simplextech said:

I went several rounds looking for the issue and I just stopped it wasn't worth the frustration with soooo little payoff from HASS.

I can see where you're coming from with this.  Personally, the ISY handles everything just fine already, so I'm looking to use HASS for its pre-built web interfaces for a few projects - basically a frontend.  So I have patience for this to get sorted if it'll take a while, and meanwhile a HASS VM doesn't cost me anything.

Link to comment
31 minutes ago, jec6613 said:

I can see where you're coming from with this.  Personally, the ISY handles everything just fine already, so I'm looking to use HASS for its pre-built web interfaces for a few projects - basically a frontend.  So I have patience for this to get sorted if it'll take a while, and meanwhile a HASS VM doesn't cost me anything.

I'm looking at CQC for the same except I don't want pre-built I want to have full control of the interface the layout the functions and I want to integrate anything else that I want not just what there's an existing widget, panel, card for.

Link to comment
1 hour ago, simplextech said:

I'm looking at CQC for the same except I don't want pre-built I want to have full control of the interface the layout the functions and I want to integrate anything else that I want not just what there's an existing widget, panel, card for.

Their interfaces they have already are fine, but for me being over Http is important. 

Link to comment
2 hours ago, larryllix said:

Maybe 'over' meant 'using', not 'away from'. :)

Right, using a web application.  I can mangle ports and protocols and authentication all I want after that, but I have the spousal requirement (fortunately with no deadline) to have a variety of interfaces available.  And put it simply, I'm not a developer, I'm a sysadmin, so I can configure a working app to be a whistling teapot but can't build or debug the app very well. :)

We use Agave HA for a phone app, which is fantastic as such, but she wants it on everything from a 7" touch screen up to a 32" wall panel on Windows, to an 80" TV, or directly from her Mac, and have it be reasonably usable and look good.  The only thing we'd be missing then is a wearable UI, which I'm fine with given the current state of wearables.

I can get Lovelace or any other HASS web frontend, bring up multiple configurations on multiple ports if I want, and send it through a simple Windows RRAS WAP that can handle auth in a variety of ways (I already have the Windows servers and PKI for other reasons) including just having unauthenticated sessions from an 802.1x secured VLAN for wall panels, or my VPN VLAN, and then lock out functionality as required, and so on.  So, for instance, an RPI touch screen in the guest bedroom could access a subset of controls.

This sort of thing is also why I'd like an SNMP nodeserver, as it would greatly simplify life for me, but I do have other mechanisms to fire remote commands as required, and in the worst case I can do it in PowerShell, or just use HASS just to manage panels directly.

For me at least, all of the automation and home control functions will remain on the ISY.  I've tried HASS before and tried to have it manage things some years ago, but so much compute horsepower is required that it becomes at best problematic.  Even running on a Xeon E5 based system couldn't make the Python stack a performant option.

Link to comment
2 minutes ago, jec6613 said:

Right, using a web application.  I can mangle ports and protocols and authentication all I want after that, but I have the spousal requirement (fortunately with no deadline) to have a variety of interfaces available.  And put it simply, I'm not a developer, I'm a sysadmin, so I can configure a working app to be a whistling teapot but make the app work very well. :)

We use Agave HA for a phone app, which is fantastic as such, but she wants it on everything from a 7" touch screen up to a 32" wall panel on Windows, to an 80" TV, or directly from her Mac, and have it be reasonably usable and look good.  The only thing we'd be missing then is a wearable UI, which I'm fine with given the current state of wearables.

I can get Lovelace or any other HASS web frontend, bring up multiple configurations on multiple ports if I want, and send it through a simple Windows RRAS WAP that can handle auth in a variety of ways (I already have the Windows servers and PKI for other reasons) including just having unauthenticated sessions from an 802.1x secured VLAN for wall panels, or my VPN VLAN, and then lock out functionality as required, and so on.  So, for instance, an RPI touch screen in the guest bedroom could access a subset of controls.

This sort of thing is also why I'd like an SNMP nodeserver, as it would greatly simplify life for me, but I do have other mechanisms to fire remote commands as required, and in the worst case I can do it in PowerShell, or just use HASS just to manage panels directly.

For me at least, all of the automation and home control functions will remain on the ISY.  I've tried HASS before and tried to have it manage things some years ago, but so much compute horsepower is required that it becomes at best problematic.  Even running on a Xeon E5 based system couldn't make the Python stack a performant option.

BTW I'm a Unix Engineer by trade not a developer. As a Unix guy I learn what I need to as needed.  Now I'm confused.... You're looking at HASS even though you say it was not performant for you?  Or are you only looking at HASS for the UI only?  I ran HASS for the UI integration and side-by-side systems and the ISY for a while and then HASS updates broke this and then broke that and then it was good then broke again... and again... and... I moved on.  I still have it installed to play with but it doesn't actually do anything or really even display anything... but it gives me ideas for Nodeservers to write :)

I'm looking at CQC for the UI aspect and to tie in other things that I can't integrate nicely with ISY.  I'm still using the ISY and Nodeservers and keeping the ISY as CQC does not replace that it sits at a layer above device control and is the orchestrator to "glue" pieces together into a consistent interface.  I don't think it requires being a developer to understand but it does help :)

 

Link to comment

Archived

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


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

  • Forum Statistics

    • Total Topics
      36.5k
    • Total Posts
      367.6k
×
×
  • Create New...