home-assistant.io/source/developers/add_new_platform.markdown
2014-12-26 00:03:31 -08:00

1.2 KiB

layout, title, date, sidebar, comments, sharing, footer
layout title date sidebar comments sharing footer
page Adding support for a new platform 2014-12-21 13:27 false false true true

Components that interact with devices are structured in core- and platform logic. This allows the same logic to be used for different platforms.

For example, the built-in switch component consists of the following files in homeassistant/components/switch/:

File Description
__init__.py Contains the Switch core logic.
wemo.py WeMo platform logic. Included if in config platform=wemo.
tellstick.py Tellstick platform logic. Included if in config platform=tellstick.

If you are planning to add support for a new type of device to an existing component, you can get away with only writing platform logic. Have a look at how the component works with other platforms and create a similar file for the platform that you would like to add.

Platform logic should not interface directly with the devices but use a third-party Python 3 library that speaks the actual API.