diff --git a/homeassistant/components/abode/binary_sensor.py b/homeassistant/components/abode/binary_sensor.py
index 1bccbf61701f5a95d6a123bd04b5f44039084596..0f1372dc8bec309bef13f4a5e7dbef7fadc596de 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 57fcbf1fca45f764d2fdff132afa11c2b7e64082..58107f16462fe8359e6a9d3bb98cbcc1643c36cb 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 96270cfd9668455251421926648cd0a46aa73aa3..b5b1e878b9619664cdd098b75931aa7434a53a6e 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 83f00e417ad0ea6d0a794e6f001eb0a049bceefb..d69aad80875e187c706f3d130e51e60c0192bd9e 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 3a65fa4d6dcce462f17e30d3130533992b4353ad..ceff263e6b5b3b7e5c5eefca8f6301650168a5a2 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 c7d51c7ea1f51cc7620cfffe9574da912de34c30..de1000319f1628e16e2ccfa468e7fb3044da5c6e 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 b57b3e77abc313fb6ff9fb773d2dfb1d9360a47b..d6a5389029b3eb6ceb4bf79f6782ac6fd926a30e 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 64eb3529aabc3d76a57229ba44c0f21db1bf18d1..7dad750c8d5ad76d4776fcd933955f5b14958478 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 52b887723fe14b1951f9ad7001904ffc31dc5018..45b56edecbf7e5e5a71cc2d2d0229fc74f077b91 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 88caa904094797d162cac9748e75666eab5bcc78..8feebec2ef10fc674d6daa3b9911b2a3d1e6d0df 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 428e2791ee276ed2382206964522ef4afb3adeb6..51e0ee46838cdd2f30374950992737abbe4c3fde 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")