Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CODEOWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions homeassistant/components/icloud/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"description": "Enter your credentials",
"data": {
"username": "[%key:common::config_flow::data::email%]",
"password": "Main Password (MFA)",
"password": "Main password (MFA)",
"with_family": "With family"
}
},
Expand Down Expand Up @@ -40,7 +40,7 @@
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_account%]",
"no_device": "None of your devices have \"Find my iPhone\" activated",
"no_device": "None of your devices have \"Find My\" activated",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
}
},
Expand Down
34 changes: 16 additions & 18 deletions homeassistant/components/matter/climate.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,24 +296,22 @@ def _update_from_device(self) -> None:
if running_state_value := self.get_matter_attribute_value(
clusters.Thermostat.Attributes.ThermostatRunningState
):
match running_state_value:
case (
ThermostatRunningState.Heat | ThermostatRunningState.HeatStage2
):
self._attr_hvac_action = HVACAction.HEATING
case (
ThermostatRunningState.Cool | ThermostatRunningState.CoolStage2
):
self._attr_hvac_action = HVACAction.COOLING
case (
ThermostatRunningState.Fan
| ThermostatRunningState.FanStage2
| ThermostatRunningState.FanStage3
):
self._attr_hvac_action = HVACAction.FAN
case _:
self._attr_hvac_action = HVACAction.OFF

if running_state_value & (
ThermostatRunningState.Heat | ThermostatRunningState.HeatStage2
):
self._attr_hvac_action = HVACAction.HEATING
elif running_state_value & (
ThermostatRunningState.Cool | ThermostatRunningState.CoolStage2
):
self._attr_hvac_action = HVACAction.COOLING
elif running_state_value & (
ThermostatRunningState.Fan
| ThermostatRunningState.FanStage2
| ThermostatRunningState.FanStage3
):
self._attr_hvac_action = HVACAction.FAN
else:
self._attr_hvac_action = HVACAction.OFF
# update target temperature high/low
supports_range = (
self._attr_supported_features
Expand Down
5 changes: 5 additions & 0 deletions homeassistant/components/matter/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@
ID_TYPE_SERIAL = "serial"

FEATUREMAP_ATTRIBUTE_ID = 65532

# vacuum entity service actions
SERVICE_GET_AREAS = "get_areas" # get SupportedAreas and SupportedMaps
SERVICE_SELECT_AREAS = "select_areas" # call SelectAreas Matter command
SERVICE_CLEAN_AREAS = "clean_areas" # call SelectAreas Matter command and start RVC
11 changes: 11 additions & 0 deletions homeassistant/components/matter/icons.json
Original file line number Diff line number Diff line change
Expand Up @@ -150,5 +150,16 @@
"default": "mdi:ev-station"
}
}
},
"services": {
"clean_areas": {
"service": "mdi:robot-vacuum"
},
"get_areas": {
"service": "mdi:map"
},
"select_areas": {
"service": "mdi:map"
}
}
}
24 changes: 24 additions & 0 deletions homeassistant/components/matter/services.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Service descriptions for Matter integration

get_areas:
target:
entity:
domain: vacuum

select_areas:
target:
entity:
domain: vacuum
fields:
areas:
required: true
example: [1, 3]

clean_areas:
target:
entity:
domain: vacuum
fields:
areas:
required: true
example: [1, 3]
24 changes: 24 additions & 0 deletions homeassistant/components/matter/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,30 @@
"description": "The Matter device to add to the other Matter network."
}
}
},
"get_areas": {
"name": "Get areas",
"description": "Returns a list of available areas and maps for robot vacuum cleaners."
},
"select_areas": {
"name": "Select areas",
"description": "Selects the specified areas for cleaning. The areas must be specified as a list of area IDs.",
"fields": {
"areas": {
"name": "Areas",
"description": "A list of area IDs to select."
}
}
},
"clean_areas": {
"name": "Clean areas",
"description": "Instructs the Matter vacuum cleaner to clean the specified areas.",
"fields": {
"areas": {
"name": "Areas",
"description": "A list of area IDs to clean."
}
}
}
}
}
Loading
Loading