about summary refs log tree commit diff
path: root/pkgs/servers/home-assistant/component-packages.nix
diff options
context:
space:
mode:
authorRobert Schütz <robert.schuetz@stud.uni-heidelberg.de>2019-03-04 17:23:55 +0100
committerRobert Schütz <robert.schuetz@stud.uni-heidelberg.de>2019-03-08 13:00:06 +0100
commit4594640a972fbbc6be2127b6401abfcab7602f88 (patch)
tree4bd95677853d8c8f685def06f26ecd977e44e37e /pkgs/servers/home-assistant/component-packages.nix
parentdc39d02e00266e026dad259bc7362986d65b30f7 (diff)
downloadnixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar.gz
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar.bz2
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar.lz
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar.xz
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.tar.zst
nixlib-4594640a972fbbc6be2127b6401abfcab7602f88.zip
home-assistant: 0.87.1 -> 0.89.1
Diffstat (limited to 'pkgs/servers/home-assistant/component-packages.nix')
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix916
1 files changed, 493 insertions, 423 deletions
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 082f7ed4e69b..553500084304 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,41 +2,44 @@
 # Do not edit!
 
 {
-  version = "0.87.1";
+  version = "0.89.1";
   components = {
     "abode" = ps: with ps; [  ];
+    "abode.alarm_control_panel" = ps: with ps; [  ];
+    "abode.binary_sensor" = ps: with ps; [  ];
+    "abode.camera" = ps: with ps; [  ];
+    "abode.cover" = ps: with ps; [  ];
+    "abode.light" = ps: with ps; [  ];
+    "abode.lock" = ps: with ps; [  ];
+    "abode.sensor" = ps: with ps; [  ];
+    "abode.switch" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
+    "ads.binary_sensor" = ps: with ps; [  ];
+    "ads.light" = ps: with ps; [  ];
+    "ads.sensor" = ps: with ps; [  ];
+    "ads.switch" = ps: with ps; [  ];
     "air_quality" = ps: with ps; [  ];
     "air_quality.demo" = ps: with ps; [  ];
     "air_quality.nilu" = ps: with ps; [  ];
+    "air_quality.norway_air" = ps: with ps; [  ];
     "air_quality.opensensemap" = ps: with ps; [  ];
     "alarm_control_panel" = ps: with ps; [  ];
-    "alarm_control_panel.abode" = ps: with ps; [  ];
-    "alarm_control_panel.alarmdecoder" = ps: with ps; [  ];
     "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
-    "alarm_control_panel.arlo" = ps: with ps; [  ];
-    "alarm_control_panel.blink" = ps: with ps; [  ];
     "alarm_control_panel.canary" = ps: with ps; [  ];
     "alarm_control_panel.concord232" = ps: with ps; [  ];
     "alarm_control_panel.demo" = ps: with ps; [  ];
-    "alarm_control_panel.egardia" = ps: with ps; [  ];
-    "alarm_control_panel.elkm1" = ps: with ps; [  ];
-    "alarm_control_panel.envisalink" = ps: with ps; [  ];
-    "alarm_control_panel.homematicip_cloud" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
-    "alarm_control_panel.ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
-    "alarm_control_panel.lupusec" = ps: with ps; [  ];
     "alarm_control_panel.manual" = ps: with ps; [  ];
     "alarm_control_panel.manual_mqtt" = ps: with ps; [ paho-mqtt ];
     "alarm_control_panel.ness_alarm" = ps: with ps; [  ];
     "alarm_control_panel.nx584" = ps: with ps; [  ];
-    "alarm_control_panel.satel_integra" = ps: with ps; [  ];
     "alarm_control_panel.spc" = ps: with ps; [  ];
     "alarm_control_panel.totalconnect" = ps: with ps; [  ];
-    "alarm_control_panel.verisure" = ps: with ps; [  ];
-    "alarm_control_panel.wink" = ps: with ps; [  ];
     "alarm_control_panel.yale_smart_alarm" = ps: with ps; [  ];
     "alarmdecoder" = ps: with ps; [  ];
+    "alarmdecoder.alarm_control_panel" = ps: with ps; [  ];
+    "alarmdecoder.binary_sensor" = ps: with ps; [  ];
+    "alarmdecoder.sensor" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
     "alexa.auth" = ps: with ps; [  ];
@@ -45,20 +48,42 @@
     "alexa.intent" = ps: with ps; [  ];
     "alexa.smart_home" = ps: with ps; [  ];
     "ambient_station" = ps: with ps; [  ];
+    "ambient_station.binary_sensor" = ps: with ps; [  ];
     "ambient_station.config_flow" = ps: with ps; [  ];
     "ambient_station.const" = ps: with ps; [  ];
     "ambient_station.sensor" = ps: with ps; [  ];
     "amcrest" = ps: with ps; [ ha-ffmpeg ];
+    "amcrest.camera" = ps: with ps; [ ha-ffmpeg ];
+    "amcrest.sensor" = ps: with ps; [ ha-ffmpeg ];
+    "amcrest.switch" = ps: with ps; [ ha-ffmpeg ];
     "android_ip_webcam" = ps: with ps; [  ];
+    "android_ip_webcam.binary_sensor" = ps: with ps; [  ];
+    "android_ip_webcam.sensor" = ps: with ps; [  ];
+    "android_ip_webcam.switch" = ps: with ps; [  ];
     "apcupsd" = ps: with ps; [  ];
+    "apcupsd.binary_sensor" = ps: with ps; [  ];
+    "apcupsd.sensor" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apple_tv" = ps: with ps; [ pyatv ];
+    "apple_tv.media_player" = ps: with ps; [ pyatv ];
+    "apple_tv.remote" = ps: with ps; [ pyatv ];
     "aqualogic" = ps: with ps; [  ];
+    "aqualogic.sensor" = ps: with ps; [  ];
+    "aqualogic.switch" = ps: with ps; [  ];
     "arduino" = ps: with ps; [  ];
+    "arduino.sensor" = ps: with ps; [  ];
+    "arduino.switch" = ps: with ps; [  ];
     "arlo" = ps: with ps; [  ];
+    "arlo.alarm_control_panel" = ps: with ps; [  ];
+    "arlo.camera" = ps: with ps; [ ha-ffmpeg ];
+    "arlo.sensor" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
+    "asterisk_mbox.mailbox" = ps: with ps; [  ];
     "asuswrt" = ps: with ps; [  ];
     "august" = ps: with ps; [  ];
+    "august.binary_sensor" = ps: with ps; [  ];
+    "august.camera" = ps: with ps; [  ];
+    "august.lock" = ps: with ps; [  ];
     "auth" = ps: with ps; [ aiohttp-cors ];
     "auth.indieauth" = ps: with ps; [  ];
     "auth.login_flow" = ps: with ps; [  ];
@@ -78,191 +103,105 @@
     "automation.webhook" = ps: with ps; [ aiohttp-cors ];
     "automation.zone" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
+    "axis.binary_sensor" = ps: with ps; [  ];
+    "axis.camera" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
+    "bbb_gpio.binary_sensor" = ps: with ps; [  ];
+    "bbb_gpio.switch" = ps: with ps; [  ];
     "binary_sensor" = ps: with ps; [  ];
-    "binary_sensor.abode" = ps: with ps; [  ];
-    "binary_sensor.ads" = ps: with ps; [  ];
-    "binary_sensor.alarmdecoder" = ps: with ps; [  ];
-    "binary_sensor.android_ip_webcam" = ps: with ps; [  ];
-    "binary_sensor.apcupsd" = ps: with ps; [  ];
     "binary_sensor.arest" = ps: with ps; [  ];
-    "binary_sensor.august" = ps: with ps; [  ];
     "binary_sensor.aurora" = ps: with ps; [  ];
-    "binary_sensor.axis" = ps: with ps; [  ];
     "binary_sensor.bayesian" = ps: with ps; [  ];
-    "binary_sensor.bbb_gpio" = ps: with ps; [  ];
-    "binary_sensor.blink" = ps: with ps; [  ];
-    "binary_sensor.bloomsky" = ps: with ps; [  ];
-    "binary_sensor.bmw_connected_drive" = ps: with ps; [  ];
     "binary_sensor.command_line" = ps: with ps; [  ];
     "binary_sensor.concord232" = ps: with ps; [  ];
     "binary_sensor.demo" = ps: with ps; [  ];
-    "binary_sensor.digital_ocean" = ps: with ps; [ digital-ocean ];
-    "binary_sensor.ecobee" = ps: with ps; [  ];
-    "binary_sensor.egardia" = ps: with ps; [  ];
-    "binary_sensor.eight_sleep" = ps: with ps; [  ];
-    "binary_sensor.enocean" = ps: with ps; [  ];
-    "binary_sensor.envisalink" = ps: with ps; [  ];
     "binary_sensor.ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
-    "binary_sensor.fibaro" = ps: with ps; [  ];
     "binary_sensor.flic" = ps: with ps; [  ];
-    "binary_sensor.fritzbox" = ps: with ps; [  ];
-    "binary_sensor.gc100" = ps: with ps; [  ];
     "binary_sensor.hikvision" = ps: with ps; [  ];
-    "binary_sensor.hive" = ps: with ps; [  ];
-    "binary_sensor.homematic" = ps: with ps; [ pyhomematic ];
-    "binary_sensor.homematicip_cloud" = ps: with ps; [  ];
-    "binary_sensor.hydrawise" = ps: with ps; [  ];
-    "binary_sensor.ihc" = ps: with ps; [ defusedxml ];
-    "binary_sensor.insteon" = ps: with ps; [  ];
     "binary_sensor.iss" = ps: with ps; [  ];
-    "binary_sensor.isy994" = ps: with ps; [  ];
-    "binary_sensor.knx" = ps: with ps; [  ];
-    "binary_sensor.konnected" = ps: with ps; [ aiohttp-cors ];
-    "binary_sensor.linode" = ps: with ps; [ linode-api ];
-    "binary_sensor.lupusec" = ps: with ps; [  ];
-    "binary_sensor.maxcube" = ps: with ps; [  ];
-    "binary_sensor.modbus" = ps: with ps; [  ];
-    "binary_sensor.mychevy" = ps: with ps; [  ];
-    "binary_sensor.mysensors" = ps: with ps; [  ];
     "binary_sensor.mystrom" = ps: with ps; [ aiohttp-cors ];
     "binary_sensor.ness_alarm" = ps: with ps; [  ];
-    "binary_sensor.nest" = ps: with ps; [  ];
-    "binary_sensor.netatmo" = ps: with ps; [  ];
     "binary_sensor.nx584" = ps: with ps; [  ];
-    "binary_sensor.octoprint" = ps: with ps; [  ];
-    "binary_sensor.opentherm_gw" = ps: with ps; [  ];
-    "binary_sensor.pilight" = ps: with ps; [  ];
     "binary_sensor.ping" = ps: with ps; [  ];
-    "binary_sensor.point" = ps: with ps; [  ];
-    "binary_sensor.qwikswitch" = ps: with ps; [  ];
-    "binary_sensor.rachio" = ps: with ps; [  ];
-    "binary_sensor.raincloud" = ps: with ps; [  ];
     "binary_sensor.random" = ps: with ps; [  ];
-    "binary_sensor.raspihats" = ps: with ps; [  ];
     "binary_sensor.rest" = ps: with ps; [  ];
     "binary_sensor.rflink" = ps: with ps; [  ];
-    "binary_sensor.rfxtrx" = ps: with ps; [  ];
     "binary_sensor.ring" = ps: with ps; [  ];
-    "binary_sensor.rpi_gpio" = ps: with ps; [  ];
-    "binary_sensor.rpi_pfio" = ps: with ps; [  ];
-    "binary_sensor.satel_integra" = ps: with ps; [  ];
-    "binary_sensor.sense" = ps: with ps; [  ];
-    "binary_sensor.skybell" = ps: with ps; [  ];
     "binary_sensor.sleepiq" = ps: with ps; [  ];
     "binary_sensor.spc" = ps: with ps; [  ];
-    "binary_sensor.tahoma" = ps: with ps; [  ];
     "binary_sensor.tapsaff" = ps: with ps; [  ];
     "binary_sensor.tcp" = ps: with ps; [  ];
-    "binary_sensor.tellduslive" = ps: with ps; [  ];
     "binary_sensor.template" = ps: with ps; [  ];
-    "binary_sensor.tesla" = ps: with ps; [  ];
     "binary_sensor.threshold" = ps: with ps; [  ];
+    "binary_sensor.tod" = ps: with ps; [  ];
     "binary_sensor.trend" = ps: with ps; [ numpy ];
-    "binary_sensor.upcloud" = ps: with ps; [  ];
     "binary_sensor.uptimerobot" = ps: with ps; [  ];
-    "binary_sensor.velbus" = ps: with ps; [  ];
-    "binary_sensor.vera" = ps: with ps; [  ];
-    "binary_sensor.verisure" = ps: with ps; [  ];
-    "binary_sensor.volvooncall" = ps: with ps; [  ];
     "binary_sensor.vultr" = ps: with ps; [ vultr ];
-    "binary_sensor.w800rf32" = ps: with ps; [  ];
-    "binary_sensor.wemo" = ps: with ps; [  ];
-    "binary_sensor.wink" = ps: with ps; [  ];
-    "binary_sensor.wirelesstag" = ps: with ps; [  ];
     "binary_sensor.workday" = ps: with ps; [  ];
-    "binary_sensor.xiaomi_aqara" = ps: with ps; [  ];
-    "binary_sensor.zigbee" = ps: with ps; [  ];
-    "binary_sensor.zwave" = ps: with ps; [  ];
     "blink" = ps: with ps; [  ];
+    "blink.alarm_control_panel" = ps: with ps; [  ];
+    "blink.binary_sensor" = ps: with ps; [  ];
+    "blink.camera" = ps: with ps; [  ];
+    "blink.sensor" = ps: with ps; [  ];
     "bloomsky" = ps: with ps; [  ];
+    "bloomsky.binary_sensor" = ps: with ps; [  ];
+    "bloomsky.camera" = ps: with ps; [  ];
+    "bloomsky.sensor" = ps: with ps; [  ];
     "bmw_connected_drive" = ps: with ps; [  ];
+    "bmw_connected_drive.binary_sensor" = ps: with ps; [  ];
+    "bmw_connected_drive.device_tracker" = ps: with ps; [  ];
+    "bmw_connected_drive.lock" = ps: with ps; [  ];
+    "bmw_connected_drive.sensor" = ps: with ps; [  ];
     "browser" = ps: with ps; [  ];
     "calendar" = ps: with ps; [ aiohttp-cors ];
     "calendar.caldav" = ps: with ps; [  ];
     "calendar.demo" = ps: with ps; [  ];
-    "calendar.google" = ps: with ps; [  ];
     "calendar.todoist" = ps: with ps; [ todoist ];
     "camera" = ps: with ps; [ aiohttp-cors ];
-    "camera.abode" = ps: with ps; [  ];
-    "camera.amcrest" = ps: with ps; [ ha-ffmpeg ];
-    "camera.arlo" = ps: with ps; [ ha-ffmpeg ];
-    "camera.august" = ps: with ps; [  ];
-    "camera.axis" = ps: with ps; [  ];
-    "camera.blink" = ps: with ps; [  ];
-    "camera.bloomsky" = ps: with ps; [  ];
     "camera.canary" = ps: with ps; [ ha-ffmpeg ];
     "camera.demo" = ps: with ps; [  ];
-    "camera.doorbird" = ps: with ps; [  ];
     "camera.familyhub" = ps: with ps; [  ];
     "camera.ffmpeg" = ps: with ps; [ ha-ffmpeg ];
     "camera.foscam" = ps: with ps; [  ];
     "camera.generic" = ps: with ps; [  ];
     "camera.local_file" = ps: with ps; [  ];
-    "camera.logi_circle" = ps: with ps; [  ];
     "camera.mjpeg" = ps: with ps; [  ];
-    "camera.neato" = ps: with ps; [ pybotvac ];
-    "camera.nest" = ps: with ps; [  ];
-    "camera.netatmo" = ps: with ps; [  ];
     "camera.onvif" = ps: with ps; [ ha-ffmpeg ];
     "camera.proxy" = ps: with ps; [ pillow ];
     "camera.push" = ps: with ps; [ aiohttp-cors ];
     "camera.ring" = ps: with ps; [ ha-ffmpeg ];
     "camera.rpi_camera" = ps: with ps; [  ];
-    "camera.skybell" = ps: with ps; [  ];
     "camera.synology" = ps: with ps; [  ];
-    "camera.usps" = ps: with ps; [  ];
     "camera.uvc" = ps: with ps; [  ];
-    "camera.verisure" = ps: with ps; [  ];
     "camera.xeoma" = ps: with ps; [  ];
     "camera.xiaomi" = ps: with ps; [ ha-ffmpeg ];
     "camera.yi" = ps: with ps; [ ha-ffmpeg ];
     "canary" = ps: with ps; [  ];
     "cast" = ps: with ps; [ PyChromecast ];
+    "cast.media_player" = ps: with ps; [ PyChromecast ];
     "climate" = ps: with ps; [  ];
-    "climate.daikin" = ps: with ps; [  ];
+    "climate.const" = ps: with ps; [  ];
+    "climate.coolmaster" = ps: with ps; [  ];
     "climate.demo" = ps: with ps; [  ];
     "climate.dyson" = ps: with ps; [  ];
-    "climate.ecobee" = ps: with ps; [  ];
-    "climate.elkm1" = ps: with ps; [  ];
     "climate.ephember" = ps: with ps; [  ];
     "climate.eq3btsmart" = ps: with ps; [ construct ];
-    "climate.evohome" = ps: with ps; [  ];
     "climate.flexit" = ps: with ps; [  ];
-    "climate.fritzbox" = ps: with ps; [  ];
     "climate.generic_thermostat" = ps: with ps; [  ];
     "climate.heatmiser" = ps: with ps; [  ];
-    "climate.hive" = ps: with ps; [  ];
-    "climate.homematic" = ps: with ps; [ pyhomematic ];
-    "climate.homematicip_cloud" = ps: with ps; [  ];
     "climate.honeywell" = ps: with ps; [  ];
-    "climate.knx" = ps: with ps; [  ];
-    "climate.maxcube" = ps: with ps; [  ];
     "climate.melissa" = ps: with ps; [  ];
     "climate.mill" = ps: with ps; [  ];
-    "climate.modbus" = ps: with ps; [  ];
-    "climate.mysensors" = ps: with ps; [  ];
-    "climate.nest" = ps: with ps; [  ];
-    "climate.netatmo" = ps: with ps; [  ];
     "climate.nuheat" = ps: with ps; [  ];
     "climate.oem" = ps: with ps; [  ];
-    "climate.opentherm_gw" = ps: with ps; [  ];
     "climate.proliphix" = ps: with ps; [  ];
     "climate.radiotherm" = ps: with ps; [  ];
+    "climate.reproduce_state" = ps: with ps; [  ];
     "climate.sensibo" = ps: with ps; [  ];
-    "climate.spider" = ps: with ps; [  ];
-    "climate.tado" = ps: with ps; [  ];
-    "climate.tesla" = ps: with ps; [  ];
-    "climate.toon" = ps: with ps; [  ];
     "climate.touchline" = ps: with ps; [  ];
-    "climate.tuya" = ps: with ps; [  ];
-    "climate.velbus" = ps: with ps; [  ];
     "climate.venstar" = ps: with ps; [  ];
-    "climate.vera" = ps: with ps; [  ];
-    "climate.wink" = ps: with ps; [  ];
     "climate.zhong_hong" = ps: with ps; [  ];
-    "climate.zwave" = ps: with ps; [  ];
     "cloud" = ps: with ps; [ aiohttp-cors warrant ];
     "cloud.auth_api" = ps: with ps; [  ];
     "cloud.cloud_api" = ps: with ps; [  ];
@@ -275,6 +214,8 @@
     "cloudflare" = ps: with ps; [  ];
     "coinbase" = ps: with ps; [  ];
     "comfoconnect" = ps: with ps; [  ];
+    "comfoconnect.fan" = ps: with ps; [  ];
+    "comfoconnect.sensor" = ps: with ps; [  ];
     "config" = ps: with ps; [ aiohttp-cors ];
     "config.area_registry" = ps: with ps; [ aiohttp-cors ];
     "config.auth" = ps: with ps; [  ];
@@ -293,48 +234,30 @@
     "conversation.util" = ps: with ps; [  ];
     "counter" = ps: with ps; [  ];
     "cover" = ps: with ps; [  ];
-    "cover.abode" = ps: with ps; [  ];
     "cover.aladdin_connect" = ps: with ps; [  ];
     "cover.brunt" = ps: with ps; [  ];
     "cover.command_line" = ps: with ps; [  ];
     "cover.demo" = ps: with ps; [  ];
-    "cover.fibaro" = ps: with ps; [  ];
     "cover.garadget" = ps: with ps; [  ];
     "cover.gogogate2" = ps: with ps; [  ];
     "cover.group" = ps: with ps; [  ];
-    "cover.homematic" = ps: with ps; [ pyhomematic ];
-    "cover.homematicip_cloud" = ps: with ps; [  ];
-    "cover.insteon" = ps: with ps; [  ];
-    "cover.isy994" = ps: with ps; [  ];
-    "cover.knx" = ps: with ps; [  ];
-    "cover.lutron" = ps: with ps; [  ];
-    "cover.lutron_caseta" = ps: with ps; [  ];
     "cover.myq" = ps: with ps; [  ];
-    "cover.mysensors" = ps: with ps; [  ];
     "cover.opengarage" = ps: with ps; [  ];
     "cover.rflink" = ps: with ps; [  ];
-    "cover.rfxtrx" = ps: with ps; [  ];
-    "cover.rpi_gpio" = ps: with ps; [  ];
-    "cover.scsgate" = ps: with ps; [  ];
-    "cover.tahoma" = ps: with ps; [  ];
-    "cover.tellduslive" = ps: with ps; [  ];
-    "cover.tellstick" = ps: with ps; [  ];
     "cover.template" = ps: with ps; [  ];
-    "cover.tuya" = ps: with ps; [  ];
-    "cover.velbus" = ps: with ps; [  ];
-    "cover.vera" = ps: with ps; [  ];
-    "cover.wink" = ps: with ps; [  ];
-    "cover.xiaomi_aqara" = ps: with ps; [  ];
-    "cover.zwave" = ps: with ps; [  ];
     "daikin" = ps: with ps; [  ];
+    "daikin.climate" = ps: with ps; [  ];
     "daikin.config_flow" = ps: with ps; [  ];
     "daikin.const" = ps: with ps; [  ];
+    "daikin.sensor" = ps: with ps; [  ];
     "danfoss_air" = ps: with ps; [  ];
     "danfoss_air.binary_sensor" = ps: with ps; [  ];
     "danfoss_air.sensor" = ps: with ps; [  ];
+    "danfoss_air.switch" = ps: with ps; [  ];
     "datadog" = ps: with ps; [ datadog ];
     "deconz" = ps: with ps; [  ];
     "deconz.binary_sensor" = ps: with ps; [  ];
+    "deconz.climate" = ps: with ps; [  ];
     "deconz.config_flow" = ps: with ps; [  ];
     "deconz.const" = ps: with ps; [  ];
     "deconz.cover" = ps: with ps; [  ];
@@ -344,7 +267,9 @@
     "deconz.scene" = ps: with ps; [  ];
     "deconz.sensor" = ps: with ps; [  ];
     "deconz.switch" = ps: with ps; [  ];
+    "default_config" = ps: with ps; [ pynacl aiohttp-cors distro netdisco sqlalchemy warrant ];
     "demo" = ps: with ps; [ aiohttp-cors ];
+    "demo.remote" = ps: with ps; [  ];
     "device_sun_light_trigger" = ps: with ps; [  ];
     "device_tracker" = ps: with ps; [  ];
     "device_tracker.actiontec" = ps: with ps; [  ];
@@ -354,19 +279,15 @@
     "device_tracker.bbox" = ps: with ps; [  ];
     "device_tracker.bluetooth_le_tracker" = ps: with ps; [  ];
     "device_tracker.bluetooth_tracker" = ps: with ps; [ bt_proximity ];
-    "device_tracker.bmw_connected_drive" = ps: with ps; [  ];
     "device_tracker.bt_home_hub_5" = ps: with ps; [  ];
     "device_tracker.bt_smarthub" = ps: with ps; [  ];
     "device_tracker.cisco_ios" = ps: with ps; [ pexpect ];
     "device_tracker.ddwrt" = ps: with ps; [  ];
     "device_tracker.demo" = ps: with ps; [  ];
     "device_tracker.ee_brightbox" = ps: with ps; [  ];
-    "device_tracker.freebox" = ps: with ps; [  ];
     "device_tracker.fritz" = ps: with ps; [ fritzconnection ];
     "device_tracker.google_maps" = ps: with ps; [  ];
-    "device_tracker.googlehome" = ps: with ps; [  ];
     "device_tracker.hitron_coda" = ps: with ps; [  ];
-    "device_tracker.huawei_lte" = ps: with ps; [  ];
     "device_tracker.huawei_router" = ps: with ps; [  ];
     "device_tracker.icloud" = ps: with ps; [  ];
     "device_tracker.keenetic_ndms2" = ps: with ps; [  ];
@@ -375,12 +296,9 @@
     "device_tracker.luci" = ps: with ps; [  ];
     "device_tracker.meraki" = ps: with ps; [ aiohttp-cors ];
     "device_tracker.mikrotik" = ps: with ps; [  ];
-    "device_tracker.mqtt" = ps: with ps; [ paho-mqtt ];
     "device_tracker.mqtt_json" = ps: with ps; [ paho-mqtt ];
-    "device_tracker.mysensors" = ps: with ps; [  ];
     "device_tracker.netgear" = ps: with ps; [  ];
     "device_tracker.nmap_tracker" = ps: with ps; [  ];
-    "device_tracker.owntracks" = ps: with ps; [ aiohttp-cors libnacl ];
     "device_tracker.ping" = ps: with ps; [  ];
     "device_tracker.quantum_gateway" = ps: with ps; [  ];
     "device_tracker.ritassist" = ps: with ps; [  ];
@@ -388,40 +306,65 @@
     "device_tracker.snmp" = ps: with ps; [ pysnmp ];
     "device_tracker.swisscom" = ps: with ps; [  ];
     "device_tracker.synology_srm" = ps: with ps; [  ];
-    "device_tracker.tado" = ps: with ps; [  ];
-    "device_tracker.tesla" = ps: with ps; [  ];
     "device_tracker.thomson" = ps: with ps; [  ];
     "device_tracker.tile" = ps: with ps; [  ];
     "device_tracker.tomato" = ps: with ps; [  ];
     "device_tracker.tplink" = ps: with ps; [  ];
     "device_tracker.traccar" = ps: with ps; [  ];
     "device_tracker.trackr" = ps: with ps; [  ];
+    "device_tracker.ubee" = ps: with ps; [  ];
     "device_tracker.ubus" = ps: with ps; [  ];
     "device_tracker.unifi" = ps: with ps; [ pyunifi ];
     "device_tracker.unifi_direct" = ps: with ps; [ pexpect ];
     "device_tracker.upc_connect" = ps: with ps; [ defusedxml ];
-    "device_tracker.volvooncall" = ps: with ps; [  ];
     "device_tracker.xiaomi" = ps: with ps; [  ];
-    "device_tracker.xiaomi_miio" = ps: with ps; [ construct ];
     "dialogflow" = ps: with ps; [ aiohttp-cors ];
     "digital_ocean" = ps: with ps; [ digital-ocean ];
+    "digital_ocean.binary_sensor" = ps: with ps; [ digital-ocean ];
+    "digital_ocean.switch" = ps: with ps; [ digital-ocean ];
     "discovery" = ps: with ps; [ netdisco ];
     "dominos" = ps: with ps; [ aiohttp-cors ];
     "doorbird" = ps: with ps; [  ];
+    "doorbird.camera" = ps: with ps; [  ];
+    "doorbird.switch" = ps: with ps; [  ];
     "dovado" = ps: with ps; [  ];
     "dovado.notify" = ps: with ps; [  ];
     "dovado.sensor" = ps: with ps; [  ];
     "downloader" = ps: with ps; [  ];
     "duckdns" = ps: with ps; [  ];
     "dweet" = ps: with ps; [  ];
+    "dweet.sensor" = ps: with ps; [  ];
     "dyson" = ps: with ps; [  ];
+    "ebusd" = ps: with ps; [  ];
+    "ebusd.const" = ps: with ps; [  ];
+    "ebusd.sensor" = ps: with ps; [  ];
     "ecoal_boiler" = ps: with ps; [  ];
+    "ecoal_boiler.sensor" = ps: with ps; [  ];
+    "ecoal_boiler.switch" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
+    "ecobee.binary_sensor" = ps: with ps; [  ];
+    "ecobee.climate" = ps: with ps; [  ];
+    "ecobee.notify" = ps: with ps; [  ];
+    "ecobee.sensor" = ps: with ps; [  ];
+    "ecobee.weather" = ps: with ps; [  ];
     "ecovacs" = ps: with ps; [  ];
+    "ecovacs.vacuum" = ps: with ps; [  ];
     "edp_redy" = ps: with ps; [  ];
+    "edp_redy.sensor" = ps: with ps; [  ];
+    "edp_redy.switch" = ps: with ps; [  ];
     "egardia" = ps: with ps; [  ];
+    "egardia.alarm_control_panel" = ps: with ps; [  ];
+    "egardia.binary_sensor" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
+    "eight_sleep.binary_sensor" = ps: with ps; [  ];
+    "eight_sleep.sensor" = ps: with ps; [  ];
     "elkm1" = ps: with ps; [  ];
+    "elkm1.alarm_control_panel" = ps: with ps; [  ];
+    "elkm1.climate" = ps: with ps; [  ];
+    "elkm1.light" = ps: with ps; [  ];
+    "elkm1.scene" = ps: with ps; [  ];
+    "elkm1.sensor" = ps: with ps; [  ];
+    "elkm1.switch" = ps: with ps; [  ];
     "emoncms_history" = ps: with ps; [  ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
     "emulated_hue.hue_api" = ps: with ps; [  ];
@@ -431,7 +374,14 @@
     "emulated_roku.config_flow" = ps: with ps; [  ];
     "emulated_roku.const" = ps: with ps; [  ];
     "enocean" = ps: with ps; [  ];
+    "enocean.binary_sensor" = ps: with ps; [  ];
+    "enocean.light" = ps: with ps; [  ];
+    "enocean.sensor" = ps: with ps; [  ];
+    "enocean.switch" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
+    "envisalink.alarm_control_panel" = ps: with ps; [  ];
+    "envisalink.binary_sensor" = ps: with ps; [  ];
+    "envisalink.sensor" = ps: with ps; [  ];
     "esphome" = ps: with ps; [  ];
     "esphome.binary_sensor" = ps: with ps; [  ];
     "esphome.config_flow" = ps: with ps; [  ];
@@ -441,29 +391,41 @@
     "esphome.sensor" = ps: with ps; [  ];
     "esphome.switch" = ps: with ps; [  ];
     "eufy" = ps: with ps; [  ];
+    "eufy.light" = ps: with ps; [  ];
+    "eufy.switch" = ps: with ps; [  ];
     "evohome" = ps: with ps; [  ];
+    "evohome.climate" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
-    "fan.comfoconnect" = ps: with ps; [  ];
     "fan.demo" = ps: with ps; [  ];
     "fan.dyson" = ps: with ps; [  ];
-    "fan.insteon" = ps: with ps; [  ];
-    "fan.isy994" = ps: with ps; [  ];
     "fan.template" = ps: with ps; [  ];
-    "fan.tuya" = ps: with ps; [  ];
-    "fan.wemo" = ps: with ps; [  ];
-    "fan.wink" = ps: with ps; [  ];
-    "fan.xiaomi_miio" = ps: with ps; [ construct ];
-    "fan.zwave" = ps: with ps; [  ];
-    "feedreader" = ps: with ps; [ feedparser ];
+    "fastdotcom" = ps: with ps; [  ];
+    "fastdotcom.sensor" = ps: with ps; [  ];
+    "feedreader" = ps: with ps; [  ];
     "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
     "fibaro" = ps: with ps; [  ];
+    "fibaro.binary_sensor" = ps: with ps; [  ];
+    "fibaro.cover" = ps: with ps; [  ];
+    "fibaro.light" = ps: with ps; [  ];
+    "fibaro.scene" = ps: with ps; [  ];
+    "fibaro.sensor" = ps: with ps; [  ];
+    "fibaro.switch" = ps: with ps; [  ];
     "folder_watcher" = ps: with ps; [ watchdog ];
     "foursquare" = ps: with ps; [ aiohttp-cors ];
     "freebox" = ps: with ps; [  ];
+    "freebox.device_tracker" = ps: with ps; [  ];
+    "freebox.sensor" = ps: with ps; [  ];
     "freedns" = ps: with ps; [  ];
     "fritzbox" = ps: with ps; [  ];
+    "fritzbox.binary_sensor" = ps: with ps; [  ];
+    "fritzbox.climate" = ps: with ps; [  ];
+    "fritzbox.sensor" = ps: with ps; [  ];
+    "fritzbox.switch" = ps: with ps; [  ];
     "frontend" = ps: with ps; [ aiohttp-cors ];
+    "frontend.storage" = ps: with ps; [  ];
     "gc100" = ps: with ps; [  ];
+    "gc100.binary_sensor" = ps: with ps; [  ];
+    "gc100.switch" = ps: with ps; [  ];
     "geo_location" = ps: with ps; [  ];
     "geo_location.demo" = ps: with ps; [  ];
     "geo_location.geo_json_events" = ps: with ps; [  ];
@@ -473,6 +435,8 @@
     "geofency.device_tracker" = ps: with ps; [ aiohttp-cors ];
     "goalfeed" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
+    "google.calendar" = ps: with ps; [  ];
+    "google.tts" = ps: with ps; [  ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
     "google_assistant.const" = ps: with ps; [  ];
     "google_assistant.helpers" = ps: with ps; [  ];
@@ -480,17 +444,26 @@
     "google_assistant.smart_home" = ps: with ps; [  ];
     "google_assistant.trait" = ps: with ps; [  ];
     "google_domains" = ps: with ps; [  ];
+    "google_pubsub" = ps: with ps; [ google_cloud_pubsub ];
+    "googlehome" = ps: with ps; [  ];
+    "googlehome.device_tracker" = ps: with ps; [  ];
+    "googlehome.sensor" = ps: with ps; [  ];
     "gpslogger" = ps: with ps; [ aiohttp-cors ];
     "gpslogger.device_tracker" = ps: with ps; [ aiohttp-cors ];
     "graphite" = ps: with ps; [  ];
     "greeneye_monitor" = ps: with ps; [  ];
     "group" = ps: with ps; [  ];
+    "group.reproduce_state" = ps: with ps; [  ];
     "habitica" = ps: with ps; [  ];
+    "habitica.sensor" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
     "hangouts.config_flow" = ps: with ps; [  ];
     "hangouts.const" = ps: with ps; [  ];
     "hangouts.hangouts_bot" = ps: with ps; [  ];
     "hangouts.intents" = ps: with ps; [  ];
+    "hangouts.notify" = ps: with ps; [  ];
+    "harmony" = ps: with ps; [  ];
+    "harmony.remote" = ps: with ps; [  ];
     "hassio" = ps: with ps; [ aiohttp-cors ];
     "hassio.auth" = ps: with ps; [  ];
     "hassio.const" = ps: with ps; [  ];
@@ -498,10 +471,18 @@
     "hassio.handler" = ps: with ps; [  ];
     "hassio.http" = ps: with ps; [  ];
     "hdmi_cec" = ps: with ps; [  ];
+    "hdmi_cec.media_player" = ps: with ps; [  ];
+    "hdmi_cec.switch" = ps: with ps; [  ];
     "history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_graph" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "hive" = ps: with ps; [  ];
+    "hive.binary_sensor" = ps: with ps; [  ];
+    "hive.climate" = ps: with ps; [  ];
+    "hive.light" = ps: with ps; [  ];
+    "hive.sensor" = ps: with ps; [  ];
+    "hive.switch" = ps: with ps; [  ];
     "hlk_sw16" = ps: with ps; [  ];
+    "hlk_sw16.switch" = ps: with ps; [  ];
     "homekit" = ps: with ps; [  ];
     "homekit.const" = ps: with ps; [  ];
     "homekit.util" = ps: with ps; [  ];
@@ -514,13 +495,29 @@
     "homekit_controller.lock" = ps: with ps; [  ];
     "homekit_controller.switch" = ps: with ps; [  ];
     "homematic" = ps: with ps; [ pyhomematic ];
+    "homematic.binary_sensor" = ps: with ps; [ pyhomematic ];
+    "homematic.climate" = ps: with ps; [ pyhomematic ];
+    "homematic.cover" = ps: with ps; [ pyhomematic ];
+    "homematic.light" = ps: with ps; [ pyhomematic ];
+    "homematic.lock" = ps: with ps; [ pyhomematic ];
+    "homematic.notify" = ps: with ps; [ pyhomematic ];
+    "homematic.sensor" = ps: with ps; [ pyhomematic ];
+    "homematic.switch" = ps: with ps; [ pyhomematic ];
     "homematicip_cloud" = ps: with ps; [  ];
+    "homematicip_cloud.alarm_control_panel" = ps: with ps; [  ];
+    "homematicip_cloud.binary_sensor" = ps: with ps; [  ];
+    "homematicip_cloud.climate" = ps: with ps; [  ];
     "homematicip_cloud.config_flow" = ps: with ps; [  ];
     "homematicip_cloud.const" = ps: with ps; [  ];
+    "homematicip_cloud.cover" = ps: with ps; [  ];
     "homematicip_cloud.device" = ps: with ps; [  ];
     "homematicip_cloud.errors" = ps: with ps; [  ];
     "homematicip_cloud.hap" = ps: with ps; [  ];
+    "homematicip_cloud.light" = ps: with ps; [  ];
+    "homematicip_cloud.sensor" = ps: with ps; [  ];
+    "homematicip_cloud.switch" = ps: with ps; [  ];
     "homeworks" = ps: with ps; [  ];
+    "homeworks.light" = ps: with ps; [  ];
     "http" = ps: with ps; [ aiohttp-cors ];
     "http.auth" = ps: with ps; [  ];
     "http.ban" = ps: with ps; [  ];
@@ -531,6 +528,9 @@
     "http.static" = ps: with ps; [  ];
     "http.view" = ps: with ps; [  ];
     "huawei_lte" = ps: with ps; [  ];
+    "huawei_lte.device_tracker" = ps: with ps; [  ];
+    "huawei_lte.notify" = ps: with ps; [  ];
+    "huawei_lte.sensor" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
     "hue.bridge" = ps: with ps; [  ];
     "hue.config_flow" = ps: with ps; [  ];
@@ -538,11 +538,19 @@
     "hue.errors" = ps: with ps; [  ];
     "hue.light" = ps: with ps; [ aiohue ];
     "hydrawise" = ps: with ps; [  ];
+    "hydrawise.binary_sensor" = ps: with ps; [  ];
+    "hydrawise.sensor" = ps: with ps; [  ];
+    "hydrawise.switch" = ps: with ps; [  ];
     "idteck_prox" = ps: with ps; [  ];
     "ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
+    "ifttt.alarm_control_panel" = ps: with ps; [ aiohttp-cors pyfttt ];
     "ihc" = ps: with ps; [ defusedxml ];
+    "ihc.binary_sensor" = ps: with ps; [ defusedxml ];
     "ihc.const" = ps: with ps; [  ];
     "ihc.ihcdevice" = ps: with ps; [  ];
+    "ihc.light" = ps: with ps; [ defusedxml ];
+    "ihc.sensor" = ps: with ps; [ defusedxml ];
+    "ihc.switch" = ps: with ps; [ defusedxml ];
     "image_processing" = ps: with ps; [ aiohttp-cors ];
     "image_processing.demo" = ps: with ps; [  ];
     "image_processing.dlib_face_detect" = ps: with ps; [ face_recognition ];
@@ -563,154 +571,166 @@
     "input_select" = ps: with ps; [  ];
     "input_text" = ps: with ps; [  ];
     "insteon" = ps: with ps; [  ];
+    "insteon.binary_sensor" = ps: with ps; [  ];
+    "insteon.cover" = ps: with ps; [  ];
+    "insteon.fan" = ps: with ps; [  ];
+    "insteon.light" = ps: with ps; [  ];
+    "insteon.sensor" = ps: with ps; [  ];
+    "insteon.switch" = ps: with ps; [  ];
     "insteon_local" = ps: with ps; [  ];
     "insteon_plm" = ps: with ps; [  ];
     "intent_script" = ps: with ps; [  ];
     "introduction" = ps: with ps; [  ];
     "ios" = ps: with ps; [ aiohttp-cors zeroconf ];
+    "ios.notify" = ps: with ps; [ aiohttp-cors zeroconf ];
+    "ios.sensor" = ps: with ps; [ aiohttp-cors zeroconf ];
     "iota" = ps: with ps; [  ];
+    "iota.sensor" = ps: with ps; [  ];
+    "iperf3" = ps: with ps; [  ];
+    "iperf3.sensor" = ps: with ps; [  ];
+    "ipma" = ps: with ps; [  ];
+    "ipma.config_flow" = ps: with ps; [  ];
+    "ipma.const" = ps: with ps; [  ];
+    "ipma.weather" = ps: with ps; [  ];
     "isy994" = ps: with ps; [  ];
+    "isy994.binary_sensor" = ps: with ps; [  ];
+    "isy994.cover" = ps: with ps; [  ];
+    "isy994.fan" = ps: with ps; [  ];
+    "isy994.light" = ps: with ps; [  ];
+    "isy994.lock" = ps: with ps; [  ];
+    "isy994.sensor" = ps: with ps; [  ];
+    "isy994.switch" = ps: with ps; [  ];
+    "itach" = ps: with ps; [  ];
+    "itach.remote" = ps: with ps; [  ];
     "joaoapps_join" = ps: with ps; [  ];
+    "joaoapps_join.notify" = ps: with ps; [  ];
     "juicenet" = ps: with ps; [  ];
+    "juicenet.sensor" = ps: with ps; [  ];
     "keyboard" = ps: with ps; [  ];
     "keyboard_remote" = ps: with ps; [ evdev ];
     "kira" = ps: with ps; [  ];
+    "kira.remote" = ps: with ps; [  ];
+    "kira.sensor" = ps: with ps; [  ];
     "knx" = ps: with ps; [  ];
+    "knx.binary_sensor" = ps: with ps; [  ];
+    "knx.climate" = ps: with ps; [  ];
+    "knx.cover" = ps: with ps; [  ];
+    "knx.light" = ps: with ps; [  ];
+    "knx.notify" = ps: with ps; [  ];
+    "knx.scene" = ps: with ps; [  ];
+    "knx.sensor" = ps: with ps; [  ];
+    "knx.switch" = ps: with ps; [  ];
     "konnected" = ps: with ps; [ aiohttp-cors ];
+    "konnected.binary_sensor" = ps: with ps; [ aiohttp-cors ];
+    "konnected.switch" = ps: with ps; [ aiohttp-cors ];
     "lametric" = ps: with ps; [  ];
+    "lametric.notify" = ps: with ps; [  ];
     "lcn" = ps: with ps; [  ];
+    "lcn.const" = ps: with ps; [  ];
+    "lcn.cover" = ps: with ps; [  ];
+    "lcn.light" = ps: with ps; [  ];
+    "lcn.switch" = ps: with ps; [  ];
     "lifx" = ps: with ps; [ aiolifx ];
+    "lifx.light" = ps: with ps; [ aiolifx aiolifx-effects ];
     "light" = ps: with ps; [  ];
-    "light.abode" = ps: with ps; [  ];
-    "light.ads" = ps: with ps; [  ];
     "light.avion" = ps: with ps; [  ];
     "light.blinksticklight" = ps: with ps; [ BlinkStick ];
     "light.blinkt" = ps: with ps; [  ];
     "light.decora" = ps: with ps; [  ];
     "light.decora_wifi" = ps: with ps; [  ];
     "light.demo" = ps: with ps; [  ];
-    "light.elkm1" = ps: with ps; [  ];
-    "light.enocean" = ps: with ps; [  ];
-    "light.eufy" = ps: with ps; [  ];
     "light.everlights" = ps: with ps; [  ];
-    "light.fibaro" = ps: with ps; [  ];
     "light.flux_led" = ps: with ps; [  ];
     "light.futurenow" = ps: with ps; [  ];
     "light.greenwave" = ps: with ps; [  ];
     "light.group" = ps: with ps; [  ];
-    "light.hive" = ps: with ps; [  ];
-    "light.homematic" = ps: with ps; [ pyhomematic ];
-    "light.homematicip_cloud" = ps: with ps; [  ];
-    "light.homeworks" = ps: with ps; [  ];
     "light.hyperion" = ps: with ps; [  ];
     "light.iglo" = ps: with ps; [  ];
-    "light.ihc" = ps: with ps; [ defusedxml ];
-    "light.insteon" = ps: with ps; [  ];
-    "light.isy994" = ps: with ps; [  ];
-    "light.knx" = ps: with ps; [  ];
-    "light.lcn" = ps: with ps; [  ];
-    "light.lifx" = ps: with ps; [ aiolifx aiolifx-effects ];
     "light.lifx_legacy" = ps: with ps; [  ];
-    "light.lightwave" = ps: with ps; [  ];
     "light.limitlessled" = ps: with ps; [ limitlessled ];
     "light.litejet" = ps: with ps; [  ];
-    "light.lutron" = ps: with ps; [  ];
-    "light.lutron_caseta" = ps: with ps; [  ];
     "light.lw12wifi" = ps: with ps; [  ];
-    "light.mochad" = ps: with ps; [  ];
-    "light.mysensors" = ps: with ps; [  ];
     "light.mystrom" = ps: with ps; [  ];
     "light.nanoleaf_aurora" = ps: with ps; [ nanoleaf ];
     "light.niko_home_control" = ps: with ps; [  ];
     "light.opple" = ps: with ps; [  ];
     "light.osramlightify" = ps: with ps; [  ];
     "light.piglow" = ps: with ps; [  ];
-    "light.plum_lightpad" = ps: with ps; [  ];
-    "light.qwikswitch" = ps: with ps; [  ];
     "light.rflink" = ps: with ps; [  ];
-    "light.rfxtrx" = ps: with ps; [  ];
     "light.rpi_gpio_pwm" = ps: with ps; [  ];
-    "light.scsgate" = ps: with ps; [  ];
     "light.sensehat" = ps: with ps; [  ];
-    "light.sisyphus" = ps: with ps; [  ];
-    "light.skybell" = ps: with ps; [  ];
     "light.switch" = ps: with ps; [  ];
-    "light.tellduslive" = ps: with ps; [  ];
-    "light.tellstick" = ps: with ps; [  ];
     "light.template" = ps: with ps; [  ];
     "light.tikteck" = ps: with ps; [  ];
-    "light.tplink" = ps: with ps; [  ];
-    "light.tradfri" = ps: with ps; [  ];
-    "light.tuya" = ps: with ps; [  ];
-    "light.vera" = ps: with ps; [  ];
-    "light.wemo" = ps: with ps; [  ];
-    "light.wink" = ps: with ps; [  ];
     "light.x10" = ps: with ps; [  ];
-    "light.xiaomi_aqara" = ps: with ps; [  ];
-    "light.xiaomi_miio" = ps: with ps; [ construct ];
     "light.yeelight" = ps: with ps; [  ];
     "light.yeelightsunflower" = ps: with ps; [  ];
     "light.zengge" = ps: with ps; [  ];
-    "light.zigbee" = ps: with ps; [  ];
-    "light.zwave" = ps: with ps; [  ];
     "lightwave" = ps: with ps; [  ];
+    "lightwave.light" = ps: with ps; [  ];
+    "lightwave.switch" = ps: with ps; [  ];
     "linode" = ps: with ps; [ linode-api ];
+    "linode.binary_sensor" = ps: with ps; [ linode-api ];
+    "linode.switch" = ps: with ps; [ linode-api ];
     "lirc" = ps: with ps; [  ];
     "litejet" = ps: with ps; [  ];
     "locative" = ps: with ps; [ aiohttp-cors ];
     "locative.device_tracker" = ps: with ps; [ aiohttp-cors ];
     "lock" = ps: with ps; [  ];
-    "lock.abode" = ps: with ps; [  ];
-    "lock.august" = ps: with ps; [  ];
-    "lock.bmw_connected_drive" = ps: with ps; [  ];
     "lock.demo" = ps: with ps; [  ];
-    "lock.homematic" = ps: with ps; [ pyhomematic ];
-    "lock.isy994" = ps: with ps; [  ];
     "lock.kiwi" = ps: with ps; [  ];
     "lock.lockitron" = ps: with ps; [  ];
     "lock.nello" = ps: with ps; [  ];
     "lock.nuki" = ps: with ps; [  ];
     "lock.sesame" = ps: with ps; [  ];
     "lock.template" = ps: with ps; [  ];
-    "lock.tesla" = ps: with ps; [  ];
-    "lock.vera" = ps: with ps; [  ];
-    "lock.verisure" = ps: with ps; [  ];
-    "lock.volvooncall" = ps: with ps; [  ];
-    "lock.wink" = ps: with ps; [  ];
-    "lock.xiaomi_aqara" = ps: with ps; [  ];
-    "lock.zwave" = ps: with ps; [  ];
     "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "logentries" = ps: with ps; [  ];
     "logger" = ps: with ps; [  ];
     "logi_circle" = ps: with ps; [  ];
+    "logi_circle.camera" = ps: with ps; [  ];
+    "logi_circle.sensor" = ps: with ps; [  ];
     "lovelace" = ps: with ps; [  ];
     "luftdaten" = ps: with ps; [ luftdaten ];
     "luftdaten.config_flow" = ps: with ps; [  ];
     "luftdaten.const" = ps: with ps; [  ];
+    "luftdaten.sensor" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [  ];
+    "lupusec.alarm_control_panel" = ps: with ps; [  ];
+    "lupusec.binary_sensor" = ps: with ps; [  ];
+    "lupusec.switch" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
+    "lutron.cover" = ps: with ps; [  ];
+    "lutron.light" = ps: with ps; [  ];
+    "lutron.scene" = ps: with ps; [  ];
+    "lutron.switch" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
+    "lutron_caseta.cover" = ps: with ps; [  ];
+    "lutron_caseta.light" = ps: with ps; [  ];
+    "lutron_caseta.scene" = ps: with ps; [  ];
+    "lutron_caseta.switch" = ps: with ps; [  ];
     "mailbox" = ps: with ps; [ aiohttp-cors ];
     "mailbox.asterisk_cdr" = ps: with ps; [  ];
-    "mailbox.asterisk_mbox" = ps: with ps; [  ];
     "mailbox.demo" = ps: with ps; [  ];
     "mailgun" = ps: with ps; [ aiohttp-cors ];
     "mailgun.notify" = ps: with ps; [ aiohttp-cors ];
     "map" = ps: with ps; [  ];
     "matrix" = ps: with ps; [ matrix-client ];
+    "matrix.notify" = ps: with ps; [ matrix-client ];
     "maxcube" = ps: with ps; [  ];
+    "maxcube.binary_sensor" = ps: with ps; [  ];
+    "maxcube.climate" = ps: with ps; [  ];
     "media_extractor" = ps: with ps; [ aiohttp-cors youtube-dl-light ];
     "media_player" = ps: with ps; [ aiohttp-cors ];
     "media_player.anthemav" = ps: with ps; [  ];
-    "media_player.apple_tv" = ps: with ps; [ pyatv ];
     "media_player.aquostv" = ps: with ps; [  ];
     "media_player.blackbird" = ps: with ps; [  ];
     "media_player.bluesound" = ps: with ps; [ xmltodict ];
     "media_player.braviatv" = ps: with ps; [  ];
-    "media_player.cast" = ps: with ps; [ PyChromecast ];
     "media_player.channels" = ps: with ps; [  ];
     "media_player.clementine" = ps: with ps; [  ];
     "media_player.cmus" = ps: with ps; [  ];
+    "media_player.const" = ps: with ps; [  ];
     "media_player.demo" = ps: with ps; [  ];
     "media_player.denon" = ps: with ps; [  ];
     "media_player.denonavr" = ps: with ps; [  ];
@@ -724,7 +744,6 @@
     "media_player.gpmdp" = ps: with ps; [ websocket_client ];
     "media_player.gstreamer" = ps: with ps; [  ];
     "media_player.harman_kardon_avr" = ps: with ps; [  ];
-    "media_player.hdmi_cec" = ps: with ps; [  ];
     "media_player.horizon" = ps: with ps; [  ];
     "media_player.itunes" = ps: with ps; [  ];
     "media_player.kodi" = ps: with ps; [ jsonrpc-async jsonrpc-websocket ];
@@ -745,14 +764,12 @@
     "media_player.pioneer" = ps: with ps; [  ];
     "media_player.pjlink" = ps: with ps; [  ];
     "media_player.plex" = ps: with ps; [  ];
-    "media_player.roku" = ps: with ps; [  ];
+    "media_player.reproduce_state" = ps: with ps; [  ];
     "media_player.russound_rio" = ps: with ps; [  ];
     "media_player.russound_rnet" = ps: with ps; [  ];
     "media_player.samsungtv" = ps: with ps; [ wakeonlan ];
-    "media_player.sisyphus" = ps: with ps; [  ];
     "media_player.snapcast" = ps: with ps; [ snapcast ];
     "media_player.songpal" = ps: with ps; [  ];
-    "media_player.sonos" = ps: with ps; [  ];
     "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
     "media_player.spotify" = ps: with ps; [ aiohttp-cors ];
     "media_player.squeezebox" = ps: with ps; [  ];
@@ -761,15 +778,24 @@
     "media_player.vizio" = ps: with ps; [  ];
     "media_player.vlc" = ps: with ps; [  ];
     "media_player.volumio" = ps: with ps; [  ];
-    "media_player.webostv" = ps: with ps; [ websockets ];
     "media_player.xiaomi_tv" = ps: with ps; [  ];
     "media_player.yamaha" = ps: with ps; [  ];
     "media_player.yamaha_musiccast" = ps: with ps; [  ];
     "media_player.ziggo_mediabox_xl" = ps: with ps; [  ];
     "melissa" = ps: with ps; [  ];
+    "meteo_france" = ps: with ps; [  ];
+    "meteo_france.sensor" = ps: with ps; [  ];
+    "meteo_france.weather" = ps: with ps; [  ];
     "microsoft_face" = ps: with ps; [ aiohttp-cors ];
+    "mobile_app" = ps: with ps; [ pynacl aiohttp-cors ];
     "mochad" = ps: with ps; [  ];
+    "mochad.light" = ps: with ps; [  ];
+    "mochad.switch" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
+    "modbus.binary_sensor" = ps: with ps; [  ];
+    "modbus.climate" = ps: with ps; [  ];
+    "modbus.sensor" = ps: with ps; [  ];
+    "modbus.switch" = ps: with ps; [  ];
     "mqtt" = ps: with ps; [ paho-mqtt ];
     "mqtt.alarm_control_panel" = ps: with ps; [ paho-mqtt ];
     "mqtt.binary_sensor" = ps: with ps; [ paho-mqtt ];
@@ -778,6 +804,7 @@
     "mqtt.config_flow" = ps: with ps; [  ];
     "mqtt.const" = ps: with ps; [  ];
     "mqtt.cover" = ps: with ps; [ paho-mqtt ];
+    "mqtt.device_tracker" = ps: with ps; [ paho-mqtt ];
     "mqtt.discovery" = ps: with ps; [  ];
     "mqtt.fan" = ps: with ps; [ paho-mqtt ];
     "mqtt.light" = ps: with ps; [ paho-mqtt ];
@@ -790,23 +817,51 @@
     "mqtt_eventstream" = ps: with ps; [ paho-mqtt ];
     "mqtt_statestream" = ps: with ps; [ paho-mqtt ];
     "mychevy" = ps: with ps; [  ];
+    "mychevy.binary_sensor" = ps: with ps; [  ];
+    "mychevy.sensor" = ps: with ps; [  ];
     "mycroft" = ps: with ps; [  ];
     "mysensors" = ps: with ps; [  ];
+    "mysensors.binary_sensor" = ps: with ps; [  ];
+    "mysensors.climate" = ps: with ps; [  ];
     "mysensors.const" = ps: with ps; [  ];
+    "mysensors.cover" = ps: with ps; [  ];
     "mysensors.device" = ps: with ps; [  ];
+    "mysensors.device_tracker" = ps: with ps; [  ];
     "mysensors.gateway" = ps: with ps; [  ];
     "mysensors.handler" = ps: with ps; [  ];
     "mysensors.helpers" = ps: with ps; [  ];
+    "mysensors.light" = ps: with ps; [  ];
+    "mysensors.notify" = ps: with ps; [  ];
+    "mysensors.sensor" = ps: with ps; [  ];
+    "mysensors.switch" = ps: with ps; [  ];
     "mythicbeastsdns" = ps: with ps; [  ];
     "namecheapdns" = ps: with ps; [ defusedxml ];
     "neato" = ps: with ps; [ pybotvac ];
+    "neato.camera" = ps: with ps; [ pybotvac ];
+    "neato.switch" = ps: with ps; [ pybotvac ];
+    "neato.vacuum" = ps: with ps; [ pybotvac ];
     "ness_alarm" = ps: with ps; [  ];
     "nest" = ps: with ps; [  ];
+    "nest.binary_sensor" = ps: with ps; [  ];
+    "nest.camera" = ps: with ps; [  ];
+    "nest.climate" = ps: with ps; [  ];
     "nest.config_flow" = ps: with ps; [  ];
     "nest.const" = ps: with ps; [  ];
     "nest.local_auth" = ps: with ps; [  ];
-    "netatmo" = ps: with ps; [  ];
+    "nest.sensor" = ps: with ps; [  ];
+    "netatmo" = ps: with ps; [ aiohttp-cors ];
+    "netatmo.binary_sensor" = ps: with ps; [ aiohttp-cors ];
+    "netatmo.camera" = ps: with ps; [ aiohttp-cors ];
+    "netatmo.climate" = ps: with ps; [ aiohttp-cors ];
+    "netatmo.sensor" = ps: with ps; [ aiohttp-cors ];
     "netgear_lte" = ps: with ps; [  ];
+    "netgear_lte.notify" = ps: with ps; [  ];
+    "netgear_lte.sensor" = ps: with ps; [  ];
+    "nissan_leaf" = ps: with ps; [  ];
+    "nissan_leaf.binary_sensor" = ps: with ps; [  ];
+    "nissan_leaf.device_tracker" = ps: with ps; [  ];
+    "nissan_leaf.sensor" = ps: with ps; [  ];
+    "nissan_leaf.switch" = ps: with ps; [  ];
     "no_ip" = ps: with ps; [  ];
     "notify" = ps: with ps; [  ];
     "notify.apns" = ps: with ps; [  ];
@@ -820,30 +875,20 @@
     "notify.command_line" = ps: with ps; [  ];
     "notify.demo" = ps: with ps; [  ];
     "notify.discord" = ps: with ps; [ discordpy ];
-    "notify.ecobee" = ps: with ps; [  ];
     "notify.facebook" = ps: with ps; [  ];
     "notify.file" = ps: with ps; [  ];
     "notify.flock" = ps: with ps; [  ];
     "notify.free_mobile" = ps: with ps; [  ];
     "notify.gntp" = ps: with ps; [  ];
     "notify.group" = ps: with ps; [  ];
-    "notify.hangouts" = ps: with ps; [  ];
     "notify.hipchat" = ps: with ps; [  ];
-    "notify.homematic" = ps: with ps; [ pyhomematic ];
     "notify.html5" = ps: with ps; [ aiohttp-cors ];
-    "notify.ios" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "notify.joaoapps_join" = ps: with ps; [  ];
-    "notify.knx" = ps: with ps; [  ];
     "notify.kodi" = ps: with ps; [ jsonrpc-async ];
-    "notify.lametric" = ps: with ps; [  ];
     "notify.lannouncer" = ps: with ps; [  ];
     "notify.llamalab_automate" = ps: with ps; [  ];
     "notify.mastodon" = ps: with ps; [  ];
-    "notify.matrix" = ps: with ps; [ matrix-client ];
     "notify.message_bird" = ps: with ps; [  ];
     "notify.mycroft" = ps: with ps; [  ];
-    "notify.mysensors" = ps: with ps; [  ];
-    "notify.netgear_lte" = ps: with ps; [  ];
     "notify.nfandroidtv" = ps: with ps; [  ];
     "notify.prowl" = ps: with ps; [  ];
     "notify.pushbullet" = ps: with ps; [ pushbullet ];
@@ -860,44 +905,72 @@
     "notify.synology_chat" = ps: with ps; [  ];
     "notify.syslog" = ps: with ps; [  ];
     "notify.telegram" = ps: with ps; [ python-telegram-bot ];
-    "notify.tibber" = ps: with ps; [  ];
-    "notify.tplink_lte" = ps: with ps; [  ];
     "notify.twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twitter" = ps: with ps; [  ];
-    "notify.webostv" = ps: with ps; [  ];
     "notify.xmpp" = ps: with ps; [ slixmpp ];
     "notify.yessssms" = ps: with ps; [  ];
     "nuheat" = ps: with ps; [  ];
     "nuimo_controller" = ps: with ps; [  ];
     "octoprint" = ps: with ps; [  ];
+    "octoprint.binary_sensor" = ps: with ps; [  ];
+    "octoprint.sensor" = ps: with ps; [  ];
     "onboarding" = ps: with ps; [ aiohttp-cors ];
     "onboarding.const" = ps: with ps; [  ];
     "onboarding.views" = ps: with ps; [  ];
     "opentherm_gw" = ps: with ps; [  ];
+    "opentherm_gw.binary_sensor" = ps: with ps; [  ];
+    "opentherm_gw.climate" = ps: with ps; [  ];
+    "opentherm_gw.sensor" = ps: with ps; [  ];
     "openuv" = ps: with ps; [  ];
     "openuv.binary_sensor" = ps: with ps; [  ];
     "openuv.config_flow" = ps: with ps; [  ];
     "openuv.const" = ps: with ps; [  ];
     "openuv.sensor" = ps: with ps; [  ];
-    "owntracks" = ps: with ps; [ aiohttp-cors libnacl ];
+    "owlet" = ps: with ps; [  ];
+    "owlet.binary_sensor" = ps: with ps; [  ];
+    "owlet.const" = ps: with ps; [  ];
+    "owlet.sensor" = ps: with ps; [  ];
+    "owntracks" = ps: with ps; [ pynacl aiohttp-cors ];
     "owntracks.config_flow" = ps: with ps; [  ];
+    "owntracks.device_tracker" = ps: with ps; [ pynacl aiohttp-cors ];
     "panel_custom" = ps: with ps; [ aiohttp-cors ];
     "panel_iframe" = ps: with ps; [ aiohttp-cors ];
     "persistent_notification" = ps: with ps; [  ];
+    "person" = ps: with ps; [  ];
     "pilight" = ps: with ps; [  ];
+    "pilight.binary_sensor" = ps: with ps; [  ];
+    "pilight.sensor" = ps: with ps; [  ];
+    "pilight.switch" = ps: with ps; [  ];
     "plant" = ps: with ps; [  ];
     "plum_lightpad" = ps: with ps; [  ];
+    "plum_lightpad.light" = ps: with ps; [  ];
     "point" = ps: with ps; [ aiohttp-cors ];
+    "point.alarm_control_panel" = ps: with ps; [  ];
+    "point.binary_sensor" = ps: with ps; [  ];
     "point.config_flow" = ps: with ps; [  ];
     "point.const" = ps: with ps; [  ];
+    "point.sensor" = ps: with ps; [  ];
     "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
     "proximity" = ps: with ps; [  ];
+    "ps4" = ps: with ps; [  ];
+    "ps4.config_flow" = ps: with ps; [  ];
+    "ps4.const" = ps: with ps; [  ];
+    "ps4.media_player" = ps: with ps; [  ];
     "python_script" = ps: with ps; [  ];
     "qwikswitch" = ps: with ps; [  ];
+    "qwikswitch.binary_sensor" = ps: with ps; [  ];
+    "qwikswitch.light" = ps: with ps; [  ];
+    "qwikswitch.sensor" = ps: with ps; [  ];
+    "qwikswitch.switch" = ps: with ps; [  ];
     "rachio" = ps: with ps; [  ];
+    "rachio.binary_sensor" = ps: with ps; [  ];
+    "rachio.switch" = ps: with ps; [  ];
     "rainbird" = ps: with ps; [  ];
     "raincloud" = ps: with ps; [  ];
+    "raincloud.binary_sensor" = ps: with ps; [  ];
+    "raincloud.sensor" = ps: with ps; [  ];
+    "raincloud.switch" = ps: with ps; [  ];
     "rainmachine" = ps: with ps; [  ];
     "rainmachine.binary_sensor" = ps: with ps; [  ];
     "rainmachine.config_flow" = ps: with ps; [  ];
@@ -905,76 +978,71 @@
     "rainmachine.sensor" = ps: with ps; [  ];
     "rainmachine.switch" = ps: with ps; [  ];
     "raspihats" = ps: with ps; [  ];
+    "raspihats.binary_sensor" = ps: with ps; [  ];
+    "raspihats.switch" = ps: with ps; [  ];
     "recorder" = ps: with ps; [ sqlalchemy ];
     "recorder.const" = ps: with ps; [  ];
     "recorder.migration" = ps: with ps; [  ];
     "recorder.purge" = ps: with ps; [  ];
     "recorder.util" = ps: with ps; [  ];
+    "reddit" = ps: with ps; [  ];
+    "reddit.sensor" = ps: with ps; [ praw ];
     "remember_the_milk" = ps: with ps; [ httplib2 ];
     "remote" = ps: with ps; [  ];
-    "remote.apple_tv" = ps: with ps; [ pyatv ];
-    "remote.demo" = ps: with ps; [  ];
-    "remote.harmony" = ps: with ps; [  ];
-    "remote.itach" = ps: with ps; [  ];
-    "remote.kira" = ps: with ps; [  ];
-    "remote.roku" = ps: with ps; [  ];
-    "remote.xiaomi_miio" = ps: with ps; [ construct ];
     "rest_command" = ps: with ps; [  ];
     "rflink" = ps: with ps; [  ];
     "rfxtrx" = ps: with ps; [  ];
+    "rfxtrx.binary_sensor" = ps: with ps; [  ];
+    "rfxtrx.cover" = ps: with ps; [  ];
+    "rfxtrx.light" = ps: with ps; [  ];
+    "rfxtrx.sensor" = ps: with ps; [  ];
+    "rfxtrx.switch" = ps: with ps; [  ];
     "ring" = ps: with ps; [  ];
     "roku" = ps: with ps; [  ];
+    "roku.media_player" = ps: with ps; [  ];
+    "roku.remote" = ps: with ps; [  ];
     "route53" = ps: with ps; [ boto3 ];
     "rpi_gpio" = ps: with ps; [  ];
+    "rpi_gpio.binary_sensor" = ps: with ps; [  ];
+    "rpi_gpio.cover" = ps: with ps; [  ];
+    "rpi_gpio.switch" = ps: with ps; [  ];
     "rpi_pfio" = ps: with ps; [  ];
+    "rpi_pfio.binary_sensor" = ps: with ps; [  ];
+    "rpi_pfio.switch" = ps: with ps; [  ];
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
     "sabnzbd" = ps: with ps; [  ];
+    "sabnzbd.sensor" = ps: with ps; [  ];
     "satel_integra" = ps: with ps; [  ];
+    "satel_integra.alarm_control_panel" = ps: with ps; [  ];
+    "satel_integra.binary_sensor" = ps: with ps; [  ];
     "scene" = ps: with ps; [  ];
-    "scene.elkm1" = ps: with ps; [  ];
-    "scene.fibaro" = ps: with ps; [  ];
     "scene.homeassistant" = ps: with ps; [  ];
     "scene.hunterdouglas_powerview" = ps: with ps; [  ];
-    "scene.knx" = ps: with ps; [  ];
     "scene.lifx_cloud" = ps: with ps; [  ];
     "scene.litejet" = ps: with ps; [  ];
-    "scene.lutron" = ps: with ps; [  ];
-    "scene.lutron_caseta" = ps: with ps; [  ];
-    "scene.tahoma" = ps: with ps; [  ];
-    "scene.tuya" = ps: with ps; [  ];
-    "scene.velux" = ps: with ps; [  ];
-    "scene.vera" = ps: with ps; [  ];
-    "scene.wink" = ps: with ps; [  ];
     "script" = ps: with ps; [  ];
     "scsgate" = ps: with ps; [  ];
+    "scsgate.cover" = ps: with ps; [  ];
+    "scsgate.light" = ps: with ps; [  ];
+    "scsgate.switch" = ps: with ps; [  ];
     "sense" = ps: with ps; [  ];
+    "sense.binary_sensor" = ps: with ps; [  ];
+    "sense.sensor" = ps: with ps; [  ];
     "sensor" = ps: with ps; [  ];
-    "sensor.abode" = ps: with ps; [  ];
-    "sensor.ads" = ps: with ps; [  ];
     "sensor.aftership" = ps: with ps; [  ];
     "sensor.airvisual" = ps: with ps; [ pyairvisual ];
-    "sensor.alarmdecoder" = ps: with ps; [  ];
     "sensor.alpha_vantage" = ps: with ps; [  ];
-    "sensor.amcrest" = ps: with ps; [ ha-ffmpeg ];
-    "sensor.android_ip_webcam" = ps: with ps; [  ];
-    "sensor.apcupsd" = ps: with ps; [  ];
     "sensor.api_streams" = ps: with ps; [  ];
-    "sensor.aqualogic" = ps: with ps; [  ];
-    "sensor.arduino" = ps: with ps; [  ];
     "sensor.arest" = ps: with ps; [  ];
-    "sensor.arlo" = ps: with ps; [  ];
     "sensor.arwn" = ps: with ps; [ paho-mqtt ];
     "sensor.asuswrt" = ps: with ps; [  ];
     "sensor.awair" = ps: with ps; [  ];
     "sensor.bbox" = ps: with ps; [  ];
     "sensor.bh1750" = ps: with ps; [  ];
     "sensor.bitcoin" = ps: with ps; [  ];
-    "sensor.blink" = ps: with ps; [  ];
     "sensor.blockchain" = ps: with ps; [  ];
-    "sensor.bloomsky" = ps: with ps; [  ];
     "sensor.bme280" = ps: with ps; [  ];
     "sensor.bme680" = ps: with ps; [  ];
-    "sensor.bmw_connected_drive" = ps: with ps; [  ];
     "sensor.bom" = ps: with ps; [  ];
     "sensor.broadlink" = ps: with ps; [ broadlink ];
     "sensor.brottsplatskartan" = ps: with ps; [  ];
@@ -986,13 +1054,11 @@
     "sensor.coinbase" = ps: with ps; [  ];
     "sensor.coinmarketcap" = ps: with ps; [ coinmarketcap ];
     "sensor.comed_hourly_pricing" = ps: with ps; [  ];
-    "sensor.comfoconnect" = ps: with ps; [  ];
     "sensor.command_line" = ps: with ps; [  ];
     "sensor.cpuspeed" = ps: with ps; [ py-cpuinfo ];
     "sensor.crimereports" = ps: with ps; [  ];
     "sensor.cups" = ps: with ps; [ pycups ];
     "sensor.currencylayer" = ps: with ps; [  ];
-    "sensor.daikin" = ps: with ps; [  ];
     "sensor.darksky" = ps: with ps; [ python-forecastio ];
     "sensor.deluge" = ps: with ps; [ deluge-client ];
     "sensor.demo" = ps: with ps; [  ];
@@ -1005,28 +1071,18 @@
     "sensor.dublin_bus_transport" = ps: with ps; [  ];
     "sensor.duke_energy" = ps: with ps; [  ];
     "sensor.dwd_weather_warnings" = ps: with ps; [  ];
-    "sensor.dweet" = ps: with ps; [  ];
     "sensor.dyson" = ps: with ps; [  ];
     "sensor.ebox" = ps: with ps; [  ];
-    "sensor.ecoal_boiler" = ps: with ps; [  ];
-    "sensor.ecobee" = ps: with ps; [  ];
     "sensor.eddystone_temperature" = ps: with ps; [ construct ];
-    "sensor.edp_redy" = ps: with ps; [  ];
     "sensor.efergy" = ps: with ps; [  ];
-    "sensor.eight_sleep" = ps: with ps; [  ];
     "sensor.eliqonline" = ps: with ps; [  ];
-    "sensor.elkm1" = ps: with ps; [  ];
     "sensor.emoncms" = ps: with ps; [  ];
-    "sensor.enocean" = ps: with ps; [  ];
     "sensor.enphase_envoy" = ps: with ps; [  ];
     "sensor.entur_public_transport" = ps: with ps; [  ];
     "sensor.envirophat" = ps: with ps; [  ];
-    "sensor.envisalink" = ps: with ps; [  ];
     "sensor.etherscan" = ps: with ps; [  ];
     "sensor.fail2ban" = ps: with ps; [  ];
-    "sensor.fastdotcom" = ps: with ps; [  ];
     "sensor.fedex" = ps: with ps; [  ];
-    "sensor.fibaro" = ps: with ps; [  ];
     "sensor.fido" = ps: with ps; [  ];
     "sensor.file" = ps: with ps; [  ];
     "sensor.filesize" = ps: with ps; [  ];
@@ -1037,13 +1093,12 @@
     "sensor.flunearyou" = ps: with ps; [  ];
     "sensor.folder" = ps: with ps; [  ];
     "sensor.foobot" = ps: with ps; [  ];
-    "sensor.freebox" = ps: with ps; [  ];
-    "sensor.fritzbox" = ps: with ps; [  ];
     "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.gearbest" = ps: with ps; [  ];
     "sensor.geizhals" = ps: with ps; [  ];
     "sensor.geo_rss_events" = ps: with ps; [  ];
+    "sensor.github" = ps: with ps; [ PyGithub ];
     "sensor.gitlab_ci" = ps: with ps; [ python-gitlab ];
     "sensor.gitter" = ps: with ps; [  ];
     "sensor.glances" = ps: with ps; [  ];
@@ -1053,91 +1108,63 @@
     "sensor.greeneye_monitor" = ps: with ps; [  ];
     "sensor.gtfs" = ps: with ps; [  ];
     "sensor.gtt" = ps: with ps; [  ];
-    "sensor.habitica" = ps: with ps; [  ];
     "sensor.haveibeenpwned" = ps: with ps; [  ];
     "sensor.hddtemp" = ps: with ps; [  ];
     "sensor.history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
-    "sensor.hive" = ps: with ps; [  ];
-    "sensor.homematic" = ps: with ps; [ pyhomematic ];
-    "sensor.homematicip_cloud" = ps: with ps; [  ];
     "sensor.hp_ilo" = ps: with ps; [  ];
     "sensor.htu21d" = ps: with ps; [  ];
-    "sensor.huawei_lte" = ps: with ps; [  ];
-    "sensor.hydrawise" = ps: with ps; [  ];
     "sensor.hydroquebec" = ps: with ps; [  ];
-    "sensor.ihc" = ps: with ps; [ defusedxml ];
     "sensor.iliad_italy" = ps: with ps; [  ];
     "sensor.imap" = ps: with ps; [  ];
     "sensor.imap_email_content" = ps: with ps; [  ];
     "sensor.influxdb" = ps: with ps; [ influxdb ];
-    "sensor.insteon" = ps: with ps; [  ];
     "sensor.integration" = ps: with ps; [  ];
-    "sensor.ios" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "sensor.iota" = ps: with ps; [  ];
-    "sensor.iperf3" = ps: with ps; [  ];
     "sensor.irish_rail_transport" = ps: with ps; [  ];
     "sensor.islamic_prayer_times" = ps: with ps; [  ];
-    "sensor.isy994" = ps: with ps; [  ];
     "sensor.jewish_calendar" = ps: with ps; [  ];
-    "sensor.juicenet" = ps: with ps; [  ];
-    "sensor.kira" = ps: with ps; [  ];
-    "sensor.knx" = ps: with ps; [  ];
     "sensor.kwb" = ps: with ps; [  ];
     "sensor.lacrosse" = ps: with ps; [  ];
     "sensor.lastfm" = ps: with ps; [ pylast ];
     "sensor.launch_library" = ps: with ps; [  ];
     "sensor.linky" = ps: with ps; [  ];
     "sensor.linux_battery" = ps: with ps; [ batinfo ];
-    "sensor.logi_circle" = ps: with ps; [  ];
     "sensor.london_air" = ps: with ps; [  ];
     "sensor.london_underground" = ps: with ps; [  ];
     "sensor.loopenergy" = ps: with ps; [  ];
-    "sensor.luftdaten" = ps: with ps; [ luftdaten ];
     "sensor.lyft" = ps: with ps; [  ];
     "sensor.magicseaweed" = ps: with ps; [  ];
-    "sensor.meteo_france" = ps: with ps; [  ];
     "sensor.metoffice" = ps: with ps; [  ];
     "sensor.mfi" = ps: with ps; [  ];
     "sensor.mhz19" = ps: with ps; [  ];
     "sensor.miflora" = ps: with ps; [  ];
     "sensor.min_max" = ps: with ps; [  ];
     "sensor.mitemp_bt" = ps: with ps; [  ];
-    "sensor.modbus" = ps: with ps; [  ];
     "sensor.modem_callerid" = ps: with ps; [  ];
     "sensor.mold_indicator" = ps: with ps; [  ];
     "sensor.moon" = ps: with ps; [  ];
     "sensor.mopar" = ps: with ps; [  ];
     "sensor.mqtt_room" = ps: with ps; [ paho-mqtt ];
     "sensor.mvglive" = ps: with ps; [ PyMVGLive ];
-    "sensor.mychevy" = ps: with ps; [  ];
-    "sensor.mysensors" = ps: with ps; [  ];
     "sensor.nederlandse_spoorwegen" = ps: with ps; [  ];
-    "sensor.nest" = ps: with ps; [  ];
-    "sensor.netatmo" = ps: with ps; [  ];
-    "sensor.netatmo_public" = ps: with ps; [  ];
+    "sensor.netatmo_public" = ps: with ps; [ aiohttp-cors ];
     "sensor.netdata" = ps: with ps; [  ];
-    "sensor.netgear_lte" = ps: with ps; [  ];
     "sensor.neurio_energy" = ps: with ps; [  ];
     "sensor.nmbs" = ps: with ps; [  ];
     "sensor.noaa_tides" = ps: with ps; [  ];
     "sensor.nsw_fuel_station" = ps: with ps; [  ];
     "sensor.nut" = ps: with ps; [  ];
     "sensor.nzbget" = ps: with ps; [  ];
-    "sensor.octoprint" = ps: with ps; [  ];
     "sensor.ohmconnect" = ps: with ps; [ defusedxml ];
     "sensor.onewire" = ps: with ps; [  ];
     "sensor.openevse" = ps: with ps; [  ];
     "sensor.openexchangerates" = ps: with ps; [  ];
     "sensor.openhardwaremonitor" = ps: with ps; [  ];
     "sensor.opensky" = ps: with ps; [  ];
-    "sensor.opentherm_gw" = ps: with ps; [  ];
     "sensor.openweathermap" = ps: with ps; [ pyowm ];
     "sensor.otp" = ps: with ps; [ pyotp ];
     "sensor.pi_hole" = ps: with ps; [  ];
-    "sensor.pilight" = ps: with ps; [  ];
     "sensor.plex" = ps: with ps; [  ];
     "sensor.pocketcasts" = ps: with ps; [  ];
-    "sensor.point" = ps: with ps; [  ];
     "sensor.pollen" = ps: with ps; [ numpy ];
     "sensor.postnl" = ps: with ps; [  ];
     "sensor.prezzibenzina" = ps: with ps; [  ];
@@ -1146,25 +1173,21 @@
     "sensor.pyload" = ps: with ps; [  ];
     "sensor.qbittorrent" = ps: with ps; [  ];
     "sensor.qnap" = ps: with ps; [  ];
-    "sensor.qwikswitch" = ps: with ps; [  ];
     "sensor.radarr" = ps: with ps; [  ];
     "sensor.rainbird" = ps: with ps; [  ];
-    "sensor.raincloud" = ps: with ps; [  ];
     "sensor.random" = ps: with ps; [  ];
     "sensor.recollect_waste" = ps: with ps; [  ];
+    "sensor.rejseplanen" = ps: with ps; [  ];
     "sensor.rest" = ps: with ps; [  ];
     "sensor.rflink" = ps: with ps; [  ];
-    "sensor.rfxtrx" = ps: with ps; [  ];
     "sensor.ring" = ps: with ps; [  ];
     "sensor.ripple" = ps: with ps; [  ];
     "sensor.rmvtransport" = ps: with ps; [  ];
     "sensor.rova" = ps: with ps; [  ];
     "sensor.rtorrent" = ps: with ps; [  ];
     "sensor.ruter" = ps: with ps; [  ];
-    "sensor.sabnzbd" = ps: with ps; [  ];
     "sensor.scrape" = ps: with ps; [ beautifulsoup4 ];
     "sensor.season" = ps: with ps; [ ephem ];
-    "sensor.sense" = ps: with ps; [  ];
     "sensor.sensehat" = ps: with ps; [  ];
     "sensor.serial" = ps: with ps; [  ];
     "sensor.serial_pm" = ps: with ps; [  ];
@@ -1174,16 +1197,13 @@
     "sensor.sigfox" = ps: with ps; [  ];
     "sensor.simulated" = ps: with ps; [  ];
     "sensor.skybeacon" = ps: with ps; [  ];
-    "sensor.skybell" = ps: with ps; [  ];
     "sensor.sleepiq" = ps: with ps; [  ];
     "sensor.sma" = ps: with ps; [  ];
-    "sensor.smappee" = ps: with ps; [  ];
     "sensor.snmp" = ps: with ps; [ pysnmp ];
     "sensor.sochain" = ps: with ps; [  ];
     "sensor.socialblade" = ps: with ps; [  ];
     "sensor.solaredge" = ps: with ps; [  ];
     "sensor.sonarr" = ps: with ps; [  ];
-    "sensor.speedtest" = ps: with ps; [ speedtest-cli ];
     "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
     "sensor.srp_energy" = ps: with ps; [  ];
@@ -1198,68 +1218,43 @@
     "sensor.synologydsm" = ps: with ps; [  ];
     "sensor.systemmonitor" = ps: with ps; [ psutil ];
     "sensor.sytadin" = ps: with ps; [ beautifulsoup4 ];
-    "sensor.tado" = ps: with ps; [  ];
-    "sensor.tahoma" = ps: with ps; [  ];
     "sensor.tank_utility" = ps: with ps; [  ];
     "sensor.tautulli" = ps: with ps; [  ];
     "sensor.tcp" = ps: with ps; [  ];
     "sensor.ted5000" = ps: with ps; [ xmltodict ];
     "sensor.teksavvy" = ps: with ps; [  ];
-    "sensor.tellduslive" = ps: with ps; [  ];
-    "sensor.tellstick" = ps: with ps; [  ];
     "sensor.temper" = ps: with ps; [  ];
     "sensor.template" = ps: with ps; [  ];
-    "sensor.tesla" = ps: with ps; [  ];
     "sensor.thermoworks_smoke" = ps: with ps; [  ];
-    "sensor.thethingsnetwork" = ps: with ps; [  ];
-    "sensor.thinkingcleaner" = ps: with ps; [  ];
-    "sensor.tibber" = ps: with ps; [  ];
     "sensor.time_date" = ps: with ps; [  ];
-    "sensor.toon" = ps: with ps; [  ];
     "sensor.torque" = ps: with ps; [ aiohttp-cors ];
-    "sensor.tradfri" = ps: with ps; [  ];
     "sensor.trafikverket_weatherstation" = ps: with ps; [  ];
-    "sensor.transmission" = ps: with ps; [ transmissionrpc ];
     "sensor.transport_nsw" = ps: with ps; [  ];
     "sensor.travisci" = ps: with ps; [  ];
     "sensor.twitch" = ps: with ps; [  ];
     "sensor.uber" = ps: with ps; [  ];
     "sensor.uk_transport" = ps: with ps; [  ];
-    "sensor.upnp" = ps: with ps; [  ];
     "sensor.ups" = ps: with ps; [  ];
     "sensor.uptime" = ps: with ps; [  ];
     "sensor.uscis" = ps: with ps; [  ];
-    "sensor.usps" = ps: with ps; [  ];
     "sensor.vasttrafik" = ps: with ps; [  ];
-    "sensor.velbus" = ps: with ps; [  ];
-    "sensor.vera" = ps: with ps; [  ];
-    "sensor.verisure" = ps: with ps; [  ];
     "sensor.version" = ps: with ps; [  ];
     "sensor.viaggiatreno" = ps: with ps; [  ];
     "sensor.volkszaehler" = ps: with ps; [  ];
-    "sensor.volvooncall" = ps: with ps; [  ];
     "sensor.vultr" = ps: with ps; [ vultr ];
     "sensor.waqi" = ps: with ps; [  ];
-    "sensor.waterfurnace" = ps: with ps; [  ];
     "sensor.waze_travel_time" = ps: with ps; [ WazeRouteCalculator ];
     "sensor.whois" = ps: with ps; [  ];
-    "sensor.wink" = ps: with ps; [  ];
-    "sensor.wirelesstag" = ps: with ps; [  ];
     "sensor.worldclock" = ps: with ps; [  ];
     "sensor.worldtidesinfo" = ps: with ps; [  ];
     "sensor.worxlandroid" = ps: with ps; [  ];
     "sensor.wsdot" = ps: with ps; [  ];
     "sensor.wunderground" = ps: with ps; [  ];
     "sensor.xbox_live" = ps: with ps; [  ];
-    "sensor.xiaomi_aqara" = ps: with ps; [  ];
-    "sensor.xiaomi_miio" = ps: with ps; [ construct ];
     "sensor.yr" = ps: with ps; [ xmltodict ];
     "sensor.yweather" = ps: with ps; [ yahooweather ];
-    "sensor.zabbix" = ps: with ps; [  ];
     "sensor.zamg" = ps: with ps; [  ];
     "sensor.zestimate" = ps: with ps; [ xmltodict ];
-    "sensor.zigbee" = ps: with ps; [  ];
-    "sensor.zwave" = ps: with ps; [  ];
     "shell_command" = ps: with ps; [  ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
     "shopping_list" = ps: with ps; [ aiohttp-cors ];
@@ -1268,223 +1263,250 @@
     "simplisafe.config_flow" = ps: with ps; [  ];
     "simplisafe.const" = ps: with ps; [  ];
     "sisyphus" = ps: with ps; [  ];
+    "sisyphus.light" = ps: with ps; [  ];
+    "sisyphus.media_player" = ps: with ps; [  ];
     "skybell" = ps: with ps; [  ];
+    "skybell.binary_sensor" = ps: with ps; [  ];
+    "skybell.camera" = ps: with ps; [  ];
+    "skybell.light" = ps: with ps; [  ];
+    "skybell.sensor" = ps: with ps; [  ];
+    "skybell.switch" = ps: with ps; [  ];
     "sleepiq" = ps: with ps; [  ];
     "smappee" = ps: with ps; [  ];
+    "smappee.sensor" = ps: with ps; [  ];
+    "smappee.switch" = ps: with ps; [  ];
     "smartthings" = ps: with ps; [ aiohttp-cors ];
     "smartthings.binary_sensor" = ps: with ps; [ aiohttp-cors ];
+    "smartthings.climate" = ps: with ps; [ aiohttp-cors ];
     "smartthings.config_flow" = ps: with ps; [  ];
     "smartthings.const" = ps: with ps; [  ];
+    "smartthings.cover" = ps: with ps; [ aiohttp-cors ];
     "smartthings.fan" = ps: with ps; [ aiohttp-cors ];
     "smartthings.light" = ps: with ps; [ aiohttp-cors ];
+    "smartthings.lock" = ps: with ps; [ aiohttp-cors ];
+    "smartthings.scene" = ps: with ps; [ aiohttp-cors ];
+    "smartthings.sensor" = ps: with ps; [ aiohttp-cors ];
     "smartthings.smartapp" = ps: with ps; [  ];
     "smartthings.switch" = ps: with ps; [ aiohttp-cors ];
     "smhi" = ps: with ps; [  ];
     "smhi.config_flow" = ps: with ps; [  ];
     "smhi.const" = ps: with ps; [  ];
+    "smhi.weather" = ps: with ps; [  ];
     "snips" = ps: with ps; [ paho-mqtt ];
     "sonos" = ps: with ps; [  ];
+    "sonos.media_player" = ps: with ps; [  ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
     "spc" = ps: with ps; [  ];
+    "speedtestdotnet" = ps: with ps; [ speedtest-cli ];
+    "speedtestdotnet.const" = ps: with ps; [  ];
+    "speedtestdotnet.sensor" = ps: with ps; [ speedtest-cli ];
     "spider" = ps: with ps; [  ];
+    "spider.climate" = ps: with ps; [  ];
+    "spider.switch" = ps: with ps; [  ];
     "splunk" = ps: with ps; [  ];
     "statsd" = ps: with ps; [ statsd ];
     "sun" = ps: with ps; [  ];
     "switch" = ps: with ps; [  ];
-    "switch.abode" = ps: with ps; [  ];
     "switch.acer_projector" = ps: with ps; [ pyserial ];
-    "switch.ads" = ps: with ps; [  ];
-    "switch.amcrest" = ps: with ps; [ ha-ffmpeg ];
-    "switch.android_ip_webcam" = ps: with ps; [  ];
     "switch.anel_pwrctrl" = ps: with ps; [  ];
-    "switch.aqualogic" = ps: with ps; [  ];
-    "switch.arduino" = ps: with ps; [  ];
     "switch.arest" = ps: with ps; [  ];
-    "switch.bbb_gpio" = ps: with ps; [  ];
     "switch.broadlink" = ps: with ps; [ broadlink ];
     "switch.command_line" = ps: with ps; [  ];
     "switch.deluge" = ps: with ps; [ deluge-client ];
     "switch.demo" = ps: with ps; [  ];
-    "switch.digital_ocean" = ps: with ps; [ digital-ocean ];
     "switch.digitalloggers" = ps: with ps; [  ];
     "switch.dlink" = ps: with ps; [  ];
-    "switch.doorbird" = ps: with ps; [  ];
-    "switch.ecoal_boiler" = ps: with ps; [  ];
     "switch.edimax" = ps: with ps; [  ];
-    "switch.edp_redy" = ps: with ps; [  ];
-    "switch.elkm1" = ps: with ps; [  ];
-    "switch.enocean" = ps: with ps; [  ];
-    "switch.eufy" = ps: with ps; [  ];
-    "switch.fibaro" = ps: with ps; [  ];
     "switch.flux" = ps: with ps; [  ];
-    "switch.fritzbox" = ps: with ps; [  ];
     "switch.fritzdect" = ps: with ps; [  ];
-    "switch.gc100" = ps: with ps; [  ];
-    "switch.hdmi_cec" = ps: with ps; [  ];
     "switch.hikvisioncam" = ps: with ps; [  ];
-    "switch.hive" = ps: with ps; [  ];
-    "switch.hlk_sw16" = ps: with ps; [  ];
-    "switch.homematic" = ps: with ps; [ pyhomematic ];
-    "switch.homematicip_cloud" = ps: with ps; [  ];
     "switch.hook" = ps: with ps; [  ];
-    "switch.hydrawise" = ps: with ps; [  ];
-    "switch.ihc" = ps: with ps; [ defusedxml ];
-    "switch.insteon" = ps: with ps; [  ];
-    "switch.isy994" = ps: with ps; [  ];
     "switch.kankun" = ps: with ps; [  ];
-    "switch.knx" = ps: with ps; [  ];
-    "switch.konnected" = ps: with ps; [ aiohttp-cors ];
-    "switch.lcn" = ps: with ps; [  ];
-    "switch.lightwave" = ps: with ps; [  ];
-    "switch.linode" = ps: with ps; [ linode-api ];
     "switch.litejet" = ps: with ps; [  ];
-    "switch.lupusec" = ps: with ps; [  ];
-    "switch.lutron" = ps: with ps; [  ];
-    "switch.lutron_caseta" = ps: with ps; [  ];
     "switch.mfi" = ps: with ps; [  ];
-    "switch.mochad" = ps: with ps; [  ];
-    "switch.modbus" = ps: with ps; [  ];
-    "switch.mysensors" = ps: with ps; [  ];
     "switch.mystrom" = ps: with ps; [  ];
-    "switch.neato" = ps: with ps; [ pybotvac ];
     "switch.netio" = ps: with ps; [ aiohttp-cors ];
     "switch.orvibo" = ps: with ps; [  ];
     "switch.pencom" = ps: with ps; [  ];
-    "switch.pilight" = ps: with ps; [  ];
     "switch.pulseaudio_loopback" = ps: with ps; [  ];
-    "switch.qwikswitch" = ps: with ps; [  ];
-    "switch.rachio" = ps: with ps; [  ];
     "switch.rainbird" = ps: with ps; [  ];
-    "switch.raincloud" = ps: with ps; [  ];
-    "switch.raspihats" = ps: with ps; [  ];
     "switch.raspyrfm" = ps: with ps; [  ];
     "switch.recswitch" = ps: with ps; [  ];
     "switch.rest" = ps: with ps; [  ];
     "switch.rflink" = ps: with ps; [  ];
-    "switch.rfxtrx" = ps: with ps; [  ];
-    "switch.rpi_gpio" = ps: with ps; [  ];
-    "switch.rpi_pfio" = ps: with ps; [  ];
     "switch.rpi_rf" = ps: with ps; [  ];
-    "switch.scsgate" = ps: with ps; [  ];
-    "switch.skybell" = ps: with ps; [  ];
-    "switch.smappee" = ps: with ps; [  ];
     "switch.snmp" = ps: with ps; [ pysnmp ];
-    "switch.spider" = ps: with ps; [  ];
+    "switch.sony_projector" = ps: with ps; [  ];
     "switch.switchbot" = ps: with ps; [  ];
     "switch.switchmate" = ps: with ps; [  ];
-    "switch.tahoma" = ps: with ps; [  ];
-    "switch.tellduslive" = ps: with ps; [  ];
-    "switch.tellstick" = ps: with ps; [  ];
     "switch.telnet" = ps: with ps; [  ];
     "switch.template" = ps: with ps; [  ];
-    "switch.tesla" = ps: with ps; [  ];
-    "switch.thinkingcleaner" = ps: with ps; [  ];
-    "switch.toon" = ps: with ps; [  ];
-    "switch.tplink" = ps: with ps; [  ];
-    "switch.tradfri" = ps: with ps; [  ];
-    "switch.transmission" = ps: with ps; [ transmissionrpc ];
-    "switch.tuya" = ps: with ps; [  ];
-    "switch.unifi" = ps: with ps; [ aiounifi ];
-    "switch.upcloud" = ps: with ps; [  ];
-    "switch.velbus" = ps: with ps; [  ];
-    "switch.vera" = ps: with ps; [  ];
-    "switch.verisure" = ps: with ps; [  ];
     "switch.vesync" = ps: with ps; [  ];
-    "switch.volvooncall" = ps: with ps; [  ];
     "switch.vultr" = ps: with ps; [ vultr ];
     "switch.wake_on_lan" = ps: with ps; [ wakeonlan ];
-    "switch.wemo" = ps: with ps; [  ];
-    "switch.wink" = ps: with ps; [  ];
-    "switch.wirelesstag" = ps: with ps; [  ];
-    "switch.xiaomi_aqara" = ps: with ps; [  ];
-    "switch.xiaomi_miio" = ps: with ps; [ construct ];
-    "switch.zigbee" = ps: with ps; [  ];
-    "switch.zwave" = ps: with ps; [  ];
     "system_health" = ps: with ps; [ aiohttp-cors ];
     "system_log" = ps: with ps; [ aiohttp-cors ];
     "tado" = ps: with ps; [  ];
+    "tado.climate" = ps: with ps; [  ];
+    "tado.device_tracker" = ps: with ps; [  ];
+    "tado.sensor" = ps: with ps; [  ];
     "tahoma" = ps: with ps; [  ];
+    "tahoma.binary_sensor" = ps: with ps; [  ];
+    "tahoma.cover" = ps: with ps; [  ];
+    "tahoma.scene" = ps: with ps; [  ];
+    "tahoma.sensor" = ps: with ps; [  ];
+    "tahoma.switch" = ps: with ps; [  ];
     "telegram_bot" = ps: with ps; [ python-telegram-bot ];
     "telegram_bot.broadcast" = ps: with ps; [  ];
     "telegram_bot.polling" = ps: with ps; [  ];
     "telegram_bot.webhooks" = ps: with ps; [ aiohttp-cors ];
     "tellduslive" = ps: with ps; [  ];
+    "tellduslive.binary_sensor" = ps: with ps; [  ];
     "tellduslive.config_flow" = ps: with ps; [  ];
     "tellduslive.const" = ps: with ps; [  ];
+    "tellduslive.cover" = ps: with ps; [  ];
     "tellduslive.entry" = ps: with ps; [  ];
+    "tellduslive.light" = ps: with ps; [  ];
+    "tellduslive.sensor" = ps: with ps; [  ];
+    "tellduslive.switch" = ps: with ps; [  ];
     "tellstick" = ps: with ps; [  ];
+    "tellstick.cover" = ps: with ps; [  ];
+    "tellstick.light" = ps: with ps; [  ];
+    "tellstick.sensor" = ps: with ps; [  ];
+    "tellstick.switch" = ps: with ps; [  ];
     "tesla" = ps: with ps; [  ];
+    "tesla.binary_sensor" = ps: with ps; [  ];
+    "tesla.climate" = ps: with ps; [  ];
+    "tesla.device_tracker" = ps: with ps; [  ];
+    "tesla.lock" = ps: with ps; [  ];
+    "tesla.sensor" = ps: with ps; [  ];
+    "tesla.switch" = ps: with ps; [  ];
     "thethingsnetwork" = ps: with ps; [  ];
+    "thethingsnetwork.sensor" = ps: with ps; [  ];
     "thingspeak" = ps: with ps; [  ];
+    "thinkingcleaner" = ps: with ps; [  ];
+    "thinkingcleaner.sensor" = ps: with ps; [  ];
+    "thinkingcleaner.switch" = ps: with ps; [  ];
     "tibber" = ps: with ps; [  ];
+    "tibber.notify" = ps: with ps; [  ];
+    "tibber.sensor" = ps: with ps; [  ];
     "timer" = ps: with ps; [  ];
     "toon" = ps: with ps; [  ];
+    "toon.binary_sensor" = ps: with ps; [  ];
+    "toon.climate" = ps: with ps; [  ];
+    "toon.config_flow" = ps: with ps; [  ];
+    "toon.const" = ps: with ps; [  ];
+    "toon.sensor" = ps: with ps; [  ];
+    "tplink" = ps: with ps; [  ];
+    "tplink.light" = ps: with ps; [  ];
+    "tplink.switch" = ps: with ps; [  ];
     "tplink_lte" = ps: with ps; [  ];
+    "tplink_lte.notify" = ps: with ps; [  ];
     "tradfri" = ps: with ps; [  ];
     "tradfri.config_flow" = ps: with ps; [  ];
     "tradfri.const" = ps: with ps; [  ];
+    "tradfri.light" = ps: with ps; [  ];
+    "tradfri.sensor" = ps: with ps; [  ];
+    "tradfri.switch" = ps: with ps; [  ];
     "transmission" = ps: with ps; [ transmissionrpc ];
+    "transmission.sensor" = ps: with ps; [ transmissionrpc ];
+    "transmission.switch" = ps: with ps; [ transmissionrpc ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
     "tts.amazon_polly" = ps: with ps; [ boto3 ];
     "tts.baidu" = ps: with ps; [  ];
     "tts.demo" = ps: with ps; [  ];
-    "tts.google" = ps: with ps; [  ];
     "tts.marytts" = ps: with ps; [  ];
     "tts.microsoft" = ps: with ps; [  ];
     "tts.picotts" = ps: with ps; [  ];
     "tts.voicerss" = ps: with ps; [  ];
     "tts.yandextts" = ps: with ps; [  ];
     "tuya" = ps: with ps; [  ];
+    "tuya.climate" = ps: with ps; [  ];
+    "tuya.cover" = ps: with ps; [  ];
+    "tuya.fan" = ps: with ps; [  ];
+    "tuya.light" = ps: with ps; [  ];
+    "tuya.scene" = ps: with ps; [  ];
+    "tuya.switch" = ps: with ps; [  ];
     "twilio" = ps: with ps; [ aiohttp-cors twilio ];
     "unifi" = ps: with ps; [ aiounifi ];
     "unifi.const" = ps: with ps; [  ];
     "unifi.controller" = ps: with ps; [  ];
     "unifi.errors" = ps: with ps; [  ];
+    "unifi.switch" = ps: with ps; [ aiounifi ];
     "upcloud" = ps: with ps; [  ];
+    "upcloud.binary_sensor" = ps: with ps; [  ];
+    "upcloud.switch" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [  ];
     "upnp.const" = ps: with ps; [  ];
     "upnp.device" = ps: with ps; [  ];
+    "upnp.sensor" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
+    "usps.camera" = ps: with ps; [  ];
+    "usps.sensor" = ps: with ps; [  ];
     "utility_meter" = ps: with ps; [  ];
     "utility_meter.const" = ps: with ps; [  ];
     "utility_meter.sensor" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
     "vacuum.demo" = ps: with ps; [  ];
     "vacuum.dyson" = ps: with ps; [  ];
-    "vacuum.ecovacs" = ps: with ps; [  ];
-    "vacuum.neato" = ps: with ps; [ pybotvac ];
     "vacuum.roomba" = ps: with ps; [  ];
-    "vacuum.xiaomi_miio" = ps: with ps; [ construct ];
     "velbus" = ps: with ps; [  ];
+    "velbus.binary_sensor" = ps: with ps; [  ];
+    "velbus.climate" = ps: with ps; [  ];
+    "velbus.cover" = ps: with ps; [  ];
+    "velbus.sensor" = ps: with ps; [  ];
+    "velbus.switch" = ps: with ps; [  ];
     "velux" = ps: with ps; [  ];
+    "velux.cover" = ps: with ps; [  ];
+    "velux.scene" = ps: with ps; [  ];
     "vera" = ps: with ps; [  ];
+    "vera.binary_sensor" = ps: with ps; [  ];
+    "vera.climate" = ps: with ps; [  ];
+    "vera.cover" = ps: with ps; [  ];
+    "vera.light" = ps: with ps; [  ];
+    "vera.lock" = ps: with ps; [  ];
+    "vera.scene" = ps: with ps; [  ];
+    "vera.sensor" = ps: with ps; [  ];
+    "vera.switch" = ps: with ps; [  ];
     "verisure" = ps: with ps; [  ];
+    "verisure.alarm_control_panel" = ps: with ps; [  ];
+    "verisure.binary_sensor" = ps: with ps; [  ];
+    "verisure.camera" = ps: with ps; [  ];
+    "verisure.lock" = ps: with ps; [  ];
+    "verisure.sensor" = ps: with ps; [  ];
+    "verisure.switch" = ps: with ps; [  ];
     "volvooncall" = ps: with ps; [  ];
+    "volvooncall.binary_sensor" = ps: with ps; [  ];
+    "volvooncall.device_tracker" = ps: with ps; [  ];
+    "volvooncall.lock" = ps: with ps; [  ];
+    "volvooncall.sensor" = ps: with ps; [  ];
+    "volvooncall.switch" = ps: with ps; [  ];
     "vultr" = ps: with ps; [ vultr ];
     "w800rf32" = ps: with ps; [  ];
+    "w800rf32.binary_sensor" = ps: with ps; [  ];
     "wake_on_lan" = ps: with ps; [ wakeonlan ];
     "water_heater" = ps: with ps; [  ];
     "water_heater.demo" = ps: with ps; [  ];
     "water_heater.econet" = ps: with ps; [  ];
-    "water_heater.wink" = ps: with ps; [  ];
     "waterfurnace" = ps: with ps; [  ];
+    "waterfurnace.sensor" = ps: with ps; [  ];
     "watson_iot" = ps: with ps; [  ];
     "weather" = ps: with ps; [  ];
     "weather.bom" = ps: with ps; [  ];
     "weather.buienradar" = ps: with ps; [  ];
     "weather.darksky" = ps: with ps; [ python-forecastio ];
     "weather.demo" = ps: with ps; [  ];
-    "weather.ecobee" = ps: with ps; [  ];
-    "weather.ipma" = ps: with ps; [  ];
     "weather.met" = ps: with ps; [  ];
     "weather.metoffice" = ps: with ps; [  ];
     "weather.openweathermap" = ps: with ps; [ pyowm ];
-    "weather.smhi" = ps: with ps; [  ];
     "weather.yweather" = ps: with ps; [ yahooweather ];
     "weather.zamg" = ps: with ps; [  ];
     "webhook" = ps: with ps; [ aiohttp-cors ];
     "weblink" = ps: with ps; [  ];
+    "webostv" = ps: with ps; [  ];
+    "webostv.media_player" = ps: with ps; [ websockets ];
+    "webostv.notify" = ps: with ps; [  ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
     "websocket_api.auth" = ps: with ps; [  ];
     "websocket_api.commands" = ps: with ps; [  ];
@@ -1495,11 +1517,48 @@
     "websocket_api.http" = ps: with ps; [  ];
     "websocket_api.messages" = ps: with ps; [  ];
     "wemo" = ps: with ps; [  ];
+    "wemo.binary_sensor" = ps: with ps; [  ];
+    "wemo.fan" = ps: with ps; [  ];
+    "wemo.light" = ps: with ps; [  ];
+    "wemo.switch" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
+    "wink.alarm_control_panel" = ps: with ps; [  ];
+    "wink.binary_sensor" = ps: with ps; [  ];
+    "wink.climate" = ps: with ps; [  ];
+    "wink.cover" = ps: with ps; [  ];
+    "wink.fan" = ps: with ps; [  ];
+    "wink.light" = ps: with ps; [  ];
+    "wink.lock" = ps: with ps; [  ];
+    "wink.scene" = ps: with ps; [  ];
+    "wink.sensor" = ps: with ps; [  ];
+    "wink.switch" = ps: with ps; [  ];
+    "wink.water_heater" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
+    "wirelesstag.binary_sensor" = ps: with ps; [  ];
+    "wirelesstag.sensor" = ps: with ps; [  ];
+    "wirelesstag.switch" = ps: with ps; [  ];
     "wunderlist" = ps: with ps; [  ];
     "xiaomi_aqara" = ps: with ps; [  ];
+    "xiaomi_aqara.binary_sensor" = ps: with ps; [  ];
+    "xiaomi_aqara.cover" = ps: with ps; [  ];
+    "xiaomi_aqara.light" = ps: with ps; [  ];
+    "xiaomi_aqara.lock" = ps: with ps; [  ];
+    "xiaomi_aqara.sensor" = ps: with ps; [  ];
+    "xiaomi_aqara.switch" = ps: with ps; [  ];
+    "xiaomi_miio" = ps: with ps; [  ];
+    "xiaomi_miio.device_tracker" = ps: with ps; [ construct ];
+    "xiaomi_miio.fan" = ps: with ps; [ construct ];
+    "xiaomi_miio.light" = ps: with ps; [ construct ];
+    "xiaomi_miio.remote" = ps: with ps; [ construct ];
+    "xiaomi_miio.sensor" = ps: with ps; [ construct ];
+    "xiaomi_miio.switch" = ps: with ps; [ construct ];
+    "xiaomi_miio.vacuum" = ps: with ps; [ construct ];
+    "xs1" = ps: with ps; [  ];
+    "xs1.climate" = ps: with ps; [  ];
+    "xs1.sensor" = ps: with ps; [  ];
+    "xs1.switch" = ps: with ps; [  ];
     "zabbix" = ps: with ps; [  ];
+    "zabbix.sensor" = ps: with ps; [  ];
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
     "zha" = ps: with ps; [  ];
     "zha.api" = ps: with ps; [  ];
@@ -1509,12 +1568,15 @@
     "zha.core" = ps: with ps; [  ];
     "zha.device_entity" = ps: with ps; [  ];
     "zha.entity" = ps: with ps; [  ];
-    "zha.event" = ps: with ps; [  ];
     "zha.fan" = ps: with ps; [  ];
     "zha.light" = ps: with ps; [  ];
     "zha.sensor" = ps: with ps; [  ];
     "zha.switch" = ps: with ps; [  ];
     "zigbee" = ps: with ps; [  ];
+    "zigbee.binary_sensor" = ps: with ps; [  ];
+    "zigbee.light" = ps: with ps; [  ];
+    "zigbee.sensor" = ps: with ps; [  ];
+    "zigbee.switch" = ps: with ps; [  ];
     "zone" = ps: with ps; [  ];
     "zone.config_flow" = ps: with ps; [  ];
     "zone.const" = ps: with ps; [  ];
@@ -1525,10 +1587,18 @@
     "zoneminder.sensor" = ps: with ps; [ zm-py ];
     "zoneminder.switch" = ps: with ps; [ zm-py ];
     "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher ];
+    "zwave.binary_sensor" = ps: with ps; [  ];
+    "zwave.climate" = ps: with ps; [  ];
     "zwave.config_flow" = ps: with ps; [  ];
     "zwave.const" = ps: with ps; [  ];
+    "zwave.cover" = ps: with ps; [  ];
     "zwave.discovery_schemas" = ps: with ps; [  ];
+    "zwave.fan" = ps: with ps; [  ];
+    "zwave.light" = ps: with ps; [  ];
+    "zwave.lock" = ps: with ps; [  ];
     "zwave.node_entity" = ps: with ps; [  ];
+    "zwave.sensor" = ps: with ps; [  ];
+    "zwave.switch" = ps: with ps; [  ];
     "zwave.util" = ps: with ps; [  ];
     "zwave.workaround" = ps: with ps; [  ];
   };