c26190b45f
feat(config)!: Reworked how configuration is loaded
...
Build and deploy / Deploy container (push) Blocked by required conditions
Build and deploy / build (push) Has been cancelled
The environment variable `AUTOMATION_CONFIG` has been renamed to
`AUTOMATION__ENTRYPOINT` and can now also be set in `automation.toml` by
specifying:
```
automation = "<path>"
```
Directly accessing the environment variables in lua in no longer
possible. To pass in configuration or secrets you can now instead make
use of the `variables` and `secrets` modules.
To set values in these modules you can either specify them in
`automation.toml`:
```
[variables]
<name> = <value>
[secrets]
<name> = <value>
```
Or specify the environment variables `AUTOMATION__VARIABLES__<name>` and
`AUTOMATION__SECRETS__<name>` to set variables and secrets respectively.
By adding the suffix `__FILE` to the environment variable name the
contents of a file can be loaded into the variable or secret.
Note that variables and secrets are identical in functionality and the
name difference exists purely to make it clear that secret values are
meant to be kept secret.
2025-09-05 02:56:04 +02:00
7a9f464e61
feat(config)!: Move new_mqtt_client out of global automation table into separate module
...
Build and deploy / build (push) Successful in 10m30s
Build and deploy / Deploy container (push) Successful in 45s
The function `new_mqtt_client` was the last remaining entry in the
global `automation` table. The function was renamed to `new` and placed
in the new `mqtt` module. As `automation` is now empty, it has been
removed.
2025-09-04 04:28:03 +02:00
3d5f6c308c
feat(config)!: Move device_manager out of global automation table into separate module
...
Moved `automation.device_manager` into a separate module called
`device_manager`
2025-09-04 04:28:03 +02:00
c6a6265d6c
feat(config)!: Move util out of global automation table into separate module
...
Move `automation.util` into a separate module called `utils`.
2025-09-04 04:28:02 +02:00
d6816bc693
feat(config)!: Fulfillment config is now returned at the end of the config
...
Previously the fulfillment config was set by setting
`automation.fulfillment`, this will no longer work in the future when
the global automation gets split into modules.
2025-09-04 04:28:02 +02:00
c8d5df753f
style: Sort crates by name
2025-09-04 04:28:02 +02:00
96cb814495
style: Enforce conventional commits formatting
2025-09-04 04:28:02 +02:00
aa22132dd6
chore: Put typos config in Cargo.toml
2025-09-04 04:28:02 +02:00
1db269f65e
chore: Update pre-commit hooks
2025-09-04 04:28:02 +02:00
77d7881a57
chore: Update/upgrade dependencies
...
There was a potential vulnerability in tracing-subscriber, so I took
this as an opportunity to update/upgrade all dependencies
2025-09-04 04:28:02 +02:00
f3b1854beb
fix: Crash if hallway automation is called before door/trash have been initialized
...
Resolves : #4
2025-09-04 04:27:49 +02:00
8109dcf2f5
feat: Added low battery notification and made mqtt message parsing more robust
...
Resolves : #1
2025-09-04 04:26:34 +02:00
1b8566e593
refactor: Switch to async closures
2025-09-04 04:15:08 +02:00
e21ea0f34e
Implement custom lua print function that calls info
Build and deploy / build (push) Successful in 11m54s
Build and deploy / Deploy container (push) Successful in 45s
2025-09-01 02:47:47 +02:00
fb7e1f1472
Small cleanup
2025-09-01 02:47:29 +02:00
45de83ef2f
Removed old presence system
2025-08-31 23:57:59 +02:00
2a1f75f158
Move front door presence logic to lua
2025-08-31 23:57:59 +02:00
74568b4e1f
Handle turning off devices when away through lua
2025-08-31 23:57:59 +02:00
fefccf03d7
Removed DebugBridge as it no longer served a purpose
2025-08-31 23:57:59 +02:00
b56a16d0d7
Moved presence debug mqtt message to lua
2025-08-31 23:57:59 +02:00
1530875045
Presence and light sensor call all function in array
2025-08-31 23:57:58 +02:00
9616017c8f
Print lua version on startup
2025-08-31 23:57:56 +02:00
6db5831571
Removed old darkness system
2025-08-31 23:56:28 +02:00
aa730c9738
Moved darkness debug mqtt message to lua
2025-08-31 05:41:49 +02:00
c362952f7c
Feature: Get current ms since unix epoch in lua
2025-08-31 05:41:49 +02:00
dd379e4077
Feature: Send mqtt messages from lua
2025-08-31 05:41:48 +02:00
549d821e3a
Moved hue bridge on darkness to lua
2025-08-31 05:41:46 +02:00
4980f4888e
Removed unused event code
2025-08-31 05:01:56 +02:00
eb36d41f17
Move ntfy and presence to automation_devices
2025-08-31 04:57:31 +02:00
03dcd44e0e
Removed old notification system
Build and deploy / build (push) Successful in 8m50s
Build and deploy / Deploy container (push) Successful in 39s
2025-08-31 03:55:08 +02:00
6c9d2c16c1
Converted presence notification into lua callback
2025-08-31 03:55:08 +02:00
2d9e3d26f2
Send laundy notification from lua
2025-08-31 03:55:08 +02:00
64c7d950c5
Make it possible to send notifications from lua
2025-08-31 03:55:07 +02:00
5d342afb1f
Converted macro to derive macro
2025-08-31 03:54:20 +02:00
d2b01123b8
Made the impl_device macro more explicit about the implemented traits
...
This also converts impl_device into a procedural macro and get rid of a
lot of "magic" that was happening.
2025-08-31 00:38:58 +02:00
c5262dcf35
Update to rust 1.89 and edition 2024
2025-08-31 00:38:58 +02:00
01e88eeb3b
Use new and improved rust workflow and Dockerfile
2025-08-31 00:38:58 +02:00
d6ab38f690
Improve pre-commit hooks
2025-08-31 00:38:58 +02:00
9f3b927cb6
Update dependencies and remove unused dependencies
2025-08-31 00:38:56 +02:00
7f41132965
Switch workbench light to new color temperature light
Build and deploy / Build application (push) Successful in 5m55s
Build and deploy / Build container (push) Successful in 2m16s
Build and deploy / Deploy container (push) Successful in 34s
2025-08-22 23:27:05 +02:00
3c5bd9ffb8
Add color temperature light
2025-08-22 23:27:05 +02:00
73218bb9b9
Store brightness in f32 instead of f64
2025-08-22 23:27:05 +02:00
fe83568839
Added color temperature support with ColorSetting
2025-08-22 23:27:05 +02:00
e27412339c
Allow timeout to be a fraction of a second instead of always whole seconds
2025-08-22 23:27:05 +02:00
8f858e9b42
Removed cargo config that is no longer necessary
2025-08-22 23:27:01 +02:00
5730d9db03
Fixed struct name for temperature control
2025-08-22 02:15:26 +02:00
d9e83a49a1
Improved long press behaviour when there is no long press callback
Build and deploy / Build application (push) Successful in 3m23s
Build and deploy / Build container (push) Successful in 52s
Build and deploy / Deploy container (push) Successful in 47s
2025-01-29 00:55:00 +01:00
00cd0366fd
Added hue groups for bedroom lights controlled by hue switch
Build and deploy / Build application (push) Successful in 3m34s
Build and deploy / Build container (push) Successful in 57s
Build and deploy / Deploy container (push) Successful in 32s
2025-01-28 23:33:30 +01:00
68684d9410
Added hue groups for kitchen and living room lights controlled by hue switch
Build and deploy / Build application (push) Successful in 3m50s
Build and deploy / Build container (push) Successful in 1m21s
Build and deploy / Deploy container (push) Successful in 35s
2025-01-28 22:49:37 +01:00
746e19eb8c
Use own struct to deserialize hue switch state and added hold actions
2025-01-28 22:48:02 +01:00