hass-core/homeassistant/components/binary_sensor
David McNett 3beb87c54d New component 'insteon_plm' and related platforms (#6104)
* Connect to PLM and process simple protocol callbacks

* Baseline commit

* Connect to PLM and process simple protocol callbacks

* Baseline commit

* Connection working again

* Async add devices is working via callback now

* Beginning to interface with PLM library for control and state

* Deal with brightness in 255 levels with library

* Change sub names to match API changes

* Remove PLM-level update callback

* Support dimmable based on underlying PLM device attributes

* Expand to non-light platforms

* Stubs for turn on and off

* Current version of Python library

* Amend to use switch device attributes

* Use asyncio endpoints for control

* Add logging line

* Bump module version to 0.7.1

* Auto-load platforms, display device info/attributes

* Unify method name for getting a device attribute

* Require Current version of insteonplm module

* Import the component function in each platform in the balloob-recommend manner

* For consistency, handle switch state as onlevel just like lights

* Use level 0xff for on state, even with binary switches

Observing the behavior of a 2477S switch, it looks like even the non-dimmable
devices use 0x00 and 0xff for off/on respectively.  I was using 0x01 for on
previously, but that yields unnecessary state change callbacks when message
traffic ends up flipping the onlevel from 0xff to 0x01 or 0x01 to 0xff.

* Use sensorstate attribute for sensor onoff

* Move new device callback to devices attribute

* Add support for platform override on a device

* Bump version of insteonplm module

* Default overrides is an empty list

* Avoid calling private methods when doing common attributes

* Remove unused CONF_DEBUG for now

* flake8 and pylint code cleanup

* Move get_component to local function where it is needed

* Update to include insteonplm module.

* New files for insteon_plm component

* Legitimate class doctring instead of stub

* Docstring changes.

* Style changes as requested by @SEJeff

* Changes requested by @pvizeli

* Add @callback decorator to callback functions

* Opportunistic platform loading triggered by qualifying device detection

Instead of loading all the constituent platforms that comprise the insteon_plm
component, instead we defer and wait until we receive a callback for a device
that requires the platform.
2017-02-21 08:53:39 +01:00
..
__init__.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
apcupsd.py Migrate to voluptuous (#2954) 2016-08-30 21:34:33 +02:00
arest.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
aurora.py Add aurora sensor (#6003) 2017-02-17 09:13:52 +01:00
bbb_gpio.py Beaglebone Black binary sensor (#5422) 2017-01-20 12:55:28 -08:00
bloomsky.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
command_line.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
concord232.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
demo.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
digital_ocean.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
ecobee.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
enocean.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
envisalink.py Cleanup some async stuff (#6127) 2017-02-20 13:24:03 -08:00
ffmpeg_motion.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
ffmpeg_noise.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
flic.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
hikvision.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
homematic.py Homematic cleanup & hass best praxis (#6121) 2017-02-20 17:07:33 +01:00
insteon_plm.py New component 'insteon_plm' and related platforms (#6104) 2017-02-21 08:53:39 +01:00
iss.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
isy994.py Isy fixes (#3457) 2016-09-19 20:16:51 -07:00
knx.py Use voluptuous for KNX (#3345) 2016-09-13 23:03:30 -07:00
modbus.py Modbus component refactoring - sensors and switches (#3297) 2016-09-13 22:47:44 +02:00
mqtt.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
mysensors.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
nest.py Move Nest sensors configuration to Nest component (#4983) 2017-01-17 00:12:15 -08:00
netatmo.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
nx584.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
octoprint.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
rest.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
rpi_gpio.py add a small sleep before reading the rpi-gpio sensor (#5446) 2017-01-24 21:35:12 -08:00
sleepiq.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
tcp.py Migrate to voluptuous (#3748) 2016-10-21 21:14:35 -07:00
template.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
threshold.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
trend.py binary_sensor sensor_class to entity device_class (#5860) 2017-02-10 20:46:15 -08:00
vera.py Maintenance 2nd (#4106) 2016-10-30 09:58:34 +01:00
volvooncall.py Updated volvooncall library + support sensors, heater and lock (#6052) 2017-02-18 17:09:25 -08:00
wemo.py Migrate callbacks to use schedule_update_ha_state (#4426) 2016-11-17 07:34:46 -08:00
wink.py Added tamper detection to Wink devices. (#6072) 2017-02-18 23:00:27 -05:00
zigbee.py Migrate to voluptuous (#3234) 2016-09-06 18:28:55 -07:00
zwave.py zwave refactor, don't use ozw values directly in properties. (#5961) 2017-02-17 23:56:05 -08:00