1 """Support for Wi-Fi enabled iRobot Roombas."""
3 from __future__
import annotations
9 from .
import roomba_reported_state
10 from .braava
import BraavaJet
11 from .const
import DOMAIN
12 from .entity
import IRobotVacuum
13 from .models
import RoombaData
14 from .roomba
import RoombaVacuum, RoombaVacuumCarpetBoost
19 config_entry: ConfigEntry,
20 async_add_entities: AddEntitiesCallback,
22 """Set up the iRobot Roomba vacuum cleaner."""
23 domain_data: RoombaData = hass.data[DOMAIN][config_entry.entry_id]
24 roomba = domain_data.roomba
25 blid = domain_data.blid
29 capabilities = state.get(
"cap", {})
30 cap_carpet_boost = capabilities.get(
"carpetBoost")
31 detected_pad = state.get(
"detectedPad")
32 constructor: type[IRobotVacuum]
33 if detected_pad
is not None:
34 constructor = BraavaJet
35 elif cap_carpet_boost == 1:
36 constructor = RoombaVacuumCarpetBoost
38 constructor = RoombaVacuum
40 roomba_vac = constructor(roomba, blid)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
dict[str, Any] roomba_reported_state(Roomba roomba)