From b8cc547fa305dc075ba1e51e0389af2f9e5cea47 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 5 Feb 2019 19:31:15 -0800 Subject: [PATCH] Move components to folders (#20774) * Move all components into folders * Move component tests into folders * Fix init moving * Move tests * Lint * Update coverage * Fix service descriptions * Update CODEOWNERS --- .coveragerc | 66 +-- CODEOWNERS | 90 +-- homeassistant/components/abode/services.yaml | 13 + .../{alert.py => alert/__init__.py} | 0 homeassistant/components/alert/services.yaml | 12 + .../components/{api.py => api/__init__.py} | 0 .../components/apple_tv/services.yaml | 5 + .../{asuswrt.py => asuswrt/__init__.py} | 0 .../{browser.py => browser/__init__.py} | 0 .../{canary.py => canary/__init__.py} | 0 .../{cloudflare.py => cloudflare/__init__.py} | 0 .../{coinbase.py => coinbase/__init__.py} | 0 .../__init__.py} | 0 .../{datadog.py => datadog/__init__.py} | 0 .../components/{demo.py => demo/__init__.py} | 0 .../__init__.py} | 0 .../{discovery.py => discovery/__init__.py} | 0 .../{dominos.py => dominos/__init__.py} | 0 .../{downloader.py => downloader/__init__.py} | 0 .../{duckdns.py => duckdns/__init__.py} | 0 .../{dyson.py => dyson/__init__.py} | 0 .../components/eight_sleep/services.yaml | 6 + .../__init__.py} | 0 .../{feedreader.py => feedreader/__init__.py} | 0 .../{ffmpeg.py => ffmpeg/__init__.py} | 0 homeassistant/components/ffmpeg/services.yaml | 15 + .../__init__.py} | 0 .../{foursquare.py => foursquare/__init__.py} | 0 .../components/foursquare/services.yaml | 29 + .../{freedns.py => freedns/__init__.py} | 0 .../{goalfeed.py => goalfeed/__init__.py} | 0 .../__init__.py} | 0 .../{graphite.py => graphite/__init__.py} | 0 .../__init__.py} | 0 homeassistant/components/hassio/services.yaml | 37 ++ .../components/hdmi_cec/services.yaml | 32 + .../{history.py => history/__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../{influxdb.py => influxdb/__init__.py} | 0 .../__init__.py} | 0 .../components/input_boolean/services.yaml | 12 + .../__init__.py} | 0 .../__init__.py} | 0 .../components/input_number/services.yaml | 16 + .../__init__.py} | 0 .../components/input_select/services.yaml | 22 + .../{input_text.py => input_text/__init__.py} | 0 .../components/input_text/services.yaml | 6 + .../__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../{keyboard.py => keyboard/__init__.py} | 0 .../__init__.py} | 0 homeassistant/components/knx/services.yaml | 5 + .../components/{lirc.py => lirc/__init__.py} | 2 +- .../{litejet.py => litejet/__init__.py} | 0 .../{logbook.py => logbook/__init__.py} | 0 .../{logentries.py => logentries/__init__.py} | 0 .../{logger.py => logger/__init__.py} | 0 homeassistant/components/logger/services.yaml | 6 + .../components/{map.py => map/__init__.py} | 0 .../__init__.py} | 0 .../{melissa.py => melissa/__init__.py} | 0 .../__init__.py} | 0 .../components/microsoft_face/services.yaml | 28 + homeassistant/components/modbus/services.yaml | 12 + .../__init__.py} | 0 .../__init__.py} | 0 .../{mycroft.py => mycroft/__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../{ness_alarm.py => ness_alarm/__init__.py} | 0 homeassistant/components/nest/services.yaml | 49 +- .../{no_ip.py => no_ip/__init__.py} | 0 .../{nuheat.py => nuheat/__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../__init__.py} | 0 .../{plant.py => plant/__init__.py} | 0 .../{prometheus.py => prometheus/__init__.py} | 0 .../{proximity.py => proximity/__init__.py} | 0 .../__init__.py} | 0 .../{rainbird.py => rainbird/__init__.py} | 0 .../__init__.py} | 0 .../{rflink.py => rflink/__init__.py} | 0 homeassistant/components/rflink/services.yaml | 5 + .../components/{ring.py => ring/__init__.py} | 0 .../{route53.py => route53/__init__.py} | 0 .../__init__.py} | 0 .../{script.py => script/__init__.py} | 0 homeassistant/components/services.yaml | 557 ------------------ .../__init__.py} | 0 .../{shiftr.py => shiftr/__init__.py} | 0 .../__init__.py} | 0 .../components/shopping_list/services.yaml | 9 + .../{sleepiq.py => sleepiq/__init__.py} | 0 .../{snips.py => snips/__init__.py} | 0 homeassistant/components/snips/services.yaml | 31 + .../{spaceapi.py => spaceapi/__init__.py} | 0 .../components/{spc.py => spc/__init__.py} | 0 .../{splunk.py => splunk/__init__.py} | 0 .../{statsd.py => statsd/__init__.py} | 0 .../components/{sun.py => sun/__init__.py} | 0 .../{thingspeak.py => thingspeak/__init__.py} | 0 .../{updater.py => updater/__init__.py} | 0 .../components/verisure/services.yaml | 5 + .../{vultr.py => vultr/__init__.py} | 0 .../__init__.py} | 0 .../components/wake_on_lan/services.yaml | 6 + .../{watson_iot.py => watson_iot/__init__.py} | 0 .../{webhook.py => webhook/__init__.py} | 0 .../{weblink.py => weblink/__init__.py} | 0 .../components/xiaomi_aqara/services.yaml | 22 + .../{zeroconf.py => zeroconf/__init__.py} | 0 tests/components/alert/__init__.py | 1 + .../{test_alert.py => alert/test_init.py} | 0 tests/components/api/__init__.py | 1 + .../{test_api.py => api/test_init.py} | 0 tests/components/binary_sensor/test_rflink.py | 2 +- tests/components/binary_sensor/test_ring.py | 2 +- .../components/binary_sensor/test_sleepiq.py | 2 +- tests/components/binary_sensor/test_vultr.py | 2 +- tests/components/canary/__init__.py | 1 + .../{test_canary.py => canary/test_init.py} | 0 tests/components/configurator/__init__.py | 1 + .../test_init.py} | 0 tests/components/conversation/__init__.py | 1 + .../test_init.py} | 0 tests/components/cover/test_rflink.py | 2 +- tests/components/datadog/__init__.py | 1 + .../{test_datadog.py => datadog/test_init.py} | 0 tests/components/demo/__init__.py | 1 + .../{test_demo.py => demo/test_init.py} | 0 .../device_sun_light_trigger/__init__.py | 1 + .../test_init.py} | 0 tests/components/discovery/__init__.py | 1 + .../test_init.py} | 0 tests/components/duckdns/__init__.py | 1 + .../{test_duckdns.py => duckdns/test_init.py} | 0 tests/components/dyson/__init__.py | 1 + .../{test_dyson.py => dyson/test_init.py} | 0 tests/components/feedreader/__init__.py | 1 + .../test_init.py} | 0 tests/components/ffmpeg/__init__.py | 1 + .../{test_ffmpeg.py => ffmpeg/test_init.py} | 0 tests/components/folder_watcher/__init__.py | 1 + .../test_init.py} | 0 tests/components/freedns/__init__.py | 1 + .../{test_freedns.py => freedns/test_init.py} | 0 .../{test_google.py => google/test_init.py} | 0 tests/components/google_domains/__init__.py | 1 + .../test_init.py} | 0 tests/components/graphite/__init__.py | 1 + .../test_init.py} | 0 tests/components/history/__init__.py | 1 + .../{test_history.py => history/test_init.py} | 0 tests/components/history_graph/__init__.py | 1 + .../test_init.py} | 0 tests/components/huawei_lte/__init__.py | 1 + .../test_init.py} | 0 tests/components/influxdb/__init__.py | 1 + .../test_init.py} | 0 tests/components/init/__init__.py | 1 + tests/components/{ => init}/test_init.py | 0 tests/components/input_boolean/__init__.py | 1 + .../test_init.py} | 0 tests/components/input_datetime/__init__.py | 1 + .../test_init.py} | 0 tests/components/input_number/__init__.py | 1 + .../test_init.py} | 0 tests/components/input_select/__init__.py | 1 + .../test_init.py} | 0 tests/components/input_text/__init__.py | 1 + .../test_init.py} | 0 tests/components/intent_script/__init__.py | 1 + .../test_init.py} | 0 tests/components/introduction/__init__.py | 1 + .../test_init.py} | 0 .../{test_kira.py => kira/test_init.py} | 0 tests/components/light/test_rflink.py | 2 +- tests/components/litejet/__init__.py | 1 + .../{test_litejet.py => litejet/test_init.py} | 0 tests/components/logbook/__init__.py | 1 + .../{test_logbook.py => logbook/test_init.py} | 0 tests/components/logentries/__init__.py | 1 + .../test_init.py} | 0 tests/components/logger/__init__.py | 1 + .../{test_logger.py => logger/test_init.py} | 0 tests/components/melissa/__init__.py | 1 + .../{test_melissa.py => melissa/test_init.py} | 0 tests/components/microsoft_face/__init__.py | 1 + .../test_init.py} | 0 tests/components/mqtt_eventstream/__init__.py | 1 + .../test_init.py} | 0 tests/components/mqtt_statestream/__init__.py | 1 + .../test_init.py} | 0 tests/components/mythicbeastsdns/__init__.py | 1 + .../test_init.py} | 0 tests/components/namecheapdns/__init__.py | 1 + .../test_init.py} | 0 tests/components/ness_alarm/__init__.py | 1 + .../test_init.py} | 0 tests/components/no_ip/__init__.py | 1 + .../{test_no_ip.py => no_ip/test_init.py} | 0 tests/components/nuheat/__init__.py | 1 + .../{test_nuheat.py => nuheat/test_init.py} | 0 tests/components/panel_custom/__init__.py | 1 + .../test_init.py} | 0 tests/components/panel_iframe/__init__.py | 1 + .../test_init.py} | 0 tests/components/pilight/__init__.py | 1 + .../{test_pilight.py => pilight/test_init.py} | 0 tests/components/plant/__init__.py | 1 + .../{test_plant.py => plant/test_init.py} | 0 tests/components/prometheus/__init__.py | 1 + .../test_init.py} | 0 tests/components/proximity/__init__.py | 1 + .../test_init.py} | 0 tests/components/python_script/__init__.py | 1 + .../test_init.py} | 0 tests/components/qwikswitch/__init__.py | 1 + .../test_init.py} | 0 .../components/remember_the_milk/__init__.py | 1 + .../test_init.py} | 0 tests/components/rest_command/__init__.py | 1 + .../test_init.py} | 0 tests/components/rflink/__init__.py | 1 + .../{test_rflink.py => rflink/test_init.py} | 0 tests/components/rfxtrx/__init__.py | 1 + .../{test_rfxtrx.py => rfxtrx/test_init.py} | 0 tests/components/ring/__init__.py | 1 + .../{test_ring.py => ring/test_init.py} | 0 .../components/rss_feed_template/__init__.py | 1 + .../test_init.py} | 0 tests/components/script/__init__.py | 1 + .../{test_script.py => script/test_init.py} | 0 tests/components/sensor/test_canary.py | 2 +- tests/components/sensor/test_rflink.py | 2 +- tests/components/sensor/test_ring.py | 2 +- tests/components/sensor/test_sleepiq.py | 2 +- tests/components/sensor/test_vultr.py | 2 +- tests/components/shell_command/__init__.py | 1 + .../test_init.py} | 0 tests/components/shopping_list/__init__.py | 1 + .../test_init.py} | 0 tests/components/sleepiq/__init__.py | 1 + .../{test_sleepiq.py => sleepiq/test_init.py} | 0 tests/components/snips/__init__.py | 1 + .../{test_snips.py => snips/test_init.py} | 0 tests/components/spaceapi/__init__.py | 1 + .../test_init.py} | 0 tests/components/spc/__init__.py | 1 + .../{test_spc.py => spc/test_init.py} | 0 tests/components/splunk/__init__.py | 1 + .../{test_splunk.py => splunk/test_init.py} | 0 tests/components/statsd/__init__.py | 1 + .../{test_statsd.py => statsd/test_init.py} | 0 tests/components/sun/__init__.py | 1 + .../{test_sun.py => sun/test_init.py} | 0 tests/components/switch/test_rflink.py | 2 +- tests/components/switch/test_vultr.py | 2 +- tests/components/system_log/__init__.py | 1 + .../test_init.py} | 0 tests/components/updater/__init__.py | 1 + .../{test_updater.py => updater/test_init.py} | 0 tests/components/vultr/__init__.py | 1 + .../{test_vultr.py => vultr/test_init.py} | 0 tests/components/wake_on_lan/__init__.py | 1 + .../test_init.py} | 0 tests/components/webhook/__init__.py | 1 + .../{test_webhook.py => webhook/test_init.py} | 0 tests/components/weblink/__init__.py | 1 + .../{test_weblink.py => weblink/test_init.py} | 0 275 files changed, 512 insertions(+), 684 deletions(-) create mode 100644 homeassistant/components/abode/services.yaml rename homeassistant/components/{alert.py => alert/__init__.py} (100%) create mode 100644 homeassistant/components/alert/services.yaml rename homeassistant/components/{api.py => api/__init__.py} (100%) create mode 100644 homeassistant/components/apple_tv/services.yaml rename homeassistant/components/{asuswrt.py => asuswrt/__init__.py} (100%) rename homeassistant/components/{browser.py => browser/__init__.py} (100%) rename homeassistant/components/{canary.py => canary/__init__.py} (100%) rename homeassistant/components/{cloudflare.py => cloudflare/__init__.py} (100%) rename homeassistant/components/{coinbase.py => coinbase/__init__.py} (100%) rename homeassistant/components/{configurator.py => configurator/__init__.py} (100%) rename homeassistant/components/{datadog.py => datadog/__init__.py} (100%) rename homeassistant/components/{demo.py => demo/__init__.py} (100%) rename homeassistant/components/{device_sun_light_trigger.py => device_sun_light_trigger/__init__.py} (100%) rename homeassistant/components/{discovery.py => discovery/__init__.py} (100%) rename homeassistant/components/{dominos.py => dominos/__init__.py} (100%) rename homeassistant/components/{downloader.py => downloader/__init__.py} (100%) rename homeassistant/components/{duckdns.py => duckdns/__init__.py} (100%) rename homeassistant/components/{dyson.py => dyson/__init__.py} (100%) create mode 100644 homeassistant/components/eight_sleep/services.yaml rename homeassistant/components/{emoncms_history.py => emoncms_history/__init__.py} (100%) rename homeassistant/components/{feedreader.py => feedreader/__init__.py} (100%) rename homeassistant/components/{ffmpeg.py => ffmpeg/__init__.py} (100%) create mode 100644 homeassistant/components/ffmpeg/services.yaml rename homeassistant/components/{folder_watcher.py => folder_watcher/__init__.py} (100%) rename homeassistant/components/{foursquare.py => foursquare/__init__.py} (100%) create mode 100644 homeassistant/components/foursquare/services.yaml rename homeassistant/components/{freedns.py => freedns/__init__.py} (100%) rename homeassistant/components/{goalfeed.py => goalfeed/__init__.py} (100%) rename homeassistant/components/{google_domains.py => google_domains/__init__.py} (100%) rename homeassistant/components/{graphite.py => graphite/__init__.py} (100%) rename homeassistant/components/{greeneye_monitor.py => greeneye_monitor/__init__.py} (100%) create mode 100644 homeassistant/components/hassio/services.yaml create mode 100644 homeassistant/components/hdmi_cec/services.yaml rename homeassistant/components/{history.py => history/__init__.py} (100%) rename homeassistant/components/{history_graph.py => history_graph/__init__.py} (100%) rename homeassistant/components/{idteck_prox.py => idteck_prox/__init__.py} (100%) rename homeassistant/components/{influxdb.py => influxdb/__init__.py} (100%) rename homeassistant/components/{input_boolean.py => input_boolean/__init__.py} (100%) create mode 100644 homeassistant/components/input_boolean/services.yaml rename homeassistant/components/{input_datetime.py => input_datetime/__init__.py} (100%) rename homeassistant/components/{input_number.py => input_number/__init__.py} (100%) create mode 100644 homeassistant/components/input_number/services.yaml rename homeassistant/components/{input_select.py => input_select/__init__.py} (100%) create mode 100644 homeassistant/components/input_select/services.yaml rename homeassistant/components/{input_text.py => input_text/__init__.py} (100%) create mode 100644 homeassistant/components/input_text/services.yaml rename homeassistant/components/{insteon_local.py => insteon_local/__init__.py} (100%) rename homeassistant/components/{insteon_plm.py => insteon_plm/__init__.py} (100%) rename homeassistant/components/{intent_script.py => intent_script/__init__.py} (100%) rename homeassistant/components/{introduction.py => introduction/__init__.py} (100%) rename homeassistant/components/{keyboard.py => keyboard/__init__.py} (100%) rename homeassistant/components/{keyboard_remote.py => keyboard_remote/__init__.py} (100%) create mode 100644 homeassistant/components/knx/services.yaml rename homeassistant/components/{lirc.py => lirc/__init__.py} (98%) rename homeassistant/components/{litejet.py => litejet/__init__.py} (100%) rename homeassistant/components/{logbook.py => logbook/__init__.py} (100%) rename homeassistant/components/{logentries.py => logentries/__init__.py} (100%) rename homeassistant/components/{logger.py => logger/__init__.py} (100%) create mode 100644 homeassistant/components/logger/services.yaml rename homeassistant/components/{map.py => map/__init__.py} (100%) rename homeassistant/components/{media_extractor.py => media_extractor/__init__.py} (100%) rename homeassistant/components/{melissa.py => melissa/__init__.py} (100%) rename homeassistant/components/{microsoft_face.py => microsoft_face/__init__.py} (100%) create mode 100644 homeassistant/components/microsoft_face/services.yaml create mode 100644 homeassistant/components/modbus/services.yaml rename homeassistant/components/{mqtt_eventstream.py => mqtt_eventstream/__init__.py} (100%) rename homeassistant/components/{mqtt_statestream.py => mqtt_statestream/__init__.py} (100%) rename homeassistant/components/{mycroft.py => mycroft/__init__.py} (100%) rename homeassistant/components/{mythicbeastsdns.py => mythicbeastsdns/__init__.py} (100%) rename homeassistant/components/{namecheapdns.py => namecheapdns/__init__.py} (100%) rename homeassistant/components/{ness_alarm.py => ness_alarm/__init__.py} (100%) rename homeassistant/components/{no_ip.py => no_ip/__init__.py} (100%) rename homeassistant/components/{nuheat.py => nuheat/__init__.py} (100%) rename homeassistant/components/{nuimo_controller.py => nuimo_controller/__init__.py} (100%) rename homeassistant/components/{panel_custom.py => panel_custom/__init__.py} (100%) rename homeassistant/components/{panel_iframe.py => panel_iframe/__init__.py} (100%) rename homeassistant/components/{plant.py => plant/__init__.py} (100%) rename homeassistant/components/{prometheus.py => prometheus/__init__.py} (100%) rename homeassistant/components/{proximity.py => proximity/__init__.py} (100%) rename homeassistant/components/{python_script.py => python_script/__init__.py} (100%) rename homeassistant/components/{rainbird.py => rainbird/__init__.py} (100%) rename homeassistant/components/{rest_command.py => rest_command/__init__.py} (100%) rename homeassistant/components/{rflink.py => rflink/__init__.py} (100%) create mode 100644 homeassistant/components/rflink/services.yaml rename homeassistant/components/{ring.py => ring/__init__.py} (100%) rename homeassistant/components/{route53.py => route53/__init__.py} (100%) rename homeassistant/components/{rss_feed_template.py => rss_feed_template/__init__.py} (100%) rename homeassistant/components/{script.py => script/__init__.py} (100%) rename homeassistant/components/{shell_command.py => shell_command/__init__.py} (100%) rename homeassistant/components/{shiftr.py => shiftr/__init__.py} (100%) rename homeassistant/components/{shopping_list.py => shopping_list/__init__.py} (100%) create mode 100644 homeassistant/components/shopping_list/services.yaml rename homeassistant/components/{sleepiq.py => sleepiq/__init__.py} (100%) rename homeassistant/components/{snips.py => snips/__init__.py} (100%) create mode 100644 homeassistant/components/snips/services.yaml rename homeassistant/components/{spaceapi.py => spaceapi/__init__.py} (100%) rename homeassistant/components/{spc.py => spc/__init__.py} (100%) rename homeassistant/components/{splunk.py => splunk/__init__.py} (100%) rename homeassistant/components/{statsd.py => statsd/__init__.py} (100%) rename homeassistant/components/{sun.py => sun/__init__.py} (100%) rename homeassistant/components/{thingspeak.py => thingspeak/__init__.py} (100%) rename homeassistant/components/{updater.py => updater/__init__.py} (100%) create mode 100644 homeassistant/components/verisure/services.yaml rename homeassistant/components/{vultr.py => vultr/__init__.py} (100%) rename homeassistant/components/{wake_on_lan.py => wake_on_lan/__init__.py} (100%) create mode 100644 homeassistant/components/wake_on_lan/services.yaml rename homeassistant/components/{watson_iot.py => watson_iot/__init__.py} (100%) rename homeassistant/components/{webhook.py => webhook/__init__.py} (100%) rename homeassistant/components/{weblink.py => weblink/__init__.py} (100%) create mode 100644 homeassistant/components/xiaomi_aqara/services.yaml rename homeassistant/components/{zeroconf.py => zeroconf/__init__.py} (100%) create mode 100644 tests/components/alert/__init__.py rename tests/components/{test_alert.py => alert/test_init.py} (100%) create mode 100644 tests/components/api/__init__.py rename tests/components/{test_api.py => api/test_init.py} (100%) create mode 100644 tests/components/canary/__init__.py rename tests/components/{test_canary.py => canary/test_init.py} (100%) create mode 100644 tests/components/configurator/__init__.py rename tests/components/{test_configurator.py => configurator/test_init.py} (100%) create mode 100644 tests/components/conversation/__init__.py rename tests/components/{test_conversation.py => conversation/test_init.py} (100%) create mode 100644 tests/components/datadog/__init__.py rename tests/components/{test_datadog.py => datadog/test_init.py} (100%) create mode 100644 tests/components/demo/__init__.py rename tests/components/{test_demo.py => demo/test_init.py} (100%) create mode 100644 tests/components/device_sun_light_trigger/__init__.py rename tests/components/{test_device_sun_light_trigger.py => device_sun_light_trigger/test_init.py} (100%) create mode 100644 tests/components/discovery/__init__.py rename tests/components/{test_discovery.py => discovery/test_init.py} (100%) create mode 100644 tests/components/duckdns/__init__.py rename tests/components/{test_duckdns.py => duckdns/test_init.py} (100%) create mode 100644 tests/components/dyson/__init__.py rename tests/components/{test_dyson.py => dyson/test_init.py} (100%) create mode 100644 tests/components/feedreader/__init__.py rename tests/components/{test_feedreader.py => feedreader/test_init.py} (100%) create mode 100644 tests/components/ffmpeg/__init__.py rename tests/components/{test_ffmpeg.py => ffmpeg/test_init.py} (100%) create mode 100644 tests/components/folder_watcher/__init__.py rename tests/components/{test_folder_watcher.py => folder_watcher/test_init.py} (100%) create mode 100644 tests/components/freedns/__init__.py rename tests/components/{test_freedns.py => freedns/test_init.py} (100%) rename tests/components/{test_google.py => google/test_init.py} (100%) create mode 100644 tests/components/google_domains/__init__.py rename tests/components/{test_google_domains.py => google_domains/test_init.py} (100%) create mode 100644 tests/components/graphite/__init__.py rename tests/components/{test_graphite.py => graphite/test_init.py} (100%) create mode 100644 tests/components/history/__init__.py rename tests/components/{test_history.py => history/test_init.py} (100%) create mode 100644 tests/components/history_graph/__init__.py rename tests/components/{test_history_graph.py => history_graph/test_init.py} (100%) create mode 100644 tests/components/huawei_lte/__init__.py rename tests/components/{test_huawei_lte.py => huawei_lte/test_init.py} (100%) create mode 100644 tests/components/influxdb/__init__.py rename tests/components/{test_influxdb.py => influxdb/test_init.py} (100%) create mode 100644 tests/components/init/__init__.py rename tests/components/{ => init}/test_init.py (100%) create mode 100644 tests/components/input_boolean/__init__.py rename tests/components/{test_input_boolean.py => input_boolean/test_init.py} (100%) create mode 100644 tests/components/input_datetime/__init__.py rename tests/components/{test_input_datetime.py => input_datetime/test_init.py} (100%) create mode 100644 tests/components/input_number/__init__.py rename tests/components/{test_input_number.py => input_number/test_init.py} (100%) create mode 100644 tests/components/input_select/__init__.py rename tests/components/{test_input_select.py => input_select/test_init.py} (100%) create mode 100644 tests/components/input_text/__init__.py rename tests/components/{test_input_text.py => input_text/test_init.py} (100%) create mode 100644 tests/components/intent_script/__init__.py rename tests/components/{test_intent_script.py => intent_script/test_init.py} (100%) create mode 100644 tests/components/introduction/__init__.py rename tests/components/{test_introduction.py => introduction/test_init.py} (100%) rename tests/components/{test_kira.py => kira/test_init.py} (100%) create mode 100644 tests/components/litejet/__init__.py rename tests/components/{test_litejet.py => litejet/test_init.py} (100%) create mode 100644 tests/components/logbook/__init__.py rename tests/components/{test_logbook.py => logbook/test_init.py} (100%) create mode 100644 tests/components/logentries/__init__.py rename tests/components/{test_logentries.py => logentries/test_init.py} (100%) create mode 100644 tests/components/logger/__init__.py rename tests/components/{test_logger.py => logger/test_init.py} (100%) create mode 100644 tests/components/melissa/__init__.py rename tests/components/{test_melissa.py => melissa/test_init.py} (100%) create mode 100644 tests/components/microsoft_face/__init__.py rename tests/components/{test_microsoft_face.py => microsoft_face/test_init.py} (100%) create mode 100644 tests/components/mqtt_eventstream/__init__.py rename tests/components/{test_mqtt_eventstream.py => mqtt_eventstream/test_init.py} (100%) create mode 100644 tests/components/mqtt_statestream/__init__.py rename tests/components/{test_mqtt_statestream.py => mqtt_statestream/test_init.py} (100%) create mode 100644 tests/components/mythicbeastsdns/__init__.py rename tests/components/{test_mythicbeastsdns.py => mythicbeastsdns/test_init.py} (100%) create mode 100644 tests/components/namecheapdns/__init__.py rename tests/components/{test_namecheapdns.py => namecheapdns/test_init.py} (100%) create mode 100644 tests/components/ness_alarm/__init__.py rename tests/components/{test_ness_alarm.py => ness_alarm/test_init.py} (100%) create mode 100644 tests/components/no_ip/__init__.py rename tests/components/{test_no_ip.py => no_ip/test_init.py} (100%) create mode 100644 tests/components/nuheat/__init__.py rename tests/components/{test_nuheat.py => nuheat/test_init.py} (100%) create mode 100644 tests/components/panel_custom/__init__.py rename tests/components/{test_panel_custom.py => panel_custom/test_init.py} (100%) create mode 100644 tests/components/panel_iframe/__init__.py rename tests/components/{test_panel_iframe.py => panel_iframe/test_init.py} (100%) create mode 100644 tests/components/pilight/__init__.py rename tests/components/{test_pilight.py => pilight/test_init.py} (100%) create mode 100644 tests/components/plant/__init__.py rename tests/components/{test_plant.py => plant/test_init.py} (100%) create mode 100644 tests/components/prometheus/__init__.py rename tests/components/{test_prometheus.py => prometheus/test_init.py} (100%) create mode 100644 tests/components/proximity/__init__.py rename tests/components/{test_proximity.py => proximity/test_init.py} (100%) create mode 100644 tests/components/python_script/__init__.py rename tests/components/{test_python_script.py => python_script/test_init.py} (100%) create mode 100644 tests/components/qwikswitch/__init__.py rename tests/components/{test_qwikswitch.py => qwikswitch/test_init.py} (100%) create mode 100644 tests/components/remember_the_milk/__init__.py rename tests/components/{test_remember_the_milk.py => remember_the_milk/test_init.py} (100%) create mode 100644 tests/components/rest_command/__init__.py rename tests/components/{test_rest_command.py => rest_command/test_init.py} (100%) create mode 100644 tests/components/rflink/__init__.py rename tests/components/{test_rflink.py => rflink/test_init.py} (100%) create mode 100644 tests/components/rfxtrx/__init__.py rename tests/components/{test_rfxtrx.py => rfxtrx/test_init.py} (100%) create mode 100644 tests/components/ring/__init__.py rename tests/components/{test_ring.py => ring/test_init.py} (100%) create mode 100644 tests/components/rss_feed_template/__init__.py rename tests/components/{test_rss_feed_template.py => rss_feed_template/test_init.py} (100%) create mode 100644 tests/components/script/__init__.py rename tests/components/{test_script.py => script/test_init.py} (100%) create mode 100644 tests/components/shell_command/__init__.py rename tests/components/{test_shell_command.py => shell_command/test_init.py} (100%) create mode 100644 tests/components/shopping_list/__init__.py rename tests/components/{test_shopping_list.py => shopping_list/test_init.py} (100%) create mode 100644 tests/components/sleepiq/__init__.py rename tests/components/{test_sleepiq.py => sleepiq/test_init.py} (100%) create mode 100644 tests/components/snips/__init__.py rename tests/components/{test_snips.py => snips/test_init.py} (100%) create mode 100644 tests/components/spaceapi/__init__.py rename tests/components/{test_spaceapi.py => spaceapi/test_init.py} (100%) create mode 100644 tests/components/spc/__init__.py rename tests/components/{test_spc.py => spc/test_init.py} (100%) create mode 100644 tests/components/splunk/__init__.py rename tests/components/{test_splunk.py => splunk/test_init.py} (100%) create mode 100644 tests/components/statsd/__init__.py rename tests/components/{test_statsd.py => statsd/test_init.py} (100%) create mode 100644 tests/components/sun/__init__.py rename tests/components/{test_sun.py => sun/test_init.py} (100%) create mode 100644 tests/components/system_log/__init__.py rename tests/components/{test_system_log.py => system_log/test_init.py} (100%) create mode 100644 tests/components/updater/__init__.py rename tests/components/{test_updater.py => updater/test_init.py} (100%) create mode 100644 tests/components/vultr/__init__.py rename tests/components/{test_vultr.py => vultr/test_init.py} (100%) create mode 100644 tests/components/wake_on_lan/__init__.py rename tests/components/{test_wake_on_lan.py => wake_on_lan/test_init.py} (100%) create mode 100644 tests/components/webhook/__init__.py rename tests/components/{test_webhook.py => webhook/test_init.py} (100%) create mode 100644 tests/components/weblink/__init__.py rename tests/components/{test_weblink.py => weblink/test_init.py} (100%) diff --git a/.coveragerc b/.coveragerc index e7454ccfa9c..488ea50298a 100644 --- a/.coveragerc +++ b/.coveragerc @@ -10,11 +10,8 @@ omit = homeassistant/helpers/signal.py # omit pieces of code that rely on external devices being present - homeassistant/components/ads/* - homeassistant/components/ihc/* - homeassistant/components/knx/* - homeassistant/components/lcn/* homeassistant/components/abode/* + homeassistant/components/ads/* homeassistant/components/air_quality/nilu.py homeassistant/components/air_quality/opensensemap.py homeassistant/components/alarm_control_panel/alarmdotcom.py @@ -30,7 +27,7 @@ omit = homeassistant/components/amcrest/* homeassistant/components/android_ip_webcam/* homeassistant/components/apcupsd/* - homeassistant/components/apiai.py + homeassistant/components/apiai/* homeassistant/components/apple_tv/* homeassistant/components/aqualogic/* homeassistant/components/arduino/* @@ -52,7 +49,7 @@ omit = homeassistant/components/blink/* homeassistant/components/bloomsky/* homeassistant/components/bmw_connected_drive/* - homeassistant/components/browser.py + homeassistant/components/browser/* homeassistant/components/calendar/caldav.py homeassistant/components/calendar/todoist.py homeassistant/components/camera/bloomsky.py @@ -85,8 +82,8 @@ omit = homeassistant/components/climate/touchline.py homeassistant/components/climate/venstar.py homeassistant/components/climate/zhong_hong.py - homeassistant/components/cloudflare.py - homeassistant/components/coinbase.py + homeassistant/components/cloudflare/* + homeassistant/components/coinbase/* homeassistant/components/comfoconnect/* homeassistant/components/cover/aladdin_connect.py homeassistant/components/cover/brunt.py @@ -139,10 +136,10 @@ omit = homeassistant/components/device_tracker/trackr.py homeassistant/components/device_tracker/ubus.py homeassistant/components/digital_ocean/* - homeassistant/components/dominos.py + homeassistant/components/dominos/* homeassistant/components/doorbird/* homeassistant/components/dovado/* - homeassistant/components/downloader.py + homeassistant/components/downloader/* homeassistant/components/dweet/* homeassistant/components/ecoal_boiler/* homeassistant/components/ecobee/* @@ -151,7 +148,7 @@ omit = homeassistant/components/egardia/* homeassistant/components/eight_sleep/* homeassistant/components/elkm1/* - homeassistant/components/emoncms_history.py + homeassistant/components/emoncms_history/* homeassistant/components/emulated_hue/upnp.py homeassistant/components/enocean/* homeassistant/components/envisalink/* @@ -167,15 +164,15 @@ omit = homeassistant/components/fan/wemo.py homeassistant/components/fastdotcom/* homeassistant/components/fibaro/* - homeassistant/components/folder_watcher.py - homeassistant/components/foursquare.py + homeassistant/components/folder_watcher/* + homeassistant/components/foursquare/* homeassistant/components/freebox/* homeassistant/components/fritzbox/* homeassistant/components/gc100/* - homeassistant/components/goalfeed.py + homeassistant/components/goalfeed/* homeassistant/components/google/* homeassistant/components/googlehome/* - homeassistant/components/greeneye_monitor.py + homeassistant/components/greeneye_monitor/* homeassistant/components/habitica/* homeassistant/components/hangouts/__init__.py homeassistant/components/hangouts/* @@ -191,26 +188,29 @@ omit = homeassistant/components/homeworks/* homeassistant/components/huawei_lte/* homeassistant/components/hydrawise/* - homeassistant/components/idteck_prox.py + homeassistant/components/idteck_prox/* homeassistant/components/ifttt/* + homeassistant/components/ihc/* homeassistant/components/image_processing/dlib_face_detect.py homeassistant/components/image_processing/dlib_face_identify.py homeassistant/components/image_processing/qrcode.py homeassistant/components/image_processing/seven_segments.py homeassistant/components/image_processing/tensorflow.py - homeassistant/components/insteon_local.py - homeassistant/components/insteon_plm.py + homeassistant/components/insteon_local/* + homeassistant/components/insteon_plm/* homeassistant/components/insteon/* homeassistant/components/ios/* homeassistant/components/iota/* homeassistant/components/isy994/* homeassistant/components/joaoapps_join/* homeassistant/components/juicenet/* - homeassistant/components/keyboard_remote.py - homeassistant/components/keyboard.py + homeassistant/components/keyboard_remote/* + homeassistant/components/keyboard/* homeassistant/components/kira/* + homeassistant/components/knx/* homeassistant/components/konnected/* homeassistant/components/lametric/* + homeassistant/components/lcn/* homeassistant/components/lifx/* homeassistant/components/light/avion.py homeassistant/components/light/blinksticklight.py @@ -244,7 +244,7 @@ omit = homeassistant/components/light/zengge.py homeassistant/components/lightwave/* homeassistant/components/linode/* - homeassistant/components/lirc.py + homeassistant/components/lirc/* homeassistant/components/lock/kiwi.py homeassistant/components/lock/lockitron.py homeassistant/components/lock/nello.py @@ -257,10 +257,10 @@ omit = homeassistant/components/lutron/* homeassistant/components/mailbox/asterisk_cdr.py homeassistant/components/mailgun/notify.py - homeassistant/components/map.py + homeassistant/components/map/* homeassistant/components/matrix/* homeassistant/components/maxcube/* - homeassistant/components/media_extractor.py + homeassistant/components/media_extractor/* homeassistant/components/media_player/anthemav.py homeassistant/components/media_player/aquostv.py homeassistant/components/media_player/bluesound.py @@ -317,7 +317,7 @@ omit = homeassistant/components/mochad/* homeassistant/components/modbus/* homeassistant/components/mychevy/* - homeassistant/components/mycroft.py + homeassistant/components/mycroft/* homeassistant/components/mysensors/* homeassistant/components/neato/* homeassistant/components/nest/* @@ -364,7 +364,7 @@ omit = homeassistant/components/notify/twilio_sms.py homeassistant/components/notify/twitter.py homeassistant/components/notify/xmpp.py - homeassistant/components/nuimo_controller.py + homeassistant/components/nuimo_controller/* homeassistant/components/octoprint/* homeassistant/components/opencv/* homeassistant/components/opentherm_gw/* @@ -374,10 +374,10 @@ omit = homeassistant/components/pilight/* homeassistant/components/plum_lightpad/* homeassistant/components/point/* - homeassistant/components/prometheus.py + homeassistant/components/prometheus/* homeassistant/components/qwikswitch/* homeassistant/components/rachio/* - homeassistant/components/rainbird.py + homeassistant/components/rainbird/* homeassistant/components/raincloud/* homeassistant/components/rainmachine/__init__.py homeassistant/components/rainmachine/binary_sensor.py @@ -390,7 +390,7 @@ omit = homeassistant/components/remote/itach.py homeassistant/components/rfxtrx/* homeassistant/components/roku/* - homeassistant/components/route53.py + homeassistant/components/route53/* homeassistant/components/rpi_gpio/* homeassistant/components/rpi_pfio/* homeassistant/components/sabnzbd/* @@ -572,15 +572,15 @@ omit = homeassistant/components/sensor/xbox_live.py homeassistant/components/sensor/zamg.py homeassistant/components/sensor/zestimate.py - homeassistant/components/shiftr.py + homeassistant/components/shiftr/* homeassistant/components/simplisafe/__init__.py homeassistant/components/simplisafe/alarm_control_panel.py homeassistant/components/sisyphus/* homeassistant/components/skybell/* homeassistant/components/smappee/* homeassistant/components/sonos/* + homeassistant/components/spc/* homeassistant/components/speedtestdotnet/* - homeassistant/components/spc.py homeassistant/components/spider/* homeassistant/components/switch/acer_projector.py homeassistant/components/switch/anel_pwrctrl.py @@ -616,7 +616,7 @@ omit = homeassistant/components/tellstick/* homeassistant/components/tesla/* homeassistant/components/thethingsnetwork/* - homeassistant/components/thingspeak.py + homeassistant/components/thingspeak/* homeassistant/components/thinkingcleaner/* homeassistant/components/tibber/* homeassistant/components/toon/* @@ -640,7 +640,7 @@ omit = homeassistant/components/w800rf32/* homeassistant/components/water_heater/econet.py homeassistant/components/waterfurnace/* - homeassistant/components/watson_iot.py + homeassistant/components/watson_iot/* homeassistant/components/weather/bom.py homeassistant/components/weather/buienradar.py homeassistant/components/weather/darksky.py @@ -655,7 +655,7 @@ omit = homeassistant/components/xiaomi_aqara/* homeassistant/components/xiaomi_miio/* homeassistant/components/zabbix/* - homeassistant/components/zeroconf.py + homeassistant/components/zeroconf/* homeassistant/components/zha/__init__.py homeassistant/components/zha/api.py homeassistant/components/zha/binary_sensor.py diff --git a/CODEOWNERS b/CODEOWNERS index 4f0727e1101..b9f5cec0d64 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,34 +7,34 @@ setup.py @home-assistant/core homeassistant/*.py @home-assistant/core homeassistant/helpers/* @home-assistant/core homeassistant/util/* @home-assistant/core -homeassistant/components/api.py @home-assistant/core +homeassistant/components/api/* @home-assistant/core homeassistant/components/auth/* @home-assistant/core homeassistant/components/automation/* @home-assistant/core homeassistant/components/cloud/* @home-assistant/core homeassistant/components/config/* @home-assistant/core -homeassistant/components/configurator.py @home-assistant/core +homeassistant/components/configurator/* @home-assistant/core homeassistant/components/conversation/* @home-assistant/core homeassistant/components/frontend/* @home-assistant/core homeassistant/components/group/* @home-assistant/core -homeassistant/components/history.py @home-assistant/core +homeassistant/components/history/* @home-assistant/core homeassistant/components/http/* @home-assistant/core homeassistant/components/input_*.py @home-assistant/core -homeassistant/components/introduction.py @home-assistant/core -homeassistant/components/logger.py @home-assistant/core +homeassistant/components/introduction/* @home-assistant/core +homeassistant/components/logger/* @home-assistant/core homeassistant/components/lovelace/* @home-assistant/core homeassistant/components/mqtt/* @home-assistant/core -homeassistant/components/panel_custom.py @home-assistant/core -homeassistant/components/panel_iframe.py @home-assistant/core +homeassistant/components/panel_custom/* @home-assistant/core +homeassistant/components/panel_iframe/* @home-assistant/core homeassistant/components/onboarding/* @home-assistant/core homeassistant/components/persistent_notification/* @home-assistant/core homeassistant/components/scene/__init__.py @home-assistant/core homeassistant/components/scene/hass.py @home-assistant/core -homeassistant/components/script.py @home-assistant/core -homeassistant/components/shell_command.py @home-assistant/core -homeassistant/components/sun.py @home-assistant/core -homeassistant/components/updater.py @home-assistant/core +homeassistant/components/script/* @home-assistant/core +homeassistant/components/shell_command/* @home-assistant/core +homeassistant/components/sun/* @home-assistant/core +homeassistant/components/updater/* @home-assistant/core homeassistant/components/weblink/* @home-assistant/core -homeassistant/components/websocket_api.py @home-assistant/core +homeassistant/components/websocket_api/* @home-assistant/core homeassistant/components/zone/* @home-assistant/core # Home Assistant Developer Teams @@ -67,8 +67,8 @@ homeassistant/components/device_tracker/quantum_gateway.py @cisasteelersfan homeassistant/components/device_tracker/tile.py @bachya homeassistant/components/device_tracker/traccar.py @ludeeus homeassistant/components/device_tracker/bt_smarthub.py @jxwolstenholme -homeassistant/components/history_graph.py @andrey-git -homeassistant/components/influx.py @fabaff +homeassistant/components/history_graph/* @andrey-git +homeassistant/components/influx/* @fabaff homeassistant/components/light/lifx_legacy.py @amelchio homeassistant/components/light/tplink.py @rytilahti homeassistant/components/light/yeelight.py @rytilahti @@ -84,7 +84,7 @@ homeassistant/components/media_player/mpd.py @fabaff homeassistant/components/media_player/sonos.py @amelchio homeassistant/components/media_player/xiaomi_tv.py @fattdev homeassistant/components/media_player/yamaha_musiccast.py @jalmeroth -homeassistant/components/no_ip.py @fabaff +homeassistant/components/no_ip/* @fabaff homeassistant/components/notify/file.py @fabaff homeassistant/components/notify/flock.py @fabaff homeassistant/components/notify/instapush.py @fabaff @@ -93,7 +93,7 @@ homeassistant/components/notify/smtp.py @fabaff homeassistant/components/notify/syslog.py @fabaff homeassistant/components/notify/xmpp.py @fabaff homeassistant/components/notify/yessssms.py @flowolf -homeassistant/components/plant.py @ChristianKuehnel +homeassistant/components/plant/* @ChristianKuehnel homeassistant/components/remote/harmony.py @ehendrix23 homeassistant/components/scene/lifx_cloud.py @amelchio homeassistant/components/sensor/airvisual.py @bachya @@ -138,8 +138,8 @@ homeassistant/components/sensor/time_data.py @fabaff homeassistant/components/sensor/version.py @fabaff homeassistant/components/sensor/waqi.py @andrey-git homeassistant/components/sensor/worldclock.py @fabaff -homeassistant/components/shiftr.py @fabaff -homeassistant/components/spaceapi.py @fabaff +homeassistant/components/shiftr/* @fabaff +homeassistant/components/spaceapi/* @fabaff homeassistant/components/switch/switchbot.py @danielhiversen homeassistant/components/switch/switchmate.py @danielhiversen homeassistant/components/switch/tplink.py @rytilahti @@ -149,11 +149,11 @@ homeassistant/components/weather/darksky.py @fabaff homeassistant/components/weather/demo.py @fabaff homeassistant/components/weather/met.py @danielhiversen homeassistant/components/weather/openweathermap.py @fabaff -homeassistant/components/xiaomi_aqara.py @danielhiversen @syssi +homeassistant/components/xiaomi_aqara/* @danielhiversen @syssi # A homeassistant/components/ambient_station/* @bachya -homeassistant/components/arduino.py @fabaff +homeassistant/components/arduino/* @fabaff homeassistant/components/*/arduino.py @fabaff homeassistant/components/*/arest.py @fabaff homeassistant/components/*/axis.py @kane610 @@ -161,64 +161,64 @@ homeassistant/components/*/axis.py @kane610 # B homeassistant/components/blink/* @fronzbot homeassistant/components/*/blink.py @fronzbot -homeassistant/components/bmw_connected_drive.py @ChristianKuehnel +homeassistant/components/bmw_connected_drive/* @ChristianKuehnel homeassistant/components/*/bmw_connected_drive.py @ChristianKuehnel homeassistant/components/*/broadlink.py @danielhiversen # C -homeassistant/components/cloudflare.py @ludeeus +homeassistant/components/cloudflare/* @ludeeus homeassistant/components/counter/* @fabaff # D -homeassistant/components/daikin.py @fredrike @rofrantz +homeassistant/components/daikin/* @fredrike @rofrantz homeassistant/components/*/daikin.py @fredrike @rofrantz homeassistant/components/*/deconz.py @kane610 -homeassistant/components/digital_ocean.py @fabaff +homeassistant/components/digital_ocean/* @fabaff homeassistant/components/*/digital_ocean.py @fabaff -homeassistant/components/dweet.py @fabaff +homeassistant/components/dweet/* @fabaff homeassistant/components/*/dweet.py @fabaff # E -homeassistant/components/ecovacs.py @OverloadUT +homeassistant/components/ecovacs/* @OverloadUT homeassistant/components/*/ecovacs.py @OverloadUT homeassistant/components/*/edp_redy.py @abmantis -homeassistant/components/edp_redy.py @abmantis -homeassistant/components/eight_sleep.py @mezz64 +homeassistant/components/edp_redy/* @abmantis +homeassistant/components/eight_sleep/* @mezz64 homeassistant/components/*/eight_sleep.py @mezz64 homeassistant/components/esphome/*.py @OttoWinter # G -homeassistant/components/googlehome.py @ludeeus +homeassistant/components/googlehome/* @ludeeus homeassistant/components/*/googlehome.py @ludeeus # H -homeassistant/components/hive.py @Rendili @KJonline +homeassistant/components/hive/* @Rendili @KJonline homeassistant/components/*/hive.py @Rendili @KJonline homeassistant/components/homekit/* @cdce8p -homeassistant/components/huawei_lte.py @scop +homeassistant/components/huawei_lte/* @scop homeassistant/components/*/huawei_lte.py @scop # K -homeassistant/components/knx.py @Julius2342 +homeassistant/components/knx/* @Julius2342 homeassistant/components/*/knx.py @Julius2342 -homeassistant/components/konnected.py @heythisisnate +homeassistant/components/konnected/* @heythisisnate homeassistant/components/*/konnected.py @heythisisnate # L -homeassistant/components/lifx.py @amelchio +homeassistant/components/lifx/* @amelchio homeassistant/components/*/lifx.py @amelchio homeassistant/components/luftdaten/* @fabaff homeassistant/components/*/luftdaten.py @fabaff # M -homeassistant/components/matrix.py @tinloaf +homeassistant/components/matrix/* @tinloaf homeassistant/components/*/matrix.py @tinloaf -homeassistant/components/melissa.py @kennedyshead +homeassistant/components/melissa/* @kennedyshead homeassistant/components/*/melissa.py @kennedyshead homeassistant/components/*/mystrom.py @fabaff # N -homeassistant/components/ness_alarm.py @nickw444 +homeassistant/components/ness_alarm/* @nickw444 homeassistant/components/*/ness_alarm.py @nickw444 # O @@ -229,7 +229,7 @@ homeassistant/components/point/* @fredrike homeassistant/components/*/point.py @fredrike # Q -homeassistant/components/qwikswitch.py @kellerza +homeassistant/components/qwikswitch/* @kellerza homeassistant/components/*/qwikswitch.py @kellerza # R @@ -243,13 +243,13 @@ homeassistant/components/smartthings/* @andrewsayre homeassistant/components/spider/* @peternijssen # T -homeassistant/components/tahoma.py @philklei +homeassistant/components/tahoma/* @philklei homeassistant/components/*/tahoma.py @philklei homeassistant/components/tellduslive/*.py @fredrike homeassistant/components/*/tellduslive.py @fredrike -homeassistant/components/tesla.py @zabuldon +homeassistant/components/tesla/* @zabuldon homeassistant/components/*/tesla.py @zabuldon -homeassistant/components/thethingsnetwork.py @fabaff +homeassistant/components/thethingsnetwork/* @fabaff homeassistant/components/*/thethingsnetwork.py @fabaff homeassistant/components/tibber/* @danielhiversen homeassistant/components/*/tibber.py @danielhiversen @@ -257,17 +257,17 @@ homeassistant/components/tradfri/* @ggravlingen homeassistant/components/*/tradfri.py @ggravlingen # U -homeassistant/components/unifi.py @kane610 +homeassistant/components/unifi/* @kane610 homeassistant/components/switch/unifi.py @kane610 -homeassistant/components/upcloud.py @scop +homeassistant/components/upcloud/* @scop homeassistant/components/*/upcloud.py @scop # V -homeassistant/components/velux.py @Julius2342 +homeassistant/components/velux/* @Julius2342 homeassistant/components/*/velux.py @Julius2342 # W -homeassistant/components/wemo.py @sqldiablo +homeassistant/components/wemo/* @sqldiablo homeassistant/components/*/wemo.py @sqldiablo # X diff --git a/homeassistant/components/abode/services.yaml b/homeassistant/components/abode/services.yaml new file mode 100644 index 00000000000..ad0bb076d90 --- /dev/null +++ b/homeassistant/components/abode/services.yaml @@ -0,0 +1,13 @@ +capture_image: + description: Request a new image capture from a camera device. + fields: + entity_id: {description: Entity id of the camera to request an image., example: camera.downstairs_motion_camera} +change_setting: + description: Change an Abode system setting. + fields: + setting: {description: Setting to change., example: beeper_mute} + value: {description: Value of the setting., example: '1'} +trigger_quick_action: + description: Trigger an Abode quick action. + fields: + entity_id: {description: Entity id of the quick action to trigger., example: binary_sensor.home_quick_action} diff --git a/homeassistant/components/alert.py b/homeassistant/components/alert/__init__.py similarity index 100% rename from homeassistant/components/alert.py rename to homeassistant/components/alert/__init__.py diff --git a/homeassistant/components/alert/services.yaml b/homeassistant/components/alert/services.yaml new file mode 100644 index 00000000000..1cdd1f02e7e --- /dev/null +++ b/homeassistant/components/alert/services.yaml @@ -0,0 +1,12 @@ +toggle: + description: Toggle alert's notifications. + fields: + entity_id: {description: Name of the alert to toggle., example: alert.garage_door_open} +turn_off: + description: Silence alert's notifications. + fields: + entity_id: {description: Name of the alert to silence., example: alert.garage_door_open} +turn_on: + description: Reset alert's notifications. + fields: + entity_id: {description: Name of the alert to reset., example: alert.garage_door_open} diff --git a/homeassistant/components/api.py b/homeassistant/components/api/__init__.py similarity index 100% rename from homeassistant/components/api.py rename to homeassistant/components/api/__init__.py diff --git a/homeassistant/components/apple_tv/services.yaml b/homeassistant/components/apple_tv/services.yaml new file mode 100644 index 00000000000..01e26a5630b --- /dev/null +++ b/homeassistant/components/apple_tv/services.yaml @@ -0,0 +1,5 @@ +apple_tv_authenticate: + description: Start AirPlay device authentication. + fields: + entity_id: {description: Name(s) of entities to authenticate with., example: media_player.apple_tv} +apple_tv_scan: {description: Scan for Apple TV devices.} diff --git a/homeassistant/components/asuswrt.py b/homeassistant/components/asuswrt/__init__.py similarity index 100% rename from homeassistant/components/asuswrt.py rename to homeassistant/components/asuswrt/__init__.py diff --git a/homeassistant/components/browser.py b/homeassistant/components/browser/__init__.py similarity index 100% rename from homeassistant/components/browser.py rename to homeassistant/components/browser/__init__.py diff --git a/homeassistant/components/canary.py b/homeassistant/components/canary/__init__.py similarity index 100% rename from homeassistant/components/canary.py rename to homeassistant/components/canary/__init__.py diff --git a/homeassistant/components/cloudflare.py b/homeassistant/components/cloudflare/__init__.py similarity index 100% rename from homeassistant/components/cloudflare.py rename to homeassistant/components/cloudflare/__init__.py diff --git a/homeassistant/components/coinbase.py b/homeassistant/components/coinbase/__init__.py similarity index 100% rename from homeassistant/components/coinbase.py rename to homeassistant/components/coinbase/__init__.py diff --git a/homeassistant/components/configurator.py b/homeassistant/components/configurator/__init__.py similarity index 100% rename from homeassistant/components/configurator.py rename to homeassistant/components/configurator/__init__.py diff --git a/homeassistant/components/datadog.py b/homeassistant/components/datadog/__init__.py similarity index 100% rename from homeassistant/components/datadog.py rename to homeassistant/components/datadog/__init__.py diff --git a/homeassistant/components/demo.py b/homeassistant/components/demo/__init__.py similarity index 100% rename from homeassistant/components/demo.py rename to homeassistant/components/demo/__init__.py diff --git a/homeassistant/components/device_sun_light_trigger.py b/homeassistant/components/device_sun_light_trigger/__init__.py similarity index 100% rename from homeassistant/components/device_sun_light_trigger.py rename to homeassistant/components/device_sun_light_trigger/__init__.py diff --git a/homeassistant/components/discovery.py b/homeassistant/components/discovery/__init__.py similarity index 100% rename from homeassistant/components/discovery.py rename to homeassistant/components/discovery/__init__.py diff --git a/homeassistant/components/dominos.py b/homeassistant/components/dominos/__init__.py similarity index 100% rename from homeassistant/components/dominos.py rename to homeassistant/components/dominos/__init__.py diff --git a/homeassistant/components/downloader.py b/homeassistant/components/downloader/__init__.py similarity index 100% rename from homeassistant/components/downloader.py rename to homeassistant/components/downloader/__init__.py diff --git a/homeassistant/components/duckdns.py b/homeassistant/components/duckdns/__init__.py similarity index 100% rename from homeassistant/components/duckdns.py rename to homeassistant/components/duckdns/__init__.py diff --git a/homeassistant/components/dyson.py b/homeassistant/components/dyson/__init__.py similarity index 100% rename from homeassistant/components/dyson.py rename to homeassistant/components/dyson/__init__.py diff --git a/homeassistant/components/eight_sleep/services.yaml b/homeassistant/components/eight_sleep/services.yaml new file mode 100644 index 00000000000..db7690730dd --- /dev/null +++ b/homeassistant/components/eight_sleep/services.yaml @@ -0,0 +1,6 @@ +heat_set: + description: Set heating level for eight sleep. + fields: + duration: {description: Duration to heat at the target level in seconds., example: 3600} + entity_id: {description: Entity id of the bed state to adjust., example: sensor.eight_left_bed_state} + target: {description: Target heating level from 0-100., example: 35} diff --git a/homeassistant/components/emoncms_history.py b/homeassistant/components/emoncms_history/__init__.py similarity index 100% rename from homeassistant/components/emoncms_history.py rename to homeassistant/components/emoncms_history/__init__.py diff --git a/homeassistant/components/feedreader.py b/homeassistant/components/feedreader/__init__.py similarity index 100% rename from homeassistant/components/feedreader.py rename to homeassistant/components/feedreader/__init__.py diff --git a/homeassistant/components/ffmpeg.py b/homeassistant/components/ffmpeg/__init__.py similarity index 100% rename from homeassistant/components/ffmpeg.py rename to homeassistant/components/ffmpeg/__init__.py diff --git a/homeassistant/components/ffmpeg/services.yaml b/homeassistant/components/ffmpeg/services.yaml new file mode 100644 index 00000000000..05c9c4fb180 --- /dev/null +++ b/homeassistant/components/ffmpeg/services.yaml @@ -0,0 +1,15 @@ +restart: + description: Send a restart command to a ffmpeg based sensor. + fields: + entity_id: {description: Name(s) of entities that will restart. Platform dependent., + example: binary_sensor.ffmpeg_noise} +start: + description: Send a start command to a ffmpeg based sensor. + fields: + entity_id: {description: Name(s) of entities that will start. Platform dependent., + example: binary_sensor.ffmpeg_noise} +stop: + description: Send a stop command to a ffmpeg based sensor. + fields: + entity_id: {description: Name(s) of entities that will stop. Platform dependent., + example: binary_sensor.ffmpeg_noise} diff --git a/homeassistant/components/folder_watcher.py b/homeassistant/components/folder_watcher/__init__.py similarity index 100% rename from homeassistant/components/folder_watcher.py rename to homeassistant/components/folder_watcher/__init__.py diff --git a/homeassistant/components/foursquare.py b/homeassistant/components/foursquare/__init__.py similarity index 100% rename from homeassistant/components/foursquare.py rename to homeassistant/components/foursquare/__init__.py diff --git a/homeassistant/components/foursquare/services.yaml b/homeassistant/components/foursquare/services.yaml new file mode 100644 index 00000000000..3d15a9583f6 --- /dev/null +++ b/homeassistant/components/foursquare/services.yaml @@ -0,0 +1,29 @@ +checkin: + description: Check a user into a Foursquare venue. + fields: + alt: {description: 'Altitude of the user''s location, in meters. [Optional]', + example: 0} + altAcc: {description: 'Vertical accuracy of the user''s location, in meters.', + example: 1} + broadcast: {description: 'Who to broadcast this check-in to. Accepts a comma-delimited + list of values: private (off the grid) or public (share with friends), facebook + share on facebook, twitter share on twitter, followers share with followers + (celebrity mode users only), If no valid value is found, the default is public. + [Optional]', example: 'public,twitter'} + eventId: {description: 'The event the user is checking in to. [Optional]', example: UHR8THISVNT} + ll: {description: 'Latitude and longitude of the user''s location. Only specify + this field if you have a GPS or other device reported location for the user + at the time of check-in. [Optional]', example: '33.7,44.2'} + llAcc: {description: 'Accuracy of the user''s latitude and longitude, in meters. + [Optional]', example: 1} + mentions: {description: 'Mentions in your check-in. This parameter is a semicolon-delimited + list of mentions. A single mention is of the form "start,end,userid", where + start is the index of the first character in the shout representing the mention, + end is the index of the first character in the shout after the mention, and + userid is the userid of the user being mentioned. If userid is prefixed with + "fbu-", this indicates a Facebook userid that is being mention. Character + indices in shouts are 0-based. [Optional]', example: '5,10,HZXXY3Y;15,20,GZYYZ3Z;25,30,fbu-GZXY13Y'} + shout: {description: 'A message about your check-in. The maximum length of this + field is 140 characters. [Optional]', example: There are crayons! Crayons!} + venueId: {description: 'The Foursquare venue where the user is checking in. [Required]', + example: IHR8THISVNU} diff --git a/homeassistant/components/freedns.py b/homeassistant/components/freedns/__init__.py similarity index 100% rename from homeassistant/components/freedns.py rename to homeassistant/components/freedns/__init__.py diff --git a/homeassistant/components/goalfeed.py b/homeassistant/components/goalfeed/__init__.py similarity index 100% rename from homeassistant/components/goalfeed.py rename to homeassistant/components/goalfeed/__init__.py diff --git a/homeassistant/components/google_domains.py b/homeassistant/components/google_domains/__init__.py similarity index 100% rename from homeassistant/components/google_domains.py rename to homeassistant/components/google_domains/__init__.py diff --git a/homeassistant/components/graphite.py b/homeassistant/components/graphite/__init__.py similarity index 100% rename from homeassistant/components/graphite.py rename to homeassistant/components/graphite/__init__.py diff --git a/homeassistant/components/greeneye_monitor.py b/homeassistant/components/greeneye_monitor/__init__.py similarity index 100% rename from homeassistant/components/greeneye_monitor.py rename to homeassistant/components/greeneye_monitor/__init__.py diff --git a/homeassistant/components/hassio/services.yaml b/homeassistant/components/hassio/services.yaml new file mode 100644 index 00000000000..33574c5dd71 --- /dev/null +++ b/homeassistant/components/hassio/services.yaml @@ -0,0 +1,37 @@ +addon_install: + description: Install a HassIO docker addon. + fields: + addon: {description: Name of addon., example: smb_config} + version: {description: Optional or it will be use the latest version., example: '0.2'} +addon_start: + description: Start a HassIO docker addon. + fields: + addon: {description: Name of addon., example: smb_config} +addon_stop: + description: Stop a HassIO docker addon. + fields: + addon: {description: Name of addon., example: smb_config} +addon_uninstall: + description: Uninstall a HassIO docker addon. + fields: + addon: {description: Name of addon., example: smb_config} +addon_update: + description: Update a HassIO docker addon. + fields: + addon: {description: Name of addon., example: smb_config} + version: {description: Optional or it will be use the latest version., example: '0.2'} +homeassistant_update: + description: Update HomeAssistant docker image. + fields: + version: {description: Optional or it will be use the latest version., example: 0.40.1} +host_reboot: {description: Reboot host computer.} +host_shutdown: {description: Poweroff host computer.} +host_update: + description: Update host computer. + fields: + version: {description: Optional or it will be use the latest version., example: '0.3'} +supervisor_reload: {description: Reload HassIO supervisor addons/updates/configs.} +supervisor_update: + description: Update HassIO supervisor. + fields: + version: {description: Optional or it will be use the latest version., example: '0.3'} diff --git a/homeassistant/components/hdmi_cec/services.yaml b/homeassistant/components/hdmi_cec/services.yaml new file mode 100644 index 00000000000..bb0f5f932ae --- /dev/null +++ b/homeassistant/components/hdmi_cec/services.yaml @@ -0,0 +1,32 @@ +power_on: {description: Power on all devices which supports it.} +select_device: + description: Select HDMI device. + fields: + device: {description: 'Address of device to select. Can be entity_id, physical + address or alias from confuguration.', example: '"switch.hdmi_1" or "1.1.0.0" + or "01:10"'} +send_command: + description: Sends CEC command into HDMI CEC capable adapter. + fields: + att: + description: Optional parameters. + example: [0, 2] + cmd: {description: 'Command itself. Could be decimal number or string with hexadeximal + notation: "0x10".', example: 144 or "0x90"} + dst: {description: 'Destination for command. Could be decimal number or string + with hexadeximal notation: "0x10".', example: 5 or "0x5"} + raw: {description: 'Raw CEC command in format "00:00:00:00" where first two digits + are source and destination, second byte is command and optional other bytes + are command parameters. If raw command specified, other params are ignored.', + example: '"10:36"'} + src: {desctiption: 'Source of command. Could be decimal number or string with + hexadeximal notation: "0x10".', example: 12 or "0xc"} +standby: {description: Standby all devices which supports it.} +update: {description: Update devices state from network.} +volume: + description: Increase or decrease volume of system. + fields: + down: {description: Decreases volume x levels., example: 3} + mute: {description: 'Mutes audio system. Value should be on, off or toggle.', + example: toggle} + up: {description: Increases volume x levels., example: 3} diff --git a/homeassistant/components/history.py b/homeassistant/components/history/__init__.py similarity index 100% rename from homeassistant/components/history.py rename to homeassistant/components/history/__init__.py diff --git a/homeassistant/components/history_graph.py b/homeassistant/components/history_graph/__init__.py similarity index 100% rename from homeassistant/components/history_graph.py rename to homeassistant/components/history_graph/__init__.py diff --git a/homeassistant/components/idteck_prox.py b/homeassistant/components/idteck_prox/__init__.py similarity index 100% rename from homeassistant/components/idteck_prox.py rename to homeassistant/components/idteck_prox/__init__.py diff --git a/homeassistant/components/influxdb.py b/homeassistant/components/influxdb/__init__.py similarity index 100% rename from homeassistant/components/influxdb.py rename to homeassistant/components/influxdb/__init__.py diff --git a/homeassistant/components/input_boolean.py b/homeassistant/components/input_boolean/__init__.py similarity index 100% rename from homeassistant/components/input_boolean.py rename to homeassistant/components/input_boolean/__init__.py diff --git a/homeassistant/components/input_boolean/services.yaml b/homeassistant/components/input_boolean/services.yaml new file mode 100644 index 00000000000..e49d46c9b86 --- /dev/null +++ b/homeassistant/components/input_boolean/services.yaml @@ -0,0 +1,12 @@ +toggle: + description: Toggles an input boolean. + fields: + entity_id: {description: Entity id of the input boolean to toggle., example: input_boolean.notify_alerts} +turn_off: + description: Turns off an input boolean + fields: + entity_id: {description: Entity id of the input boolean to turn off., example: input_boolean.notify_alerts} +turn_on: + description: Turns on an input boolean. + fields: + entity_id: {description: Entity id of the input boolean to turn on., example: input_boolean.notify_alerts} diff --git a/homeassistant/components/input_datetime.py b/homeassistant/components/input_datetime/__init__.py similarity index 100% rename from homeassistant/components/input_datetime.py rename to homeassistant/components/input_datetime/__init__.py diff --git a/homeassistant/components/input_number.py b/homeassistant/components/input_number/__init__.py similarity index 100% rename from homeassistant/components/input_number.py rename to homeassistant/components/input_number/__init__.py diff --git a/homeassistant/components/input_number/services.yaml b/homeassistant/components/input_number/services.yaml new file mode 100644 index 00000000000..650abc056a9 --- /dev/null +++ b/homeassistant/components/input_number/services.yaml @@ -0,0 +1,16 @@ +decrement: + description: Decrement the value of an input number entity by its stepping. + fields: + entity_id: {description: Entity id of the input number the should be decremented., + example: input_number.threshold} +increment: + description: Increment the value of an input number entity by its stepping. + fields: + entity_id: {description: Entity id of the input number the should be incremented., + example: input_number.threshold} +set_value: + description: Set the value of an input number entity. + fields: + entity_id: {description: Entity id of the input number to set the new value., + example: input_number.threshold} + value: {description: The target value the entity should be set to., example: 42} diff --git a/homeassistant/components/input_select.py b/homeassistant/components/input_select/__init__.py similarity index 100% rename from homeassistant/components/input_select.py rename to homeassistant/components/input_select/__init__.py diff --git a/homeassistant/components/input_select/services.yaml b/homeassistant/components/input_select/services.yaml new file mode 100644 index 00000000000..8084e56b731 --- /dev/null +++ b/homeassistant/components/input_select/services.yaml @@ -0,0 +1,22 @@ +select_next: + description: Select the next options of an input select entity. + fields: + entity_id: {description: Entity id of the input select to select the next value + for., example: input_select.my_select} +select_option: + description: Select an option of an input select entity. + fields: + entity_id: {description: Entity id of the input select to select the value., example: input_select.my_select} + option: {description: Option to be selected., example: '"Item A"'} +select_previous: + description: Select the previous options of an input select entity. + fields: + entity_id: {description: Entity id of the input select to select the previous + value for., example: input_select.my_select} +set_options: + description: Set the options of an input select entity. + fields: + entity_id: {description: Entity id of the input select to set the new options + for., example: input_select.my_select} + options: {description: Options for the input select entity., example: '["Item + A", "Item B", "Item C"]'} diff --git a/homeassistant/components/input_text.py b/homeassistant/components/input_text/__init__.py similarity index 100% rename from homeassistant/components/input_text.py rename to homeassistant/components/input_text/__init__.py diff --git a/homeassistant/components/input_text/services.yaml b/homeassistant/components/input_text/services.yaml new file mode 100644 index 00000000000..219eecf2fd6 --- /dev/null +++ b/homeassistant/components/input_text/services.yaml @@ -0,0 +1,6 @@ +set_value: + description: Set the value of an input text entity. + fields: + entity_id: {description: Entity id of the input text to set the new value., example: input_text.text1} + value: {description: The target value the entity should be set to., example: This + is an example text} diff --git a/homeassistant/components/insteon_local.py b/homeassistant/components/insteon_local/__init__.py similarity index 100% rename from homeassistant/components/insteon_local.py rename to homeassistant/components/insteon_local/__init__.py diff --git a/homeassistant/components/insteon_plm.py b/homeassistant/components/insteon_plm/__init__.py similarity index 100% rename from homeassistant/components/insteon_plm.py rename to homeassistant/components/insteon_plm/__init__.py diff --git a/homeassistant/components/intent_script.py b/homeassistant/components/intent_script/__init__.py similarity index 100% rename from homeassistant/components/intent_script.py rename to homeassistant/components/intent_script/__init__.py diff --git a/homeassistant/components/introduction.py b/homeassistant/components/introduction/__init__.py similarity index 100% rename from homeassistant/components/introduction.py rename to homeassistant/components/introduction/__init__.py diff --git a/homeassistant/components/keyboard.py b/homeassistant/components/keyboard/__init__.py similarity index 100% rename from homeassistant/components/keyboard.py rename to homeassistant/components/keyboard/__init__.py diff --git a/homeassistant/components/keyboard_remote.py b/homeassistant/components/keyboard_remote/__init__.py similarity index 100% rename from homeassistant/components/keyboard_remote.py rename to homeassistant/components/keyboard_remote/__init__.py diff --git a/homeassistant/components/knx/services.yaml b/homeassistant/components/knx/services.yaml new file mode 100644 index 00000000000..79b11c129af --- /dev/null +++ b/homeassistant/components/knx/services.yaml @@ -0,0 +1,5 @@ +group_write: + description: Turn a light on. + fields: + address: {description: Group address(es) to write to., example: 1/1/0} + data: {description: KNX data to send., example: 1} diff --git a/homeassistant/components/lirc.py b/homeassistant/components/lirc/__init__.py similarity index 98% rename from homeassistant/components/lirc.py rename to homeassistant/components/lirc/__init__.py index d7ec49e0096..f15020a5d72 100644 --- a/homeassistant/components/lirc.py +++ b/homeassistant/components/lirc/__init__.py @@ -4,7 +4,7 @@ LIRC interface to receive signals from an infrared remote control. For more details about this component, please refer to the documentation at https://home-assistant.io/components/lirc/ """ -# pylint: disable=no-member +# pylint: disable=no-member, import-error import threading import time import logging diff --git a/homeassistant/components/litejet.py b/homeassistant/components/litejet/__init__.py similarity index 100% rename from homeassistant/components/litejet.py rename to homeassistant/components/litejet/__init__.py diff --git a/homeassistant/components/logbook.py b/homeassistant/components/logbook/__init__.py similarity index 100% rename from homeassistant/components/logbook.py rename to homeassistant/components/logbook/__init__.py diff --git a/homeassistant/components/logentries.py b/homeassistant/components/logentries/__init__.py similarity index 100% rename from homeassistant/components/logentries.py rename to homeassistant/components/logentries/__init__.py diff --git a/homeassistant/components/logger.py b/homeassistant/components/logger/__init__.py similarity index 100% rename from homeassistant/components/logger.py rename to homeassistant/components/logger/__init__.py diff --git a/homeassistant/components/logger/services.yaml b/homeassistant/components/logger/services.yaml new file mode 100644 index 00000000000..4d1ba649d36 --- /dev/null +++ b/homeassistant/components/logger/services.yaml @@ -0,0 +1,6 @@ +set_default_level: + description: Set the default log level for components. + fields: + level: {description: 'Default severity level. Possible values are notset, debug, + info, warn, warning, error, fatal, critical', example: debug} +set_level: {description: Set log level for components.} diff --git a/homeassistant/components/map.py b/homeassistant/components/map/__init__.py similarity index 100% rename from homeassistant/components/map.py rename to homeassistant/components/map/__init__.py diff --git a/homeassistant/components/media_extractor.py b/homeassistant/components/media_extractor/__init__.py similarity index 100% rename from homeassistant/components/media_extractor.py rename to homeassistant/components/media_extractor/__init__.py diff --git a/homeassistant/components/melissa.py b/homeassistant/components/melissa/__init__.py similarity index 100% rename from homeassistant/components/melissa.py rename to homeassistant/components/melissa/__init__.py diff --git a/homeassistant/components/microsoft_face.py b/homeassistant/components/microsoft_face/__init__.py similarity index 100% rename from homeassistant/components/microsoft_face.py rename to homeassistant/components/microsoft_face/__init__.py diff --git a/homeassistant/components/microsoft_face/services.yaml b/homeassistant/components/microsoft_face/services.yaml new file mode 100644 index 00000000000..386f7083f92 --- /dev/null +++ b/homeassistant/components/microsoft_face/services.yaml @@ -0,0 +1,28 @@ +create_group: + description: Create a new person group. + fields: + name: {description: Name of the group., example: family} +create_person: + description: Create a new person in the group. + fields: + group: {description: Name of the group, example: family} + name: {description: Name of the person, example: Hans} +delete_group: + description: Delete a new person group. + fields: + name: {description: Name of the group., example: family} +delete_person: + description: Delete a person in the group. + fields: + group: {description: Name of the group., example: family} + name: {description: Name of the person., example: Hans} +face_person: + description: Add a new picture to a person. + fields: + camera_entity: {description: Camera to take a picture., example: camera.door} + group: {description: Name of the group., example: family} + person: {description: Name of the person., example: Hans} +train_group: + description: Train a person group. + fields: + group: {description: Name of the group, example: family} diff --git a/homeassistant/components/modbus/services.yaml b/homeassistant/components/modbus/services.yaml new file mode 100644 index 00000000000..0fd9e5a49e7 --- /dev/null +++ b/homeassistant/components/modbus/services.yaml @@ -0,0 +1,12 @@ +write_coil: + description: Write to a modbus coil. + fields: + address: {description: Address of the register to read., example: 0} + state: {description: State to write., example: false} + unit: {description: Address of the modbus unit., example: 21} +write_register: + description: Write to a modbus holding register. + fields: + address: {description: Address of the holding register to write to., example: 0} + unit: {description: Address of the modbus unit., example: 21} + value: {description: Value to write., example: 0} diff --git a/homeassistant/components/mqtt_eventstream.py b/homeassistant/components/mqtt_eventstream/__init__.py similarity index 100% rename from homeassistant/components/mqtt_eventstream.py rename to homeassistant/components/mqtt_eventstream/__init__.py diff --git a/homeassistant/components/mqtt_statestream.py b/homeassistant/components/mqtt_statestream/__init__.py similarity index 100% rename from homeassistant/components/mqtt_statestream.py rename to homeassistant/components/mqtt_statestream/__init__.py diff --git a/homeassistant/components/mycroft.py b/homeassistant/components/mycroft/__init__.py similarity index 100% rename from homeassistant/components/mycroft.py rename to homeassistant/components/mycroft/__init__.py diff --git a/homeassistant/components/mythicbeastsdns.py b/homeassistant/components/mythicbeastsdns/__init__.py similarity index 100% rename from homeassistant/components/mythicbeastsdns.py rename to homeassistant/components/mythicbeastsdns/__init__.py diff --git a/homeassistant/components/namecheapdns.py b/homeassistant/components/namecheapdns/__init__.py similarity index 100% rename from homeassistant/components/namecheapdns.py rename to homeassistant/components/namecheapdns/__init__.py diff --git a/homeassistant/components/ness_alarm.py b/homeassistant/components/ness_alarm/__init__.py similarity index 100% rename from homeassistant/components/ness_alarm.py rename to homeassistant/components/ness_alarm/__init__.py diff --git a/homeassistant/components/nest/services.yaml b/homeassistant/components/nest/services.yaml index e10e6264643..0015c83342d 100644 --- a/homeassistant/components/nest/services.yaml +++ b/homeassistant/components/nest/services.yaml @@ -1,37 +1,16 @@ -# Describes the format for available Nest services +set_mode: + description: 'Set the home/away mode for a Nest structure. Set to away mode will + also set Estimated Arrival Time if provided. Set ETA will cause the thermostat + to begin warming or cooling the home before the user arrives. After ETA set other + Automation can read ETA sensor as a signal to prepare the home for the user''s + arrival. -set_away_mode: - description: Set the away mode for a Nest structure. + ' fields: - away_mode: - description: New mode to set. Valid modes are "away" or "home". - example: "away" - structure: - description: Name(s) of structure(s) to change. Defaults to all structures if not specified. - example: "Apartment" - -set_eta: - description: Set or update the estimated time of arrival window for a Nest structure. - fields: - eta: - description: Estimated time of arrival from now. - example: "00:10:30" - eta_window: - description: Estimated time of arrival window. Default is 1 minute. - example: "00:05" - trip_id: - description: Unique ID for the trip. Default is auto-generated using a timestamp. - example: "Leave Work" - structure: - description: Name(s) of structure(s) to change. Defaults to all structures if not specified. - example: "Apartment" - -cancel_eta: - description: Cancel an existing estimated time of arrival window for a Nest structure. - fields: - trip_id: - description: Unique ID for the trip. - example: "Leave Work" - structure: - description: Name(s) of structure(s) to change. Defaults to all structures if not specified. - example: "Apartment" + eta: {description: Optional Estimated Arrival Time from now., example: '0:10'} + eta_window: {description: Optional ETA window. Default is 1 minute., example: '0:5'} + home_mode: {description: home or away, example: home} + structure: {description: Optional structure name. Default set all structures managed + by Home Assistant., example: My Home} + trip_id: {description: Optional identity of a trip. Using the same trip_ID will + update the estimation., example: trip_back_home} diff --git a/homeassistant/components/no_ip.py b/homeassistant/components/no_ip/__init__.py similarity index 100% rename from homeassistant/components/no_ip.py rename to homeassistant/components/no_ip/__init__.py diff --git a/homeassistant/components/nuheat.py b/homeassistant/components/nuheat/__init__.py similarity index 100% rename from homeassistant/components/nuheat.py rename to homeassistant/components/nuheat/__init__.py diff --git a/homeassistant/components/nuimo_controller.py b/homeassistant/components/nuimo_controller/__init__.py similarity index 100% rename from homeassistant/components/nuimo_controller.py rename to homeassistant/components/nuimo_controller/__init__.py diff --git a/homeassistant/components/panel_custom.py b/homeassistant/components/panel_custom/__init__.py similarity index 100% rename from homeassistant/components/panel_custom.py rename to homeassistant/components/panel_custom/__init__.py diff --git a/homeassistant/components/panel_iframe.py b/homeassistant/components/panel_iframe/__init__.py similarity index 100% rename from homeassistant/components/panel_iframe.py rename to homeassistant/components/panel_iframe/__init__.py diff --git a/homeassistant/components/plant.py b/homeassistant/components/plant/__init__.py similarity index 100% rename from homeassistant/components/plant.py rename to homeassistant/components/plant/__init__.py diff --git a/homeassistant/components/prometheus.py b/homeassistant/components/prometheus/__init__.py similarity index 100% rename from homeassistant/components/prometheus.py rename to homeassistant/components/prometheus/__init__.py diff --git a/homeassistant/components/proximity.py b/homeassistant/components/proximity/__init__.py similarity index 100% rename from homeassistant/components/proximity.py rename to homeassistant/components/proximity/__init__.py diff --git a/homeassistant/components/python_script.py b/homeassistant/components/python_script/__init__.py similarity index 100% rename from homeassistant/components/python_script.py rename to homeassistant/components/python_script/__init__.py diff --git a/homeassistant/components/rainbird.py b/homeassistant/components/rainbird/__init__.py similarity index 100% rename from homeassistant/components/rainbird.py rename to homeassistant/components/rainbird/__init__.py diff --git a/homeassistant/components/rest_command.py b/homeassistant/components/rest_command/__init__.py similarity index 100% rename from homeassistant/components/rest_command.py rename to homeassistant/components/rest_command/__init__.py diff --git a/homeassistant/components/rflink.py b/homeassistant/components/rflink/__init__.py similarity index 100% rename from homeassistant/components/rflink.py rename to homeassistant/components/rflink/__init__.py diff --git a/homeassistant/components/rflink/services.yaml b/homeassistant/components/rflink/services.yaml new file mode 100644 index 00000000000..9269326ece6 --- /dev/null +++ b/homeassistant/components/rflink/services.yaml @@ -0,0 +1,5 @@ +send_command: + description: Send device command through RFLink. + fields: + command: {description: The command to be sent., example: 'on'} + device_id: {description: RFLink device ID., example: newkaku_0000c6c2_1} diff --git a/homeassistant/components/ring.py b/homeassistant/components/ring/__init__.py similarity index 100% rename from homeassistant/components/ring.py rename to homeassistant/components/ring/__init__.py diff --git a/homeassistant/components/route53.py b/homeassistant/components/route53/__init__.py similarity index 100% rename from homeassistant/components/route53.py rename to homeassistant/components/route53/__init__.py diff --git a/homeassistant/components/rss_feed_template.py b/homeassistant/components/rss_feed_template/__init__.py similarity index 100% rename from homeassistant/components/rss_feed_template.py rename to homeassistant/components/rss_feed_template/__init__.py diff --git a/homeassistant/components/script.py b/homeassistant/components/script/__init__.py similarity index 100% rename from homeassistant/components/script.py rename to homeassistant/components/script/__init__.py diff --git a/homeassistant/components/services.yaml b/homeassistant/components/services.yaml index 8988021a5b6..40c76376531 100644 --- a/homeassistant/components/services.yaml +++ b/homeassistant/components/services.yaml @@ -1,488 +1,5 @@ # Describes the format for available component services -foursquare: - checkin: - description: Check a user into a Foursquare venue. - fields: - venueId: - description: The Foursquare venue where the user is checking in. [Required] - example: IHR8THISVNU - eventId: - description: The event the user is checking in to. [Optional] - example: UHR8THISVNT - shout: - description: A message about your check-in. The maximum length of this field is 140 characters. [Optional] - example: There are crayons! Crayons! - mentions: - description: Mentions in your check-in. This parameter is a semicolon-delimited list of mentions. A single mention is of the form "start,end,userid", where start is the index of the first character in the shout representing the mention, end is the index of the first character in the shout after the mention, and userid is the userid of the user being mentioned. If userid is prefixed with "fbu-", this indicates a Facebook userid that is being mention. Character indices in shouts are 0-based. [Optional] - example: 5,10,HZXXY3Y;15,20,GZYYZ3Z;25,30,fbu-GZXY13Y - broadcast: - description: "Who to broadcast this check-in to. Accepts a comma-delimited list of values: private (off the grid) or public (share with friends), facebook share on facebook, twitter share on twitter, followers share with followers (celebrity mode users only), If no valid value is found, the default is public. [Optional]" - example: public,twitter - ll: - description: Latitude and longitude of the user's location. Only specify this field if you have a GPS or other device reported location for the user at the time of check-in. [Optional] - example: 33.7,44.2 - llAcc: - description: Accuracy of the user's latitude and longitude, in meters. [Optional] - example: 1 - alt: - description: Altitude of the user's location, in meters. [Optional] - example: 0 - altAcc: - description: Vertical accuracy of the user's location, in meters. - example: 1 - -microsoft_face: - create_group: - description: Create a new person group. - fields: - name: - description: Name of the group. - example: 'family' - delete_group: - description: Delete a new person group. - fields: - name: - description: Name of the group. - example: 'family' - train_group: - description: Train a person group. - fields: - group: - description: Name of the group - example: 'family' - create_person: - description: Create a new person in the group. - fields: - name: - description: Name of the person - example: 'Hans' - group: - description: Name of the group - example: 'family' - delete_person: - description: Delete a person in the group. - fields: - name: - description: Name of the person. - example: 'Hans' - group: - description: Name of the group. - example: 'family' - face_person: - description: Add a new picture to a person. - fields: - person: - description: Name of the person. - example: 'Hans' - group: - description: Name of the group. - example: 'family' - camera_entity: - description: Camera to take a picture. - example: camera.door - -verisure: - capture_smartcam: - description: Capture a new image from a smartcam. - fields: - device_serial: - description: The serial number of the smartcam you want to capture an image from. - example: '2DEU AT5Z' - -alert: - turn_off: - description: Silence alert's notifications. - fields: - entity_id: - description: Name of the alert to silence. - example: 'alert.garage_door_open' - turn_on: - description: Reset alert's notifications. - fields: - entity_id: - description: Name of the alert to reset. - example: 'alert.garage_door_open' - toggle: - description: Toggle alert's notifications. - fields: - entity_id: - description: Name of the alert to toggle. - example: 'alert.garage_door_open' - -hdmi_cec: - send_command: - description: Sends CEC command into HDMI CEC capable adapter. - fields: - raw: - description: 'Raw CEC command in format "00:00:00:00" where first two digits are source and destination, second byte is command and optional other bytes are command parameters. If raw command specified, other params are ignored.' - example: '"10:36"' - src: - desctiption: 'Source of command. Could be decimal number or string with hexadeximal notation: "0x10".' - example: '12 or "0xc"' - dst: - description: 'Destination for command. Could be decimal number or string with hexadeximal notation: "0x10".' - example: '5 or "0x5"' - cmd: - description: 'Command itself. Could be decimal number or string with hexadeximal notation: "0x10".' - example: '144 or "0x90"' - att: - description: Optional parameters. - example: [0, 2] - update: - description: Update devices state from network. - volume: - description: Increase or decrease volume of system. - fields: - up: - description: Increases volume x levels. - example: 3 - down: - description: Decreases volume x levels. - example: 3 - mute: - description: Mutes audio system. Value should be on, off or toggle. - example: "toggle" - select_device: - description: Select HDMI device. - fields: - device: - description: Address of device to select. Can be entity_id, physical address or alias from confuguration. - example: '"switch.hdmi_1" or "1.1.0.0" or "01:10"' - power_on: - description: Power on all devices which supports it. - standby: - description: Standby all devices which supports it. - -ffmpeg: - start: - description: Send a start command to a ffmpeg based sensor. - fields: - entity_id: - description: Name(s) of entities that will start. Platform dependent. - example: 'binary_sensor.ffmpeg_noise' - stop: - description: Send a stop command to a ffmpeg based sensor. - fields: - entity_id: - description: Name(s) of entities that will stop. Platform dependent. - example: 'binary_sensor.ffmpeg_noise' - restart: - description: Send a restart command to a ffmpeg based sensor. - fields: - entity_id: - description: Name(s) of entities that will restart. Platform dependent. - example: 'binary_sensor.ffmpeg_noise' - -logger: - set_default_level: - description: Set the default log level for components. - fields: - level: - description: Default severity level. Possible values are notset, debug, info, warn, warning, error, fatal, critical - example: 'debug' - set_level: - description: Set log level for components. - -hassio: - host_reboot: - description: Reboot host computer. - host_shutdown: - description: Poweroff host computer. - host_update: - description: Update host computer. - fields: - version: - description: Optional or it will be use the latest version. - example: '0.3' - supervisor_update: - description: Update HassIO supervisor. - fields: - version: - description: Optional or it will be use the latest version. - example: '0.3' - supervisor_reload: - description: Reload HassIO supervisor addons/updates/configs. - homeassistant_update: - description: Update HomeAssistant docker image. - fields: - version: - description: Optional or it will be use the latest version. - example: '0.40.1' - addon_install: - description: Install a HassIO docker addon. - fields: - addon: - description: Name of addon. - example: 'smb_config' - version: - description: Optional or it will be use the latest version. - example: '0.2' - addon_uninstall: - description: Uninstall a HassIO docker addon. - fields: - addon: - description: Name of addon. - example: 'smb_config' - addon_update: - description: Update a HassIO docker addon. - fields: - addon: - description: Name of addon. - example: 'smb_config' - version: - description: Optional or it will be use the latest version. - example: '0.2' - addon_start: - description: Start a HassIO docker addon. - fields: - addon: - description: Name of addon. - example: 'smb_config' - addon_stop: - description: Stop a HassIO docker addon. - fields: - addon: - description: Name of addon. - example: 'smb_config' - -eight_sleep: - heat_set: - description: Set heating level for eight sleep. - fields: - entity_id: - description: Entity id of the bed state to adjust. - example: 'sensor.eight_left_bed_state' - target: - description: Target heating level from 0-100. - example: 35 - duration: - description: Duration to heat at the target level in seconds. - example: 3600 - -apple_tv: - apple_tv_authenticate: - description: Start AirPlay device authentication. - fields: - entity_id: - description: Name(s) of entities to authenticate with. - example: 'media_player.apple_tv' - apple_tv_scan: - description: Scan for Apple TV devices. - -modbus: - write_register: - description: Write to a modbus holding register. - fields: - unit: - description: Address of the modbus unit. - example: 21 - address: - description: Address of the holding register to write to. - example: 0 - value: - description: Value to write. - example: 0 - write_coil: - description: Write to a modbus coil. - fields: - unit: - description: Address of the modbus unit. - example: 21 - address: - description: Address of the register to read. - example: 0 - state: - description: State to write. - example: false - -wake_on_lan: - send_magic_packet: - description: Send a 'magic packet' to wake up a device with 'Wake-On-LAN' capabilities. - fields: - mac: - description: MAC address of the device to wake up. - example: 'aa:bb:cc:dd:ee:ff' - broadcast_address: - description: Optional broadcast IP where to send the magic packet. - example: '192.168.255.255' - -knx: - group_write: - description: Turn a light on. - fields: - address: - description: Group address(es) to write to. - example: '1/1/0' - data: - description: KNX data to send. - example: 1 - -rflink: - send_command: - description: Send device command through RFLink. - fields: - device_id: - description: RFLink device ID. - example: 'newkaku_0000c6c2_1' - - command: - description: The command to be sent. - example: 'on' - -abode: - change_setting: - description: Change an Abode system setting. - fields: - setting: - description: Setting to change. - example: 'beeper_mute' - value: - description: Value of the setting. - example: '1' - capture_image: - description: Request a new image capture from a camera device. - fields: - entity_id: - description: Entity id of the camera to request an image. - example: 'camera.downstairs_motion_camera' - trigger_quick_action: - description: Trigger an Abode quick action. - fields: - entity_id: - description: Entity id of the quick action to trigger. - example: 'binary_sensor.home_quick_action' - -snips: - say: - description: Send a TTS message to Snips. - fields: - text: - description: Text to say. - example: My name is snips - site_id: - description: Site to use to start session, defaults to default (optional) - example: bedroom - custom_data: - description: custom data that will be included with all messages in this session - example: user=UserName - say_action: - description: Send a TTS message to Snips to listen for a response. - fields: - text: - description: Text to say - example: My name is snips - site_id: - description: Site to use to start session, defaults to default (optional) - example: bedroom - custom_data: - description: custom data that will be included with all messages in this session - example: user=UserName - can_be_enqueued: - description: If True, session waits for an open session to end, if False session is dropped if one is running - example: True - intent_filter: - description: Optional Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. - example: turnOnLights, turnOffLights - feedback_on: - description: Turns feedback sounds on. - fields: - site_id: - description: Site to turn sounds on, defaults to all sites (optional) - example: bedroom - feedback_off: - description: Turns feedback sounds off. - fields: - site_id: - description: Site to turn sounds on, defaults to all sites (optional) - example: bedroom - -input_boolean: - toggle: - description: Toggles an input boolean. - fields: - entity_id: - description: Entity id of the input boolean to toggle. - example: 'input_boolean.notify_alerts' - turn_off: - description: Turns off an input boolean - fields: - entity_id: - description: Entity id of the input boolean to turn off. - example: 'input_boolean.notify_alerts' - turn_on: - description: Turns on an input boolean. - fields: - entity_id: - description: Entity id of the input boolean to turn on. - example: 'input_boolean.notify_alerts' - -input_text: - set_value: - description: Set the value of an input text entity. - fields: - entity_id: - description: Entity id of the input text to set the new value. - example: 'input_text.text1' - value: - description: The target value the entity should be set to. - example: This is an example text - -input_number: - set_value: - description: Set the value of an input number entity. - fields: - entity_id: - description: Entity id of the input number to set the new value. - example: 'input_number.threshold' - value: - description: The target value the entity should be set to. - example: 42 - increment: - description: Increment the value of an input number entity by its stepping. - fields: - entity_id: - description: Entity id of the input number the should be incremented. - example: 'input_number.threshold' - decrement: - description: Decrement the value of an input number entity by its stepping. - fields: - entity_id: - description: Entity id of the input number the should be decremented. - example: 'input_number.threshold' - -input_select: - select_option: - description: Select an option of an input select entity. - fields: - entity_id: - description: Entity id of the input select to select the value. - example: 'input_select.my_select' - option: - description: Option to be selected. - example: '"Item A"' - set_options: - description: Set the options of an input select entity. - fields: - entity_id: - description: Entity id of the input select to set the new options for. - example: 'input_select.my_select' - options: - description: Options for the input select entity. - example: '["Item A", "Item B", "Item C"]' - select_previous: - description: Select the previous options of an input select entity. - fields: - entity_id: - description: Entity id of the input select to select the previous value for. - example: 'input_select.my_select' - select_next: - description: Select the next options of an input select entity. - fields: - entity_id: - description: Entity id of the input select to select the next value for. - example: 'input_select.my_select' - homeassistant: check_config: description: Check the Home Assistant configuration files for errors. Errors will be displayed in the Home Assistant log. @@ -516,77 +33,3 @@ homeassistant: entity_id: description: One or multiple entity_ids to update. Can be a list. example: light.living_room - -xiaomi_aqara: - play_ringtone: - description: Play a specific ringtone. The version of the gateway firmware must be 1.4.1_145 at least. - fields: - gw_mac: - description: MAC address of the Xiaomi Aqara Gateway. - example: 34ce00880088 - ringtone_id: - description: One of the allowed ringtone ids. - example: 8 - ringtone_vol: - description: The volume in percent. - example: 30 - stop_ringtone: - description: Stops a playing ringtone immediately. - fields: - gw_mac: - description: MAC address of the Xiaomi Aqara Gateway. - example: 34ce00880088 - add_device: - description: Enables the join permission of the Xiaomi Aqara Gateway for 30 seconds. A new device can be added afterwards by pressing the pairing button once. - fields: - gw_mac: - description: MAC address of the Xiaomi Aqara Gateway. - example: 34ce00880088 - remove_device: - description: Removes a specific device. The removal is required if a device shall be paired with another gateway. - fields: - gw_mac: - description: MAC address of the Xiaomi Aqara Gateway. - example: 34ce00880088 - device_id: - description: Hardware address of the device to remove. - example: 158d0000000000 - -shopping_list: - add_item: - description: Adds an item to the shopping list. - fields: - name: - description: The name of the item to add. - example: Beer - complete_item: - description: Marks an item as completed in the shopping list. It does not remove the item. - fields: - name: - description: The name of the item to mark as completed. - example: Beer - -nest: - set_mode: - description: > - Set the home/away mode for a Nest structure. - Set to away mode will also set Estimated Arrival Time if provided. - Set ETA will cause the thermostat to begin warming or cooling the home before the user arrives. - After ETA set other Automation can read ETA sensor as a signal to prepare the home for - the user's arrival. - fields: - home_mode: - description: home or away - example: home - structure: - description: Optional structure name. Default set all structures managed by Home Assistant. - example: My Home - eta: - description: Optional Estimated Arrival Time from now. - example: 0:10 - eta_window: - description: Optional ETA window. Default is 1 minute. - example: 0:5 - trip_id: - description: Optional identity of a trip. Using the same trip_ID will update the estimation. - example: trip_back_home diff --git a/homeassistant/components/shell_command.py b/homeassistant/components/shell_command/__init__.py similarity index 100% rename from homeassistant/components/shell_command.py rename to homeassistant/components/shell_command/__init__.py diff --git a/homeassistant/components/shiftr.py b/homeassistant/components/shiftr/__init__.py similarity index 100% rename from homeassistant/components/shiftr.py rename to homeassistant/components/shiftr/__init__.py diff --git a/homeassistant/components/shopping_list.py b/homeassistant/components/shopping_list/__init__.py similarity index 100% rename from homeassistant/components/shopping_list.py rename to homeassistant/components/shopping_list/__init__.py diff --git a/homeassistant/components/shopping_list/services.yaml b/homeassistant/components/shopping_list/services.yaml new file mode 100644 index 00000000000..1d667e43fa6 --- /dev/null +++ b/homeassistant/components/shopping_list/services.yaml @@ -0,0 +1,9 @@ +add_item: + description: Adds an item to the shopping list. + fields: + name: {description: The name of the item to add., example: Beer} +complete_item: + description: Marks an item as completed in the shopping list. It does not remove + the item. + fields: + name: {description: The name of the item to mark as completed., example: Beer} diff --git a/homeassistant/components/sleepiq.py b/homeassistant/components/sleepiq/__init__.py similarity index 100% rename from homeassistant/components/sleepiq.py rename to homeassistant/components/sleepiq/__init__.py diff --git a/homeassistant/components/snips.py b/homeassistant/components/snips/__init__.py similarity index 100% rename from homeassistant/components/snips.py rename to homeassistant/components/snips/__init__.py diff --git a/homeassistant/components/snips/services.yaml b/homeassistant/components/snips/services.yaml new file mode 100644 index 00000000000..cca39062ce9 --- /dev/null +++ b/homeassistant/components/snips/services.yaml @@ -0,0 +1,31 @@ +feedback_off: + description: Turns feedback sounds off. + fields: + site_id: {description: 'Site to turn sounds on, defaults to all sites (optional)', + example: bedroom} +feedback_on: + description: Turns feedback sounds on. + fields: + site_id: {description: 'Site to turn sounds on, defaults to all sites (optional)', + example: bedroom} +say: + description: Send a TTS message to Snips. + fields: + custom_data: {description: custom data that will be included with all messages + in this session, example: user=UserName} + site_id: {description: 'Site to use to start session, defaults to default (optional)', + example: bedroom} + text: {description: Text to say., example: My name is snips} +say_action: + description: Send a TTS message to Snips to listen for a response. + fields: + can_be_enqueued: {description: 'If True, session waits for an open session to + end, if False session is dropped if one is running', example: true} + custom_data: {description: custom data that will be included with all messages + in this session, example: user=UserName} + intent_filter: {description: Optional Array of Strings - A list of intents names + to restrict the NLU resolution to on the first query., example: 'turnOnLights, + turnOffLights'} + site_id: {description: 'Site to use to start session, defaults to default (optional)', + example: bedroom} + text: {description: Text to say, example: My name is snips} diff --git a/homeassistant/components/spaceapi.py b/homeassistant/components/spaceapi/__init__.py similarity index 100% rename from homeassistant/components/spaceapi.py rename to homeassistant/components/spaceapi/__init__.py diff --git a/homeassistant/components/spc.py b/homeassistant/components/spc/__init__.py similarity index 100% rename from homeassistant/components/spc.py rename to homeassistant/components/spc/__init__.py diff --git a/homeassistant/components/splunk.py b/homeassistant/components/splunk/__init__.py similarity index 100% rename from homeassistant/components/splunk.py rename to homeassistant/components/splunk/__init__.py diff --git a/homeassistant/components/statsd.py b/homeassistant/components/statsd/__init__.py similarity index 100% rename from homeassistant/components/statsd.py rename to homeassistant/components/statsd/__init__.py diff --git a/homeassistant/components/sun.py b/homeassistant/components/sun/__init__.py similarity index 100% rename from homeassistant/components/sun.py rename to homeassistant/components/sun/__init__.py diff --git a/homeassistant/components/thingspeak.py b/homeassistant/components/thingspeak/__init__.py similarity index 100% rename from homeassistant/components/thingspeak.py rename to homeassistant/components/thingspeak/__init__.py diff --git a/homeassistant/components/updater.py b/homeassistant/components/updater/__init__.py similarity index 100% rename from homeassistant/components/updater.py rename to homeassistant/components/updater/__init__.py diff --git a/homeassistant/components/verisure/services.yaml b/homeassistant/components/verisure/services.yaml new file mode 100644 index 00000000000..405f0c5d57d --- /dev/null +++ b/homeassistant/components/verisure/services.yaml @@ -0,0 +1,5 @@ +capture_smartcam: + description: Capture a new image from a smartcam. + fields: + device_serial: {description: The serial number of the smartcam you want to capture + an image from., example: 2DEU AT5Z} diff --git a/homeassistant/components/vultr.py b/homeassistant/components/vultr/__init__.py similarity index 100% rename from homeassistant/components/vultr.py rename to homeassistant/components/vultr/__init__.py diff --git a/homeassistant/components/wake_on_lan.py b/homeassistant/components/wake_on_lan/__init__.py similarity index 100% rename from homeassistant/components/wake_on_lan.py rename to homeassistant/components/wake_on_lan/__init__.py diff --git a/homeassistant/components/wake_on_lan/services.yaml b/homeassistant/components/wake_on_lan/services.yaml new file mode 100644 index 00000000000..e20dd64396f --- /dev/null +++ b/homeassistant/components/wake_on_lan/services.yaml @@ -0,0 +1,6 @@ +send_magic_packet: + description: Send a 'magic packet' to wake up a device with 'Wake-On-LAN' capabilities. + fields: + broadcast_address: {description: Optional broadcast IP where to send the magic + packet., example: 192.168.255.255} + mac: {description: MAC address of the device to wake up., example: 'aa:bb:cc:dd:ee:ff'} diff --git a/homeassistant/components/watson_iot.py b/homeassistant/components/watson_iot/__init__.py similarity index 100% rename from homeassistant/components/watson_iot.py rename to homeassistant/components/watson_iot/__init__.py diff --git a/homeassistant/components/webhook.py b/homeassistant/components/webhook/__init__.py similarity index 100% rename from homeassistant/components/webhook.py rename to homeassistant/components/webhook/__init__.py diff --git a/homeassistant/components/weblink.py b/homeassistant/components/weblink/__init__.py similarity index 100% rename from homeassistant/components/weblink.py rename to homeassistant/components/weblink/__init__.py diff --git a/homeassistant/components/xiaomi_aqara/services.yaml b/homeassistant/components/xiaomi_aqara/services.yaml new file mode 100644 index 00000000000..0c5b89dc2cb --- /dev/null +++ b/homeassistant/components/xiaomi_aqara/services.yaml @@ -0,0 +1,22 @@ +add_device: + description: Enables the join permission of the Xiaomi Aqara Gateway for 30 seconds. + A new device can be added afterwards by pressing the pairing button once. + fields: + gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088} +play_ringtone: + description: Play a specific ringtone. The version of the gateway firmware must + be 1.4.1_145 at least. + fields: + gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088} + ringtone_id: {description: One of the allowed ringtone ids., example: 8} + ringtone_vol: {description: The volume in percent., example: 30} +remove_device: + description: Removes a specific device. The removal is required if a device shall + be paired with another gateway. + fields: + device_id: {description: Hardware address of the device to remove., example: 158d0000000000} + gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088} +stop_ringtone: + description: Stops a playing ringtone immediately. + fields: + gw_mac: {description: MAC address of the Xiaomi Aqara Gateway., example: 34ce00880088} diff --git a/homeassistant/components/zeroconf.py b/homeassistant/components/zeroconf/__init__.py similarity index 100% rename from homeassistant/components/zeroconf.py rename to homeassistant/components/zeroconf/__init__.py diff --git a/tests/components/alert/__init__.py b/tests/components/alert/__init__.py new file mode 100644 index 00000000000..80e51236d53 --- /dev/null +++ b/tests/components/alert/__init__.py @@ -0,0 +1 @@ +"""Tests for the alert component.""" diff --git a/tests/components/test_alert.py b/tests/components/alert/test_init.py similarity index 100% rename from tests/components/test_alert.py rename to tests/components/alert/test_init.py diff --git a/tests/components/api/__init__.py b/tests/components/api/__init__.py new file mode 100644 index 00000000000..c72fd03f7de --- /dev/null +++ b/tests/components/api/__init__.py @@ -0,0 +1 @@ +"""Tests for the api component.""" diff --git a/tests/components/test_api.py b/tests/components/api/test_init.py similarity index 100% rename from tests/components/test_api.py rename to tests/components/api/test_init.py diff --git a/tests/components/binary_sensor/test_rflink.py b/tests/components/binary_sensor/test_rflink.py index 98147ff7e6f..c14107438b3 100644 --- a/tests/components/binary_sensor/test_rflink.py +++ b/tests/components/binary_sensor/test_rflink.py @@ -16,7 +16,7 @@ from homeassistant.const import ( import homeassistant.util.dt as dt_util from tests.common import async_fire_time_changed -from ..test_rflink import mock_rflink +from tests.components.rflink.test_init import mock_rflink DOMAIN = 'binary_sensor' diff --git a/tests/components/binary_sensor/test_ring.py b/tests/components/binary_sensor/test_ring.py index a4b243e7420..924ed01f9e8 100644 --- a/tests/components/binary_sensor/test_ring.py +++ b/tests/components/binary_sensor/test_ring.py @@ -6,7 +6,7 @@ import requests_mock from homeassistant.components.binary_sensor import ring from homeassistant.components import ring as base_ring -from tests.components.test_ring import ATTRIBUTION, VALID_CONFIG +from tests.components.ring.test_init import ATTRIBUTION, VALID_CONFIG from tests.common import ( get_test_config_dir, get_test_home_assistant, load_fixture) diff --git a/tests/components/binary_sensor/test_sleepiq.py b/tests/components/binary_sensor/test_sleepiq.py index 3f3d69ad9d3..524093d76b3 100644 --- a/tests/components/binary_sensor/test_sleepiq.py +++ b/tests/components/binary_sensor/test_sleepiq.py @@ -7,7 +7,7 @@ import requests_mock from homeassistant.setup import setup_component from homeassistant.components.binary_sensor import sleepiq -from tests.components.test_sleepiq import mock_responses +from tests.components.sleepiq.test_init import mock_responses from tests.common import get_test_home_assistant diff --git a/tests/components/binary_sensor/test_vultr.py b/tests/components/binary_sensor/test_vultr.py index ee19cf941a3..3dcba033d73 100644 --- a/tests/components/binary_sensor/test_vultr.py +++ b/tests/components/binary_sensor/test_vultr.py @@ -16,7 +16,7 @@ from homeassistant.components.vultr import ( from homeassistant.const import ( CONF_PLATFORM, CONF_NAME) -from tests.components.test_vultr import VALID_CONFIG +from tests.components.vultr.test_init import VALID_CONFIG from tests.common import ( get_test_home_assistant, load_fixture) diff --git a/tests/components/canary/__init__.py b/tests/components/canary/__init__.py new file mode 100644 index 00000000000..cc85edd806a --- /dev/null +++ b/tests/components/canary/__init__.py @@ -0,0 +1 @@ +"""Tests for the canary component.""" diff --git a/tests/components/test_canary.py b/tests/components/canary/test_init.py similarity index 100% rename from tests/components/test_canary.py rename to tests/components/canary/test_init.py diff --git a/tests/components/configurator/__init__.py b/tests/components/configurator/__init__.py new file mode 100644 index 00000000000..a533a39a93c --- /dev/null +++ b/tests/components/configurator/__init__.py @@ -0,0 +1 @@ +"""Tests for the configurator component.""" diff --git a/tests/components/test_configurator.py b/tests/components/configurator/test_init.py similarity index 100% rename from tests/components/test_configurator.py rename to tests/components/configurator/test_init.py diff --git a/tests/components/conversation/__init__.py b/tests/components/conversation/__init__.py new file mode 100644 index 00000000000..ea244c00df8 --- /dev/null +++ b/tests/components/conversation/__init__.py @@ -0,0 +1 @@ +"""Tests for the conversation component.""" diff --git a/tests/components/test_conversation.py b/tests/components/conversation/test_init.py similarity index 100% rename from tests/components/test_conversation.py rename to tests/components/conversation/test_init.py diff --git a/tests/components/cover/test_rflink.py b/tests/components/cover/test_rflink.py index 9c6d41a26c0..d531574d34f 100644 --- a/tests/components/cover/test_rflink.py +++ b/tests/components/cover/test_rflink.py @@ -14,7 +14,7 @@ from homeassistant.const import ( from homeassistant.core import callback, State, CoreState from tests.common import mock_restore_cache -from ..test_rflink import mock_rflink +from tests.components.rflink.test_init import mock_rflink DOMAIN = 'cover' diff --git a/tests/components/datadog/__init__.py b/tests/components/datadog/__init__.py new file mode 100644 index 00000000000..4f29b839b85 --- /dev/null +++ b/tests/components/datadog/__init__.py @@ -0,0 +1 @@ +"""Tests for the datadog component.""" diff --git a/tests/components/test_datadog.py b/tests/components/datadog/test_init.py similarity index 100% rename from tests/components/test_datadog.py rename to tests/components/datadog/test_init.py diff --git a/tests/components/demo/__init__.py b/tests/components/demo/__init__.py new file mode 100644 index 00000000000..68d228076b9 --- /dev/null +++ b/tests/components/demo/__init__.py @@ -0,0 +1 @@ +"""Tests for the demo component.""" diff --git a/tests/components/test_demo.py b/tests/components/demo/test_init.py similarity index 100% rename from tests/components/test_demo.py rename to tests/components/demo/test_init.py diff --git a/tests/components/device_sun_light_trigger/__init__.py b/tests/components/device_sun_light_trigger/__init__.py new file mode 100644 index 00000000000..4400ace7cd8 --- /dev/null +++ b/tests/components/device_sun_light_trigger/__init__.py @@ -0,0 +1 @@ +"""Tests for the device_sun_light_trigger component.""" diff --git a/tests/components/test_device_sun_light_trigger.py b/tests/components/device_sun_light_trigger/test_init.py similarity index 100% rename from tests/components/test_device_sun_light_trigger.py rename to tests/components/device_sun_light_trigger/test_init.py diff --git a/tests/components/discovery/__init__.py b/tests/components/discovery/__init__.py new file mode 100644 index 00000000000..b5744b42d6b --- /dev/null +++ b/tests/components/discovery/__init__.py @@ -0,0 +1 @@ +"""Tests for the discovery component.""" diff --git a/tests/components/test_discovery.py b/tests/components/discovery/test_init.py similarity index 100% rename from tests/components/test_discovery.py rename to tests/components/discovery/test_init.py diff --git a/tests/components/duckdns/__init__.py b/tests/components/duckdns/__init__.py new file mode 100644 index 00000000000..d8304b7cf68 --- /dev/null +++ b/tests/components/duckdns/__init__.py @@ -0,0 +1 @@ +"""Tests for the duckdns component.""" diff --git a/tests/components/test_duckdns.py b/tests/components/duckdns/test_init.py similarity index 100% rename from tests/components/test_duckdns.py rename to tests/components/duckdns/test_init.py diff --git a/tests/components/dyson/__init__.py b/tests/components/dyson/__init__.py new file mode 100644 index 00000000000..d4c814a37db --- /dev/null +++ b/tests/components/dyson/__init__.py @@ -0,0 +1 @@ +"""Tests for the dyson component.""" diff --git a/tests/components/test_dyson.py b/tests/components/dyson/test_init.py similarity index 100% rename from tests/components/test_dyson.py rename to tests/components/dyson/test_init.py diff --git a/tests/components/feedreader/__init__.py b/tests/components/feedreader/__init__.py new file mode 100644 index 00000000000..3667f7c75ea --- /dev/null +++ b/tests/components/feedreader/__init__.py @@ -0,0 +1 @@ +"""Tests for the feedreader component.""" diff --git a/tests/components/test_feedreader.py b/tests/components/feedreader/test_init.py similarity index 100% rename from tests/components/test_feedreader.py rename to tests/components/feedreader/test_init.py diff --git a/tests/components/ffmpeg/__init__.py b/tests/components/ffmpeg/__init__.py new file mode 100644 index 00000000000..c69f1dac44a --- /dev/null +++ b/tests/components/ffmpeg/__init__.py @@ -0,0 +1 @@ +"""Tests for the ffmpeg component.""" diff --git a/tests/components/test_ffmpeg.py b/tests/components/ffmpeg/test_init.py similarity index 100% rename from tests/components/test_ffmpeg.py rename to tests/components/ffmpeg/test_init.py diff --git a/tests/components/folder_watcher/__init__.py b/tests/components/folder_watcher/__init__.py new file mode 100644 index 00000000000..8508216226f --- /dev/null +++ b/tests/components/folder_watcher/__init__.py @@ -0,0 +1 @@ +"""Tests for the folder_watcher component.""" diff --git a/tests/components/test_folder_watcher.py b/tests/components/folder_watcher/test_init.py similarity index 100% rename from tests/components/test_folder_watcher.py rename to tests/components/folder_watcher/test_init.py diff --git a/tests/components/freedns/__init__.py b/tests/components/freedns/__init__.py new file mode 100644 index 00000000000..ab0f8df6411 --- /dev/null +++ b/tests/components/freedns/__init__.py @@ -0,0 +1 @@ +"""Tests for the freedns component.""" diff --git a/tests/components/test_freedns.py b/tests/components/freedns/test_init.py similarity index 100% rename from tests/components/test_freedns.py rename to tests/components/freedns/test_init.py diff --git a/tests/components/test_google.py b/tests/components/google/test_init.py similarity index 100% rename from tests/components/test_google.py rename to tests/components/google/test_init.py diff --git a/tests/components/google_domains/__init__.py b/tests/components/google_domains/__init__.py new file mode 100644 index 00000000000..3466a3be489 --- /dev/null +++ b/tests/components/google_domains/__init__.py @@ -0,0 +1 @@ +"""Tests for the google_domains component.""" diff --git a/tests/components/test_google_domains.py b/tests/components/google_domains/test_init.py similarity index 100% rename from tests/components/test_google_domains.py rename to tests/components/google_domains/test_init.py diff --git a/tests/components/graphite/__init__.py b/tests/components/graphite/__init__.py new file mode 100644 index 00000000000..e62487ad79e --- /dev/null +++ b/tests/components/graphite/__init__.py @@ -0,0 +1 @@ +"""Tests for the graphite component.""" diff --git a/tests/components/test_graphite.py b/tests/components/graphite/test_init.py similarity index 100% rename from tests/components/test_graphite.py rename to tests/components/graphite/test_init.py diff --git a/tests/components/history/__init__.py b/tests/components/history/__init__.py new file mode 100644 index 00000000000..662e70a7bff --- /dev/null +++ b/tests/components/history/__init__.py @@ -0,0 +1 @@ +"""Tests for the history component.""" diff --git a/tests/components/test_history.py b/tests/components/history/test_init.py similarity index 100% rename from tests/components/test_history.py rename to tests/components/history/test_init.py diff --git a/tests/components/history_graph/__init__.py b/tests/components/history_graph/__init__.py new file mode 100644 index 00000000000..2cb34499938 --- /dev/null +++ b/tests/components/history_graph/__init__.py @@ -0,0 +1 @@ +"""Tests for the history_graph component.""" diff --git a/tests/components/test_history_graph.py b/tests/components/history_graph/test_init.py similarity index 100% rename from tests/components/test_history_graph.py rename to tests/components/history_graph/test_init.py diff --git a/tests/components/huawei_lte/__init__.py b/tests/components/huawei_lte/__init__.py new file mode 100644 index 00000000000..79602ecfb44 --- /dev/null +++ b/tests/components/huawei_lte/__init__.py @@ -0,0 +1 @@ +"""Tests for the huawei_lte component.""" diff --git a/tests/components/test_huawei_lte.py b/tests/components/huawei_lte/test_init.py similarity index 100% rename from tests/components/test_huawei_lte.py rename to tests/components/huawei_lte/test_init.py diff --git a/tests/components/influxdb/__init__.py b/tests/components/influxdb/__init__.py new file mode 100644 index 00000000000..7a215bea197 --- /dev/null +++ b/tests/components/influxdb/__init__.py @@ -0,0 +1 @@ +"""Tests for the influxdb component.""" diff --git a/tests/components/test_influxdb.py b/tests/components/influxdb/test_init.py similarity index 100% rename from tests/components/test_influxdb.py rename to tests/components/influxdb/test_init.py diff --git a/tests/components/init/__init__.py b/tests/components/init/__init__.py new file mode 100644 index 00000000000..b935cf060c8 --- /dev/null +++ b/tests/components/init/__init__.py @@ -0,0 +1 @@ +"""Tests for the init component.""" diff --git a/tests/components/test_init.py b/tests/components/init/test_init.py similarity index 100% rename from tests/components/test_init.py rename to tests/components/init/test_init.py diff --git a/tests/components/input_boolean/__init__.py b/tests/components/input_boolean/__init__.py new file mode 100644 index 00000000000..164d6a0ba5e --- /dev/null +++ b/tests/components/input_boolean/__init__.py @@ -0,0 +1 @@ +"""Tests for the input_boolean component.""" diff --git a/tests/components/test_input_boolean.py b/tests/components/input_boolean/test_init.py similarity index 100% rename from tests/components/test_input_boolean.py rename to tests/components/input_boolean/test_init.py diff --git a/tests/components/input_datetime/__init__.py b/tests/components/input_datetime/__init__.py new file mode 100644 index 00000000000..b408528a4ff --- /dev/null +++ b/tests/components/input_datetime/__init__.py @@ -0,0 +1 @@ +"""Tests for the input_datetime component.""" diff --git a/tests/components/test_input_datetime.py b/tests/components/input_datetime/test_init.py similarity index 100% rename from tests/components/test_input_datetime.py rename to tests/components/input_datetime/test_init.py diff --git a/tests/components/input_number/__init__.py b/tests/components/input_number/__init__.py new file mode 100644 index 00000000000..e40cd77455c --- /dev/null +++ b/tests/components/input_number/__init__.py @@ -0,0 +1 @@ +"""Tests for the input_number component.""" diff --git a/tests/components/test_input_number.py b/tests/components/input_number/test_init.py similarity index 100% rename from tests/components/test_input_number.py rename to tests/components/input_number/test_init.py diff --git a/tests/components/input_select/__init__.py b/tests/components/input_select/__init__.py new file mode 100644 index 00000000000..2d817e8a59c --- /dev/null +++ b/tests/components/input_select/__init__.py @@ -0,0 +1 @@ +"""Tests for the input_select component.""" diff --git a/tests/components/test_input_select.py b/tests/components/input_select/test_init.py similarity index 100% rename from tests/components/test_input_select.py rename to tests/components/input_select/test_init.py diff --git a/tests/components/input_text/__init__.py b/tests/components/input_text/__init__.py new file mode 100644 index 00000000000..b035eed0c9e --- /dev/null +++ b/tests/components/input_text/__init__.py @@ -0,0 +1 @@ +"""Tests for the input_text component.""" diff --git a/tests/components/test_input_text.py b/tests/components/input_text/test_init.py similarity index 100% rename from tests/components/test_input_text.py rename to tests/components/input_text/test_init.py diff --git a/tests/components/intent_script/__init__.py b/tests/components/intent_script/__init__.py new file mode 100644 index 00000000000..5328df0b0b1 --- /dev/null +++ b/tests/components/intent_script/__init__.py @@ -0,0 +1 @@ +"""Tests for the intent_script component.""" diff --git a/tests/components/test_intent_script.py b/tests/components/intent_script/test_init.py similarity index 100% rename from tests/components/test_intent_script.py rename to tests/components/intent_script/test_init.py diff --git a/tests/components/introduction/__init__.py b/tests/components/introduction/__init__.py new file mode 100644 index 00000000000..99cea29581c --- /dev/null +++ b/tests/components/introduction/__init__.py @@ -0,0 +1 @@ +"""Tests for the introduction component.""" diff --git a/tests/components/test_introduction.py b/tests/components/introduction/test_init.py similarity index 100% rename from tests/components/test_introduction.py rename to tests/components/introduction/test_init.py diff --git a/tests/components/test_kira.py b/tests/components/kira/test_init.py similarity index 100% rename from tests/components/test_kira.py rename to tests/components/kira/test_init.py diff --git a/tests/components/light/test_rflink.py b/tests/components/light/test_rflink.py index 17898bd2451..e2b80d12ce0 100644 --- a/tests/components/light/test_rflink.py +++ b/tests/components/light/test_rflink.py @@ -12,7 +12,7 @@ from homeassistant.const import ( from homeassistant.core import callback, State, CoreState from tests.common import mock_restore_cache -from ..test_rflink import mock_rflink +from tests.components.rflink.test_init import mock_rflink DOMAIN = 'light' diff --git a/tests/components/litejet/__init__.py b/tests/components/litejet/__init__.py new file mode 100644 index 00000000000..9a01fbe5114 --- /dev/null +++ b/tests/components/litejet/__init__.py @@ -0,0 +1 @@ +"""Tests for the litejet component.""" diff --git a/tests/components/test_litejet.py b/tests/components/litejet/test_init.py similarity index 100% rename from tests/components/test_litejet.py rename to tests/components/litejet/test_init.py diff --git a/tests/components/logbook/__init__.py b/tests/components/logbook/__init__.py new file mode 100644 index 00000000000..31f9305a213 --- /dev/null +++ b/tests/components/logbook/__init__.py @@ -0,0 +1 @@ +"""Tests for the logbook component.""" diff --git a/tests/components/test_logbook.py b/tests/components/logbook/test_init.py similarity index 100% rename from tests/components/test_logbook.py rename to tests/components/logbook/test_init.py diff --git a/tests/components/logentries/__init__.py b/tests/components/logentries/__init__.py new file mode 100644 index 00000000000..c01e58c9d40 --- /dev/null +++ b/tests/components/logentries/__init__.py @@ -0,0 +1 @@ +"""Tests for the logentries component.""" diff --git a/tests/components/test_logentries.py b/tests/components/logentries/test_init.py similarity index 100% rename from tests/components/test_logentries.py rename to tests/components/logentries/test_init.py diff --git a/tests/components/logger/__init__.py b/tests/components/logger/__init__.py new file mode 100644 index 00000000000..8fb7f0dab02 --- /dev/null +++ b/tests/components/logger/__init__.py @@ -0,0 +1 @@ +"""Tests for the logger component.""" diff --git a/tests/components/test_logger.py b/tests/components/logger/test_init.py similarity index 100% rename from tests/components/test_logger.py rename to tests/components/logger/test_init.py diff --git a/tests/components/melissa/__init__.py b/tests/components/melissa/__init__.py new file mode 100644 index 00000000000..c4caf0fe671 --- /dev/null +++ b/tests/components/melissa/__init__.py @@ -0,0 +1 @@ +"""Tests for the melissa component.""" diff --git a/tests/components/test_melissa.py b/tests/components/melissa/test_init.py similarity index 100% rename from tests/components/test_melissa.py rename to tests/components/melissa/test_init.py diff --git a/tests/components/microsoft_face/__init__.py b/tests/components/microsoft_face/__init__.py new file mode 100644 index 00000000000..0b07c35b515 --- /dev/null +++ b/tests/components/microsoft_face/__init__.py @@ -0,0 +1 @@ +"""Tests for the microsoft_face component.""" diff --git a/tests/components/test_microsoft_face.py b/tests/components/microsoft_face/test_init.py similarity index 100% rename from tests/components/test_microsoft_face.py rename to tests/components/microsoft_face/test_init.py diff --git a/tests/components/mqtt_eventstream/__init__.py b/tests/components/mqtt_eventstream/__init__.py new file mode 100644 index 00000000000..e5c1f19d094 --- /dev/null +++ b/tests/components/mqtt_eventstream/__init__.py @@ -0,0 +1 @@ +"""Tests for the mqtt_eventstream component.""" diff --git a/tests/components/test_mqtt_eventstream.py b/tests/components/mqtt_eventstream/test_init.py similarity index 100% rename from tests/components/test_mqtt_eventstream.py rename to tests/components/mqtt_eventstream/test_init.py diff --git a/tests/components/mqtt_statestream/__init__.py b/tests/components/mqtt_statestream/__init__.py new file mode 100644 index 00000000000..cc104a104c2 --- /dev/null +++ b/tests/components/mqtt_statestream/__init__.py @@ -0,0 +1 @@ +"""Tests for the mqtt_statestream component.""" diff --git a/tests/components/test_mqtt_statestream.py b/tests/components/mqtt_statestream/test_init.py similarity index 100% rename from tests/components/test_mqtt_statestream.py rename to tests/components/mqtt_statestream/test_init.py diff --git a/tests/components/mythicbeastsdns/__init__.py b/tests/components/mythicbeastsdns/__init__.py new file mode 100644 index 00000000000..b12d296455c --- /dev/null +++ b/tests/components/mythicbeastsdns/__init__.py @@ -0,0 +1 @@ +"""Tests for the mythicbeastsdns component.""" diff --git a/tests/components/test_mythicbeastsdns.py b/tests/components/mythicbeastsdns/test_init.py similarity index 100% rename from tests/components/test_mythicbeastsdns.py rename to tests/components/mythicbeastsdns/test_init.py diff --git a/tests/components/namecheapdns/__init__.py b/tests/components/namecheapdns/__init__.py new file mode 100644 index 00000000000..db064f4405d --- /dev/null +++ b/tests/components/namecheapdns/__init__.py @@ -0,0 +1 @@ +"""Tests for the namecheapdns component.""" diff --git a/tests/components/test_namecheapdns.py b/tests/components/namecheapdns/test_init.py similarity index 100% rename from tests/components/test_namecheapdns.py rename to tests/components/namecheapdns/test_init.py diff --git a/tests/components/ness_alarm/__init__.py b/tests/components/ness_alarm/__init__.py new file mode 100644 index 00000000000..ed901068c69 --- /dev/null +++ b/tests/components/ness_alarm/__init__.py @@ -0,0 +1 @@ +"""Tests for the ness_alarm component.""" diff --git a/tests/components/test_ness_alarm.py b/tests/components/ness_alarm/test_init.py similarity index 100% rename from tests/components/test_ness_alarm.py rename to tests/components/ness_alarm/test_init.py diff --git a/tests/components/no_ip/__init__.py b/tests/components/no_ip/__init__.py new file mode 100644 index 00000000000..d2c1c62b17e --- /dev/null +++ b/tests/components/no_ip/__init__.py @@ -0,0 +1 @@ +"""Tests for the no_ip component.""" diff --git a/tests/components/test_no_ip.py b/tests/components/no_ip/test_init.py similarity index 100% rename from tests/components/test_no_ip.py rename to tests/components/no_ip/test_init.py diff --git a/tests/components/nuheat/__init__.py b/tests/components/nuheat/__init__.py new file mode 100644 index 00000000000..c238d9b0c72 --- /dev/null +++ b/tests/components/nuheat/__init__.py @@ -0,0 +1 @@ +"""Tests for the nuheat component.""" diff --git a/tests/components/test_nuheat.py b/tests/components/nuheat/test_init.py similarity index 100% rename from tests/components/test_nuheat.py rename to tests/components/nuheat/test_init.py diff --git a/tests/components/panel_custom/__init__.py b/tests/components/panel_custom/__init__.py new file mode 100644 index 00000000000..543978d21fb --- /dev/null +++ b/tests/components/panel_custom/__init__.py @@ -0,0 +1 @@ +"""Tests for the panel_custom component.""" diff --git a/tests/components/test_panel_custom.py b/tests/components/panel_custom/test_init.py similarity index 100% rename from tests/components/test_panel_custom.py rename to tests/components/panel_custom/test_init.py diff --git a/tests/components/panel_iframe/__init__.py b/tests/components/panel_iframe/__init__.py new file mode 100644 index 00000000000..df7115d9e97 --- /dev/null +++ b/tests/components/panel_iframe/__init__.py @@ -0,0 +1 @@ +"""Tests for the panel_iframe component.""" diff --git a/tests/components/test_panel_iframe.py b/tests/components/panel_iframe/test_init.py similarity index 100% rename from tests/components/test_panel_iframe.py rename to tests/components/panel_iframe/test_init.py diff --git a/tests/components/pilight/__init__.py b/tests/components/pilight/__init__.py new file mode 100644 index 00000000000..02827305936 --- /dev/null +++ b/tests/components/pilight/__init__.py @@ -0,0 +1 @@ +"""Tests for the pilight component.""" diff --git a/tests/components/test_pilight.py b/tests/components/pilight/test_init.py similarity index 100% rename from tests/components/test_pilight.py rename to tests/components/pilight/test_init.py diff --git a/tests/components/plant/__init__.py b/tests/components/plant/__init__.py new file mode 100644 index 00000000000..43a00130db9 --- /dev/null +++ b/tests/components/plant/__init__.py @@ -0,0 +1 @@ +"""Tests for the plant component.""" diff --git a/tests/components/test_plant.py b/tests/components/plant/test_init.py similarity index 100% rename from tests/components/test_plant.py rename to tests/components/plant/test_init.py diff --git a/tests/components/prometheus/__init__.py b/tests/components/prometheus/__init__.py new file mode 100644 index 00000000000..d60de3cf49c --- /dev/null +++ b/tests/components/prometheus/__init__.py @@ -0,0 +1 @@ +"""Tests for the prometheus component.""" diff --git a/tests/components/test_prometheus.py b/tests/components/prometheus/test_init.py similarity index 100% rename from tests/components/test_prometheus.py rename to tests/components/prometheus/test_init.py diff --git a/tests/components/proximity/__init__.py b/tests/components/proximity/__init__.py new file mode 100644 index 00000000000..659d609edb6 --- /dev/null +++ b/tests/components/proximity/__init__.py @@ -0,0 +1 @@ +"""Tests for the proximity component.""" diff --git a/tests/components/test_proximity.py b/tests/components/proximity/test_init.py similarity index 100% rename from tests/components/test_proximity.py rename to tests/components/proximity/test_init.py diff --git a/tests/components/python_script/__init__.py b/tests/components/python_script/__init__.py new file mode 100644 index 00000000000..893f5a7eccd --- /dev/null +++ b/tests/components/python_script/__init__.py @@ -0,0 +1 @@ +"""Tests for the python_script component.""" diff --git a/tests/components/test_python_script.py b/tests/components/python_script/test_init.py similarity index 100% rename from tests/components/test_python_script.py rename to tests/components/python_script/test_init.py diff --git a/tests/components/qwikswitch/__init__.py b/tests/components/qwikswitch/__init__.py new file mode 100644 index 00000000000..e0617b4163b --- /dev/null +++ b/tests/components/qwikswitch/__init__.py @@ -0,0 +1 @@ +"""Tests for the qwikswitch component.""" diff --git a/tests/components/test_qwikswitch.py b/tests/components/qwikswitch/test_init.py similarity index 100% rename from tests/components/test_qwikswitch.py rename to tests/components/qwikswitch/test_init.py diff --git a/tests/components/remember_the_milk/__init__.py b/tests/components/remember_the_milk/__init__.py new file mode 100644 index 00000000000..c5cc359ab76 --- /dev/null +++ b/tests/components/remember_the_milk/__init__.py @@ -0,0 +1 @@ +"""Tests for the remember_the_milk component.""" diff --git a/tests/components/test_remember_the_milk.py b/tests/components/remember_the_milk/test_init.py similarity index 100% rename from tests/components/test_remember_the_milk.py rename to tests/components/remember_the_milk/test_init.py diff --git a/tests/components/rest_command/__init__.py b/tests/components/rest_command/__init__.py new file mode 100644 index 00000000000..7fbc4588ccb --- /dev/null +++ b/tests/components/rest_command/__init__.py @@ -0,0 +1 @@ +"""Tests for the rest_command component.""" diff --git a/tests/components/test_rest_command.py b/tests/components/rest_command/test_init.py similarity index 100% rename from tests/components/test_rest_command.py rename to tests/components/rest_command/test_init.py diff --git a/tests/components/rflink/__init__.py b/tests/components/rflink/__init__.py new file mode 100644 index 00000000000..fac6bf58dd8 --- /dev/null +++ b/tests/components/rflink/__init__.py @@ -0,0 +1 @@ +"""Tests for the rflink component.""" diff --git a/tests/components/test_rflink.py b/tests/components/rflink/test_init.py similarity index 100% rename from tests/components/test_rflink.py rename to tests/components/rflink/test_init.py diff --git a/tests/components/rfxtrx/__init__.py b/tests/components/rfxtrx/__init__.py new file mode 100644 index 00000000000..81b2db8f4df --- /dev/null +++ b/tests/components/rfxtrx/__init__.py @@ -0,0 +1 @@ +"""Tests for the rfxtrx component.""" diff --git a/tests/components/test_rfxtrx.py b/tests/components/rfxtrx/test_init.py similarity index 100% rename from tests/components/test_rfxtrx.py rename to tests/components/rfxtrx/test_init.py diff --git a/tests/components/ring/__init__.py b/tests/components/ring/__init__.py new file mode 100644 index 00000000000..b159d356d5b --- /dev/null +++ b/tests/components/ring/__init__.py @@ -0,0 +1 @@ +"""Tests for the ring component.""" diff --git a/tests/components/test_ring.py b/tests/components/ring/test_init.py similarity index 100% rename from tests/components/test_ring.py rename to tests/components/ring/test_init.py diff --git a/tests/components/rss_feed_template/__init__.py b/tests/components/rss_feed_template/__init__.py new file mode 100644 index 00000000000..4200aea1e32 --- /dev/null +++ b/tests/components/rss_feed_template/__init__.py @@ -0,0 +1 @@ +"""Tests for the rss_feed_template component.""" diff --git a/tests/components/test_rss_feed_template.py b/tests/components/rss_feed_template/test_init.py similarity index 100% rename from tests/components/test_rss_feed_template.py rename to tests/components/rss_feed_template/test_init.py diff --git a/tests/components/script/__init__.py b/tests/components/script/__init__.py new file mode 100644 index 00000000000..67b9b4e3670 --- /dev/null +++ b/tests/components/script/__init__.py @@ -0,0 +1 @@ +"""Tests for the script component.""" diff --git a/tests/components/test_script.py b/tests/components/script/test_init.py similarity index 100% rename from tests/components/test_script.py rename to tests/components/script/test_init.py diff --git a/tests/components/sensor/test_canary.py b/tests/components/sensor/test_canary.py index 7908e22e579..dde8f4e0f94 100644 --- a/tests/components/sensor/test_canary.py +++ b/tests/components/sensor/test_canary.py @@ -9,7 +9,7 @@ from homeassistant.components.sensor.canary import CanarySensor, \ SENSOR_TYPES, ATTR_AIR_QUALITY, STATE_AIR_QUALITY_NORMAL, \ STATE_AIR_QUALITY_ABNORMAL, STATE_AIR_QUALITY_VERY_ABNORMAL from tests.common import (get_test_home_assistant) -from tests.components.test_canary import mock_device, mock_location +from tests.components.canary.test_init import mock_device, mock_location VALID_CONFIG = { "canary": { diff --git a/tests/components/sensor/test_rflink.py b/tests/components/sensor/test_rflink.py index 8ab568905f9..4cf75857a9a 100644 --- a/tests/components/sensor/test_rflink.py +++ b/tests/components/sensor/test_rflink.py @@ -9,7 +9,7 @@ from homeassistant.components.rflink import ( CONF_RECONNECT_INTERVAL, TMP_ENTITY, DATA_ENTITY_LOOKUP, EVENT_KEY_COMMAND, EVENT_KEY_SENSOR) from homeassistant.const import STATE_UNKNOWN -from ..test_rflink import mock_rflink +from tests.components.rflink.test_init import mock_rflink DOMAIN = 'sensor' diff --git a/tests/components/sensor/test_ring.py b/tests/components/sensor/test_ring.py index 3844079172a..c54f22af8dc 100644 --- a/tests/components/sensor/test_ring.py +++ b/tests/components/sensor/test_ring.py @@ -6,7 +6,7 @@ import requests_mock from homeassistant.components.sensor import ring from homeassistant.components import ring as base_ring -from tests.components.test_ring import ATTRIBUTION, VALID_CONFIG +from tests.components.ring.test_init import ATTRIBUTION, VALID_CONFIG from tests.common import ( get_test_config_dir, get_test_home_assistant, load_fixture) diff --git a/tests/components/sensor/test_sleepiq.py b/tests/components/sensor/test_sleepiq.py index 96787473abf..c667a6a2cdf 100644 --- a/tests/components/sensor/test_sleepiq.py +++ b/tests/components/sensor/test_sleepiq.py @@ -7,7 +7,7 @@ import requests_mock from homeassistant.setup import setup_component from homeassistant.components.sensor import sleepiq -from tests.components.test_sleepiq import mock_responses +from tests.components.sleepiq.test_init import mock_responses from tests.common import get_test_home_assistant diff --git a/tests/components/sensor/test_vultr.py b/tests/components/sensor/test_vultr.py index 294657c22ec..333e4938ba4 100644 --- a/tests/components/sensor/test_vultr.py +++ b/tests/components/sensor/test_vultr.py @@ -13,7 +13,7 @@ from homeassistant.components.vultr import CONF_SUBSCRIPTION from homeassistant.const import ( CONF_NAME, CONF_MONITORED_CONDITIONS, CONF_PLATFORM) -from tests.components.test_vultr import VALID_CONFIG +from tests.components.vultr.test_init import VALID_CONFIG from tests.common import ( get_test_home_assistant, load_fixture) diff --git a/tests/components/shell_command/__init__.py b/tests/components/shell_command/__init__.py new file mode 100644 index 00000000000..5effcdb3cce --- /dev/null +++ b/tests/components/shell_command/__init__.py @@ -0,0 +1 @@ +"""Tests for the shell_command component.""" diff --git a/tests/components/test_shell_command.py b/tests/components/shell_command/test_init.py similarity index 100% rename from tests/components/test_shell_command.py rename to tests/components/shell_command/test_init.py diff --git a/tests/components/shopping_list/__init__.py b/tests/components/shopping_list/__init__.py new file mode 100644 index 00000000000..26be3c90736 --- /dev/null +++ b/tests/components/shopping_list/__init__.py @@ -0,0 +1 @@ +"""Tests for the shopping_list component.""" diff --git a/tests/components/test_shopping_list.py b/tests/components/shopping_list/test_init.py similarity index 100% rename from tests/components/test_shopping_list.py rename to tests/components/shopping_list/test_init.py diff --git a/tests/components/sleepiq/__init__.py b/tests/components/sleepiq/__init__.py new file mode 100644 index 00000000000..751f227a003 --- /dev/null +++ b/tests/components/sleepiq/__init__.py @@ -0,0 +1 @@ +"""Tests for the sleepiq component.""" diff --git a/tests/components/test_sleepiq.py b/tests/components/sleepiq/test_init.py similarity index 100% rename from tests/components/test_sleepiq.py rename to tests/components/sleepiq/test_init.py diff --git a/tests/components/snips/__init__.py b/tests/components/snips/__init__.py new file mode 100644 index 00000000000..d7ac8b5f822 --- /dev/null +++ b/tests/components/snips/__init__.py @@ -0,0 +1 @@ +"""Tests for the snips component.""" diff --git a/tests/components/test_snips.py b/tests/components/snips/test_init.py similarity index 100% rename from tests/components/test_snips.py rename to tests/components/snips/test_init.py diff --git a/tests/components/spaceapi/__init__.py b/tests/components/spaceapi/__init__.py new file mode 100644 index 00000000000..0b24e36acb2 --- /dev/null +++ b/tests/components/spaceapi/__init__.py @@ -0,0 +1 @@ +"""Tests for the spaceapi component.""" diff --git a/tests/components/test_spaceapi.py b/tests/components/spaceapi/test_init.py similarity index 100% rename from tests/components/test_spaceapi.py rename to tests/components/spaceapi/test_init.py diff --git a/tests/components/spc/__init__.py b/tests/components/spc/__init__.py new file mode 100644 index 00000000000..a86adf13be6 --- /dev/null +++ b/tests/components/spc/__init__.py @@ -0,0 +1 @@ +"""Tests for the spc component.""" diff --git a/tests/components/test_spc.py b/tests/components/spc/test_init.py similarity index 100% rename from tests/components/test_spc.py rename to tests/components/spc/test_init.py diff --git a/tests/components/splunk/__init__.py b/tests/components/splunk/__init__.py new file mode 100644 index 00000000000..709483291e3 --- /dev/null +++ b/tests/components/splunk/__init__.py @@ -0,0 +1 @@ +"""Tests for the splunk component.""" diff --git a/tests/components/test_splunk.py b/tests/components/splunk/test_init.py similarity index 100% rename from tests/components/test_splunk.py rename to tests/components/splunk/test_init.py diff --git a/tests/components/statsd/__init__.py b/tests/components/statsd/__init__.py new file mode 100644 index 00000000000..f72ec8d5be1 --- /dev/null +++ b/tests/components/statsd/__init__.py @@ -0,0 +1 @@ +"""Tests for the statsd component.""" diff --git a/tests/components/test_statsd.py b/tests/components/statsd/test_init.py similarity index 100% rename from tests/components/test_statsd.py rename to tests/components/statsd/test_init.py diff --git a/tests/components/sun/__init__.py b/tests/components/sun/__init__.py new file mode 100644 index 00000000000..11448700dcd --- /dev/null +++ b/tests/components/sun/__init__.py @@ -0,0 +1 @@ +"""Tests for the sun component.""" diff --git a/tests/components/test_sun.py b/tests/components/sun/test_init.py similarity index 100% rename from tests/components/test_sun.py rename to tests/components/sun/test_init.py diff --git a/tests/components/switch/test_rflink.py b/tests/components/switch/test_rflink.py index b50a223fe8b..a91d18ce19e 100644 --- a/tests/components/switch/test_rflink.py +++ b/tests/components/switch/test_rflink.py @@ -11,7 +11,7 @@ from homeassistant.const import ( from homeassistant.core import callback, State, CoreState from tests.common import mock_restore_cache -from ..test_rflink import mock_rflink +from tests.components.rflink.test_init import mock_rflink DOMAIN = 'switch' diff --git a/tests/components/switch/test_vultr.py b/tests/components/switch/test_vultr.py index 699da34319a..f5e94e3e1b1 100644 --- a/tests/components/switch/test_vultr.py +++ b/tests/components/switch/test_vultr.py @@ -16,7 +16,7 @@ from homeassistant.components.vultr import ( from homeassistant.const import ( CONF_PLATFORM, CONF_NAME) -from tests.components.test_vultr import VALID_CONFIG +from tests.components.vultr.test_init import VALID_CONFIG from tests.common import ( get_test_home_assistant, load_fixture) diff --git a/tests/components/system_log/__init__.py b/tests/components/system_log/__init__.py new file mode 100644 index 00000000000..691a4f221ca --- /dev/null +++ b/tests/components/system_log/__init__.py @@ -0,0 +1 @@ +"""Tests for the system_log component.""" diff --git a/tests/components/test_system_log.py b/tests/components/system_log/test_init.py similarity index 100% rename from tests/components/test_system_log.py rename to tests/components/system_log/test_init.py diff --git a/tests/components/updater/__init__.py b/tests/components/updater/__init__.py new file mode 100644 index 00000000000..31a19cb3bf7 --- /dev/null +++ b/tests/components/updater/__init__.py @@ -0,0 +1 @@ +"""Tests for the updater component.""" diff --git a/tests/components/test_updater.py b/tests/components/updater/test_init.py similarity index 100% rename from tests/components/test_updater.py rename to tests/components/updater/test_init.py diff --git a/tests/components/vultr/__init__.py b/tests/components/vultr/__init__.py new file mode 100644 index 00000000000..fb25b7e145e --- /dev/null +++ b/tests/components/vultr/__init__.py @@ -0,0 +1 @@ +"""Tests for the vultr component.""" diff --git a/tests/components/test_vultr.py b/tests/components/vultr/test_init.py similarity index 100% rename from tests/components/test_vultr.py rename to tests/components/vultr/test_init.py diff --git a/tests/components/wake_on_lan/__init__.py b/tests/components/wake_on_lan/__init__.py new file mode 100644 index 00000000000..f691e3973f3 --- /dev/null +++ b/tests/components/wake_on_lan/__init__.py @@ -0,0 +1 @@ +"""Tests for the wake_on_lan component.""" diff --git a/tests/components/test_wake_on_lan.py b/tests/components/wake_on_lan/test_init.py similarity index 100% rename from tests/components/test_wake_on_lan.py rename to tests/components/wake_on_lan/test_init.py diff --git a/tests/components/webhook/__init__.py b/tests/components/webhook/__init__.py new file mode 100644 index 00000000000..7064c578b1c --- /dev/null +++ b/tests/components/webhook/__init__.py @@ -0,0 +1 @@ +"""Tests for the webhook component.""" diff --git a/tests/components/test_webhook.py b/tests/components/webhook/test_init.py similarity index 100% rename from tests/components/test_webhook.py rename to tests/components/webhook/test_init.py diff --git a/tests/components/weblink/__init__.py b/tests/components/weblink/__init__.py new file mode 100644 index 00000000000..1d58e9c24d6 --- /dev/null +++ b/tests/components/weblink/__init__.py @@ -0,0 +1 @@ +"""Tests for the weblink component.""" diff --git a/tests/components/test_weblink.py b/tests/components/weblink/test_init.py similarity index 100% rename from tests/components/test_weblink.py rename to tests/components/weblink/test_init.py