Merge pull request #14728 from home-assistant/reinstate-simplepush

Revert "Remove simplepush.io (#14358)"
This commit is contained in:
Paulus Schoutsen 2018-05-31 18:09:50 -04:00 committed by GitHub
commit f8c8900297
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 63 additions and 0 deletions

View file

@ -547,6 +547,7 @@ omit =
homeassistant/components/notify/rest.py
homeassistant/components/notify/rocketchat.py
homeassistant/components/notify/sendgrid.py
homeassistant/components/notify/simplepush.py
homeassistant/components/notify/slack.py
homeassistant/components/notify/smtp.py
homeassistant/components/notify/stride.py

View file

@ -0,0 +1,59 @@
"""
Simplepush notification service.
For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/notify.simplepush/
"""
import logging
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.components.notify import (
ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService)
from homeassistant.const import CONF_PASSWORD
REQUIREMENTS = ['simplepush==1.1.4']
_LOGGER = logging.getLogger(__name__)
ATTR_ENCRYPTED = 'encrypted'
CONF_DEVICE_KEY = 'device_key'
CONF_EVENT = 'event'
CONF_SALT = 'salt'
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_DEVICE_KEY): cv.string,
vol.Optional(CONF_EVENT): cv.string,
vol.Inclusive(CONF_PASSWORD, ATTR_ENCRYPTED): cv.string,
vol.Inclusive(CONF_SALT, ATTR_ENCRYPTED): cv.string,
})
def get_service(hass, config, discovery_info=None):
"""Get the Simplepush notification service."""
return SimplePushNotificationService(config)
class SimplePushNotificationService(BaseNotificationService):
"""Implementation of the notification service for Simplepush."""
def __init__(self, config):
"""Initialize the Simplepush notification service."""
self._device_key = config.get(CONF_DEVICE_KEY)
self._event = config.get(CONF_EVENT)
self._password = config.get(CONF_PASSWORD)
self._salt = config.get(CONF_SALT)
def send_message(self, message='', **kwargs):
"""Send a message to a Simplepush user."""
from simplepush import send, send_encrypted
title = kwargs.get(ATTR_TITLE, ATTR_TITLE_DEFAULT)
if self._password:
send_encrypted(self._device_key, self._password, self._salt, title,
message, event=self._event)
else:
send(self._device_key, title, message, event=self._event)

View file

@ -1204,6 +1204,9 @@ sharp_aquos_rc==0.3.2
# homeassistant.components.sensor.shodan
shodan==1.7.7
# homeassistant.components.notify.simplepush
simplepush==1.1.4
# homeassistant.components.alarm_control_panel.simplisafe
simplisafe-python==1.0.5