Fix proximity zone handling (#102971)

* fix proximity zone

* fix test
This commit is contained in:
Michael 2023-10-29 03:32:42 +01:00 committed by GitHub
parent 4599b788b4
commit 6202f178af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 8 deletions

View File

@ -70,22 +70,22 @@ def async_setup_proximity_component(
ignored_zones: list[str] = config[CONF_IGNORED_ZONES]
proximity_devices: list[str] = config[CONF_DEVICES]
tolerance: int = config[CONF_TOLERANCE]
proximity_zone = name
proximity_zone = config[CONF_ZONE]
unit_of_measurement: str = config.get(
CONF_UNIT_OF_MEASUREMENT, hass.config.units.length_unit
)
zone_id = f"zone.{config[CONF_ZONE]}"
zone_friendly_name = name
proximity = Proximity(
hass,
proximity_zone,
zone_friendly_name,
DEFAULT_DIST_TO_ZONE,
DEFAULT_DIR_OF_TRAVEL,
DEFAULT_NEAREST,
ignored_zones,
proximity_devices,
tolerance,
zone_id,
proximity_zone,
unit_of_measurement,
)
proximity.entity_id = f"{DOMAIN}.{proximity_zone}"
@ -171,7 +171,7 @@ class Proximity(Entity):
devices_to_calculate = False
devices_in_zone = ""
zone_state = self.hass.states.get(self.proximity_zone)
zone_state = self.hass.states.get(f"zone.{self.proximity_zone}")
proximity_latitude = (
zone_state.attributes.get(ATTR_LATITUDE) if zone_state else None
)
@ -189,7 +189,7 @@ class Proximity(Entity):
devices_to_calculate = True
# Check the location of all devices.
if (device_state.state).lower() == (self.friendly_name).lower():
if (device_state.state).lower() == (self.proximity_zone).lower():
device_friendly = device_state.name
if devices_in_zone != "":
devices_in_zone = f"{devices_in_zone}, "

View File

@ -13,7 +13,11 @@ async def test_proximities(hass: HomeAssistant) -> None:
"devices": ["device_tracker.test1", "device_tracker.test2"],
"tolerance": "1",
},
"work": {"devices": ["device_tracker.test1"], "tolerance": "1"},
"work": {
"devices": ["device_tracker.test1"],
"tolerance": "1",
"zone": "work",
},
}
}
@ -42,7 +46,7 @@ async def test_proximities_setup(hass: HomeAssistant) -> None:
"devices": ["device_tracker.test1", "device_tracker.test2"],
"tolerance": "1",
},
"work": {"tolerance": "1"},
"work": {"tolerance": "1", "zone": "work"},
}
}