From c04a6cc639dba4b9fd4164c67101a165c53729eb Mon Sep 17 00:00:00 2001
From: "Jason R. Coombs" <jaraco@jaraco.com>
Date: Mon, 24 Jun 2024 05:37:12 -0400
Subject: [PATCH] Bump jaraco.abode to 5.1.2 (#117363)

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---
 .../components/abode/binary_sensor.py         | 17 ++++----------
 homeassistant/components/abode/camera.py      |  3 +--
 homeassistant/components/abode/cover.py       |  3 +--
 homeassistant/components/abode/light.py       |  3 +--
 homeassistant/components/abode/lock.py        |  3 +--
 homeassistant/components/abode/manifest.json  |  2 +-
 homeassistant/components/abode/sensor.py      | 23 ++++++-------------
 homeassistant/components/abode/switch.py      |  5 ++--
 requirements_all.txt                          |  5 +---
 requirements_test_all.txt                     |  5 +---
 .../abode/test_alarm_control_panel.py         |  8 +++----
 11 files changed, 24 insertions(+), 53 deletions(-)

diff --git a/homeassistant/components/abode/binary_sensor.py b/homeassistant/components/abode/binary_sensor.py
index 1bccbf61701..0f1372dc8be 100644
--- a/homeassistant/components/abode/binary_sensor.py
+++ b/homeassistant/components/abode/binary_sensor.py
@@ -5,13 +5,6 @@ from __future__ import annotations
 from typing import cast
 
 from jaraco.abode.devices.sensor import BinarySensor
-from jaraco.abode.helpers.constants import (
-    TYPE_CONNECTIVITY,
-    TYPE_MOISTURE,
-    TYPE_MOTION,
-    TYPE_OCCUPANCY,
-    TYPE_OPENING,
-)
 
 from homeassistant.components.binary_sensor import (
     BinarySensorDeviceClass,
@@ -34,11 +27,11 @@ async def async_setup_entry(
     data: AbodeSystem = hass.data[DOMAIN]
 
     device_types = [
-        TYPE_CONNECTIVITY,
-        TYPE_MOISTURE,
-        TYPE_MOTION,
-        TYPE_OCCUPANCY,
-        TYPE_OPENING,
+        "connectivity",
+        "moisture",
+        "motion",
+        "occupancy",
+        "door",
     ]
 
     async_add_entities(
diff --git a/homeassistant/components/abode/camera.py b/homeassistant/components/abode/camera.py
index 57fcbf1fca4..58107f16462 100644
--- a/homeassistant/components/abode/camera.py
+++ b/homeassistant/components/abode/camera.py
@@ -8,7 +8,6 @@ from typing import Any, cast
 from jaraco.abode.devices.base import Device
 from jaraco.abode.devices.camera import Camera as AbodeCam
 from jaraco.abode.helpers import timeline
-from jaraco.abode.helpers.constants import TYPE_CAMERA
 import requests
 from requests.models import Response
 
@@ -34,7 +33,7 @@ async def async_setup_entry(
 
     async_add_entities(
         AbodeCamera(data, device, timeline.CAPTURE_IMAGE)
-        for device in data.abode.get_devices(generic_type=TYPE_CAMERA)
+        for device in data.abode.get_devices(generic_type="camera")
     )
 
 
diff --git a/homeassistant/components/abode/cover.py b/homeassistant/components/abode/cover.py
index 96270cfd966..b5b1e878b96 100644
--- a/homeassistant/components/abode/cover.py
+++ b/homeassistant/components/abode/cover.py
@@ -3,7 +3,6 @@
 from typing import Any
 
 from jaraco.abode.devices.cover import Cover
-from jaraco.abode.helpers.constants import TYPE_COVER
 
 from homeassistant.components.cover import CoverEntity
 from homeassistant.config_entries import ConfigEntry
@@ -23,7 +22,7 @@ async def async_setup_entry(
 
     async_add_entities(
         AbodeCover(data, device)
-        for device in data.abode.get_devices(generic_type=TYPE_COVER)
+        for device in data.abode.get_devices(generic_type="cover")
     )
 
 
diff --git a/homeassistant/components/abode/light.py b/homeassistant/components/abode/light.py
index 83f00e417ad..d69aad80875 100644
--- a/homeassistant/components/abode/light.py
+++ b/homeassistant/components/abode/light.py
@@ -6,7 +6,6 @@ from math import ceil
 from typing import Any
 
 from jaraco.abode.devices.light import Light
-from jaraco.abode.helpers.constants import TYPE_LIGHT
 
 from homeassistant.components.light import (
     ATTR_BRIGHTNESS,
@@ -36,7 +35,7 @@ async def async_setup_entry(
 
     async_add_entities(
         AbodeLight(data, device)
-        for device in data.abode.get_devices(generic_type=TYPE_LIGHT)
+        for device in data.abode.get_devices(generic_type="light")
     )
 
 
diff --git a/homeassistant/components/abode/lock.py b/homeassistant/components/abode/lock.py
index 3a65fa4d6dc..ceff263e6b5 100644
--- a/homeassistant/components/abode/lock.py
+++ b/homeassistant/components/abode/lock.py
@@ -3,7 +3,6 @@
 from typing import Any
 
 from jaraco.abode.devices.lock import Lock
-from jaraco.abode.helpers.constants import TYPE_LOCK
 
 from homeassistant.components.lock import LockEntity
 from homeassistant.config_entries import ConfigEntry
@@ -23,7 +22,7 @@ async def async_setup_entry(
 
     async_add_entities(
         AbodeLock(data, device)
-        for device in data.abode.get_devices(generic_type=TYPE_LOCK)
+        for device in data.abode.get_devices(generic_type="lock")
     )
 
 
diff --git a/homeassistant/components/abode/manifest.json b/homeassistant/components/abode/manifest.json
index c7d51c7ea1f..de1000319f1 100644
--- a/homeassistant/components/abode/manifest.json
+++ b/homeassistant/components/abode/manifest.json
@@ -9,5 +9,5 @@
   },
   "iot_class": "cloud_push",
   "loggers": ["jaraco.abode", "lomond"],
-  "requirements": ["jaraco.abode==3.3.0", "jaraco.functools==3.9.0"]
+  "requirements": ["jaraco.abode==5.1.2"]
 }
diff --git a/homeassistant/components/abode/sensor.py b/homeassistant/components/abode/sensor.py
index b57b3e77abc..d6a5389029b 100644
--- a/homeassistant/components/abode/sensor.py
+++ b/homeassistant/components/abode/sensor.py
@@ -7,15 +7,6 @@ from dataclasses import dataclass
 from typing import cast
 
 from jaraco.abode.devices.sensor import Sensor
-from jaraco.abode.helpers.constants import (
-    HUMI_STATUS_KEY,
-    LUX_STATUS_KEY,
-    STATUSES_KEY,
-    TEMP_STATUS_KEY,
-    TYPE_SENSOR,
-    UNIT_CELSIUS,
-    UNIT_FAHRENHEIT,
-)
 
 from homeassistant.components.sensor import (
     SensorDeviceClass,
@@ -32,8 +23,8 @@ from .const import DOMAIN
 from .entity import AbodeDevice
 
 ABODE_TEMPERATURE_UNIT_HA_UNIT = {
-    UNIT_FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
-    UNIT_CELSIUS: UnitOfTemperature.CELSIUS,
+    "°F": UnitOfTemperature.FAHRENHEIT,
+    "°C": UnitOfTemperature.CELSIUS,
 }
 
 
@@ -47,7 +38,7 @@ class AbodeSensorDescription(SensorEntityDescription):
 
 SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
     AbodeSensorDescription(
-        key=TEMP_STATUS_KEY,
+        key="temperature",
         device_class=SensorDeviceClass.TEMPERATURE,
         native_unit_of_measurement_fn=lambda device: ABODE_TEMPERATURE_UNIT_HA_UNIT[
             device.temp_unit
@@ -55,13 +46,13 @@ SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
         value_fn=lambda device: cast(float, device.temp),
     ),
     AbodeSensorDescription(
-        key=HUMI_STATUS_KEY,
+        key="humidity",
         device_class=SensorDeviceClass.HUMIDITY,
         native_unit_of_measurement_fn=lambda _: PERCENTAGE,
         value_fn=lambda device: cast(float, device.humidity),
     ),
     AbodeSensorDescription(
-        key=LUX_STATUS_KEY,
+        key="lux",
         device_class=SensorDeviceClass.ILLUMINANCE,
         native_unit_of_measurement_fn=lambda _: LIGHT_LUX,
         value_fn=lambda device: cast(float, device.lux),
@@ -78,8 +69,8 @@ async def async_setup_entry(
     async_add_entities(
         AbodeSensor(data, device, description)
         for description in SENSOR_TYPES
-        for device in data.abode.get_devices(generic_type=TYPE_SENSOR)
-        if description.key in device.get_value(STATUSES_KEY)
+        for device in data.abode.get_devices(generic_type="sensor")
+        if description.key in device.get_value("statuses")
     )
 
 
diff --git a/homeassistant/components/abode/switch.py b/homeassistant/components/abode/switch.py
index 64eb3529aab..7dad750c8d5 100644
--- a/homeassistant/components/abode/switch.py
+++ b/homeassistant/components/abode/switch.py
@@ -5,7 +5,6 @@ from __future__ import annotations
 from typing import Any, cast
 
 from jaraco.abode.devices.switch import Switch
-from jaraco.abode.helpers.constants import TYPE_SWITCH, TYPE_VALVE
 
 from homeassistant.components.switch import SwitchEntity
 from homeassistant.config_entries import ConfigEntry
@@ -17,7 +16,7 @@ from . import AbodeSystem
 from .const import DOMAIN
 from .entity import AbodeAutomation, AbodeDevice
 
-DEVICE_TYPES = [TYPE_SWITCH, TYPE_VALVE]
+DEVICE_TYPES = ["switch", "valve"]
 
 
 async def async_setup_entry(
@@ -89,4 +88,4 @@ class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
     @property
     def is_on(self) -> bool:
         """Return True if the automation is enabled."""
-        return bool(self._automation.is_enabled)
+        return bool(self._automation.enabled)
diff --git a/requirements_all.txt b/requirements_all.txt
index 52b887723fe..45b56edecbf 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -1182,10 +1182,7 @@ isal==1.6.1
 ismartgate==5.0.1
 
 # homeassistant.components.abode
-jaraco.abode==3.3.0
-
-# homeassistant.components.abode
-jaraco.functools==3.9.0
+jaraco.abode==5.1.2
 
 # homeassistant.components.jellyfin
 jellyfin-apiclient-python==1.9.2
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index 88caa904094..8feebec2ef1 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -969,10 +969,7 @@ isal==1.6.1
 ismartgate==5.0.1
 
 # homeassistant.components.abode
-jaraco.abode==3.3.0
-
-# homeassistant.components.abode
-jaraco.functools==3.9.0
+jaraco.abode==5.1.2
 
 # homeassistant.components.jellyfin
 jellyfin-apiclient-python==1.9.2
diff --git a/tests/components/abode/test_alarm_control_panel.py b/tests/components/abode/test_alarm_control_panel.py
index 428e2791ee2..51e0ee46838 100644
--- a/tests/components/abode/test_alarm_control_panel.py
+++ b/tests/components/abode/test_alarm_control_panel.py
@@ -2,8 +2,6 @@
 
 from unittest.mock import PropertyMock, patch
 
-from jaraco.abode.helpers import constants as CONST
-
 from homeassistant.components.abode import ATTR_DEVICE_ID
 from homeassistant.components.alarm_control_panel import DOMAIN as ALARM_DOMAIN
 from homeassistant.const import (
@@ -70,7 +68,7 @@ async def test_set_alarm_away(hass: HomeAssistant) -> None:
             "jaraco.abode.devices.alarm.Alarm.mode",
             new_callable=PropertyMock,
         ) as mock_mode:
-            mock_mode.return_value = CONST.MODE_AWAY
+            mock_mode.return_value = "away"
 
             update_callback = mock_callback.call_args[0][1]
             await hass.async_add_executor_job(update_callback, "area_1")
@@ -100,7 +98,7 @@ async def test_set_alarm_home(hass: HomeAssistant) -> None:
         with patch(
             "jaraco.abode.devices.alarm.Alarm.mode", new_callable=PropertyMock
         ) as mock_mode:
-            mock_mode.return_value = CONST.MODE_HOME
+            mock_mode.return_value = "home"
 
             update_callback = mock_callback.call_args[0][1]
             await hass.async_add_executor_job(update_callback, "area_1")
@@ -129,7 +127,7 @@ async def test_set_alarm_standby(hass: HomeAssistant) -> None:
         with patch(
             "jaraco.abode.devices.alarm.Alarm.mode", new_callable=PropertyMock
         ) as mock_mode:
-            mock_mode.return_value = CONST.MODE_STANDBY
+            mock_mode.return_value = "standby"
 
             update_callback = mock_callback.call_args[0][1]
             await hass.async_add_executor_job(update_callback, "area_1")
-- 
GitLab