From 7741ec4d5a54445255e5a83b07f62ebe15dfaabf Mon Sep 17 00:00:00 2001 From: Robbie Trencheny Date: Wed, 27 Mar 2019 20:36:13 -0700 Subject: [PATCH] Great migration notify (#22406) * Move notify platforms into components * Move notify tests * Fix notify tests * More fixes * Update requirements * Update .coveragerc * Run gen reqs --- .coveragerc | 915 +++++++++--------- homeassistant/components/apns/__init__.py | 1 + .../{notify/apns.py => apns/notify.py} | 2 +- .../components/aws_lambda/__init__.py | 1 + .../aws_lambda.py => aws_lambda/notify.py} | 3 +- homeassistant/components/aws_sns/__init__.py | 1 + .../{notify/aws_sns.py => aws_sns/notify.py} | 2 +- homeassistant/components/aws_sqs/__init__.py | 1 + .../{notify/aws_sqs.py => aws_sqs/notify.py} | 3 +- .../components/ciscospark/__init__.py | 1 + .../ciscospark.py => ciscospark/notify.py} | 3 +- .../components/clickatell/__init__.py | 1 + .../clickatell.py => clickatell/notify.py} | 3 +- .../components/clicksend/__init__.py | 1 + .../clicksend.py => clicksend/notify.py} | 3 +- .../components/clicksend_tts/__init__.py | 1 + .../notify.py} | 3 +- .../notify.py} | 3 +- .../{notify/demo.py => demo/notify.py} | 2 +- homeassistant/components/discord/__init__.py | 1 + .../{notify/discord.py => discord/notify.py} | 4 +- homeassistant/components/facebook/__init__.py | 1 + .../facebook.py => facebook/notify.py} | 4 +- .../{notify/file.py => file/notify.py} | 2 +- homeassistant/components/flock/__init__.py | 1 + .../{notify/flock.py => flock/notify.py} | 3 +- .../components/free_mobile/__init__.py | 1 + .../free_mobile.py => free_mobile/notify.py} | 3 +- homeassistant/components/gntp/__init__.py | 1 + .../{notify/gntp.py => gntp/notify.py} | 2 +- .../{notify/group.py => group/notify.py} | 2 +- homeassistant/components/hipchat/__init__.py | 1 + .../{notify/hipchat.py => hipchat/notify.py} | 4 +- homeassistant/components/html5/__init__.py | 1 + .../{notify/html5.py => html5/notify.py} | 2 +- .../{notify/kodi.py => kodi/notify.py} | 2 +- .../components/lannouncer/__init__.py | 1 + .../lannouncer.py => lannouncer/notify.py} | 3 +- .../components/llamalab_automate/__init__.py | 1 + .../notify.py} | 3 +- homeassistant/components/mastodon/__init__.py | 1 + .../mastodon.py => mastodon/notify.py} | 3 +- .../components/message_bird/__init__.py | 1 + .../notify.py} | 3 +- .../{notify/mycroft.py => mycroft/notify.py} | 2 +- .../components/nfandroidtv/__init__.py | 1 + .../nfandroidtv.py => nfandroidtv/notify.py} | 2 +- homeassistant/components/prowl/__init__.py | 1 + .../{notify/prowl.py => prowl/notify.py} | 2 +- .../pushbullet.py => pushbullet/notify.py} | 2 +- homeassistant/components/pushetta/__init__.py | 1 + .../pushetta.py => pushetta/notify.py} | 2 +- homeassistant/components/pushover/__init__.py | 1 + .../pushover.py => pushover/notify.py} | 2 +- .../components/pushsafer/__init__.py | 1 + .../pushsafer.py => pushsafer/notify.py} | 2 +- .../{notify/rest.py => rest/notify.py} | 2 +- .../components/rocketchat/__init__.py | 1 + .../rocketchat.py => rocketchat/notify.py} | 3 +- homeassistant/components/sendgrid/__init__.py | 1 + .../sendgrid.py => sendgrid/notify.py} | 2 +- .../components/simplepush/__init__.py | 1 + .../simplepush.py => simplepush/notify.py} | 2 +- homeassistant/components/slack/__init__.py | 1 + .../{notify/slack.py => slack/notify.py} | 2 +- homeassistant/components/smtp/__init__.py | 1 + .../{notify/smtp.py => smtp/notify.py} | 2 +- homeassistant/components/stride/__init__.py | 1 + .../{notify/stride.py => stride/notify.py} | 4 +- .../components/synology_chat/__init__.py | 1 + .../notify.py} | 3 +- homeassistant/components/syslog/__init__.py | 1 + .../{notify/syslog.py => syslog/notify.py} | 2 +- homeassistant/components/telegram/__init__.py | 1 + .../telegram.py => telegram/notify.py} | 2 +- .../components/twilio_call/__init__.py | 1 + .../twilio_call.py => twilio_call/notify.py} | 3 +- .../components/twilio_sms/__init__.py | 1 + .../twilio_sms.py => twilio_sms/notify.py} | 3 +- homeassistant/components/twitter/__init__.py | 1 + .../{notify/twitter.py => twitter/notify.py} | 3 +- homeassistant/components/xmpp/__init__.py | 1 + .../{notify/xmpp.py => xmpp/notify.py} | 2 +- homeassistant/components/yessssms/__init__.py | 1 + .../yessssms.py => yessssms/notify.py} | 3 +- requirements_all.txt | 50 +- requirements_test_all.txt | 8 +- tests/components/apns/__init__.py | 1 + .../test_apns.py => apns/test_notify.py} | 30 +- .../test_notify.py} | 2 +- .../test_demo.py => demo/test_notify.py} | 6 +- tests/components/facebook/__init__.py | 1 + .../test_notify.py} | 3 +- .../test_file.py => file/test_notify.py} | 4 +- .../test_group.py => group/test_notify.py} | 3 +- tests/components/homematic/__init__.py | 1 + .../test_notify.py} | 0 tests/components/html5/__init__.py | 1 + .../test_html5.py => html5/test_notify.py} | 26 +- tests/components/pushbullet/__init__.py | 1 + .../test_notify.py} | 0 tests/components/smtp/__init__.py | 1 + .../test_smtp.py => smtp/test_notify.py} | 4 +- tests/components/yessssms/__init__.py | 1 + .../test_notify.py} | 20 +- 105 files changed, 653 insertions(+), 582 deletions(-) create mode 100644 homeassistant/components/apns/__init__.py rename homeassistant/components/{notify/apns.py => apns/notify.py} (99%) create mode 100644 homeassistant/components/aws_lambda/__init__.py rename homeassistant/components/{notify/aws_lambda.py => aws_lambda/notify.py} (95%) create mode 100644 homeassistant/components/aws_sns/__init__.py rename homeassistant/components/{notify/aws_sns.py => aws_sns/notify.py} (98%) create mode 100644 homeassistant/components/aws_sqs/__init__.py rename homeassistant/components/{notify/aws_sqs.py => aws_sqs/notify.py} (94%) create mode 100644 homeassistant/components/ciscospark/__init__.py rename homeassistant/components/{notify/ciscospark.py => ciscospark/notify.py} (92%) create mode 100644 homeassistant/components/clickatell/__init__.py rename homeassistant/components/{notify/clickatell.py => clickatell/notify.py} (92%) create mode 100644 homeassistant/components/clicksend/__init__.py rename homeassistant/components/{notify/clicksend.py => clicksend/notify.py} (95%) create mode 100644 homeassistant/components/clicksend_tts/__init__.py rename homeassistant/components/{notify/clicksend_tts.py => clicksend_tts/notify.py} (96%) rename homeassistant/components/{notify/command_line.py => command_line/notify.py} (91%) rename homeassistant/components/{notify/demo.py => demo/notify.py} (92%) create mode 100644 homeassistant/components/discord/__init__.py rename homeassistant/components/{notify/discord.py => discord/notify.py} (91%) create mode 100644 homeassistant/components/facebook/__init__.py rename homeassistant/components/{notify/facebook.py => facebook/notify.py} (95%) rename homeassistant/components/{notify/file.py => file/notify.py} (97%) create mode 100644 homeassistant/components/flock/__init__.py rename homeassistant/components/{notify/flock.py => flock/notify.py} (93%) create mode 100644 homeassistant/components/free_mobile/__init__.py rename homeassistant/components/{notify/free_mobile.py => free_mobile/notify.py} (92%) create mode 100644 homeassistant/components/gntp/__init__.py rename homeassistant/components/{notify/gntp.py => gntp/notify.py} (98%) rename homeassistant/components/{notify/group.py => group/notify.py} (97%) create mode 100644 homeassistant/components/hipchat/__init__.py rename homeassistant/components/{notify/hipchat.py => hipchat/notify.py} (94%) create mode 100644 homeassistant/components/html5/__init__.py rename homeassistant/components/{notify/html5.py => html5/notify.py} (99%) rename homeassistant/components/{notify/kodi.py => kodi/notify.py} (98%) create mode 100644 homeassistant/components/lannouncer/__init__.py rename homeassistant/components/{notify/lannouncer.py => lannouncer/notify.py} (94%) create mode 100644 homeassistant/components/llamalab_automate/__init__.py rename homeassistant/components/{notify/llamalab_automate.py => llamalab_automate/notify.py} (93%) create mode 100644 homeassistant/components/mastodon/__init__.py rename homeassistant/components/{notify/mastodon.py => mastodon/notify.py} (93%) create mode 100644 homeassistant/components/message_bird/__init__.py rename homeassistant/components/{notify/message_bird.py => message_bird/notify.py} (93%) rename homeassistant/components/{notify/mycroft.py => mycroft/notify.py} (93%) create mode 100644 homeassistant/components/nfandroidtv/__init__.py rename homeassistant/components/{notify/nfandroidtv.py => nfandroidtv/notify.py} (99%) create mode 100644 homeassistant/components/prowl/__init__.py rename homeassistant/components/{notify/prowl.py => prowl/notify.py} (98%) rename homeassistant/components/{notify/pushbullet.py => pushbullet/notify.py} (99%) create mode 100644 homeassistant/components/pushetta/__init__.py rename homeassistant/components/{notify/pushetta.py => pushetta/notify.py} (98%) create mode 100644 homeassistant/components/pushover/__init__.py rename homeassistant/components/{notify/pushover.py => pushover/notify.py} (97%) create mode 100644 homeassistant/components/pushsafer/__init__.py rename homeassistant/components/{notify/pushsafer.py => pushsafer/notify.py} (99%) rename homeassistant/components/{notify/rest.py => rest/notify.py} (99%) create mode 100644 homeassistant/components/rocketchat/__init__.py rename homeassistant/components/{notify/rocketchat.py => rocketchat/notify.py} (94%) create mode 100644 homeassistant/components/sendgrid/__init__.py rename homeassistant/components/{notify/sendgrid.py => sendgrid/notify.py} (98%) create mode 100644 homeassistant/components/simplepush/__init__.py rename homeassistant/components/{notify/simplepush.py => simplepush/notify.py} (97%) create mode 100644 homeassistant/components/slack/__init__.py rename homeassistant/components/{notify/slack.py => slack/notify.py} (99%) create mode 100644 homeassistant/components/smtp/__init__.py rename homeassistant/components/{notify/smtp.py => smtp/notify.py} (99%) create mode 100644 homeassistant/components/stride/__init__.py rename homeassistant/components/{notify/stride.py => stride/notify.py} (93%) create mode 100644 homeassistant/components/synology_chat/__init__.py rename homeassistant/components/{notify/synology_chat.py => synology_chat/notify.py} (92%) create mode 100644 homeassistant/components/syslog/__init__.py rename homeassistant/components/{notify/syslog.py => syslog/notify.py} (98%) create mode 100644 homeassistant/components/telegram/__init__.py rename homeassistant/components/{notify/telegram.py => telegram/notify.py} (98%) create mode 100644 homeassistant/components/twilio_call/__init__.py rename homeassistant/components/{notify/twilio_call.py => twilio_call/notify.py} (92%) create mode 100644 homeassistant/components/twilio_sms/__init__.py rename homeassistant/components/{notify/twilio_sms.py => twilio_sms/notify.py} (91%) create mode 100644 homeassistant/components/twitter/__init__.py rename homeassistant/components/{notify/twitter.py => twitter/notify.py} (98%) create mode 100644 homeassistant/components/xmpp/__init__.py rename homeassistant/components/{notify/xmpp.py => xmpp/notify.py} (99%) create mode 100644 homeassistant/components/yessssms/__init__.py rename homeassistant/components/{notify/yessssms.py => yessssms/notify.py} (95%) create mode 100644 tests/components/apns/__init__.py rename tests/components/{notify/test_apns.py => apns/test_notify.py} (92%) rename tests/components/{notify/test_command_line.py => command_line/test_notify.py} (97%) rename tests/components/{notify/test_demo.py => demo/test_notify.py} (97%) create mode 100644 tests/components/facebook/__init__.py rename tests/components/{notify/test_facebook.py => facebook/test_notify.py} (97%) rename tests/components/{notify/test_file.py => file/test_notify.py} (96%) rename tests/components/{notify/test_group.py => group/test_notify.py} (96%) create mode 100644 tests/components/homematic/__init__.py rename tests/components/{notify/test_homematic.py => homematic/test_notify.py} (100%) create mode 100644 tests/components/html5/__init__.py rename tests/components/{notify/test_html5.py => html5/test_notify.py} (94%) create mode 100644 tests/components/pushbullet/__init__.py rename tests/components/{notify/test_pushbullet.py => pushbullet/test_notify.py} (100%) create mode 100644 tests/components/smtp/__init__.py rename tests/components/{notify/test_smtp.py => smtp/test_notify.py} (96%) create mode 100644 tests/components/yessssms/__init__.py rename tests/components/{notify/test_yessssms.py => yessssms/test_notify.py} (90%) diff --git a/.coveragerc b/.coveragerc index 2cfac103f3c..3cba8519314 100644 --- a/.coveragerc +++ b/.coveragerc @@ -3,165 +3,165 @@ source = homeassistant omit = homeassistant/__main__.py + homeassistant/helpers/signal.py + homeassistant/helpers/typing.py + homeassistant/monkey_patch.py homeassistant/scripts/*.py homeassistant/util/async.py - homeassistant/monkey_patch.py - homeassistant/helpers/typing.py - homeassistant/helpers/signal.py # omit pieces of code that rely on external devices being present homeassistant/components/abode/* + homeassistant/components/acer_projector/switch.py + homeassistant/components/actiontec/device_tracker.py homeassistant/components/ads/* - homeassistant/components/nilu/air_quality.py - homeassistant/components/norway_air/air_quality.py - homeassistant/components/opensensemap/air_quality.py - homeassistant/components/alarmdotcom/alarm_control_panel.py - homeassistant/components/canary/alarm_control_panel.py - homeassistant/components/concord232/alarm_control_panel.py - homeassistant/components/ialarm/alarm_control_panel.py + homeassistant/components/aftership/sensor.py + homeassistant/components/airvisual/sensor.py + homeassistant/components/aladdin_connect/cover.py homeassistant/components/alarm_control_panel/manual_mqtt.py - homeassistant/components/nx584/alarm_control_panel.py - homeassistant/components/totalconnect/alarm_control_panel.py - homeassistant/components/yale_smart_alarm/alarm_control_panel.py homeassistant/components/alarmdecoder/* + homeassistant/components/alarmdotcom/alarm_control_panel.py + homeassistant/components/alpha_vantage/sensor.py homeassistant/components/ambient_station/* homeassistant/components/amcrest/* homeassistant/components/android_ip_webcam/* homeassistant/components/androidtv/* + homeassistant/components/anel_pwrctrl/switch.py + homeassistant/components/anthemav/media_player.py homeassistant/components/apcupsd/* homeassistant/components/apiai/* homeassistant/components/apple_tv/* homeassistant/components/aqualogic/* + homeassistant/components/aquostv/media_player.py homeassistant/components/arduino/* - homeassistant/components/arlo/* - homeassistant/components/asterisk_mbox/* - homeassistant/components/august/* - homeassistant/components/bbb_gpio/* homeassistant/components/arest/binary_sensor.py - homeassistant/components/concord232/binary_sensor.py - homeassistant/components/flic/binary_sensor.py - homeassistant/components/hikvision/binary_sensor.py - homeassistant/components/iss/binary_sensor.py - homeassistant/components/mystrom/binary_sensor.py - homeassistant/components/ping/binary_sensor.py - homeassistant/components/rest/binary_sensor.py - homeassistant/components/tapsaff/binary_sensor.py - homeassistant/components/uptimerobot/binary_sensor.py - homeassistant/components/blink/* - homeassistant/components/bloomsky/* - homeassistant/components/bmw_connected_drive/* - homeassistant/components/browser/* - homeassistant/components/caldav/calendar.py - homeassistant/components/todoist/calendar.py - homeassistant/components/bloomsky/camera.py - homeassistant/components/canary/camera.py - homeassistant/components/familyhub/camera.py - homeassistant/components/ffmpeg/camera.py - homeassistant/components/foscam/camera.py - homeassistant/components/mjpeg/camera.py - homeassistant/components/onvif/camera.py - homeassistant/components/proxy/camera.py - homeassistant/components/ring/camera.py - homeassistant/components/rpi_camera/camera.py - homeassistant/components/synology/camera.py - homeassistant/components/xeoma/camera.py - homeassistant/components/xiaomi/camera.py - homeassistant/components/yi/camera.py - homeassistant/components/cast/* - homeassistant/components/cisco_mobility_express/device_tracker.py - homeassistant/components/coolmaster/climate.py - homeassistant/components/ephember/climate.py - homeassistant/components/eq3btsmart/climate.py - homeassistant/components/flexit/climate.py - homeassistant/components/heatmiser/climate.py - homeassistant/components/homematic/climate.py - homeassistant/components/honeywell/climate.py - homeassistant/components/knx/climate.py - homeassistant/components/mill/climate.py - homeassistant/components/oem/climate.py - homeassistant/components/proliphix/climate.py - homeassistant/components/radiotherm/climate.py - homeassistant/components/sensibo/climate.py - homeassistant/components/tfiac/climate.py - homeassistant/components/touchline/climate.py - homeassistant/components/venstar/climate.py - homeassistant/components/zhong_hong/climate.py - homeassistant/components/cloudflare/* - homeassistant/components/coinbase/* - homeassistant/components/comfoconnect/* - homeassistant/components/aladdin_connect/cover.py - homeassistant/components/brunt/cover.py - homeassistant/components/garadget/cover.py - homeassistant/components/gogogate2/cover.py - homeassistant/components/homematic/cover.py - homeassistant/components/knx/cover.py - homeassistant/components/myq/cover.py - homeassistant/components/opengarage/cover.py - homeassistant/components/rpi_gpio/cover.py - homeassistant/components/scsgate/cover.py - homeassistant/components/daikin/* - homeassistant/components/danfoss_air/* - homeassistant/components/actiontec/device_tracker.py + homeassistant/components/arest/sensor.py + homeassistant/components/arest/switch.py + homeassistant/components/arlo/* homeassistant/components/aruba/device_tracker.py + homeassistant/components/arwn/sensor.py + homeassistant/components/asterisk_cdr/mailbox.py + homeassistant/components/asterisk_mbox/* homeassistant/components/asuswrt/device_tracker.py + homeassistant/components/august/* homeassistant/components/automatic/device_tracker.py + homeassistant/components/avion/light.py + homeassistant/components/aws_lambda/notify.py + homeassistant/components/aws_sns/notify.py + homeassistant/components/aws_sqs/notify.py + homeassistant/components/bbb_gpio/* homeassistant/components/bbox/device_tracker.py + homeassistant/components/bbox/sensor.py + homeassistant/components/bh1750/sensor.py + homeassistant/components/bitcoin/sensor.py + homeassistant/components/blink/* + homeassistant/components/blinksticklight/light.py + homeassistant/components/blinkt/light.py + homeassistant/components/blockchain/sensor.py + homeassistant/components/bloomsky/* + homeassistant/components/bluesound/media_player.py homeassistant/components/bluetooth_le_tracker/device_tracker.py homeassistant/components/bluetooth_tracker/device_tracker.py + homeassistant/components/bme280/sensor.py + homeassistant/components/bme680/sensor.py + homeassistant/components/bmw_connected_drive/* + homeassistant/components/bom/sensor.py + homeassistant/components/bom/weather.py + homeassistant/components/braviatv/media_player.py + homeassistant/components/broadlink/sensor.py + homeassistant/components/broadlink/switch.py + homeassistant/components/brottsplatskartan/sensor.py + homeassistant/components/browser/* + homeassistant/components/brunt/cover.py homeassistant/components/bt_home_hub_5/device_tracker.py homeassistant/components/bt_smarthub/device_tracker.py + homeassistant/components/buienradar/sensor.py + homeassistant/components/buienradar/weather.py + homeassistant/components/caldav/calendar.py + homeassistant/components/canary/alarm_control_panel.py + homeassistant/components/canary/camera.py + homeassistant/components/cast/* + homeassistant/components/cert_expiry/sensor.py + homeassistant/components/channels/media_player.py homeassistant/components/cisco_ios/device_tracker.py + homeassistant/components/cisco_mobility_express/device_tracker.py + homeassistant/components/ciscospark/notify.py + homeassistant/components/citybikes/sensor.py + homeassistant/components/clementine/media_player.py + homeassistant/components/clickatell/notify.py + homeassistant/components/clicksend/notify.py + homeassistant/components/clicksend_tts/notify.py + homeassistant/components/cloudflare/* + homeassistant/components/cmus/media_player.py + homeassistant/components/coinbase/* + homeassistant/components/comed_hourly_pricing/sensor.py + homeassistant/components/comfoconnect/* + homeassistant/components/concord232/alarm_control_panel.py + homeassistant/components/concord232/binary_sensor.py + homeassistant/components/coolmaster/climate.py homeassistant/components/cppm_tracker/device_tracker.py + homeassistant/components/cpuspeed/sensor.py + homeassistant/components/crimereports/sensor.py + homeassistant/components/cups/sensor.py + homeassistant/components/currencylayer/sensor.py + homeassistant/components/daikin/* + homeassistant/components/danfoss_air/* + homeassistant/components/darksky/weather.py homeassistant/components/ddwrt/device_tracker.py - homeassistant/components/fritz/device_tracker.py - homeassistant/components/google_maps/device_tracker.py - homeassistant/components/hitron_coda/device_tracker.py - homeassistant/components/huawei_router/device_tracker.py - homeassistant/components/icloud/device_tracker.py - homeassistant/components/keenetic_ndms2/device_tracker.py - homeassistant/components/linksys_ap/device_tracker.py - homeassistant/components/linksys_smart/device_tracker.py - homeassistant/components/luci/device_tracker.py - homeassistant/components/mikrotik/device_tracker.py - homeassistant/components/netgear/device_tracker.py - homeassistant/components/nmap_tracker/device_tracker.py - homeassistant/components/ping/device_tracker.py - homeassistant/components/quantum_gateway/device_tracker.py - homeassistant/components/ritassist/device_tracker.py - homeassistant/components/sky_hub/device_tracker.py - homeassistant/components/snmp/device_tracker.py - homeassistant/components/swisscom/device_tracker.py - homeassistant/components/synology_srm/device_tracker.py - homeassistant/components/tado/device_tracker.py - homeassistant/components/thomson/device_tracker.py - homeassistant/components/tile/device_tracker.py - homeassistant/components/tomato/device_tracker.py - homeassistant/components/tplink/device_tracker.py - homeassistant/components/traccar/device_tracker.py - homeassistant/components/trackr/device_tracker.py - homeassistant/components/ubee/device_tracker.py - homeassistant/components/ubus/device_tracker.py - homeassistant/components/xfinity/device_tracker.py + homeassistant/components/decora/light.py + homeassistant/components/decora_wifi/light.py + homeassistant/components/deluge/sensor.py + homeassistant/components/deluge/switch.py + homeassistant/components/denon/media_player.py + homeassistant/components/denonavr/media_player.py + homeassistant/components/deutsche_bahn/sensor.py + homeassistant/components/dht/sensor.py homeassistant/components/digital_ocean/* + homeassistant/components/digitalloggers/switch.py + homeassistant/components/directv/media_player.py + homeassistant/components/discogs/sensor.py + homeassistant/components/discord/notify.py + homeassistant/components/dlib_face_detect/image_processing.py + homeassistant/components/dlib_face_identify/image_processing.py + homeassistant/components/dlink/switch.py + homeassistant/components/dlna_dmr/media_player.py + homeassistant/components/dnsip/sensor.py + homeassistant/components/domain_expiry/sensor.py homeassistant/components/dominos/* homeassistant/components/doorbird/* homeassistant/components/dovado/* homeassistant/components/downloader/* + homeassistant/components/dte_energy_bridge/sensor.py + homeassistant/components/dublin_bus_transport/sensor.py + homeassistant/components/duke_energy/sensor.py + homeassistant/components/dunehd/media_player.py + homeassistant/components/dwd_weather_warnings/sensor.py homeassistant/components/dweet/* + homeassistant/components/ebox/sensor.py homeassistant/components/ebusd/* homeassistant/components/ecoal_boiler/* homeassistant/components/ecobee/* + homeassistant/components/econet/water_heater.py homeassistant/components/ecovacs/* + homeassistant/components/eddystone_temperature/sensor.py + homeassistant/components/edimax/switch.py homeassistant/components/edp_redy/* homeassistant/components/egardia/* homeassistant/components/eight_sleep/* + homeassistant/components/eliqonline/sensor.py homeassistant/components/elkm1/* + homeassistant/components/emby/media_player.py + homeassistant/components/emoncms/sensor.py homeassistant/components/emoncms_history/* homeassistant/components/emulated_hue/upnp.py homeassistant/components/enigma2/media_player.py homeassistant/components/enocean/* + homeassistant/components/enphase_envoy/sensor.py homeassistant/components/entur_public_transport/* + homeassistant/components/envirophat/sensor.py homeassistant/components/envisalink/* + homeassistant/components/ephember/climate.py + homeassistant/components/epson/media_player.py + homeassistant/components/eq3btsmart/climate.py homeassistant/components/esphome/__init__.py homeassistant/components/esphome/binary_sensor.py homeassistant/components/esphome/cover.py @@ -169,232 +169,298 @@ omit = homeassistant/components/esphome/light.py homeassistant/components/esphome/sensor.py homeassistant/components/esphome/switch.py + homeassistant/components/etherscan/sensor.py homeassistant/components/eufy/* + homeassistant/components/everlights/light.py homeassistant/components/evohome/* - homeassistant/components/wemo/fan.py + homeassistant/components/familyhub/camera.py homeassistant/components/fastdotcom/* + homeassistant/components/fedex/sensor.py + homeassistant/components/ffmpeg/camera.py homeassistant/components/fibaro/* + homeassistant/components/filesize/sensor.py + homeassistant/components/fints/sensor.py + homeassistant/components/fitbit/sensor.py + homeassistant/components/fixer/sensor.py + homeassistant/components/flexit/climate.py + homeassistant/components/flic/binary_sensor.py + homeassistant/components/flock/notify.py + homeassistant/components/flunearyou/sensor.py + homeassistant/components/flux_led/light.py + homeassistant/components/folder/sensor.py homeassistant/components/folder_watcher/* + homeassistant/components/foobot/sensor.py + homeassistant/components/foscam/camera.py homeassistant/components/foursquare/* + homeassistant/components/free_mobile/notify.py homeassistant/components/freebox/* + homeassistant/components/fritz/device_tracker.py homeassistant/components/fritzbox/* + homeassistant/components/fritzbox_callmonitor/sensor.py + homeassistant/components/fritzbox_netmonitor/sensor.py + homeassistant/components/fritzdect/switch.py + homeassistant/components/frontier_silicon/media_player.py + homeassistant/components/futurenow/light.py + homeassistant/components/garadget/cover.py homeassistant/components/gc100/* + homeassistant/components/gearbest/sensor.py + homeassistant/components/geizhals/sensor.py + homeassistant/components/github/sensor.py + homeassistant/components/gitlab_ci/sensor.py + homeassistant/components/gitter/sensor.py + homeassistant/components/glances/sensor.py + homeassistant/components/gntp/notify.py homeassistant/components/goalfeed/* + homeassistant/components/gogogate2/cover.py homeassistant/components/google/* + homeassistant/components/google_maps/device_tracker.py + homeassistant/components/google_travel_time/sensor.py homeassistant/components/googlehome/* + homeassistant/components/gpmdp/media_player.py + homeassistant/components/gpsd/sensor.py homeassistant/components/greeneye_monitor/* + homeassistant/components/greeneye_monitor/sensor.py + homeassistant/components/greenwave/light.py + homeassistant/components/group/notify.py + homeassistant/components/gstreamer/media_player.py + homeassistant/components/gtfs/sensor.py + homeassistant/components/gtt/sensor.py homeassistant/components/habitica/* - homeassistant/components/hangouts/__init__.py homeassistant/components/hangouts/* + homeassistant/components/hangouts/__init__.py homeassistant/components/hangouts/const.py homeassistant/components/hangouts/hangouts_bot.py homeassistant/components/hangouts/hangups_utils.py + homeassistant/components/harman_kardon_avr/media_player.py + homeassistant/components/harmony/remote.py + homeassistant/components/haveibeenpwned/sensor.py homeassistant/components/hdmi_cec/* + homeassistant/components/heatmiser/climate.py + homeassistant/components/hikvision/binary_sensor.py + homeassistant/components/hikvisioncam/switch.py + homeassistant/components/hipchat/notify.py + homeassistant/components/hitron_coda/device_tracker.py homeassistant/components/hive/* homeassistant/components/hlk_sw16/* homeassistant/components/homekit_controller/* homeassistant/components/homematic/* + homeassistant/components/homematic/climate.py + homeassistant/components/homematic/cover.py + homeassistant/components/homematic/notify.py homeassistant/components/homematicip_cloud/* homeassistant/components/homeworks/* + homeassistant/components/honeywell/climate.py + homeassistant/components/hook/switch.py + homeassistant/components/horizon/media_player.py + homeassistant/components/hp_ilo/sensor.py + homeassistant/components/htu21d/sensor.py homeassistant/components/huawei_lte/* + homeassistant/components/huawei_router/device_tracker.py + homeassistant/components/hue/light.py + homeassistant/components/hunterdouglas_powerview/scene.py homeassistant/components/hydrawise/* + homeassistant/components/hyperion/light.py + homeassistant/components/ialarm/alarm_control_panel.py + homeassistant/components/icloud/device_tracker.py homeassistant/components/idteck_prox/* homeassistant/components/ifttt/* + homeassistant/components/iglo/light.py homeassistant/components/ihc/* - homeassistant/components/dlib_face_detect/image_processing.py - homeassistant/components/dlib_face_identify/image_processing.py - homeassistant/components/qrcode/image_processing.py - homeassistant/components/seven_segments/image_processing.py - homeassistant/components/tensorflow/image_processing.py + homeassistant/components/iliad_italy/sensor.py + homeassistant/components/imap/sensor.py + homeassistant/components/imap_email_content/sensor.py + homeassistant/components/influxdb/sensor.py + homeassistant/components/insteon/* homeassistant/components/insteon_local/* homeassistant/components/insteon_plm/* - homeassistant/components/insteon/* homeassistant/components/ios/* homeassistant/components/iota/* homeassistant/components/iperf3/* + homeassistant/components/irish_rail_transport/sensor.py + homeassistant/components/iss/binary_sensor.py homeassistant/components/isy994/* + homeassistant/components/itach/remote.py + homeassistant/components/itunes/media_player.py homeassistant/components/joaoapps_join/* homeassistant/components/juicenet/* - homeassistant/components/keyboard_remote/* + homeassistant/components/kankun/switch.py + homeassistant/components/keenetic_ndms2/device_tracker.py homeassistant/components/keyboard/* + homeassistant/components/keyboard_remote/* homeassistant/components/kira/* - homeassistant/components/knx/* - homeassistant/components/konnected/* - homeassistant/components/lametric/* - homeassistant/components/lcn/* - homeassistant/components/lifx/* - homeassistant/components/avion/light.py - homeassistant/components/blinksticklight/light.py - homeassistant/components/blinkt/light.py - homeassistant/components/decora_wifi/light.py - homeassistant/components/decora/light.py - homeassistant/components/everlights/light.py - homeassistant/components/flux_led/light.py - homeassistant/components/futurenow/light.py - homeassistant/components/greenwave/light.py - homeassistant/components/hue/light.py - homeassistant/components/hyperion/light.py - homeassistant/components/iglo/light.py - homeassistant/components/lifx_legacy/light.py - homeassistant/components/limitlessled/light.py - homeassistant/components/lw12wifi/light.py - homeassistant/components/mystrom/light.py - homeassistant/components/nanoleaf/light.py - homeassistant/components/niko_home_control/light.py - homeassistant/components/opple/light.py - homeassistant/components/osramlightify/light.py - homeassistant/components/piglow/light.py - homeassistant/components/rpi_gpio_pwm/light.py - homeassistant/components/sensehat/light.py - homeassistant/components/tikteck/light.py - homeassistant/components/tplink/light.py - homeassistant/components/tradfri/light.py - homeassistant/components/x10/light.py - homeassistant/components/yeelight/light.py - homeassistant/components/yeelightsunflower/light.py - homeassistant/components/zengge/light.py - homeassistant/components/lightwave/* - homeassistant/components/linode/* - homeassistant/components/lirc/* homeassistant/components/kiwi/lock.py + homeassistant/components/knx/* + homeassistant/components/knx/climate.py + homeassistant/components/knx/cover.py + homeassistant/components/kodi/media_player.py + homeassistant/components/kodi/notify.py + homeassistant/components/konnected/* + homeassistant/components/kwb/sensor.py + homeassistant/components/lacrosse/sensor.py + homeassistant/components/lametric/* + homeassistant/components/lannouncer/notify.py + homeassistant/components/lastfm/sensor.py + homeassistant/components/launch_library/sensor.py + homeassistant/components/lcn/* + homeassistant/components/lg_netcast/media_player.py + homeassistant/components/lg_soundbar/media_player.py + homeassistant/components/lifx/* + homeassistant/components/lifx_cloud/scene.py + homeassistant/components/lifx_legacy/light.py + homeassistant/components/lightwave/* + homeassistant/components/limitlessled/light.py + homeassistant/components/linksys_ap/device_tracker.py + homeassistant/components/linksys_smart/device_tracker.py + homeassistant/components/linky/sensor.py + homeassistant/components/linode/* + homeassistant/components/linux_battery/sensor.py + homeassistant/components/lirc/* + homeassistant/components/liveboxplaytv/media_player.py + homeassistant/components/llamalab_automate/notify.py homeassistant/components/lockitron/lock.py - homeassistant/components/nello/lock.py - homeassistant/components/nuki/lock.py - homeassistant/components/sesame/lock.py homeassistant/components/logi_circle/* + homeassistant/components/london_underground/sensor.py + homeassistant/components/loopenergy/sensor.py + homeassistant/components/luci/device_tracker.py homeassistant/components/luftdaten/* homeassistant/components/lupusec/* - homeassistant/components/lutron_caseta/* homeassistant/components/lutron/* - homeassistant/components/asterisk_cdr/mailbox.py + homeassistant/components/lutron_caseta/* + homeassistant/components/lw12wifi/light.py + homeassistant/components/lyft/sensor.py + homeassistant/components/magicseaweed/sensor.py homeassistant/components/mailgun/notify.py homeassistant/components/map/* + homeassistant/components/mastodon/notify.py homeassistant/components/matrix/* homeassistant/components/maxcube/* homeassistant/components/media_extractor/* - homeassistant/components/anthemav/media_player.py - homeassistant/components/aquostv/media_player.py - homeassistant/components/bluesound/media_player.py - homeassistant/components/braviatv/media_player.py - homeassistant/components/channels/media_player.py - homeassistant/components/clementine/media_player.py - homeassistant/components/cmus/media_player.py - homeassistant/components/denon/media_player.py - homeassistant/components/denonavr/media_player.py - homeassistant/components/directv/media_player.py - homeassistant/components/dlna_dmr/media_player.py - homeassistant/components/dunehd/media_player.py - homeassistant/components/emby/media_player.py - homeassistant/components/epson/media_player.py - homeassistant/components/frontier_silicon/media_player.py - homeassistant/components/gpmdp/media_player.py - homeassistant/components/gstreamer/media_player.py - homeassistant/components/harman_kardon_avr/media_player.py - homeassistant/components/horizon/media_player.py - homeassistant/components/itunes/media_player.py - homeassistant/components/kodi/media_player.py - homeassistant/components/lg_netcast/media_player.py - homeassistant/components/lg_soundbar/media_player.py - homeassistant/components/liveboxplaytv/media_player.py homeassistant/components/mediaroom/media_player.py - homeassistant/components/mpchc/media_player.py - homeassistant/components/mpd/media_player.py - homeassistant/components/nad/media_player.py - homeassistant/components/nadtcp/media_player.py - homeassistant/components/onkyo/media_player.py - homeassistant/components/openhome/media_player.py - homeassistant/components/panasonic_bluray/media_player.py - homeassistant/components/panasonic_viera/media_player.py - homeassistant/components/pandora/media_player.py - homeassistant/components/philips_js/media_player.py - homeassistant/components/pioneer/media_player.py - homeassistant/components/pjlink/media_player.py - homeassistant/components/plex/media_player.py - homeassistant/components/russound_rio/media_player.py - homeassistant/components/russound_rnet/media_player.py - homeassistant/components/snapcast/media_player.py - homeassistant/components/songpal/media_player.py - homeassistant/components/spotify/media_player.py - homeassistant/components/squeezebox/media_player.py - homeassistant/components/ue_smart_radio/media_player.py - homeassistant/components/vizio/media_player.py - homeassistant/components/vlc/media_player.py - homeassistant/components/volumio/media_player.py - homeassistant/components/xiaomi_tv/media_player.py - homeassistant/components/yamaha_musiccast/media_player.py - homeassistant/components/yamaha/media_player.py - homeassistant/components/ziggo_mediabox_xl/media_player.py + homeassistant/components/message_bird/notify.py + homeassistant/components/met/weather.py homeassistant/components/meteo_france/* + homeassistant/components/metoffice/sensor.py + homeassistant/components/metoffice/weather.py + homeassistant/components/miflora/sensor.py + homeassistant/components/mikrotik/device_tracker.py + homeassistant/components/mill/climate.py + homeassistant/components/mitemp_bt/sensor.py + homeassistant/components/mjpeg/camera.py homeassistant/components/mobile_app/* homeassistant/components/mochad/* homeassistant/components/modbus/* + homeassistant/components/modem_callerid/sensor.py homeassistant/components/mopar/* + homeassistant/components/mpchc/media_player.py + homeassistant/components/mpd/media_player.py + homeassistant/components/mqtt_room/sensor.py + homeassistant/components/mvglive/sensor.py homeassistant/components/mychevy/* homeassistant/components/mycroft/* + homeassistant/components/mycroft/notify.py + homeassistant/components/myq/cover.py homeassistant/components/mysensors/* + homeassistant/components/mystrom/binary_sensor.py + homeassistant/components/mystrom/light.py + homeassistant/components/mystrom/switch.py + homeassistant/components/nad/media_player.py + homeassistant/components/nadtcp/media_player.py + homeassistant/components/nanoleaf/light.py homeassistant/components/neato/* + homeassistant/components/nederlandse_spoorwegen/sensor.py + homeassistant/components/nello/lock.py homeassistant/components/nest/* homeassistant/components/netatmo/* + homeassistant/components/netatmo_public/sensor.py + homeassistant/components/netdata/sensor.py + homeassistant/components/netdata_public/sensor.py + homeassistant/components/netgear/device_tracker.py homeassistant/components/netgear_lte/* + homeassistant/components/netio/switch.py + homeassistant/components/neurio_energy/sensor.py + homeassistant/components/nfandroidtv/notify.py + homeassistant/components/niko_home_control/light.py + homeassistant/components/nilu/air_quality.py homeassistant/components/nissan_leaf/* - homeassistant/components/notify/aws_lambda.py - homeassistant/components/notify/aws_sns.py - homeassistant/components/notify/aws_sqs.py - homeassistant/components/notify/ciscospark.py - homeassistant/components/notify/clickatell.py - homeassistant/components/notify/clicksend_tts.py - homeassistant/components/notify/clicksend.py - homeassistant/components/notify/discord.py - homeassistant/components/notify/flock.py - homeassistant/components/notify/free_mobile.py - homeassistant/components/notify/gntp.py - homeassistant/components/notify/group.py - homeassistant/components/notify/hipchat.py - homeassistant/components/homematic/notify.py - homeassistant/components/notify/kodi.py - homeassistant/components/notify/lannouncer.py - homeassistant/components/notify/llamalab_automate.py - homeassistant/components/notify/mastodon.py - homeassistant/components/notify/message_bird.py - homeassistant/components/notify/mycroft.py - homeassistant/components/notify/nfandroidtv.py - homeassistant/components/notify/prowl.py - homeassistant/components/notify/pushbullet.py - homeassistant/components/notify/pushetta.py - homeassistant/components/notify/pushover.py - homeassistant/components/notify/pushsafer.py - homeassistant/components/notify/rest.py - homeassistant/components/notify/rocketchat.py - homeassistant/components/notify/sendgrid.py - homeassistant/components/notify/simplepush.py - homeassistant/components/notify/slack.py - homeassistant/components/notify/smtp.py - homeassistant/components/notify/stride.py - homeassistant/components/notify/synology_chat.py - homeassistant/components/notify/syslog.py - homeassistant/components/notify/telegram.py - homeassistant/components/notify/telstra.py - homeassistant/components/notify/twilio_call.py - homeassistant/components/notify/twilio_sms.py - homeassistant/components/notify/twitter.py - homeassistant/components/notify/xmpp.py + homeassistant/components/nmap_tracker/device_tracker.py + homeassistant/components/nmbs/sensor.py + homeassistant/components/noaa_tides/sensor.py + homeassistant/components/norway_air/air_quality.py + homeassistant/components/nsw_fuel_station/sensor.py homeassistant/components/nuimo_controller/* + homeassistant/components/nuki/lock.py + homeassistant/components/nut/sensor.py + homeassistant/components/nx584/alarm_control_panel.py + homeassistant/components/nzbget/sensor.py homeassistant/components/octoprint/* + homeassistant/components/oem/climate.py + homeassistant/components/ohmconnect/sensor.py + homeassistant/components/onewire/sensor.py + homeassistant/components/onkyo/media_player.py + homeassistant/components/onvif/camera.py homeassistant/components/opencv/* + homeassistant/components/openevse/sensor.py + homeassistant/components/openexchangerates/sensor.py + homeassistant/components/opengarage/cover.py + homeassistant/components/openhome/media_player.py + homeassistant/components/opensensemap/air_quality.py + homeassistant/components/opensky/sensor.py homeassistant/components/opentherm_gw/* homeassistant/components/openuv/__init__.py homeassistant/components/openuv/binary_sensor.py homeassistant/components/openuv/sensor.py + homeassistant/components/openweathermap/sensor.py + homeassistant/components/openweathermap/weather.py + homeassistant/components/opple/light.py + homeassistant/components/orvibo/switch.py + homeassistant/components/osramlightify/light.py + homeassistant/components/otp/sensor.py homeassistant/components/owlet/* + homeassistant/components/panasonic_bluray/media_player.py + homeassistant/components/panasonic_viera/media_player.py + homeassistant/components/pandora/media_player.py + homeassistant/components/pencom/switch.py + homeassistant/components/philips_js/media_player.py + homeassistant/components/pi_hole/sensor.py + homeassistant/components/piglow/light.py homeassistant/components/pilight/* + homeassistant/components/ping/binary_sensor.py + homeassistant/components/ping/device_tracker.py + homeassistant/components/pioneer/media_player.py + homeassistant/components/pjlink/media_player.py + homeassistant/components/plex/media_player.py + homeassistant/components/plex/sensor.py homeassistant/components/plum_lightpad/* + homeassistant/components/pocketcasts/sensor.py homeassistant/components/point/* + homeassistant/components/pollen/sensor.py + homeassistant/components/postnl/sensor.py + homeassistant/components/prezzibenzina/sensor.py + homeassistant/components/proliphix/climate.py homeassistant/components/prometheus/* + homeassistant/components/prowl/notify.py + homeassistant/components/proxy/camera.py homeassistant/components/ps4/__init__.py homeassistant/components/ps4/media_player.py + homeassistant/components/pulseaudio_loopback/switch.py + homeassistant/components/pushbullet/notify.py + homeassistant/components/pushbullet/sensor.py + homeassistant/components/pushetta/notify.py + homeassistant/components/pushover/notify.py + homeassistant/components/pushsafer/notify.py + homeassistant/components/pvoutput/sensor.py + homeassistant/components/pyload/sensor.py + homeassistant/components/qbittorrent/sensor.py + homeassistant/components/qnap/sensor.py + homeassistant/components/qrcode/image_processing.py + homeassistant/components/quantum_gateway/device_tracker.py homeassistant/components/qwikswitch/* homeassistant/components/rachio/* + homeassistant/components/radarr/sensor.py + homeassistant/components/radiotherm/climate.py homeassistant/components/rainbird/* + homeassistant/components/rainbird/sensor.py + homeassistant/components/rainbird/switch.py homeassistant/components/raincloud/* homeassistant/components/rainmachine/__init__.py homeassistant/components/rainmachine/binary_sensor.py @@ -402,281 +468,210 @@ omit = homeassistant/components/rainmachine/switch.py homeassistant/components/raspihats/* homeassistant/components/raspyrfm/* + homeassistant/components/recollect_waste/sensor.py + homeassistant/components/recswitch/switch.py homeassistant/components/reddit/* + homeassistant/components/rejseplanen/sensor.py homeassistant/components/remember_the_milk/__init__.py - homeassistant/components/harmony/remote.py - homeassistant/components/itach/remote.py + homeassistant/components/rest/binary_sensor.py + homeassistant/components/rest/notify.py + homeassistant/components/rest/switch.py homeassistant/components/rfxtrx/* + homeassistant/components/ring/camera.py + homeassistant/components/ripple/sensor.py + homeassistant/components/ritassist/device_tracker.py + homeassistant/components/rocketchat/notify.py homeassistant/components/roku/* + homeassistant/components/roomba/vacuum.py homeassistant/components/route53/* + homeassistant/components/rova/sensor.py + homeassistant/components/rpi_camera/camera.py homeassistant/components/rpi_gpio/* + homeassistant/components/rpi_gpio/cover.py + homeassistant/components/rpi_gpio_pwm/light.py homeassistant/components/rpi_pfio/* + homeassistant/components/rpi_rf/switch.py + homeassistant/components/rtorrent/sensor.py + homeassistant/components/russound_rio/media_player.py + homeassistant/components/russound_rnet/media_player.py + homeassistant/components/ruter/sensor.py homeassistant/components/sabnzbd/* homeassistant/components/satel_integra/* - homeassistant/components/hunterdouglas_powerview/scene.py - homeassistant/components/lifx_cloud/scene.py - homeassistant/components/scsgate/* - homeassistant/components/sense/* - homeassistant/components/aftership/sensor.py - homeassistant/components/airvisual/sensor.py - homeassistant/components/alpha_vantage/sensor.py - homeassistant/components/arest/sensor.py - homeassistant/components/arwn/sensor.py - homeassistant/components/bbox/sensor.py - homeassistant/components/bh1750/sensor.py - homeassistant/components/bitcoin/sensor.py - homeassistant/components/blockchain/sensor.py - homeassistant/components/bme280/sensor.py - homeassistant/components/bme680/sensor.py - homeassistant/components/bom/sensor.py - homeassistant/components/broadlink/sensor.py - homeassistant/components/brottsplatskartan/sensor.py - homeassistant/components/buienradar/sensor.py - homeassistant/components/cert_expiry/sensor.py - homeassistant/components/citybikes/sensor.py - homeassistant/components/coinbase/sensor.py - homeassistant/components/comed_hourly_pricing/sensor.py - homeassistant/components/cpuspeed/sensor.py - homeassistant/components/crimereports/sensor.py - homeassistant/components/cups/sensor.py - homeassistant/components/currencylayer/sensor.py - homeassistant/components/deluge/sensor.py - homeassistant/components/deutsche_bahn/sensor.py - homeassistant/components/dht/sensor.py - homeassistant/components/discogs/sensor.py - homeassistant/components/dnsip/sensor.py - homeassistant/components/domain_expiry/sensor.py - homeassistant/components/dte_energy_bridge/sensor.py - homeassistant/components/dublin_bus_transport/sensor.py - homeassistant/components/duke_energy/sensor.py - homeassistant/components/dwd_weather_warnings/sensor.py - homeassistant/components/ebox/sensor.py - homeassistant/components/eddystone_temperature/sensor.py - homeassistant/components/eliqonline/sensor.py - homeassistant/components/emoncms/sensor.py - homeassistant/components/enphase_envoy/sensor.py - homeassistant/components/envirophat/sensor.py - homeassistant/components/etherscan/sensor.py - homeassistant/components/fedex/sensor.py - homeassistant/components/filesize/sensor.py - homeassistant/components/fints/sensor.py - homeassistant/components/fitbit/sensor.py - homeassistant/components/fixer/sensor.py - homeassistant/components/flunearyou/sensor.py - homeassistant/components/folder/sensor.py - homeassistant/components/foobot/sensor.py - homeassistant/components/fritzbox_callmonitor/sensor.py - homeassistant/components/fritzbox_netmonitor/sensor.py - homeassistant/components/gearbest/sensor.py - homeassistant/components/geizhals/sensor.py - homeassistant/components/github/sensor.py - homeassistant/components/gitlab_ci/sensor.py - homeassistant/components/gitter/sensor.py - homeassistant/components/glances/sensor.py - homeassistant/components/google_travel_time/sensor.py - homeassistant/components/gpsd/sensor.py - homeassistant/components/greeneye_monitor/sensor.py - homeassistant/components/gtfs/sensor.py - homeassistant/components/gtt/sensor.py - homeassistant/components/haveibeenpwned/sensor.py - homeassistant/components/hp_ilo/sensor.py - homeassistant/components/htu21d/sensor.py - homeassistant/components/iliad_italy/sensor.py - homeassistant/components/imap_email_content/sensor.py - homeassistant/components/imap/sensor.py - homeassistant/components/influxdb/sensor.py - homeassistant/components/irish_rail_transport/sensor.py - homeassistant/components/kwb/sensor.py - homeassistant/components/lacrosse/sensor.py - homeassistant/components/lastfm/sensor.py - homeassistant/components/launch_library/sensor.py - homeassistant/components/linky/sensor.py - homeassistant/components/linux_battery/sensor.py - homeassistant/components/london_underground/sensor.py - homeassistant/components/loopenergy/sensor.py - homeassistant/components/lyft/sensor.py - homeassistant/components/magicseaweed/sensor.py - homeassistant/components/metoffice/sensor.py - homeassistant/components/miflora/sensor.py - homeassistant/components/mitemp_bt/sensor.py - homeassistant/components/modem_callerid/sensor.py - homeassistant/components/mopar/* - homeassistant/components/mqtt_room/sensor.py - homeassistant/components/mvglive/sensor.py - homeassistant/components/nederlandse_spoorwegen/sensor.py - homeassistant/components/netatmo_public/sensor.py - homeassistant/components/netdata_public/sensor.py - homeassistant/components/netdata/sensor.py - homeassistant/components/neurio_energy/sensor.py - homeassistant/components/nmbs/sensor.py - homeassistant/components/noaa_tides/sensor.py - homeassistant/components/nsw_fuel_station/sensor.py - homeassistant/components/nut/sensor.py - homeassistant/components/nzbget/sensor.py - homeassistant/components/ohmconnect/sensor.py - homeassistant/components/onewire/sensor.py - homeassistant/components/openevse/sensor.py - homeassistant/components/openexchangerates/sensor.py - homeassistant/components/opensky/sensor.py - homeassistant/components/openweathermap/sensor.py - homeassistant/components/otp/sensor.py - homeassistant/components/pi_hole/sensor.py - homeassistant/components/plex/sensor.py - homeassistant/components/pocketcasts/sensor.py - homeassistant/components/pollen/sensor.py - homeassistant/components/postnl/sensor.py - homeassistant/components/prezzibenzina/sensor.py - homeassistant/components/pushbullet/sensor.py - homeassistant/components/pvoutput/sensor.py - homeassistant/components/pyload/sensor.py - homeassistant/components/qbittorrent/sensor.py - homeassistant/components/qnap/sensor.py - homeassistant/components/radarr/sensor.py - homeassistant/components/rainbird/sensor.py - homeassistant/components/recollect_waste/sensor.py - homeassistant/components/rejseplanen/sensor.py - homeassistant/components/ripple/sensor.py - homeassistant/components/rova/sensor.py - homeassistant/components/rtorrent/sensor.py - homeassistant/components/ruter/sensor.py homeassistant/components/scrape/sensor.py + homeassistant/components/scsgate/* + homeassistant/components/scsgate/cover.py + homeassistant/components/sendgrid/notify.py + homeassistant/components/sense/* + homeassistant/components/sensehat/light.py homeassistant/components/sensehat/sensor.py - homeassistant/components/serial_pm/sensor.py + homeassistant/components/sensibo/climate.py homeassistant/components/serial/sensor.py + homeassistant/components/serial_pm/sensor.py + homeassistant/components/sesame/lock.py + homeassistant/components/seven_segments/image_processing.py homeassistant/components/seventeentrack/sensor.py + homeassistant/components/shiftr/* homeassistant/components/shodan/sensor.py homeassistant/components/sht31/sensor.py homeassistant/components/sigfox/sensor.py + homeassistant/components/simplepush/notify.py + homeassistant/components/simplisafe/__init__.py + homeassistant/components/simplisafe/alarm_control_panel.py homeassistant/components/simulated/sensor.py + homeassistant/components/sisyphus/* + homeassistant/components/sky_hub/device_tracker.py homeassistant/components/skybeacon/sensor.py + homeassistant/components/skybell/* + homeassistant/components/slack/notify.py homeassistant/components/sma/sensor.py + homeassistant/components/smappee/* + homeassistant/components/smtp/notify.py + homeassistant/components/snapcast/media_player.py + homeassistant/components/snmp/device_tracker.py homeassistant/components/snmp/sensor.py + homeassistant/components/snmp/switch.py homeassistant/components/sochain/sensor.py homeassistant/components/socialblade/sensor.py homeassistant/components/solaredge/sensor.py homeassistant/components/sonarr/sensor.py - homeassistant/components/spotcrime/sensor.py - homeassistant/components/srp_energy/sensor.py - homeassistant/components/starlingbank/sensor.py - homeassistant/components/steam_online/sensor.py - homeassistant/components/supervisord/sensor.py - homeassistant/components/swiss_hydrological_data/sensor.py - homeassistant/components/swiss_public_transport/sensor.py - homeassistant/components/syncthru/sensor.py - homeassistant/components/synologydsm/sensor.py - homeassistant/components/systemmonitor/sensor.py - homeassistant/components/sytadin/sensor.py - homeassistant/components/tank_utility/sensor.py - homeassistant/components/tautulli/sensor.py - homeassistant/components/ted5000/sensor.py - homeassistant/components/temper/sensor.py - homeassistant/components/thermoworks_smoke/sensor.py - homeassistant/components/time_date/sensor.py - homeassistant/components/torque/sensor.py - homeassistant/components/trafikverket_weatherstation/sensor.py - homeassistant/components/travisci/sensor.py - homeassistant/components/twitch/sensor.py - homeassistant/components/uber/sensor.py - homeassistant/components/ups/sensor.py - homeassistant/components/uscis/sensor.py - homeassistant/components/vasttrafik/sensor.py - homeassistant/components/viaggiatreno/sensor.py - homeassistant/components/volkszaehler/sensor.py - homeassistant/components/waqi/sensor.py - homeassistant/components/waze_travel_time/sensor.py - homeassistant/components/whois/sensor.py - homeassistant/components/worldtidesinfo/sensor.py - homeassistant/components/worxlandroid/sensor.py - homeassistant/components/xbox_live/sensor.py - homeassistant/components/zamg/sensor.py - homeassistant/components/zestimate/sensor.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/songpal/media_player.py homeassistant/components/sonos/* + homeassistant/components/sony_projector/switch.py homeassistant/components/spc/* homeassistant/components/speedtestdotnet/* homeassistant/components/spider/* - homeassistant/components/acer_projector/switch.py - homeassistant/components/anel_pwrctrl/switch.py - homeassistant/components/arest/switch.py - homeassistant/components/broadlink/switch.py - homeassistant/components/deluge/switch.py - homeassistant/components/digitalloggers/switch.py - homeassistant/components/dlink/switch.py - homeassistant/components/edimax/switch.py - homeassistant/components/fritzdect/switch.py - homeassistant/components/hikvisioncam/switch.py - homeassistant/components/hook/switch.py - homeassistant/components/kankun/switch.py - homeassistant/components/mystrom/switch.py - homeassistant/components/netio/switch.py - homeassistant/components/orvibo/switch.py - homeassistant/components/pencom/switch.py - homeassistant/components/pulseaudio_loopback/switch.py - homeassistant/components/rainbird/switch.py - homeassistant/components/recswitch/switch.py - homeassistant/components/rest/switch.py - homeassistant/components/rpi_rf/switch.py - homeassistant/components/snmp/switch.py - homeassistant/components/sony_projector/switch.py + homeassistant/components/spotcrime/sensor.py + homeassistant/components/spotify/media_player.py + homeassistant/components/squeezebox/media_player.py + homeassistant/components/srp_energy/sensor.py + homeassistant/components/starlingbank/sensor.py + homeassistant/components/steam_online/sensor.py + homeassistant/components/stride/notify.py + homeassistant/components/supervisord/sensor.py + homeassistant/components/swiss_hydrological_data/sensor.py + homeassistant/components/swiss_public_transport/sensor.py + homeassistant/components/swisscom/device_tracker.py homeassistant/components/switchbot/switch.py homeassistant/components/switchmate/switch.py - homeassistant/components/telnet/switch.py - homeassistant/components/tplink/switch.py - homeassistant/components/vesync/switch.py + homeassistant/components/syncthru/sensor.py + homeassistant/components/synology/camera.py + homeassistant/components/synology_chat/notify.py + homeassistant/components/synology_srm/device_tracker.py + homeassistant/components/synologydsm/sensor.py + homeassistant/components/syslog/notify.py + homeassistant/components/systemmonitor/sensor.py + homeassistant/components/sytadin/sensor.py homeassistant/components/tado/* + homeassistant/components/tado/device_tracker.py homeassistant/components/tahoma/* + homeassistant/components/tank_utility/sensor.py + homeassistant/components/tapsaff/binary_sensor.py + homeassistant/components/tautulli/sensor.py + homeassistant/components/ted5000/sensor.py + homeassistant/components/telegram/notify.py homeassistant/components/telegram_bot/* homeassistant/components/tellduslive/* homeassistant/components/tellstick/* + homeassistant/components/telnet/switch.py + homeassistant/components/telstra/notify.py + homeassistant/components/temper/sensor.py + homeassistant/components/tensorflow/image_processing.py homeassistant/components/tesla/* + homeassistant/components/tfiac/climate.py + homeassistant/components/thermoworks_smoke/sensor.py homeassistant/components/thethingsnetwork/* homeassistant/components/thingspeak/* homeassistant/components/thinkingcleaner/* + homeassistant/components/thomson/device_tracker.py homeassistant/components/tibber/* + homeassistant/components/tikteck/light.py + homeassistant/components/tile/device_tracker.py + homeassistant/components/time_date/sensor.py + homeassistant/components/todoist/calendar.py homeassistant/components/tof/sensor.py + homeassistant/components/tomato/device_tracker.py homeassistant/components/toon/* + homeassistant/components/torque/sensor.py + homeassistant/components/totalconnect/alarm_control_panel.py + homeassistant/components/touchline/climate.py + homeassistant/components/tplink/device_tracker.py + homeassistant/components/tplink/light.py + homeassistant/components/tplink/switch.py homeassistant/components/tplink_lte/* + homeassistant/components/traccar/device_tracker.py + homeassistant/components/trackr/device_tracker.py homeassistant/components/tradfri/* + homeassistant/components/tradfri/light.py + homeassistant/components/trafikverket_weatherstation/sensor.py homeassistant/components/transmission/* + homeassistant/components/travisci/sensor.py homeassistant/components/tts/amazon_polly.py homeassistant/components/tts/baidu.py homeassistant/components/tts/microsoft.py homeassistant/components/tts/picotts.py homeassistant/components/tuya/* + homeassistant/components/twilio_call/notify.py + homeassistant/components/twilio_sms/notify.py + homeassistant/components/twitch/sensor.py + homeassistant/components/twitter/notify.py + homeassistant/components/ubee/device_tracker.py + homeassistant/components/uber/sensor.py + homeassistant/components/ubus/device_tracker.py + homeassistant/components/ue_smart_radio/media_player.py homeassistant/components/upcloud/* homeassistant/components/upnp/* + homeassistant/components/ups/sensor.py + homeassistant/components/uptimerobot/binary_sensor.py + homeassistant/components/uscis/sensor.py homeassistant/components/usps/* - homeassistant/components/roomba/vacuum.py + homeassistant/components/vasttrafik/sensor.py homeassistant/components/velbus/* homeassistant/components/velux/* + homeassistant/components/venstar/climate.py homeassistant/components/vera/* homeassistant/components/verisure/* + homeassistant/components/vesync/switch.py + homeassistant/components/viaggiatreno/sensor.py + homeassistant/components/vizio/media_player.py + homeassistant/components/vlc/media_player.py + homeassistant/components/volkszaehler/sensor.py + homeassistant/components/volumio/media_player.py homeassistant/components/volvooncall/* homeassistant/components/w800rf32/* - homeassistant/components/econet/water_heater.py + homeassistant/components/waqi/sensor.py homeassistant/components/waterfurnace/* homeassistant/components/watson_iot/* - homeassistant/components/bom/weather.py - homeassistant/components/buienradar/weather.py - homeassistant/components/darksky/weather.py - homeassistant/components/met/weather.py - homeassistant/components/metoffice/weather.py - homeassistant/components/openweathermap/weather.py - homeassistant/components/zamg/weather.py + homeassistant/components/waze_travel_time/sensor.py homeassistant/components/webostv/* homeassistant/components/wemo/* + homeassistant/components/wemo/fan.py + homeassistant/components/whois/sensor.py homeassistant/components/wink/* homeassistant/components/wirelesstag/* + homeassistant/components/worldtidesinfo/sensor.py + homeassistant/components/worxlandroid/sensor.py + homeassistant/components/x10/light.py + homeassistant/components/xbox_live/sensor.py + homeassistant/components/xeoma/camera.py + homeassistant/components/xfinity/device_tracker.py + homeassistant/components/xiaomi/camera.py homeassistant/components/xiaomi_aqara/* homeassistant/components/xiaomi_miio/* + homeassistant/components/xiaomi_tv/media_player.py + homeassistant/components/xmpp/notify.py homeassistant/components/xs1/* + homeassistant/components/yale_smart_alarm/alarm_control_panel.py + homeassistant/components/yamaha/media_player.py + homeassistant/components/yamaha_musiccast/media_player.py + homeassistant/components/yeelight/light.py + homeassistant/components/yeelightsunflower/light.py + homeassistant/components/yi/camera.py homeassistant/components/zabbix/* + homeassistant/components/zamg/sensor.py + homeassistant/components/zamg/weather.py + homeassistant/components/zengge/light.py homeassistant/components/zeroconf/* + homeassistant/components/zestimate/sensor.py homeassistant/components/zha/__init__.py homeassistant/components/zha/api.py homeassistant/components/zha/const.py @@ -689,7 +684,9 @@ omit = homeassistant/components/zha/entity.py homeassistant/components/zha/light.py homeassistant/components/zha/sensor.py + homeassistant/components/zhong_hong/climate.py homeassistant/components/zigbee/* + homeassistant/components/ziggo_mediabox_xl/media_player.py homeassistant/components/zoneminder/* homeassistant/components/zwave/util.py diff --git a/homeassistant/components/apns/__init__.py b/homeassistant/components/apns/__init__.py new file mode 100644 index 00000000000..9332b0d1ede --- /dev/null +++ b/homeassistant/components/apns/__init__.py @@ -0,0 +1 @@ +"""The apns component.""" diff --git a/homeassistant/components/notify/apns.py b/homeassistant/components/apns/notify.py similarity index 99% rename from homeassistant/components/notify/apns.py rename to homeassistant/components/apns/notify.py index 3f5403f0c13..b2c6b63864f 100644 --- a/homeassistant/components/notify/apns.py +++ b/homeassistant/components/apns/notify.py @@ -15,7 +15,7 @@ from homeassistant.helpers import template as template_helper import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import track_state_change -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, DOMAIN, PLATFORM_SCHEMA, BaseNotificationService) REQUIREMENTS = ['apns2==0.3.0'] diff --git a/homeassistant/components/aws_lambda/__init__.py b/homeassistant/components/aws_lambda/__init__.py new file mode 100644 index 00000000000..f6d86d02e93 --- /dev/null +++ b/homeassistant/components/aws_lambda/__init__.py @@ -0,0 +1 @@ +"""The aws_lambda component.""" diff --git a/homeassistant/components/notify/aws_lambda.py b/homeassistant/components/aws_lambda/notify.py similarity index 95% rename from homeassistant/components/notify/aws_lambda.py rename to homeassistant/components/aws_lambda/notify.py index 8f639a653c3..d7ebb40d19a 100644 --- a/homeassistant/components/notify/aws_lambda.py +++ b/homeassistant/components/aws_lambda/notify.py @@ -14,7 +14,8 @@ from homeassistant.const import CONF_NAME, CONF_PLATFORM import homeassistant.helpers.config_validation as cv from homeassistant.helpers.json import JSONEncoder -from . import ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['boto3==1.9.16'] diff --git a/homeassistant/components/aws_sns/__init__.py b/homeassistant/components/aws_sns/__init__.py new file mode 100644 index 00000000000..b51698ce0dc --- /dev/null +++ b/homeassistant/components/aws_sns/__init__.py @@ -0,0 +1 @@ +"""The aws_sns component.""" diff --git a/homeassistant/components/notify/aws_sns.py b/homeassistant/components/aws_sns/notify.py similarity index 98% rename from homeassistant/components/notify/aws_sns.py rename to homeassistant/components/aws_sns/notify.py index 7fa0e25b32a..09018562cb8 100644 --- a/homeassistant/components/notify/aws_sns.py +++ b/homeassistant/components/aws_sns/notify.py @@ -12,7 +12,7 @@ import voluptuous as vol from homeassistant.const import CONF_NAME, CONF_PLATFORM import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/aws_sqs/__init__.py b/homeassistant/components/aws_sqs/__init__.py new file mode 100644 index 00000000000..79b29a76009 --- /dev/null +++ b/homeassistant/components/aws_sqs/__init__.py @@ -0,0 +1 @@ +"""The aws_sqs component.""" diff --git a/homeassistant/components/notify/aws_sqs.py b/homeassistant/components/aws_sqs/notify.py similarity index 94% rename from homeassistant/components/notify/aws_sqs.py rename to homeassistant/components/aws_sqs/notify.py index 92782429939..eff9018bae9 100644 --- a/homeassistant/components/notify/aws_sqs.py +++ b/homeassistant/components/aws_sqs/notify.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.const import CONF_NAME, CONF_PLATFORM import homeassistant.helpers.config_validation as cv -from . import ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ["boto3==1.9.16"] diff --git a/homeassistant/components/ciscospark/__init__.py b/homeassistant/components/ciscospark/__init__.py new file mode 100644 index 00000000000..f872a0257f7 --- /dev/null +++ b/homeassistant/components/ciscospark/__init__.py @@ -0,0 +1 @@ +"""The ciscospark component.""" diff --git a/homeassistant/components/notify/ciscospark.py b/homeassistant/components/ciscospark/notify.py similarity index 92% rename from homeassistant/components/notify/ciscospark.py rename to homeassistant/components/ciscospark/notify.py index a33e9432e92..1eeb9b51f28 100644 --- a/homeassistant/components/notify/ciscospark.py +++ b/homeassistant/components/ciscospark/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.const import CONF_TOKEN import homeassistant.helpers.config_validation as cv -from . import ATTR_TITLE, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TITLE, PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['ciscosparkapi==0.4.2'] diff --git a/homeassistant/components/clickatell/__init__.py b/homeassistant/components/clickatell/__init__.py new file mode 100644 index 00000000000..6c39bc749ad --- /dev/null +++ b/homeassistant/components/clickatell/__init__.py @@ -0,0 +1 @@ +"""The clickatell component.""" diff --git a/homeassistant/components/notify/clickatell.py b/homeassistant/components/clickatell/notify.py similarity index 92% rename from homeassistant/components/notify/clickatell.py rename to homeassistant/components/clickatell/notify.py index 559232e2555..e473e54a3b7 100644 --- a/homeassistant/components/notify/clickatell.py +++ b/homeassistant/components/clickatell/notify.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY, CONF_RECIPIENT import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/clicksend/__init__.py b/homeassistant/components/clicksend/__init__.py new file mode 100644 index 00000000000..3037224b9a1 --- /dev/null +++ b/homeassistant/components/clicksend/__init__.py @@ -0,0 +1 @@ +"""The clicksend component.""" diff --git a/homeassistant/components/notify/clicksend.py b/homeassistant/components/clicksend/notify.py similarity index 95% rename from homeassistant/components/notify/clicksend.py rename to homeassistant/components/clicksend/notify.py index 6f10ac70734..3b2cdb7496d 100644 --- a/homeassistant/components/notify/clicksend.py +++ b/homeassistant/components/clicksend/notify.py @@ -16,7 +16,8 @@ from homeassistant.const import ( CONTENT_TYPE_JSON) import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/clicksend_tts/__init__.py b/homeassistant/components/clicksend_tts/__init__.py new file mode 100644 index 00000000000..53b59309701 --- /dev/null +++ b/homeassistant/components/clicksend_tts/__init__.py @@ -0,0 +1 @@ +"""The clicksend_tts component.""" diff --git a/homeassistant/components/notify/clicksend_tts.py b/homeassistant/components/clicksend_tts/notify.py similarity index 96% rename from homeassistant/components/notify/clicksend_tts.py rename to homeassistant/components/clicksend_tts/notify.py index 2a7730c4a27..93e5126bbab 100644 --- a/homeassistant/components/notify/clicksend_tts.py +++ b/homeassistant/components/clicksend_tts/notify.py @@ -17,7 +17,8 @@ from homeassistant.const import ( CONF_API_KEY, CONF_RECIPIENT, CONF_USERNAME, CONTENT_TYPE_JSON) import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/notify/command_line.py b/homeassistant/components/command_line/notify.py similarity index 91% rename from homeassistant/components/notify/command_line.py rename to homeassistant/components/command_line/notify.py index 6a81dace288..7ea5a6d8880 100644 --- a/homeassistant/components/notify/command_line.py +++ b/homeassistant/components/command_line/notify.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.const import CONF_COMMAND, CONF_NAME import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/notify/demo.py b/homeassistant/components/demo/notify.py similarity index 92% rename from homeassistant/components/notify/demo.py rename to homeassistant/components/demo/notify.py index 9cb61609017..5b8e1f1688f 100644 --- a/homeassistant/components/notify/demo.py +++ b/homeassistant/components/demo/notify.py @@ -4,7 +4,7 @@ Demo notification service. For more details about this platform, please refer to the documentation https://home-assistant.io/components/demo/ """ -from . import BaseNotificationService +from homeassistant.components.notify import BaseNotificationService EVENT_NOTIFY = "notify" diff --git a/homeassistant/components/discord/__init__.py b/homeassistant/components/discord/__init__.py new file mode 100644 index 00000000000..a3cd87bc895 --- /dev/null +++ b/homeassistant/components/discord/__init__.py @@ -0,0 +1 @@ +"""The discord component.""" diff --git a/homeassistant/components/notify/discord.py b/homeassistant/components/discord/notify.py similarity index 91% rename from homeassistant/components/notify/discord.py rename to homeassistant/components/discord/notify.py index f98c136b3f9..d73382d8bcf 100644 --- a/homeassistant/components/notify/discord.py +++ b/homeassistant/components/discord/notify.py @@ -11,7 +11,9 @@ import voluptuous as vol from homeassistant.const import CONF_TOKEN import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, ATTR_TARGET, + PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/facebook/__init__.py b/homeassistant/components/facebook/__init__.py new file mode 100644 index 00000000000..1619b8a91f1 --- /dev/null +++ b/homeassistant/components/facebook/__init__.py @@ -0,0 +1 @@ +"""The facebook component.""" diff --git a/homeassistant/components/notify/facebook.py b/homeassistant/components/facebook/notify.py similarity index 95% rename from homeassistant/components/notify/facebook.py rename to homeassistant/components/facebook/notify.py index b642a7b932b..2c691661a29 100644 --- a/homeassistant/components/notify/facebook.py +++ b/homeassistant/components/facebook/notify.py @@ -14,7 +14,9 @@ import voluptuous as vol from homeassistant.const import CONTENT_TYPE_JSON import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, ATTR_TARGET, + PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/notify/file.py b/homeassistant/components/file/notify.py similarity index 97% rename from homeassistant/components/notify/file.py rename to homeassistant/components/file/notify.py index 98f6da66e3d..d449476469b 100644 --- a/homeassistant/components/notify/file.py +++ b/homeassistant/components/file/notify.py @@ -13,7 +13,7 @@ from homeassistant.const import CONF_FILENAME import homeassistant.helpers.config_validation as cv import homeassistant.util.dt as dt_util -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) CONF_TIMESTAMP = 'timestamp' diff --git a/homeassistant/components/flock/__init__.py b/homeassistant/components/flock/__init__.py new file mode 100644 index 00000000000..1b58d21cff8 --- /dev/null +++ b/homeassistant/components/flock/__init__.py @@ -0,0 +1 @@ +"""The flock component.""" diff --git a/homeassistant/components/notify/flock.py b/homeassistant/components/flock/notify.py similarity index 93% rename from homeassistant/components/notify/flock.py rename to homeassistant/components/flock/notify.py index 16f38bbbb63..b37483d2f13 100644 --- a/homeassistant/components/notify/flock.py +++ b/homeassistant/components/flock/notify.py @@ -14,7 +14,8 @@ from homeassistant.const import CONF_ACCESS_TOKEN from homeassistant.helpers.aiohttp_client import async_get_clientsession import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) _RESOURCE = 'https://api.flock.com/hooks/sendMessage/' diff --git a/homeassistant/components/free_mobile/__init__.py b/homeassistant/components/free_mobile/__init__.py new file mode 100644 index 00000000000..002a1475fde --- /dev/null +++ b/homeassistant/components/free_mobile/__init__.py @@ -0,0 +1 @@ +"""The free_mobile component.""" diff --git a/homeassistant/components/notify/free_mobile.py b/homeassistant/components/free_mobile/notify.py similarity index 92% rename from homeassistant/components/notify/free_mobile.py rename to homeassistant/components/free_mobile/notify.py index fb7829105fc..1c6804f6d82 100644 --- a/homeassistant/components/notify/free_mobile.py +++ b/homeassistant/components/free_mobile/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.const import CONF_ACCESS_TOKEN, CONF_USERNAME import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['freesms==0.1.2'] diff --git a/homeassistant/components/gntp/__init__.py b/homeassistant/components/gntp/__init__.py new file mode 100644 index 00000000000..c2814f86f06 --- /dev/null +++ b/homeassistant/components/gntp/__init__.py @@ -0,0 +1 @@ +"""The gntp component.""" diff --git a/homeassistant/components/notify/gntp.py b/homeassistant/components/gntp/notify.py similarity index 98% rename from homeassistant/components/notify/gntp.py rename to homeassistant/components/gntp/notify.py index 4560eb21f31..915d33668b4 100644 --- a/homeassistant/components/notify/gntp.py +++ b/homeassistant/components/gntp/notify.py @@ -12,7 +12,7 @@ import voluptuous as vol from homeassistant.const import CONF_PASSWORD, CONF_PORT import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) REQUIREMENTS = ['gntp==1.0.3'] diff --git a/homeassistant/components/notify/group.py b/homeassistant/components/group/notify.py similarity index 97% rename from homeassistant/components/notify/group.py rename to homeassistant/components/group/notify.py index 85d4d53e3be..200464bb8cb 100644 --- a/homeassistant/components/notify/group.py +++ b/homeassistant/components/group/notify.py @@ -14,7 +14,7 @@ import voluptuous as vol from homeassistant.const import ATTR_SERVICE import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_MESSAGE, DOMAIN, PLATFORM_SCHEMA, BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/hipchat/__init__.py b/homeassistant/components/hipchat/__init__.py new file mode 100644 index 00000000000..8b79982fa43 --- /dev/null +++ b/homeassistant/components/hipchat/__init__.py @@ -0,0 +1 @@ +"""The hipchat component.""" diff --git a/homeassistant/components/notify/hipchat.py b/homeassistant/components/hipchat/notify.py similarity index 94% rename from homeassistant/components/notify/hipchat.py rename to homeassistant/components/hipchat/notify.py index 8ce7b8b120e..9e415171f29 100644 --- a/homeassistant/components/notify/hipchat.py +++ b/homeassistant/components/hipchat/notify.py @@ -11,7 +11,9 @@ import voluptuous as vol from homeassistant.const import CONF_HOST, CONF_ROOM, CONF_TOKEN import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, ATTR_TARGET, + PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['hipnotify==1.0.8'] diff --git a/homeassistant/components/html5/__init__.py b/homeassistant/components/html5/__init__.py new file mode 100644 index 00000000000..88e437ef566 --- /dev/null +++ b/homeassistant/components/html5/__init__.py @@ -0,0 +1 @@ +"""The html5 component.""" diff --git a/homeassistant/components/notify/html5.py b/homeassistant/components/html5/notify.py similarity index 99% rename from homeassistant/components/notify/html5.py rename to homeassistant/components/html5/notify.py index 0e99727e81b..8744d0afb28 100644 --- a/homeassistant/components/notify/html5.py +++ b/homeassistant/components/html5/notify.py @@ -25,7 +25,7 @@ from homeassistant.helpers import config_validation as cv from homeassistant.util import ensure_unique_string from homeassistant.util.json import load_json, save_json -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, DOMAIN, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/notify/kodi.py b/homeassistant/components/kodi/notify.py similarity index 98% rename from homeassistant/components/notify/kodi.py rename to homeassistant/components/kodi/notify.py index 2dd33bf8990..7c2a60f3498 100644 --- a/homeassistant/components/notify/kodi.py +++ b/homeassistant/components/kodi/notify.py @@ -15,7 +15,7 @@ from homeassistant.const import ( from homeassistant.helpers.aiohttp_client import async_get_clientsession import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/lannouncer/__init__.py b/homeassistant/components/lannouncer/__init__.py new file mode 100644 index 00000000000..479e9893f84 --- /dev/null +++ b/homeassistant/components/lannouncer/__init__.py @@ -0,0 +1 @@ +"""The lannouncer component.""" diff --git a/homeassistant/components/notify/lannouncer.py b/homeassistant/components/lannouncer/notify.py similarity index 94% rename from homeassistant/components/notify/lannouncer.py rename to homeassistant/components/lannouncer/notify.py index 5c975e8422f..3b2e72b398c 100644 --- a/homeassistant/components/notify/lannouncer.py +++ b/homeassistant/components/lannouncer/notify.py @@ -13,7 +13,8 @@ import voluptuous as vol from homeassistant.const import CONF_HOST, CONF_PORT import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, PLATFORM_SCHEMA, + BaseNotificationService) ATTR_METHOD = 'method' ATTR_METHOD_DEFAULT = 'speak' diff --git a/homeassistant/components/llamalab_automate/__init__.py b/homeassistant/components/llamalab_automate/__init__.py new file mode 100644 index 00000000000..f60abfb93c9 --- /dev/null +++ b/homeassistant/components/llamalab_automate/__init__.py @@ -0,0 +1 @@ +"""The llamalab_automate component.""" diff --git a/homeassistant/components/notify/llamalab_automate.py b/homeassistant/components/llamalab_automate/notify.py similarity index 93% rename from homeassistant/components/notify/llamalab_automate.py rename to homeassistant/components/llamalab_automate/notify.py index d3689dbbd81..6b59d11e0a3 100644 --- a/homeassistant/components/notify/llamalab_automate.py +++ b/homeassistant/components/llamalab_automate/notify.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY, CONF_DEVICE from homeassistant.helpers import config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) _RESOURCE = 'https://llamalab.com/automate/cloud/message' diff --git a/homeassistant/components/mastodon/__init__.py b/homeassistant/components/mastodon/__init__.py new file mode 100644 index 00000000000..123d23afb80 --- /dev/null +++ b/homeassistant/components/mastodon/__init__.py @@ -0,0 +1 @@ +"""The mastodon component.""" diff --git a/homeassistant/components/notify/mastodon.py b/homeassistant/components/mastodon/notify.py similarity index 93% rename from homeassistant/components/notify/mastodon.py rename to homeassistant/components/mastodon/notify.py index 59c787bc026..6192f6cdca5 100644 --- a/homeassistant/components/notify/mastodon.py +++ b/homeassistant/components/mastodon/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.const import CONF_ACCESS_TOKEN import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['Mastodon.py==1.3.1'] diff --git a/homeassistant/components/message_bird/__init__.py b/homeassistant/components/message_bird/__init__.py new file mode 100644 index 00000000000..ed3828c5eda --- /dev/null +++ b/homeassistant/components/message_bird/__init__.py @@ -0,0 +1 @@ +"""The message_bird component.""" diff --git a/homeassistant/components/notify/message_bird.py b/homeassistant/components/message_bird/notify.py similarity index 93% rename from homeassistant/components/notify/message_bird.py rename to homeassistant/components/message_bird/notify.py index c45d153d813..cfb22ff1d52 100644 --- a/homeassistant/components/notify/message_bird.py +++ b/homeassistant/components/message_bird/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY, CONF_SENDER import homeassistant.helpers.config_validation as cv -from . import ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['messagebird==1.2.0'] diff --git a/homeassistant/components/notify/mycroft.py b/homeassistant/components/mycroft/notify.py similarity index 93% rename from homeassistant/components/notify/mycroft.py rename to homeassistant/components/mycroft/notify.py index e9cd44d5d06..a8a401a9c1f 100644 --- a/homeassistant/components/notify/mycroft.py +++ b/homeassistant/components/mycroft/notify.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/notify.mycroft/ """ import logging -from . import BaseNotificationService +from homeassistant.components.notify import BaseNotificationService DEPENDENCIES = ['mycroft'] diff --git a/homeassistant/components/nfandroidtv/__init__.py b/homeassistant/components/nfandroidtv/__init__.py new file mode 100644 index 00000000000..9965265e00d --- /dev/null +++ b/homeassistant/components/nfandroidtv/__init__.py @@ -0,0 +1 @@ +"""The nfandroidtv component.""" diff --git a/homeassistant/components/notify/nfandroidtv.py b/homeassistant/components/nfandroidtv/notify.py similarity index 99% rename from homeassistant/components/notify/nfandroidtv.py rename to homeassistant/components/nfandroidtv/notify.py index 4d39083387c..c4003a6312a 100644 --- a/homeassistant/components/notify/nfandroidtv.py +++ b/homeassistant/components/nfandroidtv/notify.py @@ -15,7 +15,7 @@ import voluptuous as vol from homeassistant.const import CONF_TIMEOUT, CONF_HOST import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/prowl/__init__.py b/homeassistant/components/prowl/__init__.py new file mode 100644 index 00000000000..1cf58a25120 --- /dev/null +++ b/homeassistant/components/prowl/__init__.py @@ -0,0 +1 @@ +"""The prowl component.""" diff --git a/homeassistant/components/notify/prowl.py b/homeassistant/components/prowl/notify.py similarity index 98% rename from homeassistant/components/notify/prowl.py rename to homeassistant/components/prowl/notify.py index 27ce8d0fb7a..6d911789121 100644 --- a/homeassistant/components/notify/prowl.py +++ b/homeassistant/components/prowl/notify.py @@ -14,7 +14,7 @@ from homeassistant.const import CONF_API_KEY from homeassistant.helpers.aiohttp_client import async_get_clientsession import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/notify/pushbullet.py b/homeassistant/components/pushbullet/notify.py similarity index 99% rename from homeassistant/components/notify/pushbullet.py rename to homeassistant/components/pushbullet/notify.py index 505d6f4e1c1..f0b4ec24da8 100644 --- a/homeassistant/components/notify/pushbullet.py +++ b/homeassistant/components/pushbullet/notify.py @@ -12,7 +12,7 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/pushetta/__init__.py b/homeassistant/components/pushetta/__init__.py new file mode 100644 index 00000000000..f992fecddb7 --- /dev/null +++ b/homeassistant/components/pushetta/__init__.py @@ -0,0 +1 @@ +"""The pushetta component.""" diff --git a/homeassistant/components/notify/pushetta.py b/homeassistant/components/pushetta/notify.py similarity index 98% rename from homeassistant/components/notify/pushetta.py rename to homeassistant/components/pushetta/notify.py index 5db67177548..106c0641a69 100644 --- a/homeassistant/components/notify/pushetta.py +++ b/homeassistant/components/pushetta/notify.py @@ -11,7 +11,7 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/pushover/__init__.py b/homeassistant/components/pushover/__init__.py new file mode 100644 index 00000000000..921d37ed332 --- /dev/null +++ b/homeassistant/components/pushover/__init__.py @@ -0,0 +1 @@ +"""The pushover component.""" diff --git a/homeassistant/components/notify/pushover.py b/homeassistant/components/pushover/notify.py similarity index 97% rename from homeassistant/components/notify/pushover.py rename to homeassistant/components/pushover/notify.py index 372ea361f13..78e9ed11c95 100644 --- a/homeassistant/components/notify/pushover.py +++ b/homeassistant/components/pushover/notify.py @@ -11,7 +11,7 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/pushsafer/__init__.py b/homeassistant/components/pushsafer/__init__.py new file mode 100644 index 00000000000..81dfc7e15fd --- /dev/null +++ b/homeassistant/components/pushsafer/__init__.py @@ -0,0 +1 @@ +"""The pushsafer component.""" diff --git a/homeassistant/components/notify/pushsafer.py b/homeassistant/components/pushsafer/notify.py similarity index 99% rename from homeassistant/components/notify/pushsafer.py rename to homeassistant/components/pushsafer/notify.py index 9a3308ff21e..a1fa2b7409c 100644 --- a/homeassistant/components/notify/pushsafer.py +++ b/homeassistant/components/pushsafer/notify.py @@ -14,7 +14,7 @@ import voluptuous as vol import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/notify/rest.py b/homeassistant/components/rest/notify.py similarity index 99% rename from homeassistant/components/notify/rest.py rename to homeassistant/components/rest/notify.py index eec2ea4aa37..de75db83848 100644 --- a/homeassistant/components/notify/rest.py +++ b/homeassistant/components/rest/notify.py @@ -15,7 +15,7 @@ from homeassistant.const import ( HTTP_DIGEST_AUTHENTICATION) import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TARGET, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/rocketchat/__init__.py b/homeassistant/components/rocketchat/__init__.py new file mode 100644 index 00000000000..1d2c281f661 --- /dev/null +++ b/homeassistant/components/rocketchat/__init__.py @@ -0,0 +1 @@ +"""The rocketchat component.""" diff --git a/homeassistant/components/notify/rocketchat.py b/homeassistant/components/rocketchat/notify.py similarity index 94% rename from homeassistant/components/notify/rocketchat.py rename to homeassistant/components/rocketchat/notify.py index 116c32993d8..8bf1e172264 100644 --- a/homeassistant/components/notify/rocketchat.py +++ b/homeassistant/components/rocketchat/notify.py @@ -12,7 +12,8 @@ from homeassistant.const import ( CONF_PASSWORD, CONF_ROOM, CONF_URL, CONF_USERNAME) import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['rocketchat-API==0.6.1'] diff --git a/homeassistant/components/sendgrid/__init__.py b/homeassistant/components/sendgrid/__init__.py new file mode 100644 index 00000000000..91fff97c150 --- /dev/null +++ b/homeassistant/components/sendgrid/__init__.py @@ -0,0 +1 @@ +"""The sendgrid component.""" diff --git a/homeassistant/components/notify/sendgrid.py b/homeassistant/components/sendgrid/notify.py similarity index 98% rename from homeassistant/components/notify/sendgrid.py rename to homeassistant/components/sendgrid/notify.py index 6bab566bfc7..211e288725e 100644 --- a/homeassistant/components/notify/sendgrid.py +++ b/homeassistant/components/sendgrid/notify.py @@ -12,7 +12,7 @@ from homeassistant.const import ( CONF_API_KEY, CONF_RECIPIENT, CONF_SENDER, CONTENT_TYPE_TEXT_PLAIN) import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) REQUIREMENTS = ['sendgrid==5.6.0'] diff --git a/homeassistant/components/simplepush/__init__.py b/homeassistant/components/simplepush/__init__.py new file mode 100644 index 00000000000..8253cfad8b4 --- /dev/null +++ b/homeassistant/components/simplepush/__init__.py @@ -0,0 +1 @@ +"""The simplepush component.""" diff --git a/homeassistant/components/notify/simplepush.py b/homeassistant/components/simplepush/notify.py similarity index 97% rename from homeassistant/components/notify/simplepush.py rename to homeassistant/components/simplepush/notify.py index 1d198b5adec..63222d4adc1 100644 --- a/homeassistant/components/notify/simplepush.py +++ b/homeassistant/components/simplepush/notify.py @@ -11,7 +11,7 @@ import voluptuous as vol from homeassistant.const import CONF_PASSWORD import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) REQUIREMENTS = ['simplepush==1.1.4'] diff --git a/homeassistant/components/slack/__init__.py b/homeassistant/components/slack/__init__.py new file mode 100644 index 00000000000..a999c2375ff --- /dev/null +++ b/homeassistant/components/slack/__init__.py @@ -0,0 +1 @@ +"""The slack component.""" diff --git a/homeassistant/components/notify/slack.py b/homeassistant/components/slack/notify.py similarity index 99% rename from homeassistant/components/notify/slack.py rename to homeassistant/components/slack/notify.py index 7aee58ed012..eabddf01299 100644 --- a/homeassistant/components/notify/slack.py +++ b/homeassistant/components/slack/notify.py @@ -13,7 +13,7 @@ import voluptuous as vol from homeassistant.const import CONF_API_KEY, CONF_ICON, CONF_USERNAME import homeassistant.helpers.config_validation as cv -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TARGET, ATTR_TITLE, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/smtp/__init__.py b/homeassistant/components/smtp/__init__.py new file mode 100644 index 00000000000..5e7fb41c212 --- /dev/null +++ b/homeassistant/components/smtp/__init__.py @@ -0,0 +1 @@ +"""The smtp component.""" diff --git a/homeassistant/components/notify/smtp.py b/homeassistant/components/smtp/notify.py similarity index 99% rename from homeassistant/components/notify/smtp.py rename to homeassistant/components/smtp/notify.py index 995aae76cc6..4104013bcf7 100644 --- a/homeassistant/components/notify/smtp.py +++ b/homeassistant/components/smtp/notify.py @@ -21,7 +21,7 @@ from homeassistant.const import ( import homeassistant.helpers.config_validation as cv import homeassistant.util.dt as dt_util -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/stride/__init__.py b/homeassistant/components/stride/__init__.py new file mode 100644 index 00000000000..461a3ee744f --- /dev/null +++ b/homeassistant/components/stride/__init__.py @@ -0,0 +1 @@ +"""The stride component.""" diff --git a/homeassistant/components/notify/stride.py b/homeassistant/components/stride/notify.py similarity index 93% rename from homeassistant/components/notify/stride.py rename to homeassistant/components/stride/notify.py index f5f5b52ab67..9d05bd17f34 100644 --- a/homeassistant/components/notify/stride.py +++ b/homeassistant/components/stride/notify.py @@ -11,7 +11,9 @@ import voluptuous as vol from homeassistant.const import CONF_ROOM, CONF_TOKEN import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, ATTR_TARGET, + PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['pystride==0.1.7'] diff --git a/homeassistant/components/synology_chat/__init__.py b/homeassistant/components/synology_chat/__init__.py new file mode 100644 index 00000000000..836eff6ee48 --- /dev/null +++ b/homeassistant/components/synology_chat/__init__.py @@ -0,0 +1 @@ +"""The synology_chat component.""" diff --git a/homeassistant/components/notify/synology_chat.py b/homeassistant/components/synology_chat/notify.py similarity index 92% rename from homeassistant/components/notify/synology_chat.py rename to homeassistant/components/synology_chat/notify.py index 023586ae532..32277dc1971 100644 --- a/homeassistant/components/notify/synology_chat.py +++ b/homeassistant/components/synology_chat/notify.py @@ -13,7 +13,8 @@ import voluptuous as vol from homeassistant.const import CONF_RESOURCE, CONF_VERIFY_SSL import homeassistant.helpers.config_validation as cv -from . import ATTR_DATA, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, PLATFORM_SCHEMA, + BaseNotificationService) ATTR_FILE_URL = 'file_url' diff --git a/homeassistant/components/syslog/__init__.py b/homeassistant/components/syslog/__init__.py new file mode 100644 index 00000000000..c46e56e76ff --- /dev/null +++ b/homeassistant/components/syslog/__init__.py @@ -0,0 +1 @@ +"""The syslog component.""" diff --git a/homeassistant/components/notify/syslog.py b/homeassistant/components/syslog/notify.py similarity index 98% rename from homeassistant/components/notify/syslog.py rename to homeassistant/components/syslog/notify.py index 4f7900b8d45..740148e28e5 100644 --- a/homeassistant/components/notify/syslog.py +++ b/homeassistant/components/syslog/notify.py @@ -8,7 +8,7 @@ import logging import voluptuous as vol -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/telegram/__init__.py b/homeassistant/components/telegram/__init__.py new file mode 100644 index 00000000000..1aca4e510c6 --- /dev/null +++ b/homeassistant/components/telegram/__init__.py @@ -0,0 +1 @@ +"""The telegram component.""" diff --git a/homeassistant/components/notify/telegram.py b/homeassistant/components/telegram/notify.py similarity index 98% rename from homeassistant/components/notify/telegram.py rename to homeassistant/components/telegram/notify.py index a6975f60fae..428c7e093d2 100644 --- a/homeassistant/components/notify/telegram.py +++ b/homeassistant/components/telegram/notify.py @@ -10,7 +10,7 @@ import voluptuous as vol from homeassistant.const import ATTR_LOCATION -from . import ( +from homeassistant.components.notify import ( ATTR_DATA, ATTR_MESSAGE, ATTR_TARGET, ATTR_TITLE, PLATFORM_SCHEMA, BaseNotificationService) diff --git a/homeassistant/components/twilio_call/__init__.py b/homeassistant/components/twilio_call/__init__.py new file mode 100644 index 00000000000..87b225b713a --- /dev/null +++ b/homeassistant/components/twilio_call/__init__.py @@ -0,0 +1 @@ +"""The twilio_call component.""" diff --git a/homeassistant/components/notify/twilio_call.py b/homeassistant/components/twilio_call/notify.py similarity index 92% rename from homeassistant/components/notify/twilio_call.py rename to homeassistant/components/twilio_call/notify.py index 4826ab77612..a1a28a03b18 100644 --- a/homeassistant/components/notify/twilio_call.py +++ b/homeassistant/components/twilio_call/notify.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.components.twilio import DATA_TWILIO import homeassistant.helpers.config_validation as cv -from . import ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/twilio_sms/__init__.py b/homeassistant/components/twilio_sms/__init__.py new file mode 100644 index 00000000000..3bf3898ac3f --- /dev/null +++ b/homeassistant/components/twilio_sms/__init__.py @@ -0,0 +1 @@ +"""The twilio_sms component.""" diff --git a/homeassistant/components/notify/twilio_sms.py b/homeassistant/components/twilio_sms/notify.py similarity index 91% rename from homeassistant/components/notify/twilio_sms.py rename to homeassistant/components/twilio_sms/notify.py index 165e743977d..b3b35ea1789 100644 --- a/homeassistant/components/notify/twilio_sms.py +++ b/homeassistant/components/twilio_sms/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.components.twilio import DATA_TWILIO import homeassistant.helpers.config_validation as cv -from . import ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) _LOGGER = logging.getLogger(__name__) DEPENDENCIES = ["twilio"] diff --git a/homeassistant/components/twitter/__init__.py b/homeassistant/components/twitter/__init__.py new file mode 100644 index 00000000000..1ecba66a44e --- /dev/null +++ b/homeassistant/components/twitter/__init__.py @@ -0,0 +1 @@ +"""The twitter component.""" diff --git a/homeassistant/components/notify/twitter.py b/homeassistant/components/twitter/notify.py similarity index 98% rename from homeassistant/components/notify/twitter.py rename to homeassistant/components/twitter/notify.py index 43d977d26a6..9172da36785 100644 --- a/homeassistant/components/notify/twitter.py +++ b/homeassistant/components/twitter/notify.py @@ -17,7 +17,8 @@ from homeassistant.const import CONF_ACCESS_TOKEN, CONF_USERNAME import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import async_track_point_in_time -from . import ATTR_DATA, PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (ATTR_DATA, PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['TwitterAPI==2.5.9'] diff --git a/homeassistant/components/xmpp/__init__.py b/homeassistant/components/xmpp/__init__.py new file mode 100644 index 00000000000..40736a4fd36 --- /dev/null +++ b/homeassistant/components/xmpp/__init__.py @@ -0,0 +1 @@ +"""The xmpp component.""" diff --git a/homeassistant/components/notify/xmpp.py b/homeassistant/components/xmpp/notify.py similarity index 99% rename from homeassistant/components/notify/xmpp.py rename to homeassistant/components/xmpp/notify.py index 3827674316b..5a14046bd41 100644 --- a/homeassistant/components/notify/xmpp.py +++ b/homeassistant/components/xmpp/notify.py @@ -19,7 +19,7 @@ from homeassistant.const import ( import homeassistant.helpers.config_validation as cv import homeassistant.helpers.template as template_helper -from . import ( +from homeassistant.components.notify import ( ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, BaseNotificationService) REQUIREMENTS = ['slixmpp==1.4.2'] diff --git a/homeassistant/components/yessssms/__init__.py b/homeassistant/components/yessssms/__init__.py new file mode 100644 index 00000000000..bc5f422ba75 --- /dev/null +++ b/homeassistant/components/yessssms/__init__.py @@ -0,0 +1 @@ +"""The yessssms component.""" diff --git a/homeassistant/components/notify/yessssms.py b/homeassistant/components/yessssms/notify.py similarity index 95% rename from homeassistant/components/notify/yessssms.py rename to homeassistant/components/yessssms/notify.py index 19efa2a53d8..529aa4e7b6e 100644 --- a/homeassistant/components/notify/yessssms.py +++ b/homeassistant/components/yessssms/notify.py @@ -11,7 +11,8 @@ import voluptuous as vol from homeassistant.const import CONF_PASSWORD, CONF_RECIPIENT, CONF_USERNAME import homeassistant.helpers.config_validation as cv -from . import PLATFORM_SCHEMA, BaseNotificationService +from homeassistant.components.notify import (PLATFORM_SCHEMA, + BaseNotificationService) REQUIREMENTS = ['YesssSMS==0.2.3'] diff --git a/requirements_all.txt b/requirements_all.txt index 664e725db61..4f666d6e215 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -35,7 +35,7 @@ Adafruit-SHT31==1.0.2 # homeassistant.components.homekit HAP-python==2.4.2 -# homeassistant.components.notify.mastodon +# homeassistant.components.mastodon.notify Mastodon.py==1.3.1 # homeassistant.components.github.sensor @@ -78,7 +78,7 @@ RtmAPI==0.7.0 # homeassistant.components.travisci.sensor TravisPy==0.3.5 -# homeassistant.components.notify.twitter +# homeassistant.components.twitter.notify TwitterAPI==2.5.9 # homeassistant.components.tof.sensor @@ -87,7 +87,7 @@ TwitterAPI==2.5.9 # homeassistant.components.waze_travel_time.sensor WazeRouteCalculator==0.9 -# homeassistant.components.notify.yessssms +# homeassistant.components.yessssms.notify YesssSMS==0.2.3 # homeassistant.components.abode @@ -169,7 +169,7 @@ anthemav==1.1.10 # homeassistant.components.apcupsd apcaccess==0.0.13 -# homeassistant.components.notify.apns +# homeassistant.components.apns.notify apns2==0.3.0 # homeassistant.components.aqualogic @@ -230,9 +230,9 @@ blockchain==1.4.4 # bme680==1.0.5 # homeassistant.components.route53 -# homeassistant.components.notify.aws_lambda -# homeassistant.components.notify.aws_sns -# homeassistant.components.notify.aws_sqs +# homeassistant.components.aws_lambda.notify +# homeassistant.components.aws_sns.notify +# homeassistant.components.aws_sqs.notify boto3==1.9.16 # homeassistant.scripts.credstash @@ -270,7 +270,7 @@ caldav==0.5.0 # homeassistant.components.cisco_mobility_express.device_tracker ciscomobilityexpress==0.1.5 -# homeassistant.components.notify.ciscospark +# homeassistant.components.ciscospark.notify ciscosparkapi==0.4.2 # homeassistant.components.cppm_tracker.device_tracker @@ -341,7 +341,7 @@ directpy==0.5 # homeassistant.components.discogs.sensor discogs_client==2.2.1 -# homeassistant.components.notify.discord +# homeassistant.components.discord.notify discord.py==0.16.12 # homeassistant.components.updater @@ -443,7 +443,7 @@ flux_led==0.22 # homeassistant.components.foobot.sensor foobot_async==0.3.1 -# homeassistant.components.notify.free_mobile +# homeassistant.components.free_mobile.notify freesms==0.1.2 # homeassistant.components.fritz.device_tracker @@ -477,7 +477,7 @@ gitterpy==0.1.7 # homeassistant.components.glances.sensor glances_api==0.2.0 -# homeassistant.components.notify.gntp +# homeassistant.components.gntp.notify gntp==1.0.3 # homeassistant.components.google @@ -531,7 +531,7 @@ heatmiserV3==0.9.1 # homeassistant.components.hikvisioncam.switch hikvision==0.4 -# homeassistant.components.notify.hipchat +# homeassistant.components.hipchat.notify hipnotify==1.0.8 # homeassistant.components.harman_kardon_avr.media_player @@ -602,7 +602,7 @@ ipify==1.0.0 jsonpath==0.75 # homeassistant.components.kodi.media_player -# homeassistant.components.notify.kodi +# homeassistant.components.kodi.notify jsonrpc-async==0.6 # homeassistant.components.kodi.media_player @@ -690,7 +690,7 @@ maxcube-api==0.1.0 # homeassistant.components.mythicbeastsdns mbddns==0.1.2 -# homeassistant.components.notify.message_bird +# homeassistant.components.message_bird.notify messagebird==1.2.0 # homeassistant.components.meteo_france @@ -876,11 +876,11 @@ psutil==5.6.1 # homeassistant.components.wink pubnubsub-handler==1.0.3 -# homeassistant.components.notify.pushbullet +# homeassistant.components.pushbullet.notify # homeassistant.components.pushbullet.sensor pushbullet.py==0.11.0 -# homeassistant.components.notify.pushetta +# homeassistant.components.pushetta.notify pushetta==1.0.15 # homeassistant.components.rpi_gpio_pwm.light @@ -1283,7 +1283,7 @@ pysonos==0.0.8 # homeassistant.components.spc pyspcwebgw==0.4.0 -# homeassistant.components.notify.stride +# homeassistant.components.stride.notify pystride==0.1.7 # homeassistant.components.syncthru.sensor @@ -1338,7 +1338,7 @@ python-hpilo==3.9 # homeassistant.components.joaoapps_join # homeassistant.components.joaoapps_join.notify -python-join-api==0.0.2 +python-join-api==0.0.4 # homeassistant.components.juicenet python-juicenet==0.0.5 @@ -1368,7 +1368,7 @@ python-nest==4.1.0 # homeassistant.components.nmap_tracker.device_tracker python-nmap==0.6.1 -# homeassistant.components.notify.pushover +# homeassistant.components.pushover.notify python-pushover==0.3 # homeassistant.components.qbittorrent.sensor @@ -1461,7 +1461,7 @@ pyvizio==0.0.4 # homeassistant.components.velux pyvlx==0.2.10 -# homeassistant.components.notify.html5 +# homeassistant.components.html5.notify pywebpush==1.6.0 # homeassistant.components.wemo @@ -1521,7 +1521,7 @@ ritassist==0.9.2 # homeassistant.components.rejseplanen.sensor rjpl==0.3.5 -# homeassistant.components.notify.rocketchat +# homeassistant.components.rocketchat.notify rocketchat-API==0.6.1 # homeassistant.components.roomba.vacuum @@ -1554,7 +1554,7 @@ schiene==0.23 # homeassistant.components.scsgate scsgate==0.1.0 -# homeassistant.components.notify.sendgrid +# homeassistant.components.sendgrid.notify sendgrid==5.6.0 # homeassistant.components.sensehat.light @@ -1570,7 +1570,7 @@ sharp_aquos_rc==0.3.2 # homeassistant.components.shodan.sensor shodan==1.11.1 -# homeassistant.components.notify.simplepush +# homeassistant.components.simplepush.notify simplepush==1.1.4 # homeassistant.components.simplisafe @@ -1582,13 +1582,13 @@ sisyphus-control==2.1 # homeassistant.components.skybell skybellpy==0.3.0 -# homeassistant.components.notify.slack +# homeassistant.components.slack.notify slacker==0.12.0 # homeassistant.components.sleepiq sleepyq==0.6 -# homeassistant.components.notify.xmpp +# homeassistant.components.xmpp.notify slixmpp==1.4.2 # homeassistant.components.smappee diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 7721c236d99..3cca2d4bf5e 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -31,7 +31,7 @@ PyRMVtransport==0.1.3 # homeassistant.components.transport_nsw.sensor PyTransportNSW==0.1.1 -# homeassistant.components.notify.yessssms +# homeassistant.components.yessssms.notify YesssSMS==0.2.3 # homeassistant.components.ambient_station @@ -53,7 +53,7 @@ aiohue==1.9.1 # homeassistant.components.unifi aiounifi==4 -# homeassistant.components.notify.apns +# homeassistant.components.apns.notify apns2==0.3.0 # homeassistant.components.stream @@ -186,7 +186,7 @@ pmsensor==0.4 # homeassistant.components.prometheus prometheus_client==0.2.0 -# homeassistant.components.notify.pushbullet +# homeassistant.components.pushbullet.notify # homeassistant.components.pushbullet.sensor pushbullet.py==0.11.0 @@ -260,7 +260,7 @@ pytradfri[async]==6.0.1 # homeassistant.components.unifi.device_tracker pyunifi==2.16 -# homeassistant.components.notify.html5 +# homeassistant.components.html5.notify pywebpush==1.6.0 # homeassistant.components.rainmachine diff --git a/tests/components/apns/__init__.py b/tests/components/apns/__init__.py new file mode 100644 index 00000000000..42c980a62a7 --- /dev/null +++ b/tests/components/apns/__init__.py @@ -0,0 +1 @@ +"""Tests for the apns component.""" diff --git a/tests/components/notify/test_apns.py b/tests/components/apns/test_notify.py similarity index 92% rename from tests/components/notify/test_apns.py rename to tests/components/apns/test_notify.py index 9964a58cd24..7303f4872e3 100644 --- a/tests/components/notify/test_apns.py +++ b/tests/components/apns/test_notify.py @@ -8,7 +8,7 @@ import yaml import homeassistant.components.notify as notify from homeassistant.setup import setup_component -from homeassistant.components.notify import apns +import homeassistant.components.apns.notify as apns from homeassistant.core import State from tests.common import assert_setup_component, get_test_home_assistant @@ -23,7 +23,7 @@ CONFIG = { } -@patch('homeassistant.components.notify.apns.open', mock_open(), create=True) +@patch('homeassistant.components.apns.notify.open', mock_open(), create=True) class TestApns(unittest.TestCase): """Test the APNS component.""" @@ -102,7 +102,7 @@ class TestApns(unittest.TestCase): assert setup_component(self.hass, notify.DOMAIN, config) assert not handle_config[notify.DOMAIN] - @patch('homeassistant.components.notify.apns._write_device') + @patch('homeassistant.components.apns.notify._write_device') def test_register_new_device(self, mock_write): """Test registering a new device with a name.""" yaml_file = {5678: {'name': 'test device 2'}} @@ -116,7 +116,7 @@ class TestApns(unittest.TestCase): mock_write.side_effect = fake_write with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -128,7 +128,7 @@ class TestApns(unittest.TestCase): assert len(written_devices) == 1 assert written_devices[0].name == 'test device' - @patch('homeassistant.components.notify.apns._write_device') + @patch('homeassistant.components.apns.notify._write_device') def test_register_device_without_name(self, mock_write): """Test registering a without a name.""" yaml_file = { @@ -151,7 +151,7 @@ class TestApns(unittest.TestCase): mock_write.side_effect = fake_write with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -166,7 +166,7 @@ class TestApns(unittest.TestCase): assert test_device is not None assert test_device.name is None - @patch('homeassistant.components.notify.apns._write_device') + @patch('homeassistant.components.apns.notify._write_device') def test_update_existing_device(self, mock_write): """Test updating an existing device.""" yaml_file = { @@ -187,7 +187,7 @@ class TestApns(unittest.TestCase): mock_write.side_effect = fake_write with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -206,7 +206,7 @@ class TestApns(unittest.TestCase): assert 'updated device 1' == test_device_1.name - @patch('homeassistant.components.notify.apns._write_device') + @patch('homeassistant.components.apns.notify._write_device') def test_update_existing_device_with_tracking_id(self, mock_write): """Test updating an existing device that has a tracking id.""" yaml_file = { @@ -229,7 +229,7 @@ class TestApns(unittest.TestCase): mock_write.side_effect = fake_write with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -259,7 +259,7 @@ class TestApns(unittest.TestCase): yaml_file = {1234: {'name': 'test device 1'}} with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -294,7 +294,7 @@ class TestApns(unittest.TestCase): }} with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() @@ -325,7 +325,7 @@ class TestApns(unittest.TestCase): } with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)), \ patch('os.path.isfile', Mock(return_value=True)): notify_service = apns.ApnsNotificationService( @@ -353,7 +353,7 @@ class TestApns(unittest.TestCase): assert 'Hello' == payload.alert @patch('apns2.client.APNsClient') - @patch('homeassistant.components.notify.apns._write_device') + @patch('homeassistant.components.apns.notify._write_device') def test_disable_when_unregistered(self, mock_write, mock_client): """Test disabling a device when it is unregistered.""" send = mock_client.return_value.send_notification @@ -379,7 +379,7 @@ class TestApns(unittest.TestCase): mock_write.side_effect = fake_write with patch( - 'homeassistant.components.notify.apns.load_yaml_config_file', + 'homeassistant.components.apns.notify.load_yaml_config_file', Mock(return_value=yaml_file)): self._setup_notify() diff --git a/tests/components/notify/test_command_line.py b/tests/components/command_line/test_notify.py similarity index 97% rename from tests/components/notify/test_command_line.py rename to tests/components/command_line/test_notify.py index 66aa451d389..522519f2cce 100644 --- a/tests/components/notify/test_command_line.py +++ b/tests/components/command_line/test_notify.py @@ -65,7 +65,7 @@ class TestCommandLine(unittest.TestCase): # the echo command adds a line break assert fil.read() == "{}\n".format(message) - @patch('homeassistant.components.notify.command_line._LOGGER.error') + @patch('homeassistant.components.command_line.notify._LOGGER.error') def test_error_for_none_zero_exit_code(self, mock_error): """Test if an error is logged for non zero exit codes.""" with assert_setup_component(1) as handle_config: diff --git a/tests/components/notify/test_demo.py b/tests/components/demo/test_notify.py similarity index 97% rename from tests/components/notify/test_demo.py rename to tests/components/demo/test_notify.py index 4c3f3bf3f73..35cf8abe6bd 100644 --- a/tests/components/notify/test_demo.py +++ b/tests/components/demo/test_notify.py @@ -7,7 +7,7 @@ import voluptuous as vol import homeassistant.components.notify as notify from homeassistant.setup import setup_component -from homeassistant.components.notify import demo +import homeassistant.components.demo.notify as demo from homeassistant.core import callback from homeassistant.helpers import discovery, script @@ -50,7 +50,7 @@ class TestNotifyDemo(unittest.TestCase): """Test setup.""" self._setup_notify() - @patch('homeassistant.components.notify.demo.get_service', autospec=True) + @patch('homeassistant.components.demo.notify.get_service', autospec=True) def test_no_notify_service(self, mock_demo_get_service): """Test missing platform notify service instance.""" mock_demo_get_service.return_value = None @@ -63,7 +63,7 @@ class TestNotifyDemo(unittest.TestCase): ['ERROR:homeassistant.components.notify:' 'Failed to initialize notification service demo'] - @patch('homeassistant.components.notify.demo.get_service', autospec=True) + @patch('homeassistant.components.demo.notify.get_service', autospec=True) def test_discover_notify(self, mock_demo_get_service): """Test discovery of notify demo platform.""" assert notify.DOMAIN not in self.hass.config.components diff --git a/tests/components/facebook/__init__.py b/tests/components/facebook/__init__.py new file mode 100644 index 00000000000..5f52b1f7614 --- /dev/null +++ b/tests/components/facebook/__init__.py @@ -0,0 +1 @@ +"""Tests for the facebook component.""" diff --git a/tests/components/notify/test_facebook.py b/tests/components/facebook/test_notify.py similarity index 97% rename from tests/components/notify/test_facebook.py rename to tests/components/facebook/test_notify.py index a74395d5a5e..ae4698c562f 100644 --- a/tests/components/notify/test_facebook.py +++ b/tests/components/facebook/test_notify.py @@ -2,7 +2,8 @@ import unittest import requests_mock -import homeassistant.components.notify.facebook as facebook +# import homeassistant.components.facebook as facebook +import homeassistant.components.facebook.notify as facebook class TestFacebook(unittest.TestCase): diff --git a/tests/components/notify/test_file.py b/tests/components/file/test_notify.py similarity index 96% rename from tests/components/notify/test_file.py rename to tests/components/file/test_notify.py index e67ed532604..b6ed6e26aa1 100644 --- a/tests/components/notify/test_file.py +++ b/tests/components/file/test_notify.py @@ -52,9 +52,9 @@ class TestNotifyFile(unittest.TestCase): m_open = mock_open() with patch( - 'homeassistant.components.notify.file.open', + 'homeassistant.components.file.notify.open', m_open, create=True - ), patch('homeassistant.components.notify.file.os.stat') as mock_st, \ + ), patch('homeassistant.components.file.notify.os.stat') as mock_st, \ patch('homeassistant.util.dt.utcnow', return_value=dt_util.utcnow()): diff --git a/tests/components/notify/test_group.py b/tests/components/group/test_notify.py similarity index 96% rename from tests/components/notify/test_group.py rename to tests/components/group/test_notify.py index bbd7c11ffeb..9412e9f95a4 100644 --- a/tests/components/notify/test_group.py +++ b/tests/components/group/test_notify.py @@ -4,7 +4,8 @@ from unittest.mock import MagicMock, patch from homeassistant.setup import setup_component import homeassistant.components.notify as notify -from homeassistant.components.notify import group, demo +import homeassistant.components.group.notify as group +import homeassistant.components.demo.notify as demo from homeassistant.util.async_ import run_coroutine_threadsafe from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/homematic/__init__.py b/tests/components/homematic/__init__.py new file mode 100644 index 00000000000..9a021f82a7f --- /dev/null +++ b/tests/components/homematic/__init__.py @@ -0,0 +1 @@ +"""Tests for the homematic component.""" diff --git a/tests/components/notify/test_homematic.py b/tests/components/homematic/test_notify.py similarity index 100% rename from tests/components/notify/test_homematic.py rename to tests/components/homematic/test_notify.py diff --git a/tests/components/html5/__init__.py b/tests/components/html5/__init__.py new file mode 100644 index 00000000000..48106286f2e --- /dev/null +++ b/tests/components/html5/__init__.py @@ -0,0 +1 @@ +"""Tests for the html5 component.""" diff --git a/tests/components/notify/test_html5.py b/tests/components/html5/test_notify.py similarity index 94% rename from tests/components/notify/test_html5.py rename to tests/components/html5/test_notify.py index e33c297b166..140544bf9ea 100644 --- a/tests/components/notify/test_html5.py +++ b/tests/components/html5/test_notify.py @@ -5,7 +5,7 @@ from aiohttp.hdrs import AUTHORIZATION from homeassistant.setup import async_setup_component from homeassistant.exceptions import HomeAssistantError -from homeassistant.components.notify import html5 +import homeassistant.components.html5.notify as html5 CONFIG_FILE = 'file.conf' @@ -54,7 +54,7 @@ async def mock_client(hass, hass_client, registrations=None): if registrations is None: registrations = {} - with patch('homeassistant.components.notify.html5._load_config', + with patch('homeassistant.components.html5.notify._load_config', return_value=registrations): await async_setup_component(hass, 'notify', { 'notify': { @@ -189,7 +189,7 @@ async def test_registering_new_device_view(hass, hass_client): """Test that the HTML view works.""" client = await mock_client(hass, hass_client) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_1)) assert resp.status == 200 @@ -206,7 +206,7 @@ async def test_registering_new_device_view_with_name(hass, hass_client): SUB_WITH_NAME = SUBSCRIPTION_1.copy() SUB_WITH_NAME['name'] = 'test device' - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: resp = await client.post(REGISTER_URL, data=json.dumps(SUB_WITH_NAME)) assert resp.status == 200 @@ -220,7 +220,7 @@ async def test_registering_new_device_expiration_view(hass, hass_client): """Test that the HTML view works.""" client = await mock_client(hass, hass_client) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_4)) assert resp.status == 200 @@ -234,7 +234,7 @@ async def test_registering_new_device_fails_view(hass, hass_client): registrations = {} client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json', + with patch('homeassistant.components.html5.notify.save_json', side_effect=HomeAssistantError()): resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_4)) @@ -247,7 +247,7 @@ async def test_registering_existing_device_view(hass, hass_client): registrations = {} client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_1)) resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_4)) @@ -268,7 +268,7 @@ async def test_registering_existing_device_view_with_name(hass, hass_client): SUB_WITH_NAME = SUBSCRIPTION_1.copy() SUB_WITH_NAME['name'] = 'test device' - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: await client.post(REGISTER_URL, data=json.dumps(SUB_WITH_NAME)) resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_4)) @@ -286,7 +286,7 @@ async def test_registering_existing_device_fails_view(hass, hass_client): registrations = {} client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_1)) mock_save.side_effect = HomeAssistantError resp = await client.post(REGISTER_URL, data=json.dumps(SUBSCRIPTION_4)) @@ -312,7 +312,7 @@ async def test_registering_new_device_validation(hass, hass_client): })) assert resp.status == 400 - with patch('homeassistant.components.notify.html5.save_json', + with patch('homeassistant.components.html5.notify.save_json', return_value=False): resp = await client.post(REGISTER_URL, data=json.dumps({ 'browser': 'chrome', @@ -329,7 +329,7 @@ async def test_unregistering_device_view(hass, hass_client): } client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: resp = await client.delete(REGISTER_URL, data=json.dumps({ 'subscription': SUBSCRIPTION_1['subscription'], })) @@ -347,7 +347,7 @@ async def test_unregister_device_view_handle_unknown_subscription( registrations = {} client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json') as mock_save: + with patch('homeassistant.components.html5.notify.save_json') as mock_save: resp = await client.delete(REGISTER_URL, data=json.dumps({ 'subscription': SUBSCRIPTION_3['subscription'] })) @@ -366,7 +366,7 @@ async def test_unregistering_device_view_handles_save_error( } client = await mock_client(hass, hass_client, registrations) - with patch('homeassistant.components.notify.html5.save_json', + with patch('homeassistant.components.html5.notify.save_json', side_effect=HomeAssistantError()): resp = await client.delete(REGISTER_URL, data=json.dumps({ 'subscription': SUBSCRIPTION_1['subscription'], diff --git a/tests/components/pushbullet/__init__.py b/tests/components/pushbullet/__init__.py new file mode 100644 index 00000000000..c7f7911950c --- /dev/null +++ b/tests/components/pushbullet/__init__.py @@ -0,0 +1 @@ +"""Tests for the pushbullet component.""" diff --git a/tests/components/notify/test_pushbullet.py b/tests/components/pushbullet/test_notify.py similarity index 100% rename from tests/components/notify/test_pushbullet.py rename to tests/components/pushbullet/test_notify.py diff --git a/tests/components/smtp/__init__.py b/tests/components/smtp/__init__.py new file mode 100644 index 00000000000..a99f7991ff9 --- /dev/null +++ b/tests/components/smtp/__init__.py @@ -0,0 +1 @@ +"""Tests for the smtp component.""" diff --git a/tests/components/notify/test_smtp.py b/tests/components/smtp/test_notify.py similarity index 96% rename from tests/components/notify/test_smtp.py rename to tests/components/smtp/test_notify.py index fa6c5003288..e946efe61e6 100644 --- a/tests/components/notify/test_smtp.py +++ b/tests/components/smtp/test_notify.py @@ -2,13 +2,13 @@ import unittest from unittest.mock import patch -from homeassistant.components.notify import smtp +from homeassistant.components.smtp.notify import MailNotificationService from tests.common import get_test_home_assistant import re -class MockSMTP(smtp.MailNotificationService): +class MockSMTP(MailNotificationService): """Test SMTP object that doesn't need a working server.""" def _send_email(self, msg): diff --git a/tests/components/yessssms/__init__.py b/tests/components/yessssms/__init__.py new file mode 100644 index 00000000000..bf8e562009b --- /dev/null +++ b/tests/components/yessssms/__init__.py @@ -0,0 +1 @@ +"""Tests for the yessssms component.""" diff --git a/tests/components/notify/test_yessssms.py b/tests/components/yessssms/test_notify.py similarity index 90% rename from tests/components/notify/test_yessssms.py rename to tests/components/yessssms/test_notify.py index 42dd7be1aca..837fee43f05 100644 --- a/tests/components/notify/test_yessssms.py +++ b/tests/components/yessssms/test_notify.py @@ -1,7 +1,7 @@ """The tests for the notify yessssms platform.""" import unittest import requests_mock -from homeassistant.components.notify import yessssms +import homeassistant.components.yessssms.notify as yessssms class TestNotifyYesssSMS(unittest.TestCase): @@ -28,7 +28,7 @@ class TestNotifyYesssSMS(unittest.TestCase): message = "Testing YesssSMS platform :)" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR'): self.yessssms.send_message(message) self.assertTrue(mock.called) @@ -37,7 +37,7 @@ class TestNotifyYesssSMS(unittest.TestCase): def test_empty_message_error(self): """Test for an empty SMS message error.""" message = "" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR'): self.yessssms.send_message(message) @@ -54,7 +54,7 @@ class TestNotifyYesssSMS(unittest.TestCase): message = "Testing YesssSMS platform :)" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR'): self.yessssms.send_message(message) self.assertTrue(mock.called) @@ -71,7 +71,7 @@ class TestNotifyYesssSMS(unittest.TestCase): message = "Testing YesssSMS platform :)" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR'): self.yessssms.send_message(message) self.assertTrue(mock.called) @@ -83,7 +83,7 @@ class TestNotifyYesssSMS(unittest.TestCase): # pylint: disable=protected-access self.yessssms.yesss._suspended = True - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR') as context: self.yessssms.send_message(message) self.assertIn("Account is suspended, cannot send SMS.", @@ -124,7 +124,7 @@ class TestNotifyYesssSMS(unittest.TestCase): status_code=200, ) - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='INFO') as context: self.yessssms.send_message(message) self.assertIn("SMS sent", context.output[0]) @@ -143,7 +143,7 @@ class TestNotifyYesssSMS(unittest.TestCase): # pylint: disable=protected-access self.yessssms._recipient = "" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR') as context: self.yessssms.send_message(message) @@ -179,7 +179,7 @@ class TestNotifyYesssSMS(unittest.TestCase): message = "Testing YesssSMS platform :)" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR') as context: self.yessssms.send_message(message) @@ -199,7 +199,7 @@ class TestNotifyYesssSMS(unittest.TestCase): message = "Testing YesssSMS platform :)" - with self.assertLogs("homeassistant.components.notify", + with self.assertLogs("homeassistant.components.yessssms.notify", level='ERROR') as context: self.yessssms.send_message(message)