Commit graph

175 commits

Author SHA1 Message Date
Benjamin Auquite
c7f44e472f
Correctly wait for transitions (#510)
* Add auto_reset_manual_control with async timer

* cherry-pick wait for transition stuff

* Update switch.py

* not renamed in this branch yet.

* Update switch.py

* update tests

* Update switch.py

* merge related fix

* cleanup

* Revert "cleanup"

This reverts commit 3aa2f3242b.

* Update switch.py

* Update switch.py

* Update switch.py

* Small refactor

* Move test to old position for better diffs

* Revert "Small refactor"

This reverts commit b986b3f77c.

* Update README.md

* fix the test

last_state_change isn't updated quick enough.

* #510 changes (#516)

* Change (WIP)

* Update test_switch.py

* Refactor

* Revert "Revert "Small refactor""

This reverts commit 3731c99936.

* Update README.md

* Fix the test

* Bump to 1.9.0 (#518)

* Basic community fixes PR (#460)

* Fixes #423

#423

* Do not adapt lights turned on with custom payloads.

* Update switch.py

* Issue fixes

#423, #378, #403, #449

* quickly test #274

* Revert feature requests, this branch only has fixes.

Reverted FR 274

* pre-commit fix

* Create automerge.yaml

* test

* Delete automerge.yaml

My bad.

* Fix #460 and #408

* see @basnijholt 's comment in #450.

* @basnijholt requested changes.

---------

Co-authored-by: Bas Nijholt <bas@nijho.lt>

* Undo accidental changes introduced in #509, but adds the changes from #460 (#521)

* Release 1.9.1 (#522)

* Bump to 1.9.1

* Add CODEOWNERS

---------

Co-authored-by: Benjamin Auquite <halomastar@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* No need to wrap the reset

* Remove unused attrs

* Shorter log message

* revert unrelated tests change

* remove unused function

* Use patch

* Bump to 1.10.0

---------

Co-authored-by: Bas Nijholt <bas@nijho.lt>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <basnijholt@gmail.com>
2023-04-03 17:04:06 -07:00
Bas Nijholt
26974c8fd5
Simplify if-statement, (small #460 fix) (#526) 2023-04-03 13:32:38 -05:00
Benjamin Auquite
c6a6cd323f
Basic community fixes PR (#460)
* Fixes #423

#423

* Do not adapt lights turned on with custom payloads.

* Update switch.py

* Issue fixes

#423, #378, #403, #449

* quickly test #274

* Revert feature requests, this branch only has fixes.

Reverted FR 274

* pre-commit fix

* Create automerge.yaml

* test

* Delete automerge.yaml

My bad.

* Fix #460 and #408

* see @basnijholt 's comment in #450.

* @basnijholt requested changes.

---------

Co-authored-by: Bas Nijholt <bas@nijho.lt>
2023-04-03 08:02:06 +00:00
Bas Nijholt
19fcb1d6b9
Automatically generate more service tables in the README (#509)
* Automatically sync more data

* Automatically generate apply table

* Generate manual control

* Add manual control docs

* Update README.md

* Move docs functions to separate file

* Update code

* simple

* no path

* link paths

* Fix link

* missed

* cd core

* Update README.md

* Allow alternative docs

* update readme

* More special

* Fx

* Update README.md

* Remove common descriptions

* Update README.md

* Update README.md

* Rephrase

* Update README.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-03 00:58:39 -07:00
igiannakas
9caf3048f1
Continue to adapt color temperature down to the sleep temperature after sunset (#87)
* Update switch.py

Continue to adapt color temperature down to the sleep temperature after sunset. Results in a gradually warming light during the night time rather than a fixed color temperature throughout the night time.

* Run pre-commit

* Merge branch 'master' into pr/87

* add config option bool `adapt_until_sleep` defaulting to `false`

---------

Co-authored-by: Bas Nijholt <bas@nijho.lt>
Co-authored-by: Bas Nijholt <basnijholt@gmail.com>
Co-authored-by: Benjamin Auquite <halomastar@gmail.com>
2023-04-03 07:27:07 +00:00
Benjamin Auquite
c915bda9b9
Autoreset_Control_Time - small changes (#515)
* small changes

* Update README.md

* trivial comment change

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <basnijholt@gmail.com>
2023-04-03 06:57:12 +00:00
Bas Nijholt
ea2a6b0173
Add auto_reset_manual_control with async timer (#487)
* Add auto_reset_manual_control with async timer

* Add failing test

* Debugging

* Refactor find_switch_for_lights

* Revert changes in is_manually_controlled

* style

* Fix test_manual_control

* add types

* fixes

* dict

* make all tests pass

* text

* Rework find_switch_for_lights

* Style

* Better check

* revert, do in other test!

* No need to log when raising

* Add type hint

* Suggestion https://github.com/basnijholt/adaptive-lighting/pull/488/files#r1152408541 by @th3w1zard1

* Small fixes

* document new config everywhere (#496)

* chore(docs): update TOC

* undo change

* fi

* Update README.md

* Update README.md

* chore(docs): update TOC

* Update README.md

* Use markdown-code-runner

* Remove

* Use markdown-code-runner instead of packaged solution

* fix comment

* Only commit when needed

---------

Co-authored-by: Benjamin Auquite <halomastar@gmail.com>
Co-authored-by: basnijholt <basnijholt@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-03 02:22:23 +00:00
Benjamin Auquite
ec558e5616
Move include_config_in_attributes 2023-04-01 16:35:01 -07:00
Bas Nijholt
2de4b7415b
Refactor find_switch_for_lights and more small refactors (#488)
* Refactor find_switch_for_lights

* Refactor

* style

* renames
2023-03-29 23:47:57 -05:00
Bas Nijholt
1ca3bf0f6a
Retroactive review changes for #443 (#485)
* Retroactive review changes for #443

* Move up __init__

* Add test for test_change_switch_settings_service

* Add docs

* Add test for defaults

* Remove unused function

* Add skip var

* move pylint marker

* Refactor validate

* Update README.md

---------

Co-authored-by: Benjamin Auquite <halomastar@gmail.com>
2023-03-27 20:56:54 -05:00
Benjamin Auquite
c05e0cc244 Change attributes in AdaptiveSwitch via service call (#443) 2023-03-27 09:05:24 -07:00
Benjamin Auquite
08ff04141e
Feature requests: Switch now optional for service calls | New default icons | Reload .yaml w/o restart | adapt_delay ms (#459)
* added #274

* attempt getSwitchFromLightId()

* Update switch.py

* changed from register_entity_service to hass.services.async_register

* Update switch.py

* Update switch.py

* Update switch.py

* Update switch.py

* Update switch.py

* Update switch.py

* Update services.yaml

* Update switch.py

* test

* test builds ready

* target selector may not be possible with current syntax

priority is backwards-compatibility as I know most people will smash that update button

* expanded light groups

* test builds ready

* add feature #104

* Update custom_components/adaptive_lighting/switch.py

Co-authored-by: Chris <firstof9@gmail.com>

* Might as well type both. No reason not to.

Co-authored-by: Chris <firstof9@gmail.com>

* Might as well type both. No reason not to.

Co-authored-by: Chris <firstof9@gmail.com>

* Reformatted debug messages.

Reimported ServiceCall as suggested

* Multiple switches allowed again in services.

Apparently this was possible before.

With this change, the `lights` argument must not be passed with multiple switches, or the integration has no way of knowing what the user wants to do. Integration did not make this check in prior versions.

Also reformatted the debug messages.
Removed `automerge.yaml` (my apologies)

* Reload config without restart.

You can now reload any changes to the yaml file without restarting your home assistant. Should show a 'reload' button in your integrations page or you can call the homeassistant reload integration service call.

See https://community.home-assistant.io/t/how-to-allow-custom-compontent-for-yaml-configuration-reloading/391190/4

* Use snake_case for function name 'parseServiceArgs'

* Slight rephrase

* Small style changes

* Rephrased debug messages.

Removed `integration_entities` as we rewrote the code from that function already in parse_service_args. Reference function now above parse_service_args.

* removed: `these_switches = data = None`

* Factor out _find_switch_with_lights

* Rename function and add log statement

* Remove pylint marker

* Handle multiple switches found

* Small changes

* Rename _parse_service_args to _get_switches_from_service_call

* Rephrase log messages

* Add type hint

---------

Co-authored-by: Chris <firstof9@gmail.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2023-03-25 20:22:05 -07:00
Benjamin Auquite
231e7c197d
Show config options on the switch as attributes with include_config_in_attributes option (#445)
* Switch attributes now show the config settings.

`sunset_time`, `sunrise_time`, `max_sunrise_time`, and `min_sunset_time` show 'null' when not overridden - TODO

* fixed basnijholt's requested issues

* Run pre-commit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* 'configuration' attr holds list of config options

returned the `=` from basnijholt's review.

* Small style changes

* Add include_config_in_attributes to en.json

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bas Nijholt <bas@nijho.lt>
2023-03-25 12:43:51 -07:00
Bas Nijholt
ce4503c9c6
Also trigger manual control when using "color_temp" in mired format (#402) 2022-12-11 17:23:08 -08:00
Bas Nijholt
1ef55ca180
Use Kelvin instead of Mired, default since core=2022.11 (#375)
* Use Kelvin instead of Mired, default since core=2022.11

* Fix attributes

* Use ATTR_COLOR_TEMP_KELVIN in tests

* use kelvin in tests

* no duplicate

* Round to nearest 5
2022-12-11 16:54:57 -08:00
Mark Niemeyer
97bb2cf3de use send_split_delay also when no transition is used 2022-11-27 20:37:28 +01:00
Mark Niemeyer
ff6494240d add a delay between sending of commands when using separate_turn_on_commands 2022-11-27 20:37:28 +01:00
Bas Nijholt
60b1be43db Run pre-commit filters 2022-11-08 09:11:32 -08:00
Sören Beye
d0010740ca Add max_sunrise_time and min_sunset_time overrides 2022-11-08 17:37:57 +01:00
Bas Nijholt
c78d1bec75 Fix setting RGB light in sleep 2022-08-31 23:18:09 -07:00
Bas Nijholt
8965e6becf Ugly first implementation 2022-08-31 23:18:09 -07:00
Bas Nijholt
f500a3758e Update to translations and cleanup 2022-08-31 23:18:09 -07:00
Bas Nijholt
29a4b8a33c Add selection between RGB and color temp 2022-08-31 23:18:09 -07:00
Bas Nijholt
7d10259bc8 Use RGB selector 2022-08-31 23:18:09 -07:00
Bas Nijholt
26797b677d Make sure that 'settings' dict is populated when switch is off
Closes #249 and #190
2022-08-30 10:48:34 -07:00
Bas Nijholt
1642ae8da3 Bump to 1.0.19 2022-08-30 10:34:36 -07:00
Bas Nijholt
dee6eed67f Take care of the turn_on_event not having registered an event for entity_id 2022-08-30 10:29:32 -07:00
Bas Nijholt
9e22e70d63 Take care of edge case where no area_id or entity_id in service_data 2022-08-30 09:45:05 -07:00
Bas Nijholt
acd506aeeb Only add the lights for an area 2022-08-29 19:07:34 -07:00
Bas Nijholt
b64c44fc8d Use area_entities to extract entity_ids from area 2022-08-29 18:51:24 -07:00
Bas Nijholt
b9f28dd0ab Fix linting issues 2022-08-29 09:30:20 -07:00
Bas Nijholt
dd141d2335
Merge pull request #239 from MangoScango/delay
Avoid flickering on light turn on with a configurable delay
2022-08-29 09:29:51 -07:00
Bas Nijholt
6b3686696b Fix pre-commit issues 2022-08-29 09:25:38 -07:00
Bas Nijholt
34f485881d
Merge branch 'master' into context-cleanup 2022-08-29 09:19:21 -07:00
Bas Nijholt
60179cbe38 Fix test_separate_turn_on_commands 2022-08-28 22:02:52 -07:00
Bas Nijholt
3b03482593 Never return an empty list, fixes #81 2022-08-28 16:17:41 -07:00
Bas Nijholt
01fd7f96e2 Run all pre-commit filters 2022-08-28 15:08:03 -07:00
Bas Nijholt
34a855d75f Remove support for "white_value", closes #313 2022-08-28 11:19:40 -07:00
Bas Nijholt
b6419bd09e remove unused imports 2022-04-17 19:51:44 -07:00
Bas Nijholt
44a7e41e80 use pyupgrade 2022-04-17 19:50:55 -07:00
Bas Nijholt
13ff09dc2f run black 2022-04-17 19:50:11 -07:00
MangoScango
c509bd81c0 add adapt_delay config
Option to set a delay between when a lightstate off -> on event is detected, and lights are adapted. Trying to adapt lights that are still going through their initial turning on fade in transition can cause flickering, so setting this to a number higher than the transition time avoids the problem.
2021-12-24 11:44:34 -05:00
bedaes
b4138c7827 Fix tuple expression in type annotation 2021-12-12 00:01:21 +01:00
covid10
21f088e825
device_state_attributes warnings 2021.12.0b (#230)
* device_state_attributes warnings 2021.12.0b

Fix for device_state_attributes warnings which began in release 2021.12.0b

* device_state_attributes warnings 2021.12.0b

Fix for device_state_attributes warnings which began in release 2021.12.0b
2021-12-11 13:23:31 +01:00
Simon Gurcke
cc90c51255 Fix default lights for adaptive_lighting.apply service 2021-11-13 23:49:03 +10:00
vapescherov
249d6f82c8 Allow sunsets after midnight 2021-11-08 03:46:50 +05:00
Michel Peterson
f3a3c1cd48 Default lights of the apply service
The apply service is meant to apply the adaptive lighting parameters to a specific set of light(s). This set of lights need to be passed to the service, even though each Adaptive Lighting switch already has this list configured on itself. While having the flexibility to apply to some, it also might be useful to apply to all lights that the switch manages.

This patch makes the lights paramater optional and defaults it to the lights configured on the corresponding configuration entry of the switch being called.
2021-09-22 11:22:10 +03:00
Bas Nijholt
95d4f8c327
Merge pull request #180 from quantumlemur/master
Calculate future settings to allow for long transition periods
2021-09-16 12:21:32 +02:00
Avi Miller
fa10d95305
Make the transition time to/from sleep mode configurable
Signed-off-by: Avi Miller <me@dje.li>
2021-09-16 14:15:36 +10:00
Michael "Chishm" Chisholm
7581c8bf82 Associate contexts with causing events/services via parent_id 2021-09-08 13:27:55 +10:00