Commit Graph

47 Commits

Author SHA1 Message Date
d11e79cdfa
Devices now keep type in lua
All checks were successful
Build and deploy / Build application (push) Successful in 4m5s
Build and deploy / Build container (push) Successful in 1m9s
Build and deploy / Deploy container (push) Successful in 37s
2024-08-08 01:36:11 +02:00
14e14ca479
No need for Arc<RwLock<_>> inside the device wrapper anymore
All checks were successful
Build and deploy / Build application (push) Successful in 4m27s
Check / Run checks (push) Successful in 2m14s
Build and deploy / Build container (push) Successful in 55s
Build and deploy / Deploy container (push) Has been skipped
2024-07-26 01:17:12 +02:00
3fd8dddeb2
No more cast_mut() 2024-07-26 00:37:53 +02:00
2cf4e40ad5
Devices are now clonable 2024-07-26 00:25:30 +02:00
98ab265fed
Improved Lua macro situation
All checks were successful
Build and deploy / Build application (push) Successful in 6m20s
Check / Run checks (push) Successful in 2m19s
Build and deploy / Build container (push) Successful in 1m16s
Build and deploy / Deploy container (push) Has been skipped
2024-07-25 00:49:10 +02:00
006320be18
Added trash light automation
All checks were successful
Build and deploy / Build application (push) Successful in 3m49s
Check / Run checks (push) Successful in 2m16s
Build and deploy / Build container (push) Successful in 49s
Build and deploy / Deploy container (push) Successful in 32s
2024-07-15 00:37:24 +02:00
9aa16e3ef8
Started actually using the google home trait macro 2024-07-09 00:00:00 +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
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
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
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
3689a52afd
Replaced impl_cast with a new and improved trait
All checks were successful
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
40ba4c47cf
Fix: contact sensor turns off lights even if they were already on
All checks were successful
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
476688e3cb
Always turn all the lights on when a contact sensor is activated, not matter the previous state
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-20 23:27:48 +01:00
5333d8042f
Fixed formatting
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-17 01:10:45 +01: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
All checks were successful
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
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-16 02:17:21 +02:00
bb131f2b1a
Added basic hue light bridge, improved Timeout trait and setup frontdoor to turn on hallway ligh temporarily
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-15 04:45:35 +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
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
40c0ac5144
Moved quasi-devices into the devices module and made event related device traits part of the event module
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-24 04:28:17 +02:00
28ce9c9d82
Moved mqtt messages to a seperate file 2023-04-24 02:50:30 +02:00
1a9d99fed9
Moved traits into seperate module 2023-04-14 22:34:40 +02:00
b7329b58ee
Everything is now implemented as a Device using device_traits with all events going through a single place
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-14 05:46:04 +02:00
72ab48df42
The device create function is now standarized using a trait
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-13 05:46:17 +02:00
f4c1ac5c9b
Moved most config structs to be in the same file as what they are for 2023-04-13 05:12:39 +02:00
11aa15b59d
Moved the mqtt topic check up one leve into Devices
Some checks failed
continuous-integration/drone/push Build is failing
2023-04-12 04:49:45 +02:00
92c8f3074f
Devices now handles subscribing to mqtt topics 2023-04-12 04:37:16 +02:00
3645b53f7c
Applied rust fmt
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-10 01:33:39 +02:00
a0cefa8302
Improved error handling
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-01-18 22:37:57 +01:00
4844bd5d79
Added debug bridge to publish state on mqtt
All checks were successful
continuous-integration/drone/push Build is passing
2023-01-17 20:14:36 +01:00
06389d83f7 Use &str instead of String whenever possible 2023-01-12 23:43:45 +01:00
13f5c87c03 Improved error handling 2023-01-12 02:20:09 +01:00
220c68cd65 Converted more of the codebase to async 2023-01-10 00:37:13 +01:00
5b9d24e82f Switched to channels for communication between different parts of the code 2023-01-09 23:50:50 +01:00
47afda8dee
Improved how mqtt topics are handled 2023-01-06 05:25:39 +01:00
1326a8878c
Only activate the contact sensor presence if there is the overall presence is currently false 2023-01-06 04:51:43 +01:00
27a63b1a79
Setting the presence mqtt topic is now optional, if not set it will generate an appropriate value automatically 2023-01-06 04:42:42 +01:00
9a239a88ec
Added contact sensor that can act as a presence device with timeout 2023-01-05 04:29:27 +01:00