* Setup all-linking service * Remove extra line * Remove linefeed and tab escape chars * Add services delete_all_link, load_all_link_database and print_all_link_database * Check if reload is set * Confirm entity is InsteonPLMEntity before attempting to load or print ALDB * Debug load and print ALDB * Debug print aldb * Debug print_aldb * Get entity via platform * Track Insteon entities in component * Store entity list in hass.data * Add entity to hass.data * Add ref to hass in InsteonPLMEntity * Pass hass correctly to InsteonPLMBinarySensor * Fix reference to ALDBStatus.PARTIAL * Print ALDB record as string * Get ALDB record from memory address * Reformat ALDB log output * Add print_im_aldb service * Remove reference to self in print_aldb_to_log * Remove reference to self in print_aldb_to_log * Fix spelling issue with load_all_link_database service * Bump insteonplm to 0.9.1 * Changes from code review * Code review changes * Fix syntax error * Correct reference to cv.boolean and update requirements * Update requirements * Fix flake8 errors * Reload as boolean test * Remove hass from entity init
36 lines
1 KiB
Python
36 lines
1 KiB
Python
"""
|
|
Support for INSTEON dimmers via PowerLinc Modem.
|
|
|
|
For more details about this component, please refer to the documentation at
|
|
https://home-assistant.io/components/sensor.insteon_plm/
|
|
"""
|
|
import asyncio
|
|
import logging
|
|
|
|
from homeassistant.components.insteon_plm import InsteonPLMEntity
|
|
from homeassistant.helpers.entity import Entity
|
|
|
|
DEPENDENCIES = ['insteon_plm']
|
|
|
|
_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
@asyncio.coroutine
|
|
def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
|
|
"""Set up the INSTEON PLM device class for the hass platform."""
|
|
plm = hass.data['insteon_plm'].get('plm')
|
|
|
|
address = discovery_info['address']
|
|
device = plm.devices[address]
|
|
state_key = discovery_info['state_key']
|
|
|
|
_LOGGER.debug('Adding device %s entity %s to Sensor platform',
|
|
device.address.hex, device.states[state_key].name)
|
|
|
|
new_entity = InsteonPLMSensorDevice(device, state_key)
|
|
|
|
async_add_devices([new_entity])
|
|
|
|
|
|
class InsteonPLMSensorDevice(InsteonPLMEntity, Entity):
|
|
"""A Class for an Insteon device."""
|