Commit Graph
100 Commits
Author SHA1 Message Date
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
Dreaded_X 4844bd5d79 Added debug bridge to publish state on mqtt
continuous-integration/drone/push Build is passing
2023-01-17 20:14:36 +01:00
Dreaded_X f756562676 Removed debug logging in deployment, as it is no longer needed
continuous-integration/drone/push Build is passing
2023-01-17 19:05:51 +01:00
Dreaded_X c3638367de Changed default fullfillment bind ip
continuous-integration/drone/push Build is passing
2023-01-17 18:57:26 +01:00
Dreaded_X de64a19c89 Make sure we actually use the production mqtt topics
continuous-integration/drone/push Build is passing
2023-01-17 18:45:04 +01:00
Dreaded_X 2816b1d87a Enable debug logging in deployment
continuous-integration/drone/push Build is passing
2023-01-17 18:38:02 +01:00
Dreaded_X 1e4d768d25 mqtt client name is now a config option 2023-01-17 18:23:57 +01:00
Dreaded_X 1a3867d951 Fixed mqtt hostname
continuous-integration/drone/push Build is passing
2023-01-17 18:18:18 +01:00
Dreaded_X 614b4b5e43 Made tls optional
continuous-integration/drone/push Build is passing
2023-01-17 18:12:03 +01:00
Dreaded_X 90eedbf86e Improved Dockerfile
continuous-integration/drone/push Build is passing
2023-01-17 18:01:37 +01:00
Dreaded_X 917deb717f Added Dockerfile and drone config to auto build and deploy new versions
continuous-integration/drone/push Build is passing
2023-01-17 17:41:47 +01:00
Dreaded_X 5961efa731 Removed hue token from repo 2023-01-17 17:29:54 +01:00
Dreaded_X 81d4322ce9 Removed outdated feature on eui48 2023-01-17 17:18:24 +01:00
Dreaded_X d55540a6c0 If connection is lost to the mqtt server, attempt to reconnect instead of panicking 2023-01-13 00:02:34 +01:00
Dreaded_X 06389d83f7 Use &str instead of String whenever possible 2023-01-12 23:43:45 +01:00
Dreaded_X 13f5c87c03 Improved error handling 2023-01-12 02:20:09 +01:00
Dreaded_X e9d1cf554d Use broadcast for mqtt message so we can have a queue 2023-01-10 22:59:26 +01:00
Dreaded_X 5ee8eaf8fb Make sure the setup is done before we start listening for events 2023-01-10 01:02:04 +01:00
Dreaded_X 9d6488183f Small change to how on presence changes the state for IkeaOutlet 2023-01-10 00:41:49 +01:00
Dreaded_X 220c68cd65 Converted more of the codebase to async 2023-01-10 00:37:13 +01:00
Dreaded_X 5b9d24e82f Switched to channels for communication between different parts of the code 2023-01-09 23:50:50 +01:00
Dreaded_X cf88768c15 Made hue_bridge and ntfy optional 2023-01-09 20:27:59 +01:00
Dreaded_X 0b22d0c6b7 Switched to a maintained fork of dotenv 2023-01-09 01:39:40 +01:00
Dreaded_X 21b96c2925 Added OnPresence handler for AudioSetup 2023-01-07 05:06:14 +01:00
Dreaded_X a638de42c1 AudioSetup now stores children as OnOff instead of Device as that is all that is required 2023-01-07 05:00:59 +01:00
Dreaded_X 8bc203cb2d Reduced the amount of indirect dependencies 2023-01-07 04:58:13 +01:00
Dreaded_X 99ff60a505 AudioSetup now takes two devices that implement the OnOff trait instead of being tied to KasaOutlet 2023-01-06 23:24:25 +01:00
Dreaded_X 50ff5b162e Switched from std::RwLock to parking_lot 2023-01-06 23:16:36 +01:00
Dreaded_X 03282b81c5 Further improved mqtt topic handling 2023-01-06 05:40:18 +01:00
Dreaded_X 9fd3890c45 Improved the mechanism for extracting the presence device name 2023-01-06 05:31:47 +01:00
Dreaded_X 47afda8dee Improved how mqtt topics are handled 2023-01-06 05:25:39 +01:00
Dreaded_X 1326a8878c Only activate the contact sensor presence if there is the overall presence is currently false 2023-01-06 04:51:43 +01:00
Dreaded_X e16e30ffe2 Make sure the presence is recalculated after a device is removed 2023-01-06 04:50:59 +01:00
Dreaded_X 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
Dreaded_X cbcbd05613 Error on failed env substitution 2023-01-06 04:14:39 +01:00
Dreaded_X d06c0b6980 Environment variables can now be used directly inside the config instead of requiring special handling 2023-01-06 04:07:50 +01:00
Dreaded_X 82859d8e46 Added authentication to fullfillment endpoint 2023-01-06 03:34:33 +01:00
Dreaded_X ee8d2fb74f Enabled json feature of reqwest 2023-01-06 03:33:47 +01:00
Dreaded_X 99713aa4c6 Changed how timeout is printed 2023-01-05 04:30:14 +01:00
Dreaded_X 9a239a88ec Added contact sensor that can act as a presence device with timeout 2023-01-05 04:29:27 +01:00
Dreaded_X d0c92e8e18 Changed some logging 2023-01-05 03:01:31 +01:00
Dreaded_X f88c7a5695 Added hue_bridge to bridge across the presence and darkness events 2023-01-05 03:01:21 +01:00
Dreaded_X 69abaf98d7 Switched to proper Ipv4Addr type 2023-01-05 02:09:36 +01:00
Dreaded_X c9b2127eed Some cleanup and added light sensor 2023-01-03 20:46:37 +01:00
Dreaded_X cfd10a7daf Refactored how we deal with blocking code and added AudioSetup 2023-01-03 05:26:00 +01:00
Dreaded_X 06e511758b Switched to tracing 2022-12-29 06:14:01 +01:00
Dreaded_X 3c0f4bf3b3 Added ntfy.sh integration 2022-12-29 02:36:05 +01:00
Dreaded_X 458c5e25a3 Renamed mqtt system to make it more clear that it has to do with mqtt 2022-12-29 00:50:16 +01:00
Dreaded_X 924b3cf862 Added OnPresence trait that allows devices to act on changes in presence 2022-12-29 00:24:00 +01:00
Dreaded_X 8dc3fd42e7 Switched from warp to axum 2022-12-28 05:22:36 +01:00
Dreaded_X 3b6a5e4c07 Moved some stuff from main into the libary 2022-12-28 04:17:23 +01:00
Dreaded_X 2b4ddf82b6 Added WakeOnLAN device, some small refactoring and improved error handling 2022-12-28 03:27:25 +01:00
Dreaded_X bb18cfdcee Use workspaces 2022-12-27 22:34:40 +01:00
Dreaded_X fb455b4e4c Config is passed directly to IkeaOutlet and now supports turning off automatically after a specified amount of time 2022-12-27 22:27:41 +01:00
Dreaded_X f735216dc4 Devices and some settings are now loaded from the config file instead of hardcoded 2022-12-27 04:00:35 +01:00
Dreaded_X c45ef583b1 Renamed dev configs and added one for ares 2022-12-25 01:29:50 +01:00
Dreaded_X 6c4ae9ec35 Instead of using pollster we use tokio::spawn to spawn a seperate task for subscribing and publishing to mqtt 2022-12-25 01:29:30 +01:00
Dreaded_X 1299443a7c Moved some config over to an actual config file, improved error handling 2022-12-24 04:47:06 +01:00
Dreaded_X 7e3c3223b2 Adjusted how we requre Sync + Send, added logger, cleanup dependencies, and added web server using warp and tokio 2022-12-23 04:40:08 +01:00
Dreaded_X 1b965cd45a Request ID is not a UUID like the documentation suggests 2022-12-22 05:59:39 +01:00
Dreaded_X 2103a46416 Made some changes to allow for threading/async in the future 2022-12-17 05:36:36 +01:00
Dreaded_X e88e2fe48b Finished basic google home implementation with some slight refactors along the way 2022-12-16 06:54:31 +01:00
Dreaded_X 995ff08784 Architectural changes and added first basic implementation for handling queries (does not handle errors) 2022-12-15 05:04:11 +01:00
Dreaded_X 4de0b31ec8 Added macro to generate cast traits and impls automatically 2022-12-14 05:49:51 +01:00