J. Nick Koston
29419d9d97
[automation] Use std::array in And/Or/Xor conditions ( #15282 )
2026-03-29 13:36:08 -10:00
J. Nick Koston
9c9ae190ee
[core] Use compile-time HasElse parameter in IfAction ( #15134 )
2026-03-24 14:13:59 -10:00
J. Nick Koston
63f0d054b7
[core] Replace std::bind with lambda in DelayAction ( #14968 )
2026-03-19 08:44:16 -10:00
J. Nick Koston and Jonathan Swoboda
e0712cc53b
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs ( #13882 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-09 13:16:22 -06:00
J. Nick Koston
d5f557ad1c
[scheduler] Eliminate heap allocations for std::string names and add uint32_t ID API ( #13200 )
2026-01-14 09:15:31 -05:00
J. Nick Koston and Copilot
06815fe177
[script][wait_until] Fix FIFO ordering and reentrancy bugs ( #12049 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-24 10:41:24 -06:00
J. Nick Koston
06bef148f4
[core] Optimize DelayAction for no-argument case using if constexpr ( #11913 )
2025-11-20 09:06:52 -05:00
J. Nick Koston
9de80b635a
[core] Fix wait_until hanging when used in on_boot automations ( #11869 )
2025-11-12 17:56:19 +00:00
J. Nick Koston
822eacfd77
[core] Fix wait_until and for_condition timing regression in automation chains ( #11716 )
2025-11-06 15:49:24 +13:00
J. Nick Koston and Jesse Hills
1446e7174a
[core] Reduce action framework argument copies by 83% ( #11704 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-11-05 01:23:24 +00:00
J. Nick Koston and Jesse Hills
aed7505f53
[automations] Reduce memory usage in if/while/repeat actions (32-36 bytes per instance) ( #11650 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-11-05 10:48:20 +13:00
J. Nick Koston
0f0cd1f706
[core] Avoid redundant millis() calls in base_automation loop methods ( #11676 )
2025-11-03 01:40:13 +00:00
86402be9e3
actions: fix loop re-entry ( #7972 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-11-02 17:02:13 -06:00
J. Nick Koston
3c18558003
Optimize stateless lambdas to use function pointers ( #11551 )
2025-10-28 08:06:22 +13:00
J. Nick Koston
73f5d01c2d
[core] Optimize automation actions memory usage with std::initializer_list ( #11433 )
2025-10-21 04:32:58 +00:00
J. Nick Koston
63a87a5ef3
[core] Use FixedVector for automation condition vectors to save 384 bytes flash ( #11237 )
2025-10-14 14:27:10 -10:00
J. Nick Koston
61a5023888
[script] Fix parallel mode scripts with delays cancelling each other ( #10324 )
2025-08-25 08:49:52 +12:00
J. Nick Koston
f0f76066f3
[scheduler] Fix DelayAction cancellation in restart mode scripts ( #9646 )
2025-07-18 04:07:59 +00:00
NP v/d Spek
9874d17613
add missing include in base_automation.h ( #8001 )
2025-01-13 17:29:38 +13:00
tomaszduda23
4cb174585c
[code-quality] fix readability-braces-around-statements ( #7273 )
2024-08-14 14:14:29 +12:00
Jesse Hills
dc200948fa
Fix project version longer than 30 characters breaking compilation ( #6535 )
2024-04-15 12:02:19 +12:00
Jesse Hills
3c651f4091
Add on_update trigger for Project versions ( #6298 )
2024-02-28 02:01:56 -06:00
Jesse Hills
b9d72231b0
Fix XOR condition ( #5567 )
2023-10-18 21:36:01 -05:00
kahrendt
88bb051f37
Add xor automation condition ( #5453 )
2023-10-03 22:58:11 +13:00
De Cock Xavier
a33b8abce8
Feat/component poller suspend ( #5423 )
2023-10-03 09:25:13 +13:00
Péter Sárközi
d9523a0cbf
Fix repeat.count = 0 case ( #5364 )
...
* Only play first action if count is non-zero
* Add test to yaml
* Update test5.yaml
2023-09-09 09:10:20 +12:00
Fabian and Your Name
3773c385c7
Ensure component is ready before update. ( #4523 )
...
Co-authored-by: Your Name <you@example.com >
2023-03-07 04:16:42 +00:00
Oxan van Leeuwen and Jesse Hills
43fb68f8a0
Fix parallel invocations of repeat action ( #4480 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-02-26 22:23:04 +00:00
Jesse Hills
9273e3775b
Add vector includes ( #4080 )
2022-11-24 13:12:55 +13:00
RoboMagus
029014d9d6
Add priority to on_shutdown trigger ( #3644 )
2022-08-10 13:10:49 +12:00
Oxan van Leeuwen and Jesse Hills
d8e33c5a69
Add repeat action for automations ( #2538 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-11-11 07:30:07 +13:00
Jesse Hills
34db9d9ef2
Add optional timeout for wait_until action ( #2282 )
2021-10-13 08:23:24 +13:00
Alex and Jesse Hills
b103be99e8
Do not call component update on failed components ( #1392 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-05-05 14:31:38 +12:00
Guillermo Ruffino
1bec1faf6d
lint
2020-05-24 23:27:28 -03:00
Andrew Zaborowski
a62b6548d2
Make some Action methods protected
...
Apparently play()/stop() etc. are not meant to be called directly by
users of the class and if they're called directly that would not give
the expected result for the classes that have an empty play().
Make all methods except play_complex, stop_comples and is_running
protected. While there also make RemoteTransmitterActionBase::encode
protected.
2020-05-01 12:44:30 +02:00
Andrew Zaborowski
da390d32f8
Move stop/is_running implementation to Action base class
...
Try to fix issue #1105 . Until now if an UpdateComponentAction, a
LambdaAction, or any action that can contain those inside their
"else" or "then" action lists, resulted in a call to script.stop on
the script that contains them, the script would continue running,
because they didn't implement a stop() method. Basically only
the asynchronous ones did: DelayAction, WaitUntilAction and
ScriptWaitAction.
With this change num_running_ in Action replaces
DelayAction::num_running_ and WaitUntilAction::triggered_ to provide
the same is_running logic to other actions.
2020-05-01 12:44:30 +02:00
Peter Tatrai
0d36e66125
Fix ForCondition time duration check ( #610 )
...
According documentation ForCondition should evaluate to true if a nested condition is true for at least the specified time duration and not the less.
2019-06-04 18:34:51 +02:00
Otto Winter
595dfe7e24
Addressable updates
2019-04-25 10:36:55 +02:00
Otto Winter
766f6c045d
Updates
2019-04-24 23:49:02 +02:00
Otto Winter
8e75980ebd
Cleanup dashboard JS ( #491 )
...
* Cleanup dashboard JS
* Add vscode
* Save start_mark/end_mark
* Updates
* Updates
* Remove need for cv.nameable
It's a bit hacky but removes so much bloat from integrations
* Add enum helper
* Document APIs, and Improvements
* Fixes
* Fixes
* Update PULL_REQUEST_TEMPLATE.md
* Updates
* Updates
* Updates
2019-04-22 21:56:30 +02:00