794b8eef19
Quickly hacked in is_on function on devices in lua
...
Build and deploy automation_rs / Build automation_rs (push) Successful in 5m48s
Build and deploy automation_rs / Build Docker image (push) Successful in 47s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 30s
In order to get feature parity with pre-lua the is_on function is
manually implemented on all wrapped devices in lua
This implementation will need to be improved in the future.
2024-05-07 00:05:38 +02:00
c7fc25d239
Fix: Scheduled function can not run async functions
...
Since Lua is not Send, this turned out to be a bit more complicated.
In order to make it work the async function needs to be pinned to a
single thread.
It works now, but the implementation looks a bit messy. Not sure it can
be improved through.
2024-05-07 00:05:38 +02:00
bf3d757710
Added lua function to get the current hostname
...
This makes it possible to set options depending on what machine we are
running
2024-05-07 00:05:38 +02:00
02d6630ac6
Started work on reimplementing schedules
2024-05-07 00:05:37 +02:00
456d7a359b
Fixed spelling mistakes
2024-05-07 00:05:37 +02:00
2ff59872b2
Moved last config items to lua + small cleanup
2024-05-07 00:05:37 +02:00
2a3b14267b
Fixed visibility of device configs
2024-05-07 00:05:37 +02:00
44a40d4dfa
LuaDevice macro now uses LuaDeviceCreate trait to create devices from configs
2024-05-07 00:05:37 +02:00
9f636a2572
mqtt client is now created in lua
2024-05-07 00:05:37 +02:00
fcd0b370d6
DeviceManager no longer handles subscribing and filtering topics, each device has to do this themselves now
2024-05-07 00:05:37 +02:00
3e4ea8952a
Improved how devices are created, ntfy and presence are now treated like any other device
2024-05-07 00:05:36 +02:00
5069d1b0e7
Moved schedule config from yml to lua
2024-05-07 00:05:36 +02:00
3225dbdda9
Set lua warning function
2024-05-07 00:05:36 +02:00
55237a2ba2
Improved the internals of the LuaDeviceConfig macro and improve the
...
usability of the macro
2024-05-07 00:05:36 +02:00
024b9c9dbc
Use helper types to process config input into the right type
2024-05-07 00:05:36 +02:00
51f689b199
Added helper type to convert from ip addr to socketaddr with the correct port
2024-05-07 00:05:36 +02:00
f4a1b507e5
Everything needed to construct a new device is passed in through lua
2024-05-07 00:05:36 +02:00
bfc73c7bd3
Device config is now done through lua
2024-05-07 00:05:36 +02:00
f50bc4bd0c
Replaced impl_cast with a new and improved trait
...
With this trait the impl_cast macros are no longer needed, simplifying
everything.
This commit also improved how the actual casting itself is handled.
2024-05-07 00:05:32 +02:00
3689a52afd
Replaced impl_cast with a new and improved trait
...
Build and deploy automation_rs / Build automation_rs (push) Successful in 4m0s
Build and deploy automation_rs / Build Docker image (push) Successful in 52s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 28s
With this trait the impl_cast macros are no longer needed, simplifying
everything.
This commit also improved how the actual casting itself is handled.
2024-05-05 00:33:21 +02:00
cde9654a78
Fix: Memory leak
...
Build and deploy automation_rs / Build automation_rs (push) Successful in 4m19s
Build and deploy automation_rs / Build Docker image (push) Successful in 1m3s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 31s
It turns out that console-subscriber has a memory leak, this is fixed in
main, but there has not been a new release yet. So for now we go back
to tracing subscriber.
2024-05-03 01:07:24 +02:00
40ba4c47cf
Fix: contact sensor turns off lights even if they were already on
Build and deploy automation_rs / Build automation_rs (push) Successful in 3m57s
Build and deploy automation_rs / Build Docker image (push) Successful in 45s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 29s
2024-04-26 06:00:53 +02:00
8b0c1ae352
Report AirFilter humidity
Build and deploy automation_rs / Build automation_rs (push) Successful in 3m57s
Build and deploy automation_rs / Build Docker image (push) Successful in 44s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 29s
2024-04-23 02:47:10 +02:00
476688e3cb
Always turn all the lights on when a contact sensor is activated, not matter the previous state
Build and deploy automation_rs / Build automation_rs (push) Successful in 7m25s
Build and deploy automation_rs / Build Docker image (push) Successful in 2m45s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 37s
2024-03-05 20:06:00 +01:00
73a2b077ed
Fmt: Added cargofmt config and reformatted files
continuous-integration/drone/push Build is passing
2023-11-20 23:27:48 +01:00
5333d8042f
Fixed formatting
continuous-integration/drone/push Build is passing
2023-11-17 01:10:45 +01:00
db17b68e90
Feature: Schedule devices turning on/off
continuous-integration/drone/push Build is passing
2023-11-17 00:01:13 +01:00
dd4be4a2ee
Switched from toml to yaml for configuration
continuous-integration/drone/push Build is failing
2023-11-05 22:41:48 +01:00
b12b76bd50
Added Air Filter support
continuous-integration/drone/push Build is passing
2023-10-07 05:34:33 +02:00
15cde02a8d
You can now add remotes to IkeaOutlets
continuous-integration/drone/push Build is passing
2023-08-24 02:21:16 +02:00
1ba20c3390
You can now add remotes to HueGroups
2023-08-24 02:20:58 +02:00
5d6faddce1
Increased mqtt queue size as a temporary fix
2023-08-24 01:48:10 +02:00
9628b8a94b
HueLight is now HueGroup and uses a scene to turn the light on, the contact sensor will also not override the current light state if it is already on
continuous-integration/drone/push Build is passing
2023-08-18 05:56:45 +02:00
044c38ba86
More refactoring
2023-08-18 03:07:16 +02:00
3134891751
Adjusted internal washer hysteresis to prevent false positives
continuous-integration/drone/push Build is passing
2023-08-17 01:47:45 +02:00
cff9cb4bf6
Further improvements to how devices are created
2023-08-17 01:47:05 +02:00
b1506f8e63
Improved the way devices are instantiated from their respective configs
continuous-integration/drone/push Build is passing
2023-08-16 02:17:21 +02:00
ab5e47d1ff
Updated some logging stuff
continuous-integration/drone/push Build is passing
2023-08-15 23:06:09 +02:00
27ef78e132
Added mechanism to prevent false positives
continuous-integration/drone/push Build is passing
2023-08-15 19:23:56 +02:00
bb131f2b1a
Added basic hue light bridge, improved Timeout trait and setup frontdoor to turn on hallway ligh temporarily
continuous-integration/drone/push Build is passing
2023-08-15 04:45:35 +02:00
7f89780696
Made washer power threshold configurable
continuous-integration/drone/push Build is passing
2023-08-14 16:36:13 +02:00
ee00959e8a
Added initial basic washer integration
continuous-integration/drone/push Build is passing
2023-08-14 03:52:00 +02:00
690090016e
Turn off the device directly if the timeout is set to zero
2023-08-14 03:07:48 +02:00
b97b682a5e
Contact sensor can now turn on device when opened and turn them off again after a timeout
2023-08-14 02:58:58 +02:00
12ca577a65
Added trait for devices that can turn off a given timeout
2023-08-14 02:58:13 +02:00
e38c5eed31
AudioSetup now takes the name of two already created devices and stores a reference to the devices instead of creating and owning the devices directly
2023-08-14 01:56:00 +02:00
76b75b0cfb
The light in the bathroom will now turn off automatically after 45 min
continuous-integration/drone/push Build is passing
2023-08-13 23:20:07 +02:00
522fe27f11
Converted google home traits to be async
continuous-integration/drone/push Build is failing
2023-08-11 03:46:44 +02:00
a67e47997b
More refactoring
2023-08-11 03:16:23 +02:00
330523166f
Store devices wrapped in Arc RwLock
2023-08-11 02:24:58 +02:00