* Fast & efficient updates for ZAMG weather data
ZAMG updates on the hour, so instead of checking every half-hour we can
check each minute - only after the observations are taken until
receiving them.
* sensor.zamg: test instead of whitelist for station_id
* Autodetect closest ZAMG station if not given
* ZAMG weather component, based on the sensor
* Review improvements
* Update to new ZAMG schema, add logging
Turns out it wasn't a typo, but rather an upstream schema change. Added
better error handling to ease diagnosis in case it happens again.
* No hardcoded name
* 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.
* Add support for the Open Energy Monitor Thermostat
* Fix linting errors
* Define an update method and local state
* fix linter
* Small tweaks.
Update oemthermostat version, default name and docstrings
* Fail to setup oem platform if connection fails.
* update requirements
* More tweaks to auth and exceptions
* Remove target temp
* new component telegram_webhooks
* keyboard support in telegram notify
* telegram_webhooks has no tests
* requirement like notify/telegram
* ops, requirements_all.txt needed for travis
* ops, requirements_all.txt is generated by script/gen_requirements_all.py
* check telegram trusted networks in web handler
* raise an event now
* use of hass.config.api.base_url
* more readable
* small cleanups
* Small style change for HA guideline
* fix lint
* revert return to origin
* Mailgun notify service
* Update dependency to version 1.3
- The provided credentials (including the domain) are now checked during
startup, as requested by @balloob
- The domain name is now optional
- There's a new config item "sandbox" which indicates whether to use the
sandboxed domain in case the domain is not set
* Fix a few lint issues
* Disable lint check no-value-for-parameter
* Support for the Orage Livebox Play TV appliance
* Add liveboxplaytv to coveragerc
* Minor refactoring
* Update requirements
* Adjust comments
* Fix alignment
* Fix some coding-style issues highlighted by Travis CI
* The livebox play TV does not support playing media
* Lint: shorten line
* Remove unused callback function
* Remove redundant backslash
* Implement changes requested by balloob
* Don't error out if channel name or media url could not be retrieved
* Support current program (media title property)
* Remove unnecessary check
* Clean up: Remove another unnecessary check, _CONFIGURING variable and _playing attribute
* Update liveboxplaytv dependency to version 1.4.4
* Fix liveboxplaytv requirement
* Improve media state (support for playing and pause state)
* Update liveboxplaytv.py
* Support for Nuki.io smart locks
* Update requirements and add lock.nuki to .coveragerc
* lint: Re-organize imports
* Schedule a state update instead of calling directly update_ha_state
* Remove update requests altogether
* Make sure there is no IO inside properties
* Fix: nuki lock are all initialized as "lock.unnamed_device"
* Update pynuki to 1.2 to avoid an extra REST API call for each lock init
* Voice command API.AI. First import
* Fixes suggested by hound
* Fixing comments
* Fix pylint and pydocstyle errors
* Change how speech is defined
Also clean some unused constants, remove card type (not used), define
a message when action is not defined and improve the message when
action is unknown.
* Change how speech is defined
Clean some constants.
Improve error messages.
Delete card type, not used.
* Tests for new Api.ai component
* Use async_add_job to python compatibility. New test to measure response time
* Add async_action option to choose between waiting or not for the action to execute
* Travis-ci needs more time
* Removed timeout tests
* Removed timeout tests
* Added apiai to .coveragerc as specified by PR doc
* Remove SPEED_MED from fan
* Add an Amazon Polly TTS platform
* Update boto library version for notify.aws_* platforms to match the tts.amazon_polly req
* Improve log line and add docstring to function
* Simplify config logic
* Remove duplicate logic
* Don't know how this got in here...
* initial options work
* Remove stale config option and only allow supported languages
* Make requested changes
* Polly is only supported in some regions
* Allow filename to contain underscores (for amazon_polly platform name), remove unnecessary default_lang, other small things
* Add options dict to service description
* Added new platform sky_hub
* added env to virtual environment gitingore
* Removed unuseful imports
* BT home hub 5 renamed to sky hub in the comments
* Added sky_hub to .coveragerc
* Added example configuration in sky_hub docstring
* sky_hub made compliant with test style standards
* homehub functions renamed to skyhub
* Update .gitignore
* Update .coveragerc
* Add support for Piglow
* Updated coverage and requirements
* Add support for Piglow
* Updated coverage and requirements
* Fix linting errors
* Fix linting errors
* Remove trailing whitespace
* Shorter lines
* Remove trailing whitespace
* Update piglow.py
* Pinned piglow version
* Remove unused method
* Remove unused imports
* Fix lint errors
* Update requirements all
* Updated Piglow to allow the component name to be changed
* Fix imports
* Pass in name
* The piglow platform now fails if it cannot detect the piglow device
* Tidy subprocess import
* 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)
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
* Added tado device tracker
* Added tado device tracker to .converagerc
* Updated docs
* Code formatting and removed unused import
* Code formatting and removed unused import
* Respected the lint line length
* Respect pydocstyle rules
* Respect the lint line limit length
* Fixed reviewer feedback
* Changed the tracker to support async
* Respect the New line end of file rule
* Update .coveragerc
* Initial commit of discord notification component
* Fixed error where script added extra entries to .coveragerc
* Cleaned up code
* Compliance to PEP8
* removed dependencies
* readded dependencies
* changed name of client id to token for configuration
* Changes for Hound
* Incorporated Review Feedback
* Review feedback
* Updated requirements file
* Check compliance
* Introduced Amcrest camera sensors
* Makes script/gen_requirements_all.py happy
* Bump Amcrest version across all components
* - Adjusted scan_interval to 10 seconds
- Filtering HTTPError and ConnectTimeout exceptions
- Removed @Throttle decorator
* Fix typo
* Auto-config for `sensor.bom`
Deprecate (but still support) the old two-part station ID, and move to a
single `station` identifier. Any combination of these, including none,
is valid; most results in downloading and caching the station map to
work out any missing info.
* Add `weather.bom` platform
Very similar to `sensor.bom`, but supporting the lovely new `weather`
component interface. Easier to configure, and does not support the
deprecated config options.
* Review improvements to BOM weather
Largely around better input validation.