core/homeassistant/components/rainbird.py

48 lines
1.2 KiB
Python
Raw Normal View History

"""
Support for Rain Bird Irrigation system LNK WiFi Module.
For more details about this component, please refer to the documentation at
https://home-assistant.io/components/rainbird/
"""
import logging
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.const import (CONF_HOST, CONF_PASSWORD)
2018-05-25 04:39:41 +00:00
REQUIREMENTS = ['pyrainbird==0.1.6']
_LOGGER = logging.getLogger(__name__)
DATA_RAINBIRD = 'rainbird'
DOMAIN = 'rainbird'
CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema({
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
}),
}, extra=vol.ALLOW_EXTRA)
def setup(hass, config):
"""Set up the Rain Bird component."""
conf = config[DOMAIN]
server = conf.get(CONF_HOST)
password = conf.get(CONF_PASSWORD)
from pyrainbird import RainbirdController
controller = RainbirdController()
controller.setConfig(server, password)
_LOGGER.debug("Rain Bird Controller set to: %s", server)
initial_status = controller.currentIrrigation()
if initial_status == -1:
_LOGGER.error("Error getting state. Possible configuration issues")
return False
hass.data[DATA_RAINBIRD] = controller
return True