A single stale, unavailable, missing or invalid room sensor paused learning and forecasts for every room. That is not acceptable once the MPC may control heating. Now such a room is left out: the weighted temperature, learning and the optimizer use the remaining rooms with their weights re-normalized, and a room learns only across poll pairs where it was usable at both ends. Readiness considers only the rooms used. Everything pauses only when no room is usable or a shared input (relay, thermostat, outdoor temperature) is missing. A new setup/Configure checkbox, room_stale_use_last_value (default off), keeps using a stale room sensor's last value instead, for sensors that report only on change. It never applies to unavailable or invalid sensors, or to a sensor silent for more than 24 hours. Status adds excluded_rooms, weight_coverage and a per-room "used" flag. English and Romanian labels and help text added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
109 lines
5.9 KiB
JSON
109 lines
5.9 KiB
JSON
{
|
||
"title": "Heating MPC",
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "Heating MPC — room inputs",
|
||
"description": "Choose thermostat, read-only relay and room sensors. This integration NEVER commands the heater.",
|
||
"data": {
|
||
"climate_entity": "Existing Generic Thermostat",
|
||
"heater_entity": "Physical heating switch (read-only)",
|
||
"room_entities": "Individual room temperature sensors",
|
||
"room_max_age_minutes": "Maximum room sensor report age (minutes)",
|
||
"weather_max_age_minutes": "Maximum weather sensor report age (minutes)",
|
||
"room_stale_use_last_value": "Keep using the last value of a room sensor that stopped reporting"
|
||
},
|
||
"data_description": {
|
||
"room_stale_use_last_value": "Off: a room sensor older than its report-age limit is left out and the other rooms are re-weighted. On: its last value is still used, for up to 24 hours without a report; for sensors that report only when the value changes. Unavailable or invalid room sensors are always left out. Nothing pauses unless no room is usable."
|
||
}
|
||
},
|
||
"weather": {
|
||
"title": "Primary weather sources",
|
||
"description": "Choose as many sensors per metric as needed and arrange them in priority order. If the preferred source is unavailable, the next one is used automatically. Outdoor temperature is mandatory; wind and cloud coverage are diagnostic-only in this version.",
|
||
"data": {
|
||
"outside_temperature_sources": "Outdoor temperature sources (ordered: preferred first)",
|
||
"outside_wind_sources": "Wind speed sources (optional)",
|
||
"outside_clouds_sources": "Cloud coverage sources (optional)"
|
||
}
|
||
},
|
||
"weather_extra": {
|
||
"title": "Additional weather sources",
|
||
"description": "Additional weather inputs are optional and used only for comparison/diagnostics in v0.2; they do not yet change MPC predictions.",
|
||
"data": {
|
||
"outside_humidity_sources": "Outdoor humidity sources (optional)",
|
||
"outside_feelslike_sources": "Feels-like temperature sources (optional)",
|
||
"outside_pressure_sources": "Atmospheric pressure sources (optional)",
|
||
"outside_visibility_sources": "Visibility sources (optional)",
|
||
"outside_rain_sources": "Rain sources (optional)",
|
||
"outside_snow_sources": "Snow sources (optional)"
|
||
}
|
||
},
|
||
"weights": {
|
||
"title": "Room priorities",
|
||
"description": "Each room has a relative comfort weight between 0.1 and 10; sensor entity is shown by each field."
|
||
}
|
||
},
|
||
"error": {
|
||
"invalid_rooms": "Select 1–12 distinct room sensors.",
|
||
"invalid_weather": "Select at least one outdoor temperature sensor, distinct from room sensors."
|
||
},
|
||
"abort": {
|
||
"already_configured": "Heating MPC is already configured."
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"title": "Heating MPC options",
|
||
"description": "Change room sensors and controller settings. This integration remains shadow-only.",
|
||
"data": {
|
||
"climate_entity": "Existing Generic Thermostat",
|
||
"heater_entity": "Physical heating switch (read-only)",
|
||
"room_entities": "Individual room temperature sensors",
|
||
"horizon_minutes": "Prediction horizon (minutes)",
|
||
"minimum_on_minutes": "Minimum ON time (minutes)",
|
||
"minimum_off_minutes": "Minimum OFF time (minutes)",
|
||
"switching_cost": "Switching cost",
|
||
"heating_cost": "Heating runtime cost",
|
||
"comfort_band": "Comfort tolerance (°C)",
|
||
"room_max_age_minutes": "Maximum room sensor report age (minutes)",
|
||
"weather_max_age_minutes": "Maximum weather sensor report age (minutes)",
|
||
"room_stale_use_last_value": "Keep using the last value of a room sensor that stopped reporting"
|
||
},
|
||
"data_description": {
|
||
"room_stale_use_last_value": "Off: a room sensor older than its report-age limit is left out and the other rooms are re-weighted. On: its last value is still used, for up to 24 hours without a report; for sensors that report only when the value changes. Unavailable or invalid room sensors are always left out. Nothing pauses unless no room is usable."
|
||
}
|
||
},
|
||
"weather": {
|
||
"title": "Weather source priority",
|
||
"description": "Choose as many sensors per metric as needed and arrange them in priority order. If the preferred source is unavailable, the next one is used automatically. Outdoor temperature is mandatory; wind and cloud coverage are diagnostic-only in this version.",
|
||
"data": {
|
||
"outside_temperature_sources": "Outdoor temperature sources (ordered: preferred first)",
|
||
"outside_wind_sources": "Wind speed sources (optional)",
|
||
"outside_clouds_sources": "Cloud coverage sources (optional)"
|
||
}
|
||
},
|
||
"weather_extra": {
|
||
"title": "Additional weather sensors",
|
||
"description": "Additional weather inputs are optional and used only for comparison/diagnostics in v0.2; they do not yet change MPC predictions.",
|
||
"data": {
|
||
"outside_humidity_sources": "Outdoor humidity sources (optional)",
|
||
"outside_feelslike_sources": "Feels-like temperature sources (optional)",
|
||
"outside_pressure_sources": "Atmospheric pressure sources (optional)",
|
||
"outside_visibility_sources": "Visibility sources (optional)",
|
||
"outside_rain_sources": "Rain sources (optional)",
|
||
"outside_snow_sources": "Snow sources (optional)"
|
||
}
|
||
},
|
||
"weights": {
|
||
"title": "Room priorities",
|
||
"description": "Weights determine relative comfort importance, not physics coefficients."
|
||
}
|
||
},
|
||
"error": {
|
||
"invalid_rooms": "Select 1–12 distinct room sensors.",
|
||
"invalid_weather": "Select at least one outdoor temperature sensor, distinct from room sensors."
|
||
}
|
||
}
|
||
}
|