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:
matlimatli 2020-06-03 19:28:02 +02:00 committed by GitHub
parent d155a67687
commit eba5b50e58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 3 deletions

View File

@ -12,7 +12,7 @@ import homeassistant.helpers.config_validation as cv
_LOGGER = logging.getLogger(__name__)
DOMAIN = "keba"
SUPPORTED_COMPONENTS = ["binary_sensor", "sensor", "lock"]
SUPPORTED_COMPONENTS = ["binary_sensor", "sensor", "lock", "notify"]
CONF_RFID = "rfid"
CONF_FS = "failsafe"

View File

@ -2,6 +2,6 @@
"domain": "keba",
"name": "Keba Charging Station",
"documentation": "https://www.home-assistant.io/integrations/keba",
"requirements": ["keba-kecontact==1.0.0"],
"requirements": ["keba-kecontact==1.1.0"],
"codeowners": ["@dannerph"]
}

View 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)

View File

@ -807,7 +807,7 @@ jsonrpc-websocket==0.6
kaiterra-async-client==0.0.2
# homeassistant.components.keba
keba-kecontact==1.0.0
keba-kecontact==1.1.0
# homeassistant.scripts.keyring
keyring==21.2.0