refactor(chartdata): enhance filter requirements for insert_nulls mode
Some checks are pending
Lint / Ruff (push) Waiting to run
Validate / Hassfest validation (push) Waiting to run
Validate / HACS validation (push) Waiting to run

Updated the filter logic to include period_filter alongside level_filter and rating_level_filter for segment definitions. This change ensures that users can utilize period_filter effectively when defining segments.

Impact: Users can now use period_filter in addition to existing filters for more flexible segment definitions.
This commit is contained in:
Julian Pawlowski 2026-04-13 09:45:02 +00:00
parent 71696380a6
commit 9042ea6efb
6 changed files with 7 additions and 7 deletions

View file

@ -399,9 +399,9 @@ async def handle_chartdata(call: ServiceCall) -> dict[str, Any]: # noqa: PLR091
translation_key="level_and_rating_filter_conflict",
)
has_filter = bool(level_filter or rating_level_filter)
has_filter = bool(level_filter or rating_level_filter or period_filter)
# insert_nulls modes "segments"/"all" require a level or rating filter
# insert_nulls modes "segments"/"all" require a level, rating, or period filter
if insert_nulls != "none" and not has_filter:
raise ServiceValidationError(
translation_domain=DOMAIN,

View file

@ -1199,7 +1199,7 @@
"message": "level_filter und rating_level_filter können nicht gleichzeitig verwendet werden. Verwende nur einen Filtertyp pro Anfrage."
},
"insert_nulls_requires_filter": {
"message": "insert_nulls-Modus {mode} erfordert einen level_filter oder rating_level_filter zur Segmentdefinition. Ohne Filter verwende insert_nulls: none."
"message": "insert_nulls-Modus {mode} erfordert einen level_filter, rating_level_filter oder period_filter zur Segmentdefinition. Ohne Filter verwende insert_nulls: none."
},
"connect_segments_requires_segments_mode": {
"message": "connect_segments erfordert, dass insert_nulls auf 'segments' gesetzt ist. Setze insert_nulls: segments, um Segmentverbindung zu nutzen."

View file

@ -1199,7 +1199,7 @@
"message": "level_filter and rating_level_filter cannot be used together. Use only one filter type per request."
},
"insert_nulls_requires_filter": {
"message": "insert_nulls mode {mode} requires a level_filter or rating_level_filter to define segments. Without a filter, use insert_nulls: none."
"message": "insert_nulls mode {mode} requires a level_filter, rating_level_filter, or period_filter to define segments. Without a filter, use insert_nulls: none."
},
"connect_segments_requires_segments_mode": {
"message": "connect_segments requires insert_nulls to be set to 'segments'. Set insert_nulls: segments to use segment connection."

View file

@ -1199,7 +1199,7 @@
"message": "level_filter og rating_level_filter kan ikke brukes sammen. Bruk kun én filtertype per forespørsel."
},
"insert_nulls_requires_filter": {
"message": "insert_nulls-modus {mode} krever en level_filter eller rating_level_filter for å definere segmenter. Uten filter, bruk insert_nulls: none."
"message": "insert_nulls-modus {mode} krever en level_filter, rating_level_filter eller period_filter for å definere segmenter. Uten filter, bruk insert_nulls: none."
},
"connect_segments_requires_segments_mode": {
"message": "connect_segments krever at insert_nulls er satt til 'segments'. Sett insert_nulls: segments for å bruke segmentforbindelse."

View file

@ -1199,7 +1199,7 @@
"message": "level_filter en rating_level_filter kunnen niet samen gebruikt worden. Gebruik slechts één filtertype per verzoek."
},
"insert_nulls_requires_filter": {
"message": "insert_nulls-modus {mode} vereist een level_filter of rating_level_filter om segmenten te definiëren. Zonder filter, gebruik insert_nulls: none."
"message": "insert_nulls-modus {mode} vereist een level_filter, rating_level_filter of period_filter om segmenten te definiëren. Zonder filter, gebruik insert_nulls: none."
},
"connect_segments_requires_segments_mode": {
"message": "connect_segments vereist dat insert_nulls op 'segments' staat. Stel insert_nulls: segments in om segmentverbinding te gebruiken."

View file

@ -1199,7 +1199,7 @@
"message": "level_filter och rating_level_filter kan inte användas tillsammans. Använd bara en filtertyp per begäran."
},
"insert_nulls_requires_filter": {
"message": "insert_nulls-läge {mode} kräver ett level_filter eller rating_level_filter för att definiera segment. Utan filter, använd insert_nulls: none."
"message": "insert_nulls-läge {mode} kräver ett level_filter, rating_level_filter eller period_filter för att definiera segment. Utan filter, använd insert_nulls: none."
},
"connect_segments_requires_segments_mode": {
"message": "connect_segments kräver att insert_nulls är satt till 'segments'. Ställ in insert_nulls: segments för att använda segmentanslutning."