v0.14.10
This commit is contained in:
@@ -176,6 +176,27 @@ async fn read_cycle_room_sensors(
|
||||
.collect()
|
||||
}
|
||||
|
||||
fn home_assistant_sensor_log_message(
|
||||
error: &str,
|
||||
entity_id: Option<&str>,
|
||||
zone_name: &str,
|
||||
) -> String {
|
||||
let entity_id = entity_id.map(str::trim).filter(|value| !value.is_empty());
|
||||
let zone_name = zone_name.trim();
|
||||
let context = match (entity_id, zone_name.is_empty()) {
|
||||
(Some(entity_id), false) => format!("{entity_id}, zone {zone_name}"),
|
||||
(Some(entity_id), true) => entity_id.to_string(),
|
||||
(None, false) => format!("zone {zone_name}"),
|
||||
(None, true) => return error.to_string(),
|
||||
};
|
||||
|
||||
if let Some(detail) = error.strip_prefix("Home Assistant sensor is stale:") {
|
||||
format!("Home Assistant sensor {context} is stale:{detail}")
|
||||
} else {
|
||||
format!("{error} [sensor: {context}]")
|
||||
}
|
||||
}
|
||||
|
||||
fn refresh_zone_temperature(
|
||||
state: &AppState,
|
||||
settings: &RuntimeSettings,
|
||||
@@ -216,12 +237,21 @@ fn refresh_zone_temperature(
|
||||
} else {
|
||||
"ha.sensor_error"
|
||||
};
|
||||
let entity_id = resolved_entity
|
||||
.as_deref()
|
||||
.or(zone.ha_entity_id.as_deref());
|
||||
let message = home_assistant_sensor_log_message(
|
||||
&err,
|
||||
entity_id,
|
||||
&zone.name,
|
||||
);
|
||||
state.log(
|
||||
"warn",
|
||||
kind,
|
||||
&err,
|
||||
&message,
|
||||
json!({
|
||||
"zone_id": zone.id,
|
||||
"zone_name": zone.name,
|
||||
"configured_entity_id": zone.ha_entity_id.as_deref(),
|
||||
"resolved_entity_id": resolved_entity,
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user