mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-06-28 21:16:50 +00:00
1.2 KiB
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.