* Remove SPEED_MED from fan
* Correctly use the oscillation on/off payloads for MQTT fan
* Add set_direction service documentation
* Correct function name for Wink fans
* Check for existence of the correct topic
* Enable set fan speed in emulated_hue
* features -> functions
* Final emulated_hue fan fixes
* Fix linting issues
* Revert to supported features instead of supported functions
* Fix logic
* Add a test for emulated_hue fan support
* Allow automatic removal of all Hue entities from emulated_hue
* Allow disabling of Hue groups
* Only add device state attributes if they need to be there
* Configuration parameters defined
* Edge detection added
* Example configuration added and tipo corrected
* Comments updated, lint update
* Added check for input pull_mode
* Too long line
* trailing white space
* Configuration parameters defined
* Edge detection added
* Example configuration added and tipo corrected
* Comments updated, lint update
* Added check for input pull_mode
* Too long line
* trailing white space
* pylint disable import error
* read_input() changed to return boolean value, according changes in binary sensor
* example configuration in docstring changed to mention direct web link, pylint update
* read_input() updated according review
* cec client object
* cec command structure
* autodetect source
* volume support and native source select
* switch device
* media player device
* detecting of state
* friendly names
* hdmi cec properties
* presence detection
* simplified callbacks
* stable names
* renamed methods
* code cleanup
* name with vendor
* fixed standby call name
* fake standby/poweron
* domain switch
* domain switch
* async updating
* update separated
* cec -> hass event bridge
* fixed name generation
* code cleanup
* code cleanup
* icon constants
* code cleanup
* do not register unavailable devices
* discovery of deevices
* code cleanup
* cec device discovery
* moved method implementation into child
* service descriptions
* service descriptions
* service descriptions
* changed entity init sequence
* logging cleanup
* add remove as job
* closing cec, no service schemas
* correct iterate over dictionary
* Volume by commands
* threading
* logging minimized
* get load out of main thread
* naming cleanup
* get load out of main thread
* optimized discovery
* async where possible
* cleanup logging, constructors first
* pydoc
* formatting
* no async_update from out of loop
no hiding entities
removed redundant device_state_attributes
async updating presence
* no async
* working async cec
* cec in thirdparty lib
* cec initialized oudsice
* working without SIGSEGV
* rollbacked file changed by mistake
* sending of commands
* working with ha
* using hass loop and device driven updates
* version up
* version up
* Command types in pycec, cleanup for HA integration
* Removed media player, state moved to switch
* service descriptions
* requirements: pyCEC
* line width to 79
* doc
* doc
* overindentation solved
* HDMI to uppercase
* minimal dependency on cec
* removed unwanted line
* doc wording
* margin 79
* line continuation indent
* imperative doc
* lint: indentation
* fixed overindented
* fixed overindented
* fixed overindented
* fixed overindented
* order of imports
* PEP8
* keep signature of overriding
* removed redundant blank line
* fixed update call method (#4)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* Dev (#6)
* reordered
* sending nonserialized data through hass.data
* code formatting
* code formatting
* import order
* Dev (#7)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* reordered
* sending nonserialized data through hass.data
* import order
* fixed object handling
* code formatting
* Backwards compatibility of hdmi_cec (#10)
* services:
power_on
standby
active_source
* new version of pyCEC (#12)
* newer version of pyCEC
* devices config (#13)
* getting device name from config
* shutdown fix (#14)
* correct call on shutdown
* remove misplaced annotations (#15)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* reordered
* sending nonserialized data through hass.data
* services:
power_on
standby
active_source
* code formatting
* getting device name from config
* correct call on shutdown
* pyCEC version 0.3.6 (#18)
* newer version of pyCEC
* updated services.yaml
* sending nonserialized data through hass.data
* services:
** power_on
** standby
** active_source
* getting device name from config
* correct call on shutdown
* fork new thread on multicore machines
* support both config schemas: original and new (#16)
* volume press and release support (#17)
* support for media_player (#21)
* accept hexadecimal format of commands
* support for media player
* platform customization
* type constants
* Dev (#23)
* accept hexadecimal format of commands
* support for media player
* platform customization
* TCP CEC support (#24)
* accept hexadecimal format of commands
* support for media player
* platform customization
* preparing tcp support
* volume handling (#25)
* Incorporated CR remarks (#26)
* cleanup imports
* cleanup and enhance services description
* removed unwanted file
* implemented CR remarks (#27)
* pyCEC v0.4.6
* pined dependency version
* tighten service schemas
* requirements (#28)
* Updated ISY component to not overwrite state_attributes.
The ISY component included an ISYDevice base class that is used by all
of the isy994 platforms. This still overwrote the state_attributes
property instead of the more appropriate device_state_attributes
property. This was also repeated in the isy994 light platform. Both of
these were addressed. This also fixes issue #5428.
* Removed custom state attributes from ISY lights.
The brightness attribute need not be manually reported by the isy994
light platform.
* Removed ISY Node cleanup.
The ISY entities don’t really need to unsubscribe themselves while hass
is shutting down. Because these updates are not sent in a thread, there
is no negative impact from shutting down without unsubscribing. This
greatly speeds up hass shutdown.
* Removed unused attribute from isy994 light platform.
* Cleaned up ISY994 light entity class.
1) Removed the state property. This property is set in the Entity base
class and shouldn’t be overridden here.
2) Set the brightness property. This is the proper way of setting the
brightness for the Light base class.
3) Removed properties that are now unused because of these changes.
GE sell a range of Bluetooth dimmer switches based on Avi-on technology.
Add a module for controlling them. There's also a set of smart switches that
speak the same protocol, but I don't have any of those to test support with.
* Initial commit of anthemav platform. It loads but has no purpose.
* Now presents a card in the UI but the values aren't real
* Mute and volume polling/setting work now
* Source lists and selection works now.
* Reduce debug logging verbosity
* Support power on/off and skip polling for details if power is off
* Add some static tables to decode numerics from telnet commands
* Add stub for unsupported media_play
* New style anthemav uses native asyncio structure
* Add device callback for asyncio
* This is ugly but it works
* Simplify async setup and abstract class data retrieval
* Implement commands (power on and power off for now)
* Add support for scan_interval and set default to 120 seconds
* Pass-through to package handlers for volume and input selection
* Slight restructuring to satisfy anthemav 0.9
* Load anthemav package from pypi now that it's registered
* Proper app_name from a/v info
* Mispelled word
* media_player/anthemav initial commit of platform requirements
* Philio 3-in-1 Gen 4 zwave sensor needs the no-off-event workaround. (#5120)
* Add print_config_parameter service to Z-Wave (#5121)
* Add print_config_param service to z-wave
* Add print_config_parameter service to z-wave
* Add print_config_parameter service to z-wave
* Fix typos
* Fix typos
* Fix typo
* Conform to Python/project style requirements
* Making pylint happy
* Bring pip requirements in agreement with the code
* Bungled previous update
* Remove unnecessady SCAN_INTERVAL logic
I was unawre that this is performed as part of the normal platform behavior and
it's unnecessary for a platform to independently implement this logic.
* Refactor code based on @armills PR requests
* Re-add media_play stub to avoid traceback
* Align with platform reqirements
* Remove references to SCAN_INTERVAL and clean up _lookup logic
* Add DEFAULT_PORT assignment
* Code style changes and removal of vestigial structures
* CONF_NAME handling changes to allow local override to default from device
* Address PR feedback from @balloob
* Remove media_play function override
It's no longer necesary for the platform to implement a stub media_play
function override now that the Add SUPPORT_PLAY flag #5181 issue has been
resolved and merged into the dev branch.
* Rename callback function to async_ for clarity
* Use async routines for platform methods
* Convert update callback to coroutine for conformity
Underlying anthemav library now properly supports coroutine callbacks instead
of normal functions. Converted the platform callback to a coroutine for
conformance with async operation for the device.
Special thanks to @pvizeli and @armills for their invaluable remedial Python
instruction!
* Further callback refinements
Altered the nature of callback handling based on suggestions from @pvizeli
* True not needed for local push update_ha_state
* Small style fix
After _control_heating() is executed, current_operation() is correctly called but _is_device_active() still reports the old state if the heater switch, at least in my case. The resulting climate state is incorrect until the next refresh, which apparently occurs only when _sensor_changed() gets called (it can be minutes after).
I think the state of the heater switch should be forced to update at the end of _control_heating(), but I don't know how to do that...
A simple sleep() fixes it, but obviously is just a temporary workaround, I'm not really expecting this PR to be actually committed, unless there's no other solution.