def setup(hass, config): """Setup the Wink component.""" import pywink user_agent = config[DOMAIN][CONF_USER_AGENT] if user_agent: pywink.set_user_agent(user_agent) from pubnub import Pubnub access_token = config[DOMAIN].get(CONF_ACCESS_TOKEN) if access_token: pywink.set_bearer_token(access_token) else: email = config[DOMAIN][CONF_EMAIL] password = config[DOMAIN][CONF_PASSWORD] client_id = config[DOMAIN]['client_id'] client_secret = config[DOMAIN]['client_secret'] pywink.set_wink_credentials(email, password, client_id, client_secret) global SUBSCRIPTION_HANDLER SUBSCRIPTION_HANDLER = Pubnub( 'N/A', pywink.get_subscription_key(), ssl_on=True) SUBSCRIPTION_HANDLER.set_heartbeat(120) # Load components for the devices in Wink that we support for component in WINK_COMPONENTS: discovery.load_platform(hass, component, DOMAIN, {}, config) return True
def setup(hass, config): """Setup the Wink component.""" logger = logging.getLogger(__name__) if not validate_config(config, {DOMAIN: [CONF_ACCESS_TOKEN]}, logger): return False import pywink from pubnub import Pubnub pywink.set_bearer_token(config[DOMAIN][CONF_ACCESS_TOKEN]) global SUBSCRIPTION_HANDLER SUBSCRIPTION_HANDLER = Pubnub("N/A", pywink.get_subscription_key(), ssl_on=True) SUBSCRIPTION_HANDLER.set_heartbeat(120) # Load components for the devices in the Wink that we support for component_name, func_exists in ( ('light', pywink.get_bulbs), ('switch', lambda: pywink.get_switches or pywink.get_sirens or pywink.get_powerstrip_outlets), ('binary_sensor', pywink.get_sensors), ('sensor', lambda: pywink.get_sensors or pywink.get_eggtrays), ('lock', pywink.get_locks), ('rollershutter', pywink.get_shades), ('garage_door', pywink.get_garage_doors)): if func_exists(): discovery.load_platform(hass, component_name, DOMAIN, {}, config) return True
def setup(hass, config): """Setup the Wink component.""" import pywink user_agent = config[DOMAIN][CONF_USER_AGENT] if user_agent: pywink.set_user_agent(user_agent) from pubnub import Pubnub access_token = config[DOMAIN].get(CONF_ACCESS_TOKEN) if access_token: pywink.set_bearer_token(access_token) else: email = config[DOMAIN][CONF_EMAIL] password = config[DOMAIN][CONF_PASSWORD] client_id = config[DOMAIN]['client_id'] client_secret = config[DOMAIN]['client_secret'] pywink.set_wink_credentials(email, password, client_id, client_secret) global SUBSCRIPTION_HANDLER SUBSCRIPTION_HANDLER = Pubnub('N/A', pywink.get_subscription_key(), ssl_on=True) SUBSCRIPTION_HANDLER.set_heartbeat(120) # Load components for the devices in Wink that we support for component in WINK_COMPONENTS: discovery.load_platform(hass, component, DOMAIN, {}, config) return True
def __init__(self, wink): """Initialize the Wink device.""" from pubnub import Pubnub self.wink = wink self._battery = self.wink.battery_level if self.wink.pubnub_channel in CHANNELS: pubnub = Pubnub("N/A", self.wink.pubnub_key, ssl_on=True) pubnub.set_heartbeat(120) pubnub.subscribe(self.wink.pubnub_channel, self._pubnub_update, error=self._pubnub_error) else: CHANNELS.append(self.wink.pubnub_channel) SUBSCRIPTION_HANDLER.subscribe(self.wink.pubnub_channel, self._pubnub_update, error=self._pubnub_error)
def setup(hass, config): """Setup the Wink component.""" import pywink user_agent = config[DOMAIN][CONF_USER_AGENT] if user_agent: pywink.set_user_agent(user_agent) from pubnub import Pubnub access_token = config[DOMAIN].get(CONF_ACCESS_TOKEN) if access_token: pywink.set_bearer_token(access_token) else: email = config[DOMAIN][CONF_EMAIL] password = config[DOMAIN][CONF_PASSWORD] client_id = config[DOMAIN]['client_id'] client_secret = config[DOMAIN]['client_secret'] pywink.set_wink_credentials(email, password, client_id, client_secret) global SUBSCRIPTION_HANDLER SUBSCRIPTION_HANDLER = Pubnub( 'N/A', pywink.get_subscription_key(), ssl_on=True) SUBSCRIPTION_HANDLER.set_heartbeat(120) # Load components for the devices in Wink that we support for component_name, func_exists in ( ('light', pywink.get_bulbs), ('switch', lambda: pywink.get_switches or pywink.get_sirens or pywink.get_powerstrip_outlets), ('binary_sensor', pywink.get_sensors), ('sensor', lambda: pywink.get_sensors or pywink.get_eggtrays), ('lock', pywink.get_locks), ('cover', pywink.get_shades), ('cover', pywink.get_garage_doors)): if func_exists(): discovery.load_platform(hass, component_name, DOMAIN, {}, config) return True