Commit Graph
100 Commits
Author SHA1 Message Date
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
Dreaded_X de9203b8d5 Suppress incomplete feature warning caused by specialization 2023-04-10 01:30:43 +02:00
Dreaded_X 839c0a1c57 Applied clippy rules 2023-04-10 01:29:48 +02:00
Dreaded_X 7d5ce71e5b Added .editorconfig
continuous-integration/drone/push Build is passing
2023-04-09 23:02:16 +02:00
Dreaded_X 3613c2cbdf Changed how TODO notes are marked to properly highlight in vim 2023-04-09 23:01:21 +02:00
Dreaded_X 1a9d12b1f3 Charger does not get turned off when leaving the house
continuous-integration/drone/push Build is passing
2023-03-20 17:47:42 +01:00
Dreaded_X 07563a6d30 Added charger as outlet type
continuous-integration/drone/push Build is passing
2023-03-19 23:02:39 +01:00
Dreaded_X 18bca5abf4 ntfy notifications are now send through a channel, allowing notifications to be send from other places in the program 2023-01-24 19:00:38 +01:00
Dreaded_X 6c8b73f60f Use format macro instead of directly concating
continuous-integration/drone/push Build is passing
2023-01-20 16:44:49 +01:00
Dreaded_X 8511cde67e Adjusted the darkness lower threshold
continuous-integration/drone/push Build is passing
2023-01-20 00:24:29 +01:00
Dreaded_X aa8963bd4a Directly send wol packet instead of using the webhook
continuous-integration/drone/push Build is passing
2023-01-19 22:19:26 +01:00
Dreaded_X a0cefa8302 Improved error handling
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-01-18 22:37:57 +01:00
Dreaded_X b6bf8a82a2 Improved code
continuous-integration/drone/push Build is passing
2023-01-18 20:05:03 +01:00
Dreaded_X d36a6eb518 Adjusted the darkness thresholds
continuous-integration/drone/push Build is passing
2023-01-18 18:15:39 +01:00
Dreaded_X 25793c0af1 Log level is now configurable through a drone secret
continuous-integration/drone/push Build is passing
2023-01-18 18:11:52 +01:00