core/homeassistant/components/sms/__init__.py

34 lines
920 B
Python
Raw Normal View History

"""The sms component."""
import logging
import gammu # pylint: disable=import-error, no-member
import voluptuous as vol
from homeassistant.const import CONF_DEVICE
from homeassistant.helpers import config_validation as cv
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
CONFIG_SCHEMA = vol.Schema(
{DOMAIN: vol.Schema({vol.Required(CONF_DEVICE): cv.isdevice})},
extra=vol.ALLOW_EXTRA,
)
def setup(hass, config):
"""Configure Gammu state machine."""
conf = config[DOMAIN]
device = conf.get(CONF_DEVICE)
gateway = gammu.StateMachine() # pylint: disable=no-member
try:
gateway.SetConfig(0, dict(Device=device, Connection="at"))
gateway.Init()
except gammu.GSMError as exc: # pylint: disable=no-member
_LOGGER.error("Failed to initialize, error %s", exc)
return False
else:
hass.data[DOMAIN] = gateway
return True