ISY994 HACS Version with PyISY-Beta

Consolidating several posts I have on different topics with my ISY Updates to here.

Just pushed several bug fixes and updates to the HACS version of the ISY994 integration.

Recent Changes include:

  • Moved recording of extra attributes in the event stream from the Home Assistant integration into the PyISY module.
  • Fixed erroneous errors when updating statuses for Thermostats.
  • Added “group all on” attribute to scenes/groups to show if all of the devices in the group are on, or just some of them.
  • Fixed “hint” assuming a device would turn on to full brightness - now instead of jumping to full brightness and back to the correct level if a local On Level is set, it will jump to the On Level.
  • Fixed Brightness=255 from assuming device would turn on to full brightness, did not account for local On Levels. Now will actually send Brightness=255 if it is passed.

For the full list of differences between this version and the built-in component, see the README

This consolidates the following topics:

Please report any issues here, or in the GitHub repo:

Note: the intent is to migrate these changes to the built-in integration at some point, time permitting. Special thanks to @OverloadUT who’s been working with me to get the underlying PyISY module updated.

2 Likes

Thank you @shbatm!

I know I’ve been lagging on providing a proper review of the PR to get this in to the main branch. Here is my public commitment to buckle down and get that done. All ISY users deserve to get these huge improvements you’ve implemented.

1 Like

No worries, not in a rush; just using it as an extended beta test. Juggling priorities across hobbies and real life is a struggle for me and I can only assume it is for anyone who works on projects like this.

I’ll extend the thanks to everyone who has battle-tested the HACS version and reported back bugs and issues so far.

1 Like

Just wanted to provide an example of the new “group_all_on” attribute for scenes/groups:

I have a scene “All Kitchen Lights” which shows as on when any light in the kitchen is on. I would like a quick way to turn on ALL of the kitchen lights, even if some are already on. The Lovelace yaml below will add a Custom Button Card that when pressed, will turn on all of the kitchen lights, even if some are on. If they’re all on, then tapping the button will turn them all off again. Long-pressing the button will turn them off regardless of the current state.

image image image

  - type: custom:button-card
    entity: switch.all_kitchen_lights
    name: All Kitchen
    show_label: true
    label: >
        [[[
        if (entity.state === "on") {
            if (entity.attributes.group_all_on === "on")
            return "All On";
            else
            return "Some On";
        }
        else
            return "All Off";
        ]]]
    tap_action:
        action: call-service
        service: >
        [[[
            if (entity.attributes.group_all_on === "on")
            return "switch.turn_off";
            else 
            return "switch.turn_on";
        ]]]
        service_data:
        entity_id: switch.all_kitchen_lights
    hold_action:
        action: call-service
        service: switch.turn_off
        service_data:
        entity_id: switch.all_kitchen_lights
    styles:
        label:
        - font-size: small
1 Like

This is fantastic! Thank you so much! :beers: :smile: