David McNettandPascal Vizeli 1a82adb054 New platform media_player/anthemav (#5146)
* 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
2017-01-19 20:07:01 +01:00
2016-10-15 13:46:45 +02:00
2016-07-31 13:48:41 -07:00
2016-12-01 18:30:41 -08:00
2016-04-12 14:18:18 +02:00
2016-11-13 11:34:09 -08:00
2017-01-03 21:33:48 +01:00
2015-12-27 16:31:52 -08:00
2016-11-03 18:32:14 -07:00
2017-01-13 21:24:58 -08:00
2017-01-03 21:33:48 +01:00

Home Assistant |Build Status| |Coverage Status| |Join the chat at https://gitter.im/home-assistant/home-assistant| |Join the dev chat at https://gitter.im/home-assistant/home-assistant/devs|
==============================================================================================================================================================================================

Home Assistant is a home automation platform running on Python 3. The
goal of Home Assistant is to be able to track and control all devices at
home and offer a platform for automating control.

To get started:

.. code:: bash

    python3 -m pip install homeassistant
    hass --open-ui

Check out `the website <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, installation instructions,
tutorials and documentation.

|screenshot-states|

Examples of devices Home Assistant can interface with:

-  Monitoring connected devices to a wireless router:
   `OpenWrt <https://openwrt.org/>`__,
   `Tomato <http://www.polarcloud.com/tomato>`__,
   `Netgear <http://netgear.com>`__,
   `DD-WRT <http://www.dd-wrt.com/site/index>`__,
   `TPLink <http://www.tp-link.us/>`__,
   `ASUSWRT <http://event.asus.com/2013/nw/ASUSWRT/>`__,
   `Xiaomi <http://miwifi.com/>`__ and any SNMP
   capable Linksys WAP/WRT
-  `Philips Hue <http://meethue.com>`__ lights,
   `WeMo <http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/>`__
   switches, `Edimax <http://www.edimax.com/>`__ switches,
   `Efergy <https://efergy.com>`__ energy monitoring, and
   `Tellstick <http://www.telldus.se/products/tellstick>`__ devices and
   sensors
-  `Google
   Chromecasts <http://www.google.com/intl/en/chrome/devices/chromecast>`__,
   `Music Player Daemon <http://www.musicpd.org/>`__, `Logitech
   Squeezebox <https://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29>`__,
   `Plex <https://plex.tv/>`__, `Kodi (XBMC) <http://kodi.tv/>`__,
   iTunes (by way of
   `itunes-api <https://github.com/maddox/itunes-api>`__), and Amazon
   Fire TV (by way of
   `python-firetv <https://github.com/happyleavesaoc/python-firetv>`__)
-  Support for
   `ISY994 <https://www.universal-devices.com/residential/isy994i-series/>`__
   (Insteon and X10 devices), `Z-Wave <http://www.z-wave.com/>`__, `Nest
   Thermostats <https://nest.com/>`__,
   `RFXtrx <http://www.rfxcom.com/>`__,
   `Arduino <https://www.arduino.cc/>`__, `Raspberry
   Pi <https://www.raspberrypi.org/>`__, and
   `Modbus <http://www.modbus.org/>`__
-  Interaction with `IFTTT <https://ifttt.com/>`__
-  Integrate data from the `Bitcoin <https://bitcoin.org>`__ network,
   meteorological data from
   `OpenWeatherMap <http://openweathermap.org/>`__ and
   `Forecast.io <https://forecast.io/>`__,
   `Transmission <http://www.transmissionbt.com/>`__, or
   `SABnzbd <http://sabnzbd.org>`__.
-  `See full list of supported
   devices <https://home-assistant.io/components/>`__

Build home automation on top of your devices:

-  Keep a precise history of every change to the state of your house
-  Turn on the lights when people get home after sunset
-  Turn on lights slowly during sunset to compensate for less light
-  Turn off all lights and devices when everybody leaves the house
-  Offers a `REST API <https://home-assistant.io/developers/rest_api/>`__
   and can interface with MQTT for easy integration with other projects
   like `OwnTracks <http://owntracks.org/>`__
-  Allow sending notifications using
   `Instapush <https://instapush.im>`__, `Notify My Android
   (NMA) <http://www.notifymyandroid.com/>`__,
   `PushBullet <https://www.pushbullet.com/>`__,
   `PushOver <https://pushover.net/>`__, `Slack <https://slack.com/>`__,
   `Telegram <https://telegram.org/>`__, `Join <http://joaoapps.com/join/>`__, and `Jabber
   (XMPP) <http://xmpp.org>`__

The system is built using a modular approach so support for other devices or actions can
be implemented easily. See also the `section on
architecture <https://home-assistant.io/developers/architecture/>`__
and the `section on creating your own
components <https://home-assistant.io/developers/creating_components/>`__.

If you run into issues while using Home Assistant or during development
of a component, check the `Home Assistant help
section <https://home-assistant.io/help/>`__ how to reach us.

.. |Build Status| image:: https://travis-ci.org/home-assistant/home-assistant.svg?branch=master
   :target: https://travis-ci.org/home-assistant/home-assistant
.. |Coverage Status| image:: https://img.shields.io/coveralls/home-assistant/home-assistant.svg
   :target: https://coveralls.io/r/home-assistant/home-assistant?branch=master
.. |Join the chat at https://gitter.im/home-assistant/home-assistant| image:: https://img.shields.io/badge/gitter-general-blue.svg
   :target: https://gitter.im/home-assistant/home-assistant?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |Join the dev chat at https://gitter.im/home-assistant/home-assistant/devs| image:: https://img.shields.io/badge/gitter-development-yellowgreen.svg
   :target: https://gitter.im/home-assistant/home-assistant/devs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |screenshot-states| image:: https://raw.github.com/home-assistant/home-assistant/master/docs/screenshots.png
   :target: https://home-assistant.io/demo/
S
Description
🏡 Open source home automation that puts local control and privacy first.
Readme
2.2 GiB
Languages
Python 100%