Files
heating-mpc-ha/custom_components/heating_mpc/translations/ro.json
T
buzeraandClaude Opus 5.5 46587af8a3 Introduce thermal zones as config subentries
Each temperature sensor used to be its own "room", so a room with two
sensors counted twice and comfort importance was tied to sensors.

zones.py adds Zone: a name, one or more sensors with sensor weights, a
comfort weight, an optional target offset and adjacent zones (made
symmetric). Sensor weights only combine readings; comfort weights only
steer the MPC; neither touches the learned thermal coefficients.

Zones are config subentries (HA's native "Add zone" / edit / delete on
the integration page), with validation that a sensor belongs to one
zone and is not an outdoor source, and a sensor-weight step for
multi-sensor zones. Initial setup still asks for room sensors and
weights and creates one zone per sensor. Configure no longer asks for
rooms or weights.

Config entry version 3. Migrating from 2 turns each room sensor into a
one-sensor zone with its comfort weight and the sensor's entity ID as
the zone key, so learned models, forecast entities (now linked to their
zone, so deleting a zone removes them) and accuracy statistics carry
over. Older versions cannot load a version 3 entry; rolling back needs
the HA backup.

A zone learns only across polls that used the same sensors (a sensor
dropping out shifts the mean by its offset); the new poll outcome
"sensors_changed" reports this. Status renames: input_quality.zones
(per-sensor detail nested), excluded_zones, retired_zone_models; adds
zone_names. Invalid stored comfort weights now fall back to 1.0, so the
invalid_weights status is gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 02:32:11 +02:00

177 lines
9.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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 senzor ales devine o zonă proprie, cu această pondere de confort. Ulterior poți grupa senzorii unei camere într-o singură zonă cu Adaugă zonă sau modificând o zonă."
}
},
"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)",
"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)"
}
}
},
"error": {
"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",
"sensors_changed": "Senzorii zonei s-au schimbat",
"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"
}
}
}
},
"config_subentries": {
"zone": {
"entry_type": "Zonă",
"initiate_flow": {
"user": "Adaugă zonă",
"reconfigure": "Modifică zona"
},
"step": {
"user": {
"title": "Zonă termică",
"description": "O cameră sau o zonă a apartamentului. Ponderile senzorilor combină mai mulți senzori din aceeași cameră; ponderea de confort spune cât de importantă este zona pentru MPC. Niciuna nu modifică proprietățile termice învățate ale zonei.",
"data": {
"name": "Nume",
"sensors": "Senzori de temperatură",
"comfort_weight": "Pondere de confort",
"target_offset": "Abatere de la țintă (°C)",
"neighbors": "Zone învecinate (schimb de căldură)"
},
"data_description": {
"comfort_weight": "Importanța relativă pentru MPC (0,1–10).",
"target_offset": "Se adaugă la temperatura țintă a termostatului pentru această zonă.",
"neighbors": "Zonele cu care această zonă face schimb de căldură, de exemplu printr-un perete sau o ușă deschisă. Coeficientul este învățat doar dacă datele îl susțin."
}
},
"sensor_weights": {
"title": "Ponderile senzorilor",
"description": "Cât contează fiecare senzor în temperatura zonei (0,1–10)."
},
"reconfigure": {
"title": "Zonă termică",
"description": "O cameră sau o zonă a apartamentului. Ponderile senzorilor combină mai mulți senzori din aceeași cameră; ponderea de confort spune cât de importantă este zona pentru MPC. Niciuna nu modifică proprietățile termice învățate ale zonei.",
"data": {
"name": "Nume",
"sensors": "Senzori de temperatură",
"comfort_weight": "Pondere de confort",
"target_offset": "Abatere de la țintă (°C)",
"neighbors": "Zone învecinate (schimb de căldură)"
},
"data_description": {
"comfort_weight": "Importanța relativă pentru MPC (0,1–10).",
"target_offset": "Se adaugă la temperatura țintă a termostatului pentru această zonă.",
"neighbors": "Zonele cu care această zonă face schimb de căldură, de exemplu printr-un perete sau o ușă deschisă. Coeficientul este învățat doar dacă datele îl susțin."
}
}
},
"error": {
"zone_name_required": "Introdu un nume.",
"zone_sensors": "Alege între 1 și 6 senzori diferiți.",
"sensor_in_other_zone": "Un senzor ales aparține deja altei zone.",
"sensor_is_weather_source": "Un senzor ales este folosit ca sursă de temperatură exterioară.",
"too_many_zones": "Sunt permise cel mult 12 zone."
},
"abort": {
"reconfigure_successful": "Zona a fost actualizată."
}
}
}
}