Fixed up linting errors
This commit is contained in:
parent
dc8147c46d
commit
42dc973ccc
3 changed files with 105 additions and 90 deletions
|
@ -1,33 +1,36 @@
|
|||
"""
|
||||
Support for Vera sensors.
|
||||
"""
|
||||
Support for Vera sensors.
|
||||
|
||||
Configuration:
|
||||
To use the Vera sensors you will need to add something like the following to your config/configuration.yaml
|
||||
To use the Vera sensors you will need to add something like the following to
|
||||
your config/configuration.yaml
|
||||
|
||||
sensor:
|
||||
platform: vera
|
||||
vera_controller_url: http://YOUR_VERA_IP:3480/
|
||||
device_data:
|
||||
-
|
||||
device_data:
|
||||
-
|
||||
vera_id: 12
|
||||
name: My awesome sensor
|
||||
exclude: true
|
||||
-
|
||||
vera_id: 13
|
||||
name: Another sensor
|
||||
name: Another sensor
|
||||
|
||||
VARIABLES:
|
||||
VARIABLES:
|
||||
|
||||
vera_controller_url
|
||||
*Required
|
||||
This is the base URL of your vera controller including the port number if not running on 80
|
||||
This is the base URL of your vera controller including the port number if not
|
||||
running on 80
|
||||
Example: http://192.168.1.21:3480/
|
||||
|
||||
|
||||
device_data
|
||||
*Optional
|
||||
This contains an array additional device info for your Vera devices. It is not required and if
|
||||
not specified all sensors configured in your Vera controller will be added with default values.
|
||||
This contains an array additional device info for your Vera devices. It is not
|
||||
required and if not specified all sensors configured in your Vera controller
|
||||
will be added with default values.
|
||||
|
||||
|
||||
These are the variables for the device_data array:
|
||||
|
@ -39,44 +42,41 @@ The Vera device id you wish these configuration options to be applied to
|
|||
|
||||
name
|
||||
*Optional
|
||||
This parameter allows you to override the name of your Vera device in the HA interface, if not specified the
|
||||
value configured for the device in your Vera will be used
|
||||
This parameter allows you to override the name of your Vera device in the HA
|
||||
interface, if not specified the value configured for the device in your Vera
|
||||
will be used
|
||||
|
||||
|
||||
exclude
|
||||
*Optional
|
||||
This parameter allows you to exclude the specified device from homeassistant, it should be set to "true" if
|
||||
you want this device excluded
|
||||
|
||||
|
||||
This parameter allows you to exclude the specified device from homeassistant,
|
||||
it should be set to "true" if you want this device excluded
|
||||
|
||||
"""
|
||||
import logging
|
||||
import requests
|
||||
import time
|
||||
import json
|
||||
|
||||
from homeassistant.helpers import Device
|
||||
# pylint: disable=no-name-in-module, import-error
|
||||
import homeassistant.external.vera.vera as veraApi
|
||||
from homeassistant.const import (STATE_OPEN, STATE_CLOSED, ATTR_FRIENDLY_NAME)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
vera_controller = None
|
||||
vera_sensors = []
|
||||
|
||||
# pylint: disable=unused-argument
|
||||
def get_devices(hass, config):
|
||||
""" Find and return Vera Sensors. """
|
||||
try:
|
||||
base_url = config.get('vera_controller_url')
|
||||
if not base_url:
|
||||
_LOGGER.error("The required parameter 'vera_controller_url' was not found in config")
|
||||
_LOGGER.error("The required parameter 'vera_controller_url'"
|
||||
" was not found in config")
|
||||
return False
|
||||
|
||||
device_data = config.get('device_data', None)
|
||||
|
||||
vera_controller = veraApi.VeraController(base_url)
|
||||
devices = vera_controller.get_devices(['Temperature Sensor', 'Light Sensor', 'Sensor'])
|
||||
categories = ['Temperature Sensor', 'Light Sensor', 'Sensor']
|
||||
devices = vera_controller.get_devices(categories)
|
||||
|
||||
vera_sensors = []
|
||||
for device in devices:
|
||||
|
@ -85,18 +85,20 @@ def get_devices(hass, config):
|
|||
if extra_data:
|
||||
exclude = extra_data.get('exclude', False)
|
||||
|
||||
if exclude is not True:
|
||||
if exclude is not True:
|
||||
vera_sensors.append(VeraSensor(device, extra_data))
|
||||
|
||||
# pylint: disable=broad-except
|
||||
except Exception as inst:
|
||||
_LOGGER.error("Could not find Vera sensors: %s", inst)
|
||||
|
||||
return vera_sensors
|
||||
|
||||
def setup_platform(hass, config, add_devices, discovery_info=None):
|
||||
""" Performs setup for Vera controller devices """
|
||||
add_devices(get_devices(hass, config))
|
||||
|
||||
def get_extra_device_data(device_data, device_id):
|
||||
""" Gets the additional configuration data by Vera device Id """
|
||||
if not device_data:
|
||||
return None
|
||||
|
||||
|
@ -113,18 +115,15 @@ class VeraSensor(Device):
|
|||
|
||||
def __init__(self, vera_device, extra_data=None):
|
||||
self.vera_device = vera_device
|
||||
self.extra_data = extra_data
|
||||
self.extra_data = extra_data
|
||||
|
||||
def __str__(self):
|
||||
return "%s %s %s" % (self.name(), self.deviceId(), self.state())
|
||||
return "%s %s %s" % (self.name, self.vera_device.deviceId, self.state)
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
return self.current_value
|
||||
|
||||
def updateState(self):
|
||||
return self.state()
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
""" Get the mame of the sensor. """
|
||||
|
@ -144,9 +143,11 @@ class VeraSensor(Device):
|
|||
attr['Armed'] = 'True' if armed == '1' else 'False'
|
||||
|
||||
if self.vera_device.is_trippable:
|
||||
lastTripped = self.vera_device.refresh_value('LastTrip')
|
||||
tripTimeStr = time.strftime("%Y-%m-%d %H:%M", time.localtime(int(lastTripped)))
|
||||
attr['Last Tripped'] = tripTimeStr
|
||||
last_tripped = self.vera_device.refresh_value('LastTrip')
|
||||
trip_time_str = time.strftime("%Y-%m-%d %H:%M",
|
||||
time.localtime(int(last_tripped)))
|
||||
|
||||
attr['Last Tripped'] = trip_time_str
|
||||
|
||||
tripped = self.vera_device.refresh_value('Tripped')
|
||||
attr['Tripped'] = 'True' if tripped == '1' else 'False'
|
||||
|
@ -159,7 +160,10 @@ class VeraSensor(Device):
|
|||
def update(self):
|
||||
if self.vera_device.category == "Temperature Sensor":
|
||||
self.vera_device.refresh_value('CurrentTemperature')
|
||||
self.current_value = self.vera_device.get_value('CurrentTemperature') + '°' + self.vera_device.veraController.temperature_units
|
||||
current_temp = self.vera_device.get_value('CurrentTemperature')
|
||||
vera_temp_units = self.vera_device.veraController.temperature_units
|
||||
self.current_value = current_temp + '°' + vera_temp_units
|
||||
|
||||
elif self.vera_device.category == "Light Sensor":
|
||||
self.vera_device.refresh_value('CurrentLevel')
|
||||
self.current_value = self.vera_device.get_value('CurrentLevel')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue