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

This commit is contained in:
2026-01-07 02:10:03 -05:00
parent 97aef026b2
commit fa36b39e81
35 changed files with 1255 additions and 259 deletions

View File

@@ -3,13 +3,12 @@ use std::str::FromStr;
use pyo3::IntoPyObject;
use crate::{
entity_id::EntityId,
service::{service_domain::ServiceDomain, service_id::ServiceId, IntoServiceCall},
domain::Domain, entity_id::EntityId, object_id::ObjectId, service::{IntoServiceCall, service_domain::ServiceDomain, service_id::ServiceId}
};
#[derive(Debug, Clone)]
pub struct TurnOn {
pub entity_id: EntityId,
pub object_id: ObjectId,
}
#[derive(Debug, Clone, IntoPyObject)]
@@ -24,7 +23,9 @@ impl IntoServiceCall for TurnOn {
let service_domain = ServiceDomain::from_str("light").expect("statically written and known to be a valid slug; hoping to get compiler checks instead in the future");
let service_id = ServiceId::from_str("turn_on").expect("statically written and known to be a valid slug; hoping to get compiler checks instead in the future");
let Self { entity_id } = self;
let Self { object_id } = self;
let entity_id = EntityId(Domain::Light, object_id);
let service_data = TurnOnServiceData { entity_id };
(service_domain, service_id, service_data)