Giter Site home page Giter Site logo

hass_stateful_scenes's Introduction

Stateful Scenes

hacs_badge version

Do you want to use your Home Assistant scenes in HomeKit, but get annoyed when the scenes do not stay ‘on’?

Stateful Scenes solves this problem by creating a switch for each scene and inferring the state of the scene by analysing the entities in the scene. Plus, when you activate a scene in Home Assistant, the scene will also turn on in HomeKit—magic!

Installation

HACS

Install via HACS by searching for stateful scenes in the integrations section, or simply click the button:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Manual

Clone the repository and copy the custom_components folder to your home assistant config folder.

git clone https://github.com/hugobloem/stateful_scenes.git
cp -r stateful_scenes/custom_components config/

Configuration

This integration is now configured via the config flow. After you have installed and restarted Home Assistant, go to Devices and Services, Add Integration, and search for Stateful Scenes. Alternatively, just click this button:

Open your Home Assistant instance and show an integration.

Config flow screenshot

Scene path

If your configuration has a different location for scenes you can change the location by changing the Scene path variable. By default, Home Assistant places all scenes inside scenes.yaml which is where this integration retrieves the scenes.

Rounding tolerance

Some attributes such as light brightness will be rounded off. Therefore, to assess whether the scene is active a tolerance will be applied. The default tolerance of 1 will work for rounding errors of ±1. If this does not work for your setup consider increasing this value.

Restore on deactivation

You can set up Stateful Scenes to restore the state of the entities when you want to turn off a scene. This can also be configured per Stateful Scene by going to the device page.

Transition time

Furthermore, you can specify the default transition time for applying scenes. This will gradually change the lights of a scene to the specified state. It does need to be supported by your lights.

Supported attributes

Note that while all entity states are supported only some entity attributes are supported at the moment. For the entities listed in the table the state is supported as well as the attributes in the table. Please open an issue, if you want support for other entity attributes.

Entity Domain Attributes
light brightness, rgb_color, effect
cover position
media_player volume_level, source
fan direction, oscillating, percentage

Scene configurations

For each scene you can specify the individual transition time and whether to restore on deactivation by changing the variables on the scene's device page.

HomeKit configuration

Once you have configured this integration, you can add the scenes to HomeKit. I assume that you already set up and configured the HomeKit integration. Expose the newly added switches to HomeKit. Then, in HomeKit define scenes for each Stateful Scenes switch.

hass_stateful_scenes's People

Contributors

dependabot[bot] avatar hugobloem avatar misa1515 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.