Calling all ISY994 users!

Yes, this is without a doubt an issue that needs to be fixed in the integration, which will require some PyISY changes as well. It’s on my list; I’ve just been busy :frowning:

Not trying to rush you to do it…I’m just trying all I can to figure out what is going on with it all so I’m digging for as much info as I can find.

Thanks for all the work you are doing on the component!

I’m curious if garage door support (through an IOLinc) is working through Home Assistant yet. When I connect up my ISY, it sees the sensor and relay separate, but there seems to be no way I can see to specify these things as a single garage door in Home Assistant like there is in Homebridge.

I doubt there will ever be a Garage Door Cover component for HA ISY994 for the simple reason there is no garage door Insteon device. It you look at the bottom of the ISY994 Control page you will see a “Creating Custom Devices” section which uses programs to create unique components one of which is HA.cover. This approach will give you exactly what you need.

Here is what my garage door HA.cover looks like and it works perfectly. With my setup I get the following covers…cover.garage_door_1, cover.garage_door_2, and cover.garage_door_3. My garage door have the typical single switch to open, stop and close so my actions script is the same for both then and else paths.

1 Like

This seems like a really round-about way (more complex than it is in Homebridge) to make your garage door work. Are there plans to improve this?

The ISY-994 does not support the concept of a “Cover”. The ISY994 Home Assistant Controller component allows you to emulate a cover using the approach I described above. Once this cover is available in Home Assistant you can use Homebridge to control it. This is the only way you are going to get what you want.

@OverloadUT How do you trigger Insteon Scenes from automations? I’m relatively new to HA, but i’ve made use of these scenes in OpenHab for the same reason you mentioned and it works great.

Well I’m not OverloadUT but I’ll answer your question. ISY994/Insteon scenes show up in Home Assistant as switches. Say your scene is called “Christmas Lights” in your ISY994; it will show up in Home Assistant with an entity_id of switch.christmas_lights. In automations you can use service calls to turn on/off scenes like below.

automation:
  # Christmas lights turn on at 8:00PM
  - alias: "Christmas Lights Automatic On"
    trigger:
      platform: time
      at: "20:00:00"
    action:
      - service: switch.turn_on
        entity_id: switch.christmas_lights

That’s nice that ISY scenes are auto detected. What about scenes stored on the PLM under a Group?

ISY scenes are PLM groups. When you create a scene in the iSY it will create a corresponding group on the PLM with the devices specified and PLM as a controller/responder automatically so the ISY can manage it.

Any word on the PyIsy fix for the “TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘int’” issue?

I am not sure what you meant but if I had to guess, you are talking about nodes grouped under a device and when you said PLM you meant ISY994. There are some caveats here. Take a Keypad Linc. If you have selected “Group Devices” then only one entity will show up in Home Assistant. This is true for any multi-node device like Motion Sensors or FanLincs. Try “Ungrouping Devices” and see what happens. BTW when ungrouped, device nodes (keypad buttons) show up as switches in Home Assistant but they are not scenes they are still devices.

Thanks for the feedback. When I said PLM, I was referring to the controller itself. In my case, I have a USB controller with 10 scenes setup directly on it. I used HouseLync instead of an ISY to setup the groups, but houselync doesn’t need to run once everything is configured. With OpenHab, I could broadcast a message directly to these groups to control all the lights at once.

If these scenes were created outside of the ISY994 and its associated PLM they cannot be controlled by the ISY994. You have to add them to the ISY994 before you can control them.

The ISY994 component in Home Assistant creates “switch” entities for every Scene you have configured in your ISY994. This makes it very easy to create a scene that, for example, controls all downstairs lights, and then have an automation that uses that single switch when needed.

In fact, for any common automation that controls more than a single Insteon device at once, I recommend doing it via a scene rather than having Hass cycle through the list. This is to cut down on Insteon communication traffic.

You probably need to restart Home Assistant when you create new ISY994 scenes, as I do not believe they can get added mid-run.

See this issue updated today, Exceptions when loading nodes (Firmware 5.0.11c) · Issue #39 · automicus/PyISY · GitHub

1 Like

I have to admit I’m very new to Hass (recent convert from OpenHAB) but I’m loving it so far and the ISY integration is awesome.

I was curious why ISY scenes were exposed as Hass Switches when Hass also has the concept of Scenes and other integrations are able to expose their scenes as scenes. I dug into the code and saw the comment:
# ISY Scenes are more like Switches than Hass Scenes
# (they can turn off, and report their state)
SCENE_DOMAIN = ‘switch’

I was curious about the ISY scenes being able to report their state because I’ve never seen that in my instance. Was this a feature of older ISY firmware (I’ve only used 5.0) or with other devices (I currently only have Insteon)?

I have a number of ISY scenes that I never use the “turn off” functionality with and in my experience the state is not relevant (and always on). Because of that, the Hass Scene makes more sense for those scenes. I think the best way is to just create a Hass Scene that include the single switch entity for my ISY scene but maybe I’m missing something. Curious to see how others are approaching this same use case.

Thanks!

Being able to turn off ISY scenes is pretty critical to supporting their basic functionality, even if you don’t happen to use that feature :wink:

As for reporting states, it’s definitely not useful very often, but it does have some use-cases. Basically, scenes report on if ANY of the devices in that scene are currently on, and report off if all of the lights in that scene are off. This is functionality inside the ISY itself - go look at any of your scenes and you’ll see that they have a state.

You can change the icon for your scenes if you want them to show up differently, just like when non-dimmable lights show up as switches instead of lights.

Agreed… Certainly wasn’t suggesting to remove functionality :slight_smile:
I was surprised to see the state being reported since I did not see it in the ISY REST API. After digging into the PyISY code, now I see where its implementing the logic you mentioned about showing “On” if any of the members are on. Thanks for educating me and for all the great work on the ISY integration.

Just wanted to provide an update – the PyISY requirements were bumped to the new version (1.1.1) in a recent HA update, which should fix the error above.

Also, if anyone is interested in testing Thermostat Integration from the ISY, please see here: Insteon Thermostat 2441TH for ISY