mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Add support for showing text on Keba EV chargers (#36056)
* Add support for showing text on Keba EV chargers * Changed implementation to use the notify interface * Removed stale references to set_text * Clean up Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
parent
d155a67687
commit
eba5b50e58
@ -12,7 +12,7 @@ import homeassistant.helpers.config_validation as cv
|
|||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
DOMAIN = "keba"
|
DOMAIN = "keba"
|
||||||
SUPPORTED_COMPONENTS = ["binary_sensor", "sensor", "lock"]
|
SUPPORTED_COMPONENTS = ["binary_sensor", "sensor", "lock", "notify"]
|
||||||
|
|
||||||
CONF_RFID = "rfid"
|
CONF_RFID = "rfid"
|
||||||
CONF_FS = "failsafe"
|
CONF_FS = "failsafe"
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
"domain": "keba",
|
"domain": "keba",
|
||||||
"name": "Keba Charging Station",
|
"name": "Keba Charging Station",
|
||||||
"documentation": "https://www.home-assistant.io/integrations/keba",
|
"documentation": "https://www.home-assistant.io/integrations/keba",
|
||||||
"requirements": ["keba-kecontact==1.0.0"],
|
"requirements": ["keba-kecontact==1.1.0"],
|
||||||
"codeowners": ["@dannerph"]
|
"codeowners": ["@dannerph"]
|
||||||
}
|
}
|
||||||
|
33
homeassistant/components/keba/notify.py
Normal file
33
homeassistant/components/keba/notify.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
"""Support for Keba notifications."""
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from homeassistant.components.notify import ATTR_DATA, BaseNotificationService
|
||||||
|
|
||||||
|
from . import DOMAIN
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
async def async_get_service(hass, config, discovery_info=None):
|
||||||
|
"""Return the notify service."""
|
||||||
|
|
||||||
|
client = hass.data[DOMAIN]
|
||||||
|
return KebaNotificationService(client)
|
||||||
|
|
||||||
|
|
||||||
|
class KebaNotificationService(BaseNotificationService):
|
||||||
|
"""Notification service for KEBA EV Chargers."""
|
||||||
|
|
||||||
|
def __init__(self, client):
|
||||||
|
"""Initialize the service."""
|
||||||
|
self._client = client
|
||||||
|
|
||||||
|
async def async_send_message(self, message="", **kwargs):
|
||||||
|
"""Send the message."""
|
||||||
|
text = message.replace(" ", "$") # Will be translated back by the display
|
||||||
|
|
||||||
|
data = kwargs[ATTR_DATA] or {}
|
||||||
|
min_time = float(data.get("min_time", 2))
|
||||||
|
max_time = float(data.get("max_time", 10))
|
||||||
|
|
||||||
|
await self._client.set_text(text, min_time, max_time)
|
@ -807,7 +807,7 @@ jsonrpc-websocket==0.6
|
|||||||
kaiterra-async-client==0.0.2
|
kaiterra-async-client==0.0.2
|
||||||
|
|
||||||
# homeassistant.components.keba
|
# homeassistant.components.keba
|
||||||
keba-kecontact==1.0.0
|
keba-kecontact==1.1.0
|
||||||
|
|
||||||
# homeassistant.scripts.keyring
|
# homeassistant.scripts.keyring
|
||||||
keyring==21.2.0
|
keyring==21.2.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user