During a first test the Status entity only said "learning" for the first half hour (the radiator-lag wait after a restart), and the attributes explaining why were hard to find. Add two sensors: - Learning Progress (%): for the least trained room, the mean of its three readiness requirements (200 samples, 30 ON, 30 OFF), each capped at 100 %; 100 % means ready. Attributes show the counts. - Last Sample: an enum of the last poll's learning outcome, with English and Romanian state names (e.g. "Waiting for radiators to settle"). Its history shows when learning happens. Polls blocked by missing shared inputs now report waiting_for_inputs. Readiness thresholds move to const.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
125 lines
7.0 KiB
JSON
125 lines
7.0 KiB
JSON
{
|
||
"title": "Heating MPC",
|
||
"config": {
|
||
"step": {
|
||
"user": {
|
||
"title": "Heating MPC — configurare camere",
|
||
"description": "Selectează termostatul, releul de monitorizat și senzorii camerelor. Integrarea NU comandă centrala.",
|
||
"data": {
|
||
"climate_entity": "Termostatul Generic Thermostat existent",
|
||
"heater_entity": "Releul fizic (numai citire)",
|
||
"room_entities": "Senzorii individuali din camere",
|
||
"room_max_age_minutes": "Vârsta maximă a raportării senzorilor interiori (minute)",
|
||
"weather_max_age_minutes": "Vârsta maximă a raportării senzorilor meteo (minute)",
|
||
"room_stale_use_last_value": "Folosește în continuare ultima valoare a unui senzor de cameră care nu mai raportează"
|
||
},
|
||
"data_description": {
|
||
"room_stale_use_last_value": "Dezactivat: un senzor de cameră mai vechi decât limita de raportare este ignorat, iar ponderile celorlalte camere sunt recalculate. Activat: ultima lui valoare este folosită în continuare, cel mult 24 de ore fără raportare; pentru senzorii care raportează doar la schimbarea valorii. Senzorii de cameră indisponibili sau invalizi sunt mereu ignorați. Nimic nu se oprește decât dacă nicio cameră nu poate fi folosită."
|
||
}
|
||
},
|
||
"weather": {
|
||
"title": "Surse meteo principale",
|
||
"description": "Alege câți senzori dorești pentru fiecare variabilă și ordonează-i după prioritate. Când prima sursă este indisponibilă, integrarea încearcă automat următoarea. Temperatura exterioară este obligatorie; vântul și nebulozitatea sunt acum doar diagnostice.",
|
||
"data": {
|
||
"outside_temperature_sources": "Senzori temperatură exterioară (prioritatea: primul selectat)",
|
||
"outside_wind_sources": "Senzori viteză vânt (opțional)",
|
||
"outside_clouds_sources": "Senzori nebulozitate (opțional)"
|
||
}
|
||
},
|
||
"weather_extra": {
|
||
"title": "Surse meteo suplimentare",
|
||
"description": "Datele suplimentare sunt opționale și doar pentru afișare și comparație în v0.2, nu intră încă în optimizarea MPC.",
|
||
"data": {
|
||
"outside_humidity_sources": "Senzori umiditate exterioară (opțional)",
|
||
"outside_feelslike_sources": "Senzori temperatură resimțită (opțional)",
|
||
"outside_pressure_sources": "Senzori presiune atmosferică (opțional)",
|
||
"outside_visibility_sources": "Senzori vizibilitate (opțional)",
|
||
"outside_rain_sources": "Senzori precipitații ploaie (opțional)",
|
||
"outside_snow_sources": "Senzori precipitații ninsoare (opțional)"
|
||
}
|
||
},
|
||
"weights": {
|
||
"title": "Ponderile camerelor",
|
||
"description": "Fiecare cameră are o pondere de confort între 0,1 și 10; senzorul este indicat în numele câmpului."
|
||
}
|
||
},
|
||
"error": {
|
||
"invalid_rooms": "Selectează 1–12 senzori diferiți.",
|
||
"invalid_weather": "Alege cel puțin un senzor de temperatură exterioară, diferit de senzorii camerelor."
|
||
},
|
||
"abort": {
|
||
"already_configured": "Heating MPC este deja configurat."
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"title": "Configurare Heating MPC",
|
||
"description": "Modifică senzorii, ponderile și optimizatorul. Rămâne activ doar modul de observație.",
|
||
"data": {
|
||
"climate_entity": "Termostatul Generic Thermostat existent",
|
||
"heater_entity": "Releul fizic (numai citire)",
|
||
"room_entities": "Senzorii individuali din camere",
|
||
"horizon_minutes": "Orizontul predicției (minute)",
|
||
"minimum_on_minutes": "Durată minimă ON (minute)",
|
||
"minimum_off_minutes": "Durată minimă OFF (minute)",
|
||
"switching_cost": "Penalizare comutări",
|
||
"heating_cost": "Penalizare durată încălzire",
|
||
"comfort_band": "Toleranță confort (°C)",
|
||
"room_max_age_minutes": "Vârsta maximă a raportării senzorilor interiori (minute)",
|
||
"weather_max_age_minutes": "Vârsta maximă a raportării senzorilor meteo (minute)",
|
||
"room_stale_use_last_value": "Folosește în continuare ultima valoare a unui senzor de cameră care nu mai raportează"
|
||
},
|
||
"data_description": {
|
||
"room_stale_use_last_value": "Dezactivat: un senzor de cameră mai vechi decât limita de raportare este ignorat, iar ponderile celorlalte camere sunt recalculate. Activat: ultima lui valoare este folosită în continuare, cel mult 24 de ore fără raportare; pentru senzorii care raportează doar la schimbarea valorii. Senzorii de cameră indisponibili sau invalizi sunt mereu ignorați. Nimic nu se oprește decât dacă nicio cameră nu poate fi folosită."
|
||
}
|
||
},
|
||
"weather": {
|
||
"title": "Prioritatea surselor meteo",
|
||
"description": "Alege câți senzori dorești pentru fiecare variabilă și ordonează-i după prioritate. Când prima sursă este indisponibilă, integrarea încearcă automat următoarea. Temperatura exterioară este obligatorie; vântul și nebulozitatea sunt acum doar diagnostice.",
|
||
"data": {
|
||
"outside_temperature_sources": "Senzori temperatură exterioară (prioritatea: primul selectat)",
|
||
"outside_wind_sources": "Senzori viteză vânt (opțional)",
|
||
"outside_clouds_sources": "Senzori nebulozitate (opțional)"
|
||
}
|
||
},
|
||
"weather_extra": {
|
||
"title": "Senzori meteo suplimentari",
|
||
"description": "Datele suplimentare sunt opționale și doar pentru afișare și comparație în v0.2, nu intră încă în optimizarea MPC.",
|
||
"data": {
|
||
"outside_humidity_sources": "Senzori umiditate exterioară (opțional)",
|
||
"outside_feelslike_sources": "Senzori temperatură resimțită (opțional)",
|
||
"outside_pressure_sources": "Senzori presiune atmosferică (opțional)",
|
||
"outside_visibility_sources": "Senzori vizibilitate (opțional)",
|
||
"outside_rain_sources": "Senzori precipitații ploaie (opțional)",
|
||
"outside_snow_sources": "Senzori precipitații ninsoare (opțional)"
|
||
}
|
||
},
|
||
"weights": {
|
||
"title": "Ponderi pentru camere",
|
||
"description": "Ponderile afectează importanța confortului, nu coeficienții fizici."
|
||
}
|
||
},
|
||
"error": {
|
||
"invalid_rooms": "Selectează 1–12 senzori diferiți.",
|
||
"invalid_weather": "Alege cel puțin un senzor de temperatură exterioară, diferit de senzorii camerelor."
|
||
}
|
||
},
|
||
"entity": {
|
||
"sensor": {
|
||
"last_sample": {
|
||
"state": {
|
||
"waiting_for_inputs": "Așteaptă datele de intrare",
|
||
"first_sample": "Prima măsurătoare",
|
||
"learned": "Învățat",
|
||
"partly_rejected": "Respins parțial (valoare aberantă)",
|
||
"interval_out_of_range": "Interval neregulat",
|
||
"relay_changed": "Releul a comutat",
|
||
"outside_source_changed": "Sursa exterioară s-a schimbat",
|
||
"lag_uncertain": "Așteaptă stabilizarea caloriferelor"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|