DEODOR_FILTER reused AIR_FILTER.entities verbatim, so both capabilities produced identically-keyed entities (air_filter_usage/air_filter_status) despite living at different hrefs. adapter.flatten()'s key derivation has no href component, so a unit reporting both /filter/airdustfilter/vs/0 and /filter/deodorfilter/vs/0 would silently clobber one filter's reading with the other's -- the exact collision AIR_FILTER's own 'air_' prefix was chosen to avoid against WATER_FILTER's filter_usage/filter_status. Gives DEODOR_FILTER its own deodor_filter_usage/deodor_filter_status keys (status still shares the filter_status translation_key, same as AIR_FILTER already does). Updated the winecellar fixture's golden and test, and added deodor_filter_usage to all seven translation catalogs.
26 lines
586 B
JSON
26 lines
586 B
JSON
{
|
|
"state_keys": [
|
|
"alarm_code",
|
|
"auto_door_opener",
|
|
"auto_door_sound_control",
|
|
"auto_door_timer",
|
|
"auto_door_voice_control",
|
|
"cabinet_light_dim",
|
|
"cabinet_light_switch",
|
|
"deodor_filter_status",
|
|
"deodor_filter_usage",
|
|
"door_winecellar_open",
|
|
"energy_kwh",
|
|
"energy_saved_kwh",
|
|
"firmware_update",
|
|
"fridge_sound",
|
|
"power_energy_kwh",
|
|
"power_watts",
|
|
"selfcheck_error",
|
|
"selfcheck_result",
|
|
"selfcheck_status",
|
|
"winecellar_bottom_setpoint",
|
|
"winecellar_pantry_zone_mode",
|
|
"winecellar_top_setpoint"
|
|
]
|
|
} |