Commit Graph

  • 4786b1e6ba chore: clean up emitter-and-signal library design main J / Jacob Babich 2026-07-15 14:33:51 -04:00
  • a09a97d06d chore: replace all #[snafu(display(...))] with regular doc comments /// J / Jacob Babich 2026-07-15 13:48:21 -04:00
  • 4eb8a752cc feat(entrypoint): trial the power sensor signal for the smart plugs connected to the washer and dryer currently Jacob 2026-07-15 02:41:13 -04:00
  • 8d3cde3c43 chore(driver-kasa): rename impl_protocol to protocol to match with home-assistant/light J / Jacob Babich 2026-07-15 01:06:34 -04:00
  • cb216d0a0a chore: rename Numeric generic parameter to Number so that it's a noun and not mistakeable for a trait J / Jacob Babich 2026-07-15 01:00:50 -04:00
  • 8b966c1210 feat: make power sensor signal support any numeric type J / Jacob Babich 2026-07-15 00:57:59 -04:00
  • a2d6d9f4c2 feat: make the input_number attributes and signal support any numeric type J / Jacob Babich 2026-07-15 00:52:01 -04:00
  • 8ab8dd3441 chore: address some clippy concerns J / Jacob Babich 2026-07-15 00:32:04 -04:00
  • 224ee7732f chore: upgrade to fjall 3 J / Jacob Babich 2026-07-15 00:13:47 -04:00
  • 83b35908f7 chore: update lockfile J / Jacob Babich 2026-07-15 00:09:02 -04:00
  • e3c54a996e feat: input_number signal support, implement Clone for a lot of error types Jacob 2026-07-14 22:53:42 -04:00
  • 38c30d87d0 chore(home-assistant): rename HomeAssistantState::UnexpectedErr to Unexpected because I was expecting it to contain an error type returning to the project after so long Jacob 2026-07-14 21:29:50 -04:00
  • 17fabbf178 chore: eliminate all usage of pyo3::prelude::* Jacob 2026-07-14 20:50:07 -04:00
  • 6abe278aa3 chore(home-assistant): streamline Python conversion for UnexpectedState Jacob 2026-07-14 20:29:32 -04:00
  • 120ad97c53 chore(home-assistant): streamline Python conversion for LightState Jacob 2026-07-14 20:27:51 -04:00
  • 338a8c571c chore(home-assistant): streamline Python conversion for ServiceDomain and ServiceId Jacob 2026-07-14 20:24:27 -04:00
  • 34d0266c1f chore: make MobileAppDeviceId type instead of using ObjectId as that is the wrong abstraction Jacob 2026-07-14 20:14:45 -04:00
  • ac0f574d2b chore(home-assistant): remove unused imports in object_id Jacob 2026-07-14 20:06:21 -04:00
  • 9863029eb9 chore(home-assistant): streamline ObjectId's Python definitions Jacob 2026-07-14 20:04:15 -04:00
  • 41cf9d0d09 fix: remove dbg! in StringLiteral ToTokens implementation J / Jacob Babich 2026-07-12 19:39:57 -04:00
  • d6418b5fb0 chore(entrypoint): remove unused imports J / Jacob Babich 2026-07-12 19:39:21 -04:00
  • c0737c4420 chore: remove unused imports J / Jacob Babich 2026-07-12 19:38:27 -04:00
  • 53a2fc2a35 chore(protocol): address async fn in extension traits J / Jacob Babich 2026-07-12 19:34:25 -04:00
  • 044243ae3c chore: update various dependencies (except fjall) to their latest versions J / Jacob Babich 2026-07-12 14:13:06 -04:00
  • 7f3c2ac30c fix(home-assistant): expose sensor::device_classes::power for use J / Jacob Babich 2026-07-12 14:07:12 -04:00
  • 3f94015b4f chore: remove AsRef impl from the StringLiteral macro since I don't like that behavior, reorganize it to prevent leaking proc-macro2 / syn / quote J / Jacob Babich 2026-07-12 13:54:57 -04:00
  • 3e063901be fix: use sensor domain in power sensor signal J / Jacob Babich 2026-07-12 13:43:31 -04:00
  • 9d8b2140dd chore: update lockfile Jacob 2026-07-10 17:40:41 -04:00
  • 0565624599 feat: implement StringLiteral macro J / Jacob Babich 2026-07-09 22:20:24 -04:00
  • d6ad9972c7 fix: remove dbg! usages in the proc macros J / Jacob Babich 2026-07-09 01:39:56 -04:00
  • 9a9cefee37 feat: FromPyFromStr and ToStrToPy macros YAY J / Jacob Babich 2026-07-09 01:35:49 -04:00
  • c637ad2d76 chore: initial draft of proc macros Jacob 2026-07-08 17:30:52 -04:00
  • 8e43ff75a5 fix(home-assistant): propagate set_item errors in NotifyMobileAppServiceData's IntoPyObject implementation Jacob 2026-07-08 17:01:28 -04:00
  • cebf7dd93b chore(protocol): rename invert to inverted Jacob 2026-07-08 16:58:03 -04:00
  • 89404a56e0 feat(entrypoint): try using the do not disturb command Jacob 2026-07-08 16:49:37 -04:00
  • 9e7e5cdcc8 fix: make some types of mobile app notifications work Jacob 2026-07-08 16:49:21 -04:00
  • 09d9dcbfe8 feat: command do not disturb Jacob 2026-07-08 14:38:17 -04:00
  • 22c5009d95 feat: impl TryFrom<String> for NonSpecialMessage that avoids cloning Jacob 2026-07-08 14:28:01 -04:00
  • 239ae331cd feat: early stage of bathroom light automation Jacob 2026-07-08 14:14:22 -04:00
  • a1e27181a8 chore: add futures as a dependency Jacob 2026-07-08 14:13:43 -04:00
  • a96dce2771 chore: format Jacob 2026-07-08 14:11:22 -04:00
  • e42397e072 feat(driver-kasa): support color temperature Jacob 2026-07-08 14:10:50 -04:00
  • fde59d05ab chore: upgrade various dependencies and lockfile Jacob 2026-01-07 02:15:18 -05:00
  • 48f29ea7d6 chore+feat(python-utils): update to pyo3 0.27, introduce helpers like FromPyObjectViaParse and IntoPyObjectViaDisplay before I make macros that can complement or replace them Jacob 2026-01-07 02:14:58 -05:00
  • eff0ad2bf8 feat(persisted): initial implementation Jacob 2026-01-07 02:14:06 -05:00
  • 2edf095906 feat(entrypoint): try using persistence Jacob 2026-01-07 02:11:59 -05:00
  • 8032699013 chore(home-assistant): update comment about PyFromStrLiteral idea Jacob 2026-01-07 02:11:11 -05:00
  • 5cc30c5371 chore(home-assistant): create stubs where some more types of Home Assistant entities will go Jacob 2026-01-07 02:10:39 -05:00
  • fa36b39e81 chore+feat(home-assistant): update to pyo3 0.27 and update extraction errors, switch out SmolStr for Arc<str>, tighten up light service calls and implement some for notify, start implementing units of measurement like for power Jacob 2026-01-07 02:10:03 -05:00
  • 97aef026b2 chore+feat(emitter-and-signal): slightly update design and errors Jacob 2026-01-07 01:47:05 -05:00
  • 3dbf2eb475 chore(driver-kasa): pub some things to reduce lower visibility warnings Jacob 2026-01-07 01:44:40 -05:00
  • 36bfa89548 chore(arbitrary-value): update to pyo3 0.27 Jacob 2026-01-07 01:19:34 -05:00
  • 10bceb55b8 chore: cargo lock Jacob 2025-05-03 21:08:59 -04:00
  • e219edb64b chore: move some dependencies to the workspace Jacob 2025-05-03 21:08:50 -04:00
  • da321db40b chore: remove unnecessary entries from .gitignore Jacob 2025-05-03 21:08:36 -04:00
  • cff48691ef feat(python-utils): a type that validates as the None Python type Jacob 2025-05-03 21:08:10 -04:00
  • 089e96b99f chore(home-assistant): implement the revised light protocol Jacob 2025-05-03 21:07:08 -04:00
  • 50e9ee43f7 feat(entrypoint): take arguments in preparation for a new persisted crate (featuring a Signal that serializes with postcard to a fjall database) Jacob 2025-05-03 21:05:49 -04:00
  • c0b27dc5f0 chore(emitter-and-signal): ext-trait is moving to a workspace dependency Jacob 2025-05-03 21:04:12 -04:00
  • 277182a93e feat+chore(driver/kasa)!: implement the revised light protocol and reorganize that into its own module file Jacob 2025-05-03 21:03:52 -04:00
  • d6515521a4 chore(protocol)!: clean up traits (including making extension traits pub), trying auto implementing Toggle for GetState and SetState - we'll see how that goes Jacob 2025-05-03 20:57:47 -04:00
  • 472ca50ec0 feat!: overhaul the light protocol (i.e. collection of traits) Jacob 2025-05-02 17:33:21 -04:00
  • e680f10be8 docs: explain licenses of dependencies Jacob 2025-04-22 20:48:06 -04:00
  • de3ab27414 docs: readme and pull request template outlining how to contribute to this project while upholding the Unlicense Jacob 2025-04-22 16:34:12 -04:00
  • c95d2f8d99 chore(home-assistant): no longer depend on chrono-tz Jacob 2025-04-22 01:52:56 -04:00
  • 6e366a9c51 fix(home-assistant); activate arbitrary-value's needed pyo3 feature Jacob 2025-04-22 01:52:36 -04:00
  • d1daa0bc01 chore(entrypoint): no longer depend on chrono and chrono-tz Jacob 2025-04-22 01:51:45 -04:00
  • cc51a262ae chore: Unlicense Jacob 2025-04-22 01:32:41 -04:00
  • 78e4be3fd9 chore: allow the Unlicense Jacob 2025-04-22 01:28:02 -04:00
  • fb0ad50954 chore: allow some licenses Jacob 2025-04-22 01:20:16 -04:00
  • fb8fb38611 chore: init for cargo-deny Jacob 2025-04-22 01:08:36 -04:00
  • 61bb3519ca chore: resolve advisory that backoff is unmaintained Jacob 2025-04-22 01:04:18 -04:00
  • 536743a15d chore: depend on fewer tokio features because the dependencies that need them are declaring them themselves Jacob 2025-04-22 00:49:46 -04:00
  • 2c8ece1168 fix: make the light protocols return a Send future, resolving the warning that async fn in trait definitions is discouraged Jacob 2025-04-22 00:48:48 -04:00
  • 18a0776edb chore: update dependencies Jacob 2025-04-21 21:26:52 -04:00
  • 1ca8acd21e style(arbitrary-value): rearrange dependencies Jacob 2025-04-21 21:26:44 -04:00
  • f8b269b6ce chore: extract python_utils and home-assistant to their own crates Jacob 2025-04-21 21:26:14 -04:00
  • e4fd9844cc chore: Cargo.lock Jacob 2025-04-21 16:43:51 -04:00
  • 54e0997799 chore: remove unnecessary pyproject.toml and usage.py Jacob 2025-04-21 16:43:39 -04:00
  • a97cf73061 chore: extract Emitter and Signal to their own crate Jacob 2025-04-21 16:43:17 -04:00
  • f422888d37 feat: early stage of defining protocols that can be implemented by drivers Jacob 2025-04-21 16:42:54 -04:00
  • f884bc7675 feat: early stages of a TP-Link Kasa driver for our smart lights Jacob 2025-04-21 16:42:14 -04:00
  • 38e89f31f4 chore: convert into a workspace Jacob 2025-04-21 16:41:34 -04:00
  • ea7e9e3c53 chore: extract arbitrary into its own crate arbitrary-value Jacob 2025-04-21 16:40:27 -04:00
  • 325cb60aa1 ci: delete maturin's autogenerated GitHub Actions workflows because I don't want them Jacob 2025-04-02 16:44:21 -04:00
  • ead3c6e4a9 feat: implement IntoPyObject for HomeAssistant Jacob 2025-03-22 16:53:38 -04:00
  • 04f9aa24cf feat: implement IntoPyObject for EntityId Jacob 2025-03-22 16:53:26 -04:00
  • 70dda580ee chore: take Python<'_> as a parameter instead of &Python Jacob 2025-03-22 16:49:45 -04:00
  • 7b2ebc5fe9 feat: initial store implementation Jacob 2025-03-19 20:51:07 -04:00
  • a25079c813 chore: upgrade to pyo3 0.24 now that pyo3-async-runtimes supports it Jacob 2025-03-17 21:49:12 -04:00
  • c127e478b8 feat: tracing to the Home Assistant logger Jacob 2025-03-17 21:48:50 -04:00
  • 2a99e67d7c feat: log the datetime the crate was built to prevent confusion Jacob 2025-03-17 15:47:56 -04:00
  • 530a73d00e chore: enable pyo3's chrono-tz feature (so that datetimes with a dynamic timezone implement IntoPyObject) Jacob 2025-03-15 15:30:48 -04:00
  • 8099e5b8cd feat: HassLogger Jacob 2025-03-15 15:30:03 -04:00
  • 70c2380d0c feat: IntoPyObject implementations for arbitrary types Jacob 2025-03-15 15:29:40 -04:00
  • 25f1554870 fix: allow numbers in object IDs Jacob 2025-03-15 15:00:04 -04:00
  • 28b11316e5 fix: allow numbers in object IDs Jacob 2025-03-13 21:30:17 -04:00
  • 916b53d242 chore: clean up unused imports Jacob 2025-03-13 16:16:44 -04:00
  • 28ad5d7345 feat: static Attributes type Jacob 2025-03-13 16:15:46 -04:00
  • d9960a1650 chore: version 0.2.0 (bumping it makes me feel like I'm making progress) Jacob 2025-03-13 16:02:27 -04:00