Dreaded_X
33a2e4ba11
Run main binary by default
Build and deploy automation_rs / Build automation_rs (push) Successful in 5m39s
Build and deploy automation_rs / Run pre-commit checks (push) Successful in 7m34s
Build and deploy automation_rs / Build Docker image (push) Successful in 50s
Build and deploy automation_rs / Deploy Docker container (push) Has been skipped
2024-05-10 01:48:50 +02:00
Dreaded_X
c89d5f3301
Make sure the generated lua definitions are up to date
2024-05-10 01:48:47 +02:00
Dreaded_X
73416fbbbd
Further work on automatically generating lua type definitions
2024-05-10 01:30:41 +02:00
Dreaded_X
e30b8e6608
Started work on generating definitions
2024-05-10 01:30:41 +02:00
Dreaded_X
113f9f926c
Switched from custom pre-commit script to using the pre-commit tool
Build and deploy automation_rs / Run pre-commit checks (push) Successful in 4m1s
Build and deploy automation_rs / Build automation_rs (push) Successful in 4m31s
Build and deploy automation_rs / Build Docker image (push) Successful in 50s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 32s
2024-05-10 01:28:50 +02:00
Dreaded_X
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
Dreaded_X
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
Dreaded_X
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
Dreaded_X
bb15558ab2
Fixed typo in README.md and added mosquitto as word
2024-05-07 00:05:37 +02:00
Dreaded_X
02d6630ac6
Started work on reimplementing schedules
2024-05-07 00:05:37 +02:00
Dreaded_X
456d7a359b
Fixed spelling mistakes
2024-05-07 00:05:37 +02:00
Dreaded_X
2ff59872b2
Moved last config items to lua + small cleanup
2024-05-07 00:05:37 +02:00
Dreaded_X
2a3b14267b
Fixed visibility of device configs
2024-05-07 00:05:37 +02:00
Dreaded_X
44a40d4dfa
LuaDevice macro now uses LuaDeviceCreate trait to create devices from configs
2024-05-07 00:05:37 +02:00
Dreaded_X
9f636a2572
mqtt client is now created in lua
2024-05-07 00:05:37 +02:00
Dreaded_X
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
Dreaded_X
3e4ea8952a
Improved how devices are created, ntfy and presence are now treated like any other device
2024-05-07 00:05:36 +02:00
Dreaded_X
5069d1b0e7
Moved schedule config from yml to lua
2024-05-07 00:05:36 +02:00
Dreaded_X
3225dbdda9
Set lua warning function
2024-05-07 00:05:36 +02:00
Dreaded_X
20feaa6308
Slight macro cleanup
2024-05-07 00:05:36 +02:00
Dreaded_X
55237a2ba2
Improved the internals of the LuaDeviceConfig macro and improve the
...
usability of the macro
2024-05-07 00:05:36 +02:00
Dreaded_X
024b9c9dbc
Use helper types to process config input into the right type
2024-05-07 00:05:36 +02:00
Dreaded_X
51f689b199
Added helper type to convert from ip addr to socketaddr with the correct port
2024-05-07 00:05:36 +02:00
Dreaded_X
a2ee2ad71d
Added rename option to macro
2024-05-07 00:05:36 +02:00
Dreaded_X
f4a1b507e5
Everything needed to construct a new device is passed in through lua
2024-05-07 00:05:36 +02:00
Dreaded_X
bfc73c7bd3
Device config is now done through lua
2024-05-07 00:05:36 +02:00
Dreaded_X
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
Dreaded_X
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
Dreaded_X
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
Dreaded_X
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
Dreaded_X
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
Dreaded_X
8b191f6013
Updated airfilter mqtt topic
Build and deploy automation_rs / Build automation_rs (push) Successful in 7m4s
Build and deploy automation_rs / Build Docker image (push) Successful in 1m28s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 29s
2024-03-27 04:46:06 +01:00
Dreaded_X
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
Dreaded_X
6e4a63e9d7
Improvement: Job names could be better
Build and deploy automation_rs / Build automation_rs (push) Successful in 4m27s
Build and deploy automation_rs / Build Docker image (push) Successful in 47s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 21s
2023-11-24 00:09:45 +01:00
Dreaded_X
b4427f2140
Fix: Wake On LAN is not working
...
The docker container needs to be created with the network option set to
one of the networks otherwise it will not work.
2023-11-23 23:04:26 +01:00
Dreaded_X
234e891418
Fix: main is used instead of master, only builds for feature/action
...
Build and deploy automation_rs / Build (push) Successful in 4m38s
Build and deploy automation_rs / Create container (push) Successful in 43s
Build and deploy automation_rs / Deploy Docker container (push) Successful in 36s
Accidentally used main instead of master in the workflow.
Also hardcoded feature/action as the only feature branch that triggers a
build, instead any feature branch will now trigger a build.
2023-11-23 00:47:19 +01:00
Dreaded_X
39f9b997ed
Fix: Only master branch should push the docker image
Build and deploy automation_rs / Build (push) Successful in 4m57s
Build and deploy automation_rs / Create container (push) Successful in 57s
Build and deploy automation_rs / Deploy Docker container (push) Has been skipped
2023-11-23 00:26:24 +01:00
Dreaded_X
cdb02eb5dd
Feature: Deploy Docker container after it is created
Build and deploy automation_rs / Build (push) Successful in 4m47s
Build and deploy automation_rs / Create container (push) Successful in 1m2s
Build and deploy automation_rs / Deploy Docker container (push) Has been skipped
2023-11-22 01:17:30 +01:00
Dreaded_X
c77064b5b9
Feature: Use Gitea Actions to build automation_rs
...
Build and deploy automation_rs / Build (push) Successful in 6m39s
Build and deploy automation_rs / Create Docker container (push) Successful in 1m1s
Builds automation_rs and the corresponding docker image.
The binary is uploaded as an artifact and the image is uploaded to the
registry.
In order to improve caching the nightly version is locked using
rust-toolchain.toml
2023-11-22 00:40:05 +01:00
Dreaded_X
73a2b077ed
Fmt: Added cargofmt config and reformatted files
continuous-integration/drone/push Build is passing
2023-11-20 23:27:48 +01:00
Dreaded_X
78bb80d510
Fixed: Frontdoor uses the wrong presence topic
continuous-integration/drone/push Build is passing
2023-11-20 22:55:04 +01:00
Dreaded_X
5333d8042f
Fixed formatting
continuous-integration/drone/push Build is passing
2023-11-17 01:10:45 +01:00
Dreaded_X
db17b68e90
Feature: Schedule devices turning on/off
continuous-integration/drone/push Build is passing
2023-11-17 00:01:13 +01:00
Dreaded_X
0154d19b71
Fixed typo in topic name for air_filter
continuous-integration/drone/push Build is passing
2023-11-16 00:57:51 +01:00
Dreaded_X
74161d909e
Fixed build to use yml file
continuous-integration/drone/push Build is passing
2023-11-06 00:20:12 +01:00
Dreaded_X
dd4be4a2ee
Switched from toml to yaml for configuration
continuous-integration/drone/push Build is failing
2023-11-05 22:41:48 +01:00
Dreaded_X
b12b76bd50
Added Air Filter support
continuous-integration/drone/push Build is passing
2023-10-07 05:34:33 +02:00
Dreaded_X
7ee40f6bb8
Fixed glibc mismatch
continuous-integration/drone/push Build is passing
2023-09-02 06:33:08 +02:00
Dreaded_X
1f4e3c8119
Added extra kettle remote
continuous-integration/drone/push Build is passing
2023-09-01 21:29:28 +02:00
Dreaded_X
0298e7891e
Use wakey fork on git.huizinga.dev instead of github.com
2023-09-01 21:16:13 +02:00
Dreaded_X
15cde02a8d
You can now add remotes to IkeaOutlets
continuous-integration/drone/push Build is passing
2023-08-24 02:21:16 +02:00
Dreaded_X
1ba20c3390
You can now add remotes to HueGroups
2023-08-24 02:20:58 +02:00
Dreaded_X
5d6faddce1
Increased mqtt queue size as a temporary fix
2023-08-24 01:48:10 +02:00
Dreaded_X
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
Dreaded_X
044c38ba86
More refactoring
2023-08-18 03:07:16 +02:00
Dreaded_X
3134891751
Adjusted internal washer hysteresis to prevent false positives
continuous-integration/drone/push Build is passing
2023-08-17 01:47:45 +02:00
Dreaded_X
cff9cb4bf6
Further improvements to how devices are created
2023-08-17 01:47:05 +02:00
Dreaded_X
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
Dreaded_X
ab5e47d1ff
Updated some logging stuff
continuous-integration/drone/push Build is passing
2023-08-15 23:06:09 +02:00
Dreaded_X
27ef78e132
Added mechanism to prevent false positives
continuous-integration/drone/push Build is passing
2023-08-15 19:23:56 +02:00
Dreaded_X
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
Dreaded_X
c584fa014c
Adjusted washer threshold
continuous-integration/drone/push Build is passing
2023-08-15 00:26:38 +02:00
Dreaded_X
7f89780696
Made washer power threshold configurable
continuous-integration/drone/push Build is passing
2023-08-14 16:36:13 +02:00
Dreaded_X
ee00959e8a
Added initial basic washer integration
continuous-integration/drone/push Build is passing
2023-08-14 03:52:00 +02:00
Dreaded_X
690090016e
Turn off the device directly if the timeout is set to zero
2023-08-14 03:07:48 +02:00
Dreaded_X
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
Dreaded_X
12ca577a65
Added trait for devices that can turn off a given timeout
2023-08-14 02:58:13 +02:00
Dreaded_X
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
Dreaded_X
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
Dreaded_X
76a5a39ca9
Fixed build
continuous-integration/drone/push Build is passing
2023-08-11 04:06:55 +02:00
Dreaded_X
522fe27f11
Converted google home traits to be async
continuous-integration/drone/push Build is failing
2023-08-11 03:46:44 +02:00
Dreaded_X
a67e47997b
More refactoring
2023-08-11 03:16:23 +02:00
Dreaded_X
330523166f
Store devices wrapped in Arc RwLock
2023-08-11 02:24:58 +02:00
Dreaded_X
7733e8cc8f
cargo update
2023-08-09 23:51:09 +02:00
Dreaded_X
58ade33c42
Also moved ntfy into devices as it is a quasi device
continuous-integration/drone/push Build is passing
2023-04-24 04:44:19 +02:00
Dreaded_X
40c0ac5144
Moved quasi-devices into the devices module and made event related device traits part of the event module
continuous-integration/drone/push Build is passing
2023-04-24 04:28:17 +02:00
Dreaded_X
28ce9c9d82
Moved mqtt messages to a seperate file
2023-04-24 02:50:30 +02:00
Dreaded_X
8f515ccf75
Moved mqtt parse error to error.rs
2023-04-24 02:46:02 +02:00
Dreaded_X
0ad42c029e
Small refactor related to device creation
continuous-integration/drone/push Build is passing
2023-04-14 22:35:15 +02:00
Dreaded_X
1a9d99fed9
Moved traits into seperate module
2023-04-14 22:34:40 +02:00
Dreaded_X
b7329b58ee
Everything is now implemented as a Device using device_traits with all events going through a single place
continuous-integration/drone/push Build is passing
2023-04-14 05:46:04 +02:00
Dreaded_X
88e9b8f409
Big refactor from using a seperate channel for all the different kind of events to a single event channel
continuous-integration/drone/push Build is passing
2023-04-14 01:06:08 +02:00
Dreaded_X
72ab48df42
The device create function is now standarized using a trait
continuous-integration/drone/push Build is passing
2023-04-13 05:46:17 +02:00
Dreaded_X
f4c1ac5c9b
Moved most config structs to be in the same file as what they are for
2023-04-13 05:12:39 +02:00
Dreaded_X
2aa13e7706
Automatically convert the mqtt config into the MqttOptions struct
2023-04-13 03:26:00 +02:00
Dreaded_X
547f021a35
Adjusted the darkness threshold
continuous-integration/drone/push Build is passing
2023-04-12 20:09:56 +02:00
Dreaded_X
33fcb95dfa
Improved impl_cast
continuous-integration/drone/push Build is passing
2023-04-12 05:38:15 +02:00
Dreaded_X
f8d1975f85
Fixed build
continuous-integration/drone/push Build is passing
2023-04-12 05:28:51 +02:00
Dreaded_X
11aa15b59d
Moved the mqtt topic check up one leve into Devices
continuous-integration/drone/push Build is failing
2023-04-12 04:49:45 +02:00
Dreaded_X
92c8f3074f
Devices now handles subscribing to mqtt topics
2023-04-12 04:37:16 +02:00
Dreaded_X
34e5274e0b
Removed redundant log message in ikea_outlet and fixed wording
continuous-integration/drone/push Build is failing
2023-04-12 03:41:56 +02:00
Dreaded_X
6ed2d251f6
Made OutletType copy
2023-04-12 03:41:20 +02:00
Dreaded_X
d5c4b84d79
Use tracing::instrument instead of tracing::span
2023-04-12 03:38:13 +02:00
Dreaded_X
854098e292
Added tokio-console support
2023-04-12 03:34:58 +02:00
Dreaded_X
9e9e9296e9
Updated pre-commit script to print command before executing and disallow running with unstaged changes
continuous-integration/drone/push Build is failing
2023-04-12 01:25:24 +02:00
Dreaded_X
ca8821b406
Rewrote impl_cast as a proc_macro to make it easier to work with
2023-04-12 01:20:21 +02:00
Dreaded_X
b54c9512b9
Improved impl_cast and made all traits Sync + Send + 'static
continuous-integration/drone/push Build is passing
2023-04-10 23:51:22 +02:00
Dreaded_X
65f76904dd
Added pre-commit hook to run lint and check formatting
continuous-integration/drone/push Build is passing
2023-04-10 05:29:09 +02:00
Dreaded_X
8cfb346ca5
Removed hacky code that got accidentally commited
continuous-integration/drone/push Build is passing
2023-04-10 02:10:23 +02:00
Dreaded_X
3645b53f7c
Applied rust fmt
continuous-integration/drone/push Build is passing
2023-04-10 01:33:39 +02:00