|
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 |
|
|
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 |
|
|
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 |
|
|
28ce9c9d82
|
Moved mqtt messages to a seperate file
|
2023-04-24 02:50:30 +02:00 |
|
|
8f515ccf75
|
Moved mqtt parse error to error.rs
|
2023-04-24 02:46:02 +02:00 |
|
|
0ad42c029e
|
Small refactor related to device creation
continuous-integration/drone/push Build is passing
|
2023-04-14 22:35:15 +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
continuous-integration/drone/push Build is passing
|
2023-04-14 05:46:04 +02:00 |
|
|
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 |
|
|
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 |
|
|
f4c1ac5c9b
|
Moved most config structs to be in the same file as what they are for
|
2023-04-13 05:12:39 +02:00 |
|
|
2aa13e7706
|
Automatically convert the mqtt config into the MqttOptions struct
|
2023-04-13 03:26:00 +02:00 |
|
|
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 |
|
|
92c8f3074f
|
Devices now handles subscribing to mqtt topics
|
2023-04-12 04:37:16 +02:00 |
|
|
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 |
|
|
6ed2d251f6
|
Made OutletType copy
|
2023-04-12 03:41:20 +02:00 |
|
|
d5c4b84d79
|
Use tracing::instrument instead of tracing::span
|
2023-04-12 03:38:13 +02:00 |
|
|
854098e292
|
Added tokio-console support
|
2023-04-12 03:34:58 +02:00 |
|
|
ca8821b406
|
Rewrote impl_cast as a proc_macro to make it easier to work with
|
2023-04-12 01:20:21 +02:00 |
|
|
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 |
|
|
8cfb346ca5
|
Removed hacky code that got accidentally commited
continuous-integration/drone/push Build is passing
|
2023-04-10 02:10:23 +02:00 |
|
|
3645b53f7c
|
Applied rust fmt
continuous-integration/drone/push Build is passing
|
2023-04-10 01:33:39 +02:00 |
|
|
de9203b8d5
|
Suppress incomplete feature warning caused by specialization
|
2023-04-10 01:30:43 +02:00 |
|
|
839c0a1c57
|
Applied clippy rules
|
2023-04-10 01:29:48 +02:00 |
|
|
3613c2cbdf
|
Changed how TODO notes are marked to properly highlight in vim
|
2023-04-09 23:01:21 +02:00 |
|
|
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 |
|
|
07563a6d30
|
Added charger as outlet type
continuous-integration/drone/push Build is passing
|
2023-03-19 23:02:39 +01:00 |
|
|
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 |
|
|
6c8b73f60f
|
Use format macro instead of directly concating
continuous-integration/drone/push Build is passing
|
2023-01-20 16:44:49 +01:00 |
|
|
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 |
|
|
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 |
|
|
b6bf8a82a2
|
Improved code
continuous-integration/drone/push Build is passing
|
2023-01-18 20:05:03 +01:00 |
|
|
4844bd5d79
|
Added debug bridge to publish state on mqtt
continuous-integration/drone/push Build is passing
|
2023-01-17 20:14:36 +01:00 |
|
|
c3638367de
|
Changed default fullfillment bind ip
continuous-integration/drone/push Build is passing
|
2023-01-17 18:57:26 +01:00 |
|
|
1e4d768d25
|
mqtt client name is now a config option
|
2023-01-17 18:23:57 +01:00 |
|
|
614b4b5e43
|
Made tls optional
continuous-integration/drone/push Build is passing
|
2023-01-17 18:12:03 +01:00 |
|
|
d55540a6c0
|
If connection is lost to the mqtt server, attempt to reconnect instead of panicking
|
2023-01-13 00:02:34 +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 |
|
|
e9d1cf554d
|
Use broadcast for mqtt message so we can have a queue
|
2023-01-10 22:59:26 +01:00 |
|
|
5ee8eaf8fb
|
Make sure the setup is done before we start listening for events
|
2023-01-10 01:02:04 +01:00 |
|
|
9d6488183f
|
Small change to how on presence changes the state for IkeaOutlet
|
2023-01-10 00:41:49 +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 |
|
|
cf88768c15
|
Made hue_bridge and ntfy optional
|
2023-01-09 20:27:59 +01:00 |
|
|
0b22d0c6b7
|
Switched to a maintained fork of dotenv
|
2023-01-09 01:39:40 +01:00 |
|
|
21b96c2925
|
Added OnPresence handler for AudioSetup
|
2023-01-07 05:06:14 +01:00 |
|
|
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 |
|
|
8bc203cb2d
|
Reduced the amount of indirect dependencies
|
2023-01-07 04:58:13 +01:00 |
|
|
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 |
|
|
50ff5b162e
|
Switched from std::RwLock to parking_lot
|
2023-01-06 23:16:36 +01:00 |
|
|
03282b81c5
|
Further improved mqtt topic handling
|
2023-01-06 05:40:18 +01:00 |
|
|
9fd3890c45
|
Improved the mechanism for extracting the presence device name
|
2023-01-06 05:31:47 +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 |
|
|
e16e30ffe2
|
Make sure the presence is recalculated after a device is removed
|
2023-01-06 04:50:59 +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 |
|
|
cbcbd05613
|
Error on failed env substitution
|
2023-01-06 04:14:39 +01:00 |
|
|
d06c0b6980
|
Environment variables can now be used directly inside the config instead of requiring special handling
|
2023-01-06 04:07:50 +01:00 |
|
|
82859d8e46
|
Added authentication to fullfillment endpoint
|
2023-01-06 03:34:33 +01:00 |
|
|
ee8d2fb74f
|
Enabled json feature of reqwest
|
2023-01-06 03:33:47 +01:00 |
|
|
99713aa4c6
|
Changed how timeout is printed
|
2023-01-05 04:30:14 +01:00 |
|
|
9a239a88ec
|
Added contact sensor that can act as a presence device with timeout
|
2023-01-05 04:29:27 +01:00 |
|
|
d0c92e8e18
|
Changed some logging
|
2023-01-05 03:01:31 +01:00 |
|
|
f88c7a5695
|
Added hue_bridge to bridge across the presence and darkness events
|
2023-01-05 03:01:21 +01:00 |
|
|
69abaf98d7
|
Switched to proper Ipv4Addr type
|
2023-01-05 02:09:36 +01:00 |
|
|
c9b2127eed
|
Some cleanup and added light sensor
|
2023-01-03 20:46:37 +01:00 |
|
|
cfd10a7daf
|
Refactored how we deal with blocking code and added AudioSetup
|
2023-01-03 05:26:00 +01:00 |
|
|
06e511758b
|
Switched to tracing
|
2022-12-29 06:14:01 +01:00 |
|
|
3c0f4bf3b3
|
Added ntfy.sh integration
|
2022-12-29 02:36:05 +01:00 |
|
|
458c5e25a3
|
Renamed mqtt system to make it more clear that it has to do with mqtt
|
2022-12-29 00:50:16 +01:00 |
|
|
924b3cf862
|
Added OnPresence trait that allows devices to act on changes in presence
|
2022-12-29 00:24:00 +01:00 |
|
|
8dc3fd42e7
|
Switched from warp to axum
|
2022-12-28 05:22:36 +01:00 |
|
|
3b6a5e4c07
|
Moved some stuff from main into the libary
|
2022-12-28 04:17:23 +01:00 |
|