nixpkgs/pkgs/servers/home-assistant/component-packages.nix
2021-08-11 12:54:15 +02:00

1012 lines
53 KiB
Nix

# Generated by parse-requirements.py
# Do not edit!
{
version = "2021.8.6";
components = {
"abode" = ps: with ps; [ abodepy ];
"accuweather" = ps: with ps; [ accuweather ];
"acer_projector" = ps: with ps; [ pyserial ];
"acmeda" = ps: with ps; [ aiopulse ];
"actiontec" = ps: with ps; [ ];
"adax" = ps: with ps; [ adax ];
"adguard" = ps: with ps; [ adguardhome ];
"ads" = ps: with ps; [ pyads ];
"advantage_air" = ps: with ps; [ advantage-air ];
"aemet" = ps: with ps; [ aemet-opendata ];
"aftership" = ps: with ps; [ pyaftership ];
"agent_dvr" = ps: with ps; [ agent-py ];
"air_quality" = ps: with ps; [ ];
"airly" = ps: with ps; [ airly ];
"airnow" = ps: with ps; [ pyairnow ];
"airvisual" = ps: with ps; [ pyairvisual ];
"aladdin_connect" = ps: with ps; [ aladdin-connect ];
"alarm_control_panel" = ps: with ps; [ ];
"alarmdecoder" = ps: with ps; [ adext ];
"alert" = ps: with ps; [ ];
"alexa" = ps: with ps; [ aiohttp-cors ];
"almond" = ps: with ps; [ aiohttp-cors pyalmond ];
"alpha_vantage" = ps: with ps; [ alpha-vantage ];
"amazon_polly" = ps: with ps; [ boto3 ];
"ambee" = ps: with ps; [ ambee ];
"ambiclimate" = ps: with ps; [ aiohttp-cors ambiclimate ];
"ambient_station" = ps: with ps; [ aioambient ];
"amcrest" = ps: with ps; [ amcrest ha-ffmpeg ];
"ampio" = ps: with ps; [ ]; # missing inputs: asmog
"analytics" = ps: with ps; [ aiohttp-cors sqlalchemy ];
"android_ip_webcam" = ps: with ps; [ pydroid-ipcam ];
"androidtv" = ps: with ps; [ adb-shell androidtv pure-python-adb ];
"anel_pwrctrl" = ps: with ps; [ ]; # missing inputs: anel_pwrctrl-homeassistant
"anthemav" = ps: with ps; [ ]; # missing inputs: anthemav
"apache_kafka" = ps: with ps; [ aiokafka ];
"apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
"api" = ps: with ps; [ aiohttp-cors ];
"apns" = ps: with ps; [ ]; # missing inputs: apns2
"apple_tv" = ps: with ps; [ aiohttp-cors ifaddr netdisco pyatv zeroconf ];
"apprise" = ps: with ps; [ apprise ];
"aprs" = ps: with ps; [ aprslib geopy ];
"aqualogic" = ps: with ps; [ aqualogic ];
"aquostv" = ps: with ps; [ ]; # missing inputs: sharp_aquos_rc
"arcam_fmj" = ps: with ps; [ arcam-fmj ];
"arduino" = ps: with ps; [ ]; # missing inputs: PyMata
"arest" = ps: with ps; [ ];
"arlo" = ps: with ps; [ ha-ffmpeg pyarlo ];
"arris_tg2492lg" = ps: with ps; [ ]; # missing inputs: arris-tg2492lg
"aruba" = ps: with ps; [ pexpect ];
"arwn" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
"asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
"asuswrt" = ps: with ps; [ aioasuswrt ];
"atag" = ps: with ps; [ pyatag ];
"aten_pe" = ps: with ps; [ atenpdu ];
"atome" = ps: with ps; [ ]; # missing inputs: pyatome
"august" = ps: with ps; [ yalexs ];
"aurora" = ps: with ps; [ auroranoaa ];
"aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
"auth" = ps: with ps; [ aiohttp-cors ];
"automation" = ps: with ps; [ aiohttp-cors ];
"avea" = ps: with ps; [ avea ];
"avion" = ps: with ps; [ avion ];
"awair" = ps: with ps; [ python-awair ];
"aws" = ps: with ps; [ aiobotocore ];
"axis" = ps: with ps; [ aiohttp-cors axis paho-mqtt ];
"azure_devops" = ps: with ps; [ aioazuredevops ];
"azure_event_hub" = ps: with ps; [ azure-eventhub ];
"azure_service_bus" = ps: with ps; [ azure-servicebus ];
"baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip
"bayesian" = ps: with ps; [ ];
"bbb_gpio" = ps: with ps; [ ]; # missing inputs: Adafruit_BBIO
"bbox" = ps: with ps; [ ]; # missing inputs: pybbox
"beewi_smartclim" = ps: with ps; [ ]; # missing inputs: beewi_smartclim
"bh1750" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
"binary_sensor" = ps: with ps; [ ];
"bitcoin" = ps: with ps; [ blockchain ];
"bizkaibus" = ps: with ps; [ bizkaibus ];
"blackbird" = ps: with ps; [ pyblackbird ];
"blebox" = ps: with ps; [ blebox-uniapi ];
"blink" = ps: with ps; [ blinkpy ];
"blinksticklight" = ps: with ps; [ BlinkStick ];
"blinkt" = ps: with ps; [ ]; # missing inputs: blinkt
"blockchain" = ps: with ps; [ ]; # missing inputs: python-blockchain-api
"bloomsky" = ps: with ps; [ ];
"blueprint" = ps: with ps; [ ];
"bluesound" = ps: with ps; [ xmltodict ];
"bluetooth_le_tracker" = ps: with ps; [ pygatt ];
"bluetooth_tracker" = ps: with ps; [ bt-proximity pybluez ];
"bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: bme280spi i2csense
"bme680" = ps: with ps; [ bme680 smbus-cffi ];
"bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
"bmw_connected_drive" = ps: with ps; [ bimmer-connected ];
"bond" = ps: with ps; [ bond-api ];
"bosch_shc" = ps: with ps; [ aiohttp-cors boschshcpy ifaddr zeroconf ];
"braviatv" = ps: with ps; [ bravia-tv ];
"broadlink" = ps: with ps; [ broadlink ];
"brother" = ps: with ps; [ brother ];
"brottsplatskartan" = ps: with ps; [ brottsplatskartan ];
"browser" = ps: with ps; [ ];
"brunt" = ps: with ps; [ ]; # missing inputs: brunt
"bsblan" = ps: with ps; [ bsblan ];
"bt_home_hub_5" = ps: with ps; [ ]; # missing inputs: bthomehub5-devicelist
"bt_smarthub" = ps: with ps; [ ]; # missing inputs: btsmarthub_devicelist
"buienradar" = ps: with ps; [ buienradar ];
"caldav" = ps: with ps; [ caldav ];
"calendar" = ps: with ps; [ aiohttp-cors ];
"camera" = ps: with ps; [ aiohttp-cors ];
"canary" = ps: with ps; [ ha-ffmpeg py-canary ];
"cast" = ps: with ps; [ aiohttp-cors hass-nabucasa ifaddr mutagen plexapi plexauth plexwebsocket PyChromecast zeroconf ];
"cert_expiry" = ps: with ps; [ ];
"channels" = ps: with ps; [ pychannels ];
"circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
"cisco_ios" = ps: with ps; [ pexpect ];
"cisco_mobility_express" = ps: with ps; [ ciscomobilityexpress ];
"cisco_webex_teams" = ps: with ps; [ webexteamssdk ];
"citybikes" = ps: with ps; [ ];
"clementine" = ps: with ps; [ ]; # missing inputs: python-clementine-remote
"clickatell" = ps: with ps; [ ];
"clicksend" = ps: with ps; [ ];
"clicksend_tts" = ps: with ps; [ ];
"climacell" = ps: with ps; [ pyclimacell ];
"climate" = ps: with ps; [ ];
"cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa ];
"cloudflare" = ps: with ps; [ pycfdns ];
"cmus" = ps: with ps; [ ]; # missing inputs: pycmus
"co2signal" = ps: with ps; [ ]; # missing inputs: co2signal
"coinbase" = ps: with ps; [ ]; # missing inputs: coinbase
"color_extractor" = ps: with ps; [ colorthief ];
"comed_hourly_pricing" = ps: with ps; [ ];
"comfoconnect" = ps: with ps; [ pycomfoconnect ];
"command_line" = ps: with ps; [ ];
"compensation" = ps: with ps; [ numpy ];
"concord232" = ps: with ps; [ ]; # missing inputs: concord232
"config" = ps: with ps; [ aiohttp-cors ];
"configurator" = ps: with ps; [ ];
"control4" = ps: with ps; [ pycontrol4 ];
"conversation" = ps: with ps; [ aiohttp-cors ];
"coolmaster" = ps: with ps; [ pycoolmasternet-async ];
"coronavirus" = ps: with ps; [ coronavirus ];
"counter" = ps: with ps; [ ];
"cover" = ps: with ps; [ ];
"cppm_tracker" = ps: with ps; [ ]; # missing inputs: clearpasspy
"cpuspeed" = ps: with ps; [ py-cpuinfo ];
"cups" = ps: with ps; [ pycups ];
"currencylayer" = ps: with ps; [ ];
"daikin" = ps: with ps; [ pydaikin ];
"danfoss_air" = ps: with ps; [ pydanfossair ];
"darksky" = ps: with ps; [ python-forecastio ];
"datadog" = ps: with ps; [ datadog ];
"ddwrt" = ps: with ps; [ ];
"debugpy" = ps: with ps; [ debugpy ];
"deconz" = ps: with ps; [ pydeconz ];
"decora" = ps: with ps; [ bluepy ]; # missing inputs: decora
"decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi
"default_config" = ps: with ps; [ pynacl aiodiscover aiohttp-cors async-upnp-client defusedxml distro emoji hass-nabucasa home-assistant-frontend ifaddr pillow scapy sqlalchemy zeroconf ];
"delijn" = ps: with ps; [ pydelijn ];
"deluge" = ps: with ps; [ deluge-client ];
"demo" = ps: with ps; [ aiohttp-cors ];
"denon" = ps: with ps; [ ];
"denonavr" = ps: with ps; [ denonavr ];
"derivative" = ps: with ps; [ ];
"deutsche_bahn" = ps: with ps; [ schiene ];
"device_automation" = ps: with ps; [ ];
"device_sun_light_trigger" = ps: with ps; [ aiohttp-cors pillow ];
"device_tracker" = ps: with ps; [ ];
"devolo_home_control" = ps: with ps; [ aiohttp-cors devolo-home-control-api ifaddr zeroconf ];
"dexcom" = ps: with ps; [ pydexcom ];
"dhcp" = ps: with ps; [ aiodiscover scapy ];
"dht" = ps: with ps; [ ]; # missing inputs: adafruit-circuitpython-dht
"dialogflow" = ps: with ps; [ aiohttp-cors ];
"digital_ocean" = ps: with ps; [ digital-ocean ];
"digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower
"directv" = ps: with ps; [ directv ];
"discogs" = ps: with ps; [ discogs-client ];
"discord" = ps: with ps; [ discordpy ];
"discovery" = ps: with ps; [ aiohttp-cors ifaddr netdisco zeroconf ];
"dlib_face_detect" = ps: with ps; [ face_recognition ];
"dlib_face_identify" = ps: with ps; [ face_recognition ];
"dlink" = ps: with ps; [ ]; # missing inputs: pyW215
"dlna_dmr" = ps: with ps; [ aiohttp-cors async-upnp-client ifaddr ];
"dnsip" = ps: with ps; [ aiodns ];
"dominos" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pizzapi
"doods" = ps: with ps; [ pillow ]; # missing inputs: pydoods
"doorbird" = ps: with ps; [ aiohttp-cors doorbirdpy ];
"dovado" = ps: with ps; [ ]; # missing inputs: dovado
"downloader" = ps: with ps; [ ];
"dsmr" = ps: with ps; [ dsmr-parser ];
"dsmr_reader" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"dte_energy_bridge" = ps: with ps; [ ];
"dublin_bus_transport" = ps: with ps; [ ];
"duckdns" = ps: with ps; [ ];
"dunehd" = ps: with ps; [ pdunehd ];
"dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ];
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
"dyson" = ps: with ps; [ aiohttp-cors ifaddr libpurecool zeroconf ];
"eafm" = ps: with ps; [ aioeafm ];
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
"ecoal_boiler" = ps: with ps; [ ecoaliface ];
"ecobee" = ps: with ps; [ python-ecobee-api ];
"econet" = ps: with ps; [ pyeconet ];
"ecovacs" = ps: with ps; [ ]; # missing inputs: sucks
"eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
"edimax" = ps: with ps; [ pyedimax ];
"edl21" = ps: with ps; [ pysml ];
"ee_brightbox" = ps: with ps; [ eebrightbox ];
"efergy" = ps: with ps; [ ];
"egardia" = ps: with ps; [ pythonegardia ];
"eight_sleep" = ps: with ps; [ pyeight ];
"elgato" = ps: with ps; [ elgato ];
"eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
"elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
"elv" = ps: with ps; [ pypca ];
"emby" = ps: with ps; [ pyemby ];
"emoncms" = ps: with ps; [ ];
"emoncms_history" = ps: with ps; [ ];
"emonitor" = ps: with ps; [ aioemonitor ];
"emulated_hue" = ps: with ps; [ aiohttp-cors ];
"emulated_kasa" = ps: with ps; [ sense-energy ];
"emulated_roku" = ps: with ps; [ aiohttp-cors emulated-roku ifaddr ];
"energy" = ps: with ps; [ aiohttp-cors sqlalchemy ];
"enigma2" = ps: with ps; [ openwebifpy ];
"enocean" = ps: with ps; [ enocean ];
"enphase_envoy" = ps: with ps; [ envoy-reader ];
"entur_public_transport" = ps: with ps; [ enturclient ];
"environment_canada" = ps: with ps; [ env-canada ];
"envirophat" = ps: with ps; [ smbus-cffi ]; # missing inputs: envirophat
"envisalink" = ps: with ps; [ pyenvisalink ];
"ephember" = ps: with ps; [ ]; # missing inputs: pyephember
"epson" = ps: with ps; [ epson-projector ];
"epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter
"eq3btsmart" = ps: with ps; [ construct ]; # missing inputs: python-eq3bt
"esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors ifaddr zeroconf ];
"essent" = ps: with ps; [ ]; # missing inputs: PyEssent
"etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api
"eufy" = ps: with ps; [ ]; # missing inputs: lakeside
"everlights" = ps: with ps; [ pyeverlights ];
"evohome" = ps: with ps; [ evohome-async ];
"ezviz" = ps: with ps; [ ha-ffmpeg pyezviz ];
"faa_delays" = ps: with ps; [ faadelays ];
"facebook" = ps: with ps; [ ];
"facebox" = ps: with ps; [ ];
"fail2ban" = ps: with ps; [ ];
"familyhub" = ps: with ps; [ ]; # missing inputs: python-family-hub-local
"fan" = ps: with ps; [ ];
"fastdotcom" = ps: with ps; [ ]; # missing inputs: fastdotcom
"feedreader" = ps: with ps; [ feedparser ];
"ffmpeg" = ps: with ps; [ ha-ffmpeg ];
"ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
"ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
"fibaro" = ps: with ps; [ ]; # missing inputs: fiblary3
"fido" = ps: with ps; [ pyfido ];
"file" = ps: with ps; [ ];
"filesize" = ps: with ps; [ ];
"filter" = ps: with ps; [ sqlalchemy ];
"fints" = ps: with ps; [ fints ];
"fireservicerota" = ps: with ps; [ pyfireservicerota ];
"firmata" = ps: with ps; [ pymata-express ];
"fitbit" = ps: with ps; [ aiohttp-cors fitbit ];
"fixer" = ps: with ps; [ fixerio ];
"fleetgo" = ps: with ps; [ ]; # missing inputs: ritassist
"flexit" = ps: with ps; [ pymodbus ]; # missing inputs: pyflexit
"flic" = ps: with ps; [ pyflic ];
"flick_electric" = ps: with ps; [ pyflick ];
"flipr" = ps: with ps; [ ]; # missing inputs: flipr-api
"flo" = ps: with ps; [ aioflo ];
"flock" = ps: with ps; [ ];
"flume" = ps: with ps; [ pyflume ];
"flunearyou" = ps: with ps; [ pyflunearyou ];
"flux" = ps: with ps; [ ];
"flux_led" = ps: with ps; [ flux-led ];
"folder" = ps: with ps; [ ];
"folder_watcher" = ps: with ps; [ watchdog ];
"foobot" = ps: with ps; [ foobot-async ];
"forecast_solar" = ps: with ps; [ forecast-solar ];
"forked_daapd" = ps: with ps; [ ]; # missing inputs: pyforked-daapd pylibrespot-java
"fortios" = ps: with ps; [ fortiosapi ];
"foscam" = ps: with ps; [ libpyfoscam ];
"foursquare" = ps: with ps; [ aiohttp-cors ];
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
"freebox" = ps: with ps; [ freebox-api ];
"freedns" = ps: with ps; [ ];
"freedompro" = ps: with ps; [ pyfreedompro ];
"fritz" = ps: with ps; [ aiohttp-cors fritzconnection ifaddr xmltodict ];
"fritzbox" = ps: with ps; [ pyfritzhome ];
"fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
"fronius" = ps: with ps; [ pyfronius ];
"frontend" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi
"futurenow" = ps: with ps; [ pyfnip ];
"garadget" = ps: with ps; [ ];
"garages_amsterdam" = ps: with ps; [ garages-amsterdam ];
"gc100" = ps: with ps; [ ]; # missing inputs: python-gc100
"gdacs" = ps: with ps; [ aio-georss-gdacs ];
"generic" = ps: with ps; [ ];
"generic_hygrostat" = ps: with ps; [ ];
"generic_thermostat" = ps: with ps; [ sqlalchemy ];
"geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client
"geo_json_events" = ps: with ps; [ geojson-client ];
"geo_location" = ps: with ps; [ ];
"geo_rss_events" = ps: with ps; [ georss-generic-client ];
"geofency" = ps: with ps; [ aiohttp-cors ];
"geonetnz_quakes" = ps: with ps; [ aio-geojson-geonetnz-quakes ];
"geonetnz_volcano" = ps: with ps; [ aio-geojson-geonetnz-volcano ];
"gios" = ps: with ps; [ gios ];
"github" = ps: with ps; [ PyGithub ];
"gitlab_ci" = ps: with ps; [ python-gitlab ];
"gitter" = ps: with ps; [ ]; # missing inputs: gitterpy
"glances" = ps: with ps; [ glances-api ];
"gntp" = ps: with ps; [ gntp ];
"goalfeed" = ps: with ps; [ ]; # missing inputs: pysher
"goalzero" = ps: with ps; [ goalzero ];
"gogogate2" = ps: with ps; [ ismartgate ];
"google" = ps: with ps; [ google-api-python-client httplib2 oauth2client ];
"google_assistant" = ps: with ps; [ aiohttp-cors ];
"google_cloud" = ps: with ps; [ google-cloud-texttospeech ];
"google_domains" = ps: with ps; [ ];
"google_maps" = ps: with ps; [ locationsharinglib ];
"google_pubsub" = ps: with ps; [ google-cloud-pubsub ];
"google_translate" = ps: with ps; [ gtts ];
"google_travel_time" = ps: with ps; [ googlemaps ];
"google_wifi" = ps: with ps; [ ];
"gpmdp" = ps: with ps; [ websocket-client ];
"gpsd" = ps: with ps; [ gps3 ];
"gpslogger" = ps: with ps; [ aiohttp-cors ];
"graphite" = ps: with ps; [ ];
"gree" = ps: with ps; [ greeclimate ];
"greeneye_monitor" = ps: with ps; [ ]; # missing inputs: greeneye_monitor
"greenwave" = ps: with ps; [ ]; # missing inputs: greenwavereality
"group" = ps: with ps; [ ];
"growatt_server" = ps: with ps; [ growattserver ];
"gstreamer" = ps: with ps; [ ]; # missing inputs: gstreamer-player
"gtfs" = ps: with ps; [ pygtfs ];
"guardian" = ps: with ps; [ aioguardian ];
"habitica" = ps: with ps; [ habitipy ];
"hangouts" = ps: with ps; [ hangups ];
"harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
"harmony" = ps: with ps; [ aioharmony ];
"hassio" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"haveibeenpwned" = ps: with ps; [ ];
"hddtemp" = ps: with ps; [ ];
"hdmi_cec" = ps: with ps; [ pycec ];
"heatmiser" = ps: with ps; [ ]; # missing inputs: heatmiserV3
"heos" = ps: with ps; [ pyheos ];
"here_travel_time" = ps: with ps; [ herepy ];
"hikvision" = ps: with ps; [ ]; # missing inputs: pyhik
"hikvisioncam" = ps: with ps; [ hikvision ];
"hisense_aehw4a1" = ps: with ps; [ pyaehw4a1 ];
"history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
"history_stats" = ps: with ps; [ sqlalchemy ];
"hitron_coda" = ps: with ps; [ ];
"hive" = ps: with ps; [ pyhiveapi ];
"hlk_sw16" = ps: with ps; [ hlk-sw16 ];
"home_connect" = ps: with ps; [ aiohttp-cors homeconnect ];
"home_plus_control" = ps: with ps; [ aiohttp-cors homepluscontrol ];
"homeassistant" = ps: with ps; [ ];
"homekit" = ps: with ps; [ hap-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg ifaddr zeroconf ];
"homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors ifaddr zeroconf ];
"homematic" = ps: with ps; [ pyhomematic ];
"homematicip_cloud" = ps: with ps; [ homematicip ];
"homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks
"honeywell" = ps: with ps; [ somecomfort ];
"horizon" = ps: with ps; [ ]; # missing inputs: horimote
"hp_ilo" = ps: with ps; [ python-hpilo ];
"html5" = ps: with ps; [ aiohttp-cors pywebpush ];
"http" = ps: with ps; [ aiohttp-cors ];
"htu21d" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
"huawei_lte" = ps: with ps; [ huawei-lte-api stringcase url-normalize ];
"huawei_router" = ps: with ps; [ ];
"hue" = ps: with ps; [ aiohue ];
"huisbaasje" = ps: with ps; [ huisbaasje-client ];
"humidifier" = ps: with ps; [ ];
"hunterdouglas_powerview" = ps: with ps; [ ]; # missing inputs: aiopvapi
"hvv_departures" = ps: with ps; [ pygti ];
"hydrawise" = ps: with ps; [ hydrawiser ];
"hyperion" = ps: with ps; [ hyperion-py ];
"ialarm" = ps: with ps; [ pyialarm ];
"iammeter" = ps: with ps; [ ]; # missing inputs: iammeter
"iaqualink" = ps: with ps; [ iaqualink ];
"icloud" = ps: with ps; [ pyicloud ];
"idteck_prox" = ps: with ps; [ ]; # missing inputs: rfk101py
"ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
"iglo" = ps: with ps; [ ]; # missing inputs: iglo
"ign_sismologia" = ps: with ps; [ georss-ign-sismologia-client ];
"ihc" = ps: with ps; [ defusedxml ]; # missing inputs: ihcsdk
"image" = ps: with ps; [ aiohttp-cors pillow ];
"image_processing" = ps: with ps; [ aiohttp-cors ];
"imap" = ps: with ps; [ aioimaplib ];
"imap_email_content" = ps: with ps; [ ];
"incomfort" = ps: with ps; [ incomfort-client ];
"influxdb" = ps: with ps; [ influxdb-client influxdb ];
"input_boolean" = ps: with ps; [ ];
"input_datetime" = ps: with ps; [ ];
"input_number" = ps: with ps; [ ];
"input_select" = ps: with ps; [ ];
"input_text" = ps: with ps; [ ];
"insteon" = ps: with ps; [ pyinsteon ];
"integration" = ps: with ps; [ ];
"intent" = ps: with ps; [ aiohttp-cors ];
"intent_script" = ps: with ps; [ ];
"intesishome" = ps: with ps; [ pyintesishome ];
"ios" = ps: with ps; [ aiohttp-cors ifaddr zeroconf ];
"iota" = ps: with ps; [ ]; # missing inputs: pyota
"iperf3" = ps: with ps; [ ]; # missing inputs: iperf3
"ipma" = ps: with ps; [ pyipma ];
"ipp" = ps: with ps; [ pyipp ];
"iqvia" = ps: with ps; [ numpy pyiqvia ];
"irish_rail_transport" = ps: with ps; [ ]; # missing inputs: pyirishrail
"islamic_prayer_times" = ps: with ps; [ prayer-times-calculator ];
"iss" = ps: with ps; [ ]; # missing inputs: pyiss
"isy994" = ps: with ps; [ pyisy ];
"itach" = ps: with ps; [ ]; # missing inputs: pyitachip2ir
"itunes" = ps: with ps; [ ];
"izone" = ps: with ps; [ python-izone ];
"jewish_calendar" = ps: with ps; [ hdate ];
"joaoapps_join" = ps: with ps; [ ]; # missing inputs: python-join-api
"juicenet" = ps: with ps; [ python-juicenet ];
"kaiterra" = ps: with ps; [ ]; # missing inputs: kaiterra-async-client
"kankun" = ps: with ps; [ ];
"keba" = ps: with ps; [ ]; # missing inputs: keba-kecontact
"keenetic_ndms2" = ps: with ps; [ ndms2-client ];
"kef" = ps: with ps; [ aiokef getmac ];
"keyboard" = ps: with ps; [ ]; # missing inputs: pyuserinput
"keyboard_remote" = ps: with ps; [ aionotify evdev ];
"kira" = ps: with ps; [ pykira ];
"kiwi" = ps: with ps; [ ]; # missing inputs: kiwiki-client
"kmtronic" = ps: with ps; [ pykmtronic ];
"knx" = ps: with ps; [ xknx ];
"kodi" = ps: with ps; [ pykodi ];
"konnected" = ps: with ps; [ aiohttp-cors konnected ];
"kostal_plenticore" = ps: with ps; [ ]; # missing inputs: kostal_plenticore
"kraken" = ps: with ps; [ krakenex pykrakenapi ];
"kulersky" = ps: with ps; [ pykulersky ];
"kwb" = ps: with ps; [ ]; # missing inputs: pykwb
"lacrosse" = ps: with ps; [ pylacrosse ];
"lametric" = ps: with ps; [ lmnotify ];
"lannouncer" = ps: with ps; [ ];
"lastfm" = ps: with ps; [ pylast ];
"launch_library" = ps: with ps; [ ]; # missing inputs: pylaunches
"lcn" = ps: with ps; [ pypck ];
"lg_netcast" = ps: with ps; [ ]; # missing inputs: pylgnetcast
"lg_soundbar" = ps: with ps; [ ]; # missing inputs: temescal
"life360" = ps: with ps; [ ]; # missing inputs: life360
"lifx" = ps: with ps; [ aiolifx aiolifx-effects ];
"lifx_cloud" = ps: with ps; [ ];
"light" = ps: with ps; [ ];
"lightwave" = ps: with ps; [ ]; # missing inputs: lightwave
"limitlessled" = ps: with ps; [ limitlessled ];
"linksys_smart" = ps: with ps; [ ];
"linode" = ps: with ps; [ linode-api ];
"linux_battery" = ps: with ps; [ batinfo ];
"lirc" = ps: with ps; [ ]; # missing inputs: python-lirc
"litejet" = ps: with ps; [ ]; # missing inputs: pylitejet
"litterrobot" = ps: with ps; [ pylitterbot ];
"llamalab_automate" = ps: with ps; [ ];
"local_file" = ps: with ps; [ ];
"local_ip" = ps: with ps; [ aiohttp-cors ifaddr ];
"locative" = ps: with ps; [ aiohttp-cors ];
"lock" = ps: with ps; [ ];
"logbook" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"logentries" = ps: with ps; [ ];
"logger" = ps: with ps; [ ];
"logi_circle" = ps: with ps; [ aiohttp-cors ha-ffmpeg ]; # missing inputs: logi_circle
"london_air" = ps: with ps; [ ];
"london_underground" = ps: with ps; [ ]; # missing inputs: london-tube-status
"loopenergy" = ps: with ps; [ ]; # missing inputs: pyloopenergy
"lovelace" = ps: with ps; [ ];
"luci" = ps: with ps; [ openwrt-luci-rpc ];
"luftdaten" = ps: with ps; [ luftdaten ];
"lupusec" = ps: with ps; [ ]; # missing inputs: lupupy
"lutron" = ps: with ps; [ pylutron ];
"lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ];
"lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12
"lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides
"lyric" = ps: with ps; [ aiohttp-cors aiolyric ];
"magicseaweed" = ps: with ps; [ ]; # missing inputs: magicseaweed
"mailbox" = ps: with ps; [ aiohttp-cors ];
"mailgun" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pymailgunner
"manual" = ps: with ps; [ ];
"manual_mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"map" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"marytts" = ps: with ps; [ ]; # missing inputs: speak2mary
"mastodon" = ps: with ps; [ mastodon-py ];
"matrix" = ps: with ps; [ matrix-client ];
"maxcube" = ps: with ps; [ ]; # missing inputs: maxcube-api
"mazda" = ps: with ps; [ pymazda ];
"mcp23017" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-mcp230xx
"media_extractor" = ps: with ps; [ aiohttp-cors youtube-dl-light ];
"media_player" = ps: with ps; [ aiohttp-cors ];
"media_source" = ps: with ps; [ aiohttp-cors ];
"mediaroom" = ps: with ps; [ pymediaroom ];
"melcloud" = ps: with ps; [ ]; # missing inputs: pymelcloud
"melissa" = ps: with ps; [ ]; # missing inputs: py-melissa-climate
"meraki" = ps: with ps; [ aiohttp-cors ];
"message_bird" = ps: with ps; [ ]; # missing inputs: messagebird
"met" = ps: with ps; [ pymetno ];
"met_eireann" = ps: with ps; [ pymeteireann ];
"meteo_france" = ps: with ps; [ ]; # missing inputs: meteofrance-api
"meteoalarm" = ps: with ps; [ meteoalertapi ];
"meteoclimatic" = ps: with ps; [ pymeteoclimatic ];
"metoffice" = ps: with ps; [ ]; # missing inputs: datapoint
"mfi" = ps: with ps; [ ]; # missing inputs: mficlient
"mhz19" = ps: with ps; [ pmsensor ];
"microsoft" = ps: with ps; [ ]; # missing inputs: pycsspeechtts
"microsoft_face" = ps: with ps; [ aiohttp-cors ];
"microsoft_face_detect" = ps: with ps; [ aiohttp-cors ];
"microsoft_face_identify" = ps: with ps; [ aiohttp-cors ];
"miflora" = ps: with ps; [ bluepy ]; # missing inputs: miflora
"mikrotik" = ps: with ps; [ librouteros ];
"mill" = ps: with ps; [ millheater ];
"min_max" = ps: with ps; [ ];
"minecraft_server" = ps: with ps; [ aiodns getmac mcstatus ];
"minio" = ps: with ps; [ minio ];
"mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt
"mjpeg" = ps: with ps; [ ];
"mobile_app" = ps: with ps; [ pynacl aiohttp-cors emoji hass-nabucasa pillow ];
"mochad" = ps: with ps; [ ]; # missing inputs: pymochad
"modbus" = ps: with ps; [ pymodbus ];
"modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
"modern_forms" = ps: with ps; [ aiomodernforms ];
"mold_indicator" = ps: with ps; [ ];
"monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
"moon" = ps: with ps; [ ];
"motion_blinds" = ps: with ps; [ ]; # missing inputs: motionblinds
"motioneye" = ps: with ps; [ aiohttp-cors motioneye-client ];
"mpchc" = ps: with ps; [ ];
"mpd" = ps: with ps; [ mpd2 ];
"mqtt" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"mqtt_eventstream" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"mqtt_json" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"mqtt_room" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"mqtt_statestream" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"msteams" = ps: with ps; [ pymsteams ];
"mullvad" = ps: with ps; [ mullvad-api ];
"mutesync" = ps: with ps; [ mutesync ];
"mvglive" = ps: with ps; [ PyMVGLive ];
"my" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
"mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
"myq" = ps: with ps; [ pymyq ];
"mysensors" = ps: with ps; [ aiohttp-cors paho-mqtt pymysensors ];
"mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ];
"mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
"nad" = ps: with ps; [ nad-receiver ];
"nam" = ps: with ps; [ nettigo-air-monitor ];
"namecheapdns" = ps: with ps; [ defusedxml ];
"nanoleaf" = ps: with ps; [ pynanoleaf ];
"neato" = ps: with ps; [ aiohttp-cors pybotvac ];
"nederlandse_spoorwegen" = ps: with ps; [ nsapi ];
"nello" = ps: with ps; [ ]; # missing inputs: pynello
"ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient
"nest" = ps: with ps; [ aiohttp-cors ha-ffmpeg python-nest ]; # missing inputs: google-nest-sdm
"netatmo" = ps: with ps; [ aiohttp-cors hass-nabucasa pyatmo ];
"netdata" = ps: with ps; [ netdata ];
"netgear" = ps: with ps; [ ]; # missing inputs: pynetgear
"netgear_lte" = ps: with ps; [ ]; # missing inputs: eternalegypt
"netio" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pynetio
"network" = ps: with ps; [ aiohttp-cors ifaddr ];
"neurio_energy" = ps: with ps; [ ]; # missing inputs: neurio
"nexia" = ps: with ps; [ nexia ];
"nextbus" = ps: with ps; [ ]; # missing inputs: py_nextbusnext
"nextcloud" = ps: with ps; [ nextcloudmonitor ];
"nfandroidtv" = ps: with ps; [ ]; # missing inputs: notifications-android-tv
"nightscout" = ps: with ps; [ ]; # missing inputs: py-nightscout
"niko_home_control" = ps: with ps; [ ]; # missing inputs: niko-home-control
"nilu" = ps: with ps; [ ]; # missing inputs: niluclient
"nissan_leaf" = ps: with ps; [ ]; # missing inputs: pycarwings2
"nmap_tracker" = ps: with ps; [ getmac python-nmap ];
"nmbs" = ps: with ps; [ ]; # missing inputs: pyrail
"no_ip" = ps: with ps; [ ];
"noaa_tides" = ps: with ps; [ ]; # missing inputs: noaa-coops
"norway_air" = ps: with ps; [ pymetno ];
"notify" = ps: with ps; [ ];
"notify_events" = ps: with ps; [ ]; # missing inputs: notify-events
"notion" = ps: with ps; [ aionotion ];
"nsw_fuel_station" = ps: with ps; [ ]; # missing inputs: nsw-fuel-api-client
"nsw_rural_fire_service_feed" = ps: with ps; [ aio-geojson-nsw-rfs-incidents ];
"nuheat" = ps: with ps; [ ]; # missing inputs: nuheat
"nuki" = ps: with ps; [ pynuki ];
"numato" = ps: with ps; [ ]; # missing inputs: numato-gpio
"number" = ps: with ps; [ ];
"nut" = ps: with ps; [ ]; # missing inputs: pynut2
"nws" = ps: with ps; [ pynws ];
"nx584" = ps: with ps; [ pynx584 ];
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
"obihai" = ps: with ps; [ pyobihai ];
"octoprint" = ps: with ps; [ aiohttp-cors ifaddr netdisco zeroconf ];
"oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
"ohmconnect" = ps: with ps; [ defusedxml ];
"ombi" = ps: with ps; [ ]; # missing inputs: pyombi
"omnilogic" = ps: with ps; [ omnilogic ];
"onboarding" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"ondilo_ico" = ps: with ps; [ aiohttp-cors ondilo ];
"onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet
"onkyo" = ps: with ps; [ onkyo-eiscp ];
"onvif" = ps: with ps; [ ha-ffmpeg zeep ]; # missing inputs: WSDiscovery onvif-zeep-async
"openalpr_cloud" = ps: with ps; [ ];
"openalpr_local" = ps: with ps; [ ];
"opencv" = ps: with ps; [ numpy ]; # missing inputs: opencv-python-headless
"openerz" = ps: with ps; [ openerz-api ];
"openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi
"openexchangerates" = ps: with ps; [ ];
"opengarage" = ps: with ps; [ open-garage ];
"openhardwaremonitor" = ps: with ps; [ ];
"openhome" = ps: with ps; [ openhomedevice ];
"opensensemap" = ps: with ps; [ opensensemap-api ];
"opensky" = ps: with ps; [ ];
"opentherm_gw" = ps: with ps; [ pyotgw ];
"openuv" = ps: with ps; [ pyopenuv ];
"openweathermap" = ps: with ps; [ pyowm ];
"opnsense" = ps: with ps; [ pyopnsense ];
"opple" = ps: with ps; [ ]; # missing inputs: pyoppleio
"orangepi_gpio" = ps: with ps; [ ]; # missing inputs: OPi.GPIO
"oru" = ps: with ps; [ ]; # missing inputs: oru
"orvibo" = ps: with ps; [ orvibo ];
"osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
"otp" = ps: with ps; [ pyotp ];
"ovo_energy" = ps: with ps; [ ovoenergy ];
"owntracks" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa paho-mqtt ];
"ozw" = ps: with ps; [ aiohttp-cors paho-mqtt python-openzwave-mqtt ];
"panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
"panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera
"pandora" = ps: with ps; [ pexpect ];
"panel_custom" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"panel_iframe" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
"pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a
"pencom" = ps: with ps; [ ]; # missing inputs: pencompy
"persistent_notification" = ps: with ps; [ ];
"person" = ps: with ps; [ aiohttp-cors pillow ];
"philips_js" = ps: with ps; [ ha-philipsjs ];
"pi4ioe5v9xxxx" = ps: with ps; [ ]; # missing inputs: pi4ioe5v9xxxx
"pi_hole" = ps: with ps; [ hole ];
"picnic" = ps: with ps; [ python-picnic-api ];
"picotts" = ps: with ps; [ ];
"piglow" = ps: with ps; [ ]; # missing inputs: piglow
"pilight" = ps: with ps; [ ]; # missing inputs: pilight
"ping" = ps: with ps; [ icmplib ];
"pioneer" = ps: with ps; [ ];
"pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2
"plaato" = ps: with ps; [ aiohttp-cors hass-nabucasa pyplaato ];
"plant" = ps: with ps; [ sqlalchemy ];
"plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket ];
"plugwise" = ps: with ps; [ plugwise ];
"plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
"pocketcasts" = ps: with ps; [ ]; # missing inputs: pycketcasts
"point" = ps: with ps; [ aiohttp-cors pypoint ];
"poolsense" = ps: with ps; [ poolsense ];
"powerwall" = ps: with ps; [ ]; # missing inputs: tesla-powerwall
"profiler" = ps: with ps; [ guppy3 objgraph pyprof2calltree ];
"progettihwsw" = ps: with ps; [ ]; # missing inputs: progettihwsw
"proliphix" = ps: with ps; [ ]; # missing inputs: proliphix
"prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
"prosegur" = ps: with ps; [ pyprosegur ];
"prowl" = ps: with ps; [ ];
"proximity" = ps: with ps; [ ];
"proxmoxve" = ps: with ps; [ proxmoxer ];
"proxy" = ps: with ps; [ pillow ];
"ps4" = ps: with ps; [ ]; # missing inputs: pyps4-2ndscreen
"pulseaudio_loopback" = ps: with ps; [ pulsectl ];
"push" = ps: with ps; [ aiohttp-cors ];
"pushbullet" = ps: with ps; [ pushbullet ];
"pushover" = ps: with ps; [ pushover-complete ];
"pushsafer" = ps: with ps; [ ];
"pvoutput" = ps: with ps; [ jsonpath xmltodict ];
"pvpc_hourly_pricing" = ps: with ps; [ aiopvpc ];
"pyload" = ps: with ps; [ ];
"python_script" = ps: with ps; [ restrictedpython ];
"qbittorrent" = ps: with ps; [ ]; # missing inputs: python-qbittorrent
"qld_bushfire" = ps: with ps; [ georss-qld-bushfire-alert-client ];
"qnap" = ps: with ps; [ ]; # missing inputs: qnapstats
"qrcode" = ps: with ps; [ pillow ]; # missing inputs: pyzbar
"quantum_gateway" = ps: with ps; [ ]; # missing inputs: quantum-gateway
"qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro
"qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
"rachio" = ps: with ps; [ aiohttp-cors hass-nabucasa rachiopy ];
"radarr" = ps: with ps; [ ];
"radiotherm" = ps: with ps; [ radiotherm ];
"rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird
"raincloud" = ps: with ps; [ ]; # missing inputs: raincloudy
"rainforest_eagle" = ps: with ps; [ ]; # missing inputs: eagle200_reader uEagle
"rainmachine" = ps: with ps; [ regenmaschine ];
"random" = ps: with ps; [ ];
"raspihats" = ps: with ps; [ smbus-cffi ]; # missing inputs: raspihats
"raspyrfm" = ps: with ps; [ ]; # missing inputs: raspyrfm-client
"recollect_waste" = ps: with ps; [ aiorecollect ];
"recorder" = ps: with ps; [ sqlalchemy ];
"recswitch" = ps: with ps; [ ]; # missing inputs: pyrecswitch
"reddit" = ps: with ps; [ praw ];
"rejseplanen" = ps: with ps; [ ]; # missing inputs: rjpl
"remember_the_milk" = ps: with ps; [ httplib2 ]; # missing inputs: RtmAPI
"remote" = ps: with ps; [ ];
"remote_rpi_gpio" = ps: with ps; [ ]; # missing inputs: gpiozero
"renault" = ps: with ps; [ ]; # missing inputs: renault-api
"repetier" = ps: with ps; [ ]; # missing inputs: pyrepetier
"rest" = ps: with ps; [ jsonpath xmltodict ];
"rest_command" = ps: with ps; [ ];
"rflink" = ps: with ps; [ rflink ];
"rfxtrx" = ps: with ps; [ pyrfxtrx ];
"ring" = ps: with ps; [ ha-ffmpeg ring-doorbell ];
"ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api
"risco" = ps: with ps; [ pyrisco ];
"rituals_perfume_genie" = ps: with ps; [ pyrituals ];
"rmvtransport" = ps: with ps; [ PyRMVtransport ];
"rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API
"roku" = ps: with ps; [ rokuecp ];
"roomba" = ps: with ps; [ roombapy ];
"roon" = ps: with ps; [ roonapi ];
"route53" = ps: with ps; [ boto3 ];
"rova" = ps: with ps; [ ]; # missing inputs: rova
"rpi_camera" = ps: with ps; [ ];
"rpi_gpio" = ps: with ps; [ ]; # missing inputs: RPi.GPIO
"rpi_gpio_pwm" = ps: with ps; [ ]; # missing inputs: pwmled
"rpi_pfio" = ps: with ps; [ ]; # missing inputs: pifacecommon pifacedigitalio
"rpi_power" = ps: with ps; [ ]; # missing inputs: rpi-bad-power
"rpi_rf" = ps: with ps; [ ]; # missing inputs: RPi.GPIO rpi-rf
"rss_feed_template" = ps: with ps; [ aiohttp-cors ];
"rtorrent" = ps: with ps; [ ];
"ruckus_unleashed" = ps: with ps; [ pyruckus ];
"russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
"russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
"sabnzbd" = ps: with ps; [ aiohttp-cors ifaddr netdisco zeroconf ]; # missing inputs: pysabnzbd
"safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa home-assistant-frontend pillow sqlalchemy ];
"saj" = ps: with ps; [ ]; # missing inputs: pysaj
"samsungtv" = ps: with ps; [ getmac samsungctl samsungtvws wakeonlan ];
"satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra
"scene" = ps: with ps; [ ];
"schluter" = ps: with ps; [ ]; # missing inputs: py-schluter
"scrape" = ps: with ps; [ beautifulsoup4 jsonpath xmltodict ];
"screenlogic" = ps: with ps; [ screenlogicpy ];
"script" = ps: with ps; [ ];
"scsgate" = ps: with ps; [ ]; # missing inputs: scsgate
"search" = ps: with ps; [ aiohttp-cors ];
"season" = ps: with ps; [ ephem ];
"select" = ps: with ps; [ ];
"sendgrid" = ps: with ps; [ sendgrid ];
"sense" = ps: with ps; [ sense-energy ];
"sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat
"sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo
"sensor" = ps: with ps; [ sqlalchemy ];
"sentry" = ps: with ps; [ sentry-sdk ];
"serial" = ps: with ps; [ pyserial-asyncio ];
"serial_pm" = ps: with ps; [ pmsensor ];
"sesame" = ps: with ps; [ ]; # missing inputs: pysesame2
"seven_segments" = ps: with ps; [ pillow ];
"seventeentrack" = ps: with ps; [ py17track ];
"sharkiq" = ps: with ps; [ sharkiqpy ];
"shell_command" = ps: with ps; [ ];
"shelly" = ps: with ps; [ aioshelly ];
"shiftr" = ps: with ps; [ paho-mqtt ];
"shodan" = ps: with ps; [ shodan ];
"shopping_list" = ps: with ps; [ aiohttp-cors ];
"sht31" = ps: with ps; [ ]; # missing inputs: Adafruit-GPIO Adafruit-SHT31
"sia" = ps: with ps; [ pysiaalarm ];
"sigfox" = ps: with ps; [ ];
"sighthound" = ps: with ps; [ pillow simplehound ];
"signal_messenger" = ps: with ps; [ ]; # missing inputs: pysignalclirestapi
"simplepush" = ps: with ps; [ ]; # missing inputs: simplepush
"simplisafe" = ps: with ps; [ simplisafe-python ];
"simulated" = ps: with ps; [ ];
"sinch" = ps: with ps; [ ]; # missing inputs: clx-sdk-xms
"siren" = ps: with ps; [ ];
"sisyphus" = ps: with ps; [ ]; # missing inputs: sisyphus-control
"sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub
"skybeacon" = ps: with ps; [ pygatt ];
"skybell" = ps: with ps; [ skybellpy ];
"slack" = ps: with ps; [ slackclient ];
"sleepiq" = ps: with ps; [ sleepyq ];
"slide" = ps: with ps; [ ]; # missing inputs: goslide-api
"sma" = ps: with ps; [ pysma ];
"smappee" = ps: with ps; [ aiohttp-cors pysmappee ];
"smart_meter_texas" = ps: with ps; [ smart-meter-texas ];
"smarthab" = ps: with ps; [ smarthab ];
"smartthings" = ps: with ps; [ aiohttp-cors hass-nabucasa pysmartapp pysmartthings ];
"smarttub" = ps: with ps; [ python-smarttub ];
"smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
"smhi" = ps: with ps; [ smhi-pkg ];
"sms" = ps: with ps; [ python-gammu ];
"smtp" = ps: with ps; [ ];
"snapcast" = ps: with ps; [ snapcast ];
"snips" = ps: with ps; [ aiohttp-cors paho-mqtt ];
"snmp" = ps: with ps; [ pysnmp ];
"sochain" = ps: with ps; [ ]; # missing inputs: python-sochain-api
"solaredge" = ps: with ps; [ solaredge stringcase ];
"solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local
"solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher
"solax" = ps: with ps; [ solax ];
"soma" = ps: with ps; [ pysoma ];
"somfy" = ps: with ps; [ aiohttp-cors pymfy ];
"somfy_mylink" = ps: with ps; [ somfy-mylink-synergy ];
"sonarr" = ps: with ps; [ sonarr ];
"songpal" = ps: with ps; [ python-songpal ];
"sonos" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr plexapi plexauth plexwebsocket soco zeroconf ];
"sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
"soundtouch" = ps: with ps; [ aiohttp-cors ifaddr libsoundtouch zeroconf ];
"spaceapi" = ps: with ps; [ aiohttp-cors ];
"spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw
"speedtestdotnet" = ps: with ps; [ speedtest-cli ];
"spider" = ps: with ps; [ spiderpy ];
"splunk" = ps: with ps; [ ]; # missing inputs: hass_splunk
"spotify" = ps: with ps; [ aiohttp-cors spotipy ];
"sql" = ps: with ps; [ sqlalchemy ];
"squeezebox" = ps: with ps; [ pysqueezebox ];
"srp_energy" = ps: with ps; [ srpenergy ];
"ssdp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr zeroconf ];
"starline" = ps: with ps; [ starline ];
"starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
"startca" = ps: with ps; [ xmltodict ];
"statistics" = ps: with ps; [ sqlalchemy ];
"statsd" = ps: with ps; [ statsd ];
"steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
"stiebel_eltron" = ps: with ps; [ pymodbus ]; # missing inputs: pystiebeleltron
"stookalert" = ps: with ps; [ ]; # missing inputs: stookalert
"stream" = ps: with ps; [ aiohttp-cors av ];
"streamlabswater" = ps: with ps; [ ]; # missing inputs: streamlabswater
"stt" = ps: with ps; [ aiohttp-cors ];
"subaru" = ps: with ps; [ subarulink ];
"suez_water" = ps: with ps; [ ]; # missing inputs: pysuez
"sun" = ps: with ps; [ ];
"supervisord" = ps: with ps; [ ];
"supla" = ps: with ps; [ ]; # missing inputs: asyncpysupla
"surepetcare" = ps: with ps; [ surepy ];
"swiss_hydrological_data" = ps: with ps; [ swisshydrodata ];
"swiss_public_transport" = ps: with ps; [ python-opendata-transport ];
"swisscom" = ps: with ps; [ ];
"switch" = ps: with ps; [ ];
"switchbot" = ps: with ps; [ pyswitchbot ];
"switcher_kis" = ps: with ps; [ aioswitcher ];
"switchmate" = ps: with ps; [ ]; # missing inputs: pySwitchmate
"syncthing" = ps: with ps; [ aiosyncthing ];
"syncthru" = ps: with ps; [ pysyncthru url-normalize ];
"synology_chat" = ps: with ps; [ ];
"synology_dsm" = ps: with ps; [ ]; # missing inputs: py-synologydsm-api
"synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm
"syslog" = ps: with ps; [ ];
"system_bridge" = ps: with ps; [ aiohttp-cors ifaddr systembridge zeroconf ];
"system_health" = ps: with ps; [ aiohttp-cors ];
"system_log" = ps: with ps; [ aiohttp-cors ];
"systemmonitor" = ps: with ps; [ psutil ];
"tado" = ps: with ps; [ python-tado ];
"tag" = ps: with ps; [ ];
"tahoma" = ps: with ps; [ tahoma-api ];
"tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
"tankerkoenig" = ps: with ps; [ pytankerkoenig ];
"tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
"tasmota" = ps: with ps; [ aiohttp-cors hatasmota paho-mqtt ];
"tautulli" = ps: with ps; [ ]; # missing inputs: pytautulli
"tcp" = ps: with ps; [ ];
"ted5000" = ps: with ps; [ xmltodict ];
"telegram" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
"telegram_bot" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
"tellduslive" = ps: with ps; [ tellduslive ];
"tellstick" = ps: with ps; [ ]; # missing inputs: tellcore-net tellcore-py
"telnet" = ps: with ps; [ ];
"temper" = ps: with ps; [ ]; # missing inputs: temperusb
"template" = ps: with ps; [ ];
"tensorflow" = ps: with ps; [ numpy pillow pycocotools tensorflow ]; # missing inputs: tf-models-official
"tesla" = ps: with ps; [ teslajsonpy ];
"tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac
"thermoworks_smoke" = ps: with ps; [ stringcase ]; # missing inputs: thermoworks_smoke
"thethingsnetwork" = ps: with ps; [ ];
"thingspeak" = ps: with ps; [ ]; # missing inputs: thingspeak
"thinkingcleaner" = ps: with ps; [ ]; # missing inputs: pythinkingcleaner
"thomson" = ps: with ps; [ ];
"threshold" = ps: with ps; [ ];
"tibber" = ps: with ps; [ pytibber ];
"tikteck" = ps: with ps; [ ]; # missing inputs: tikteck
"tile" = ps: with ps; [ pytile ];
"time_date" = ps: with ps; [ ];
"timer" = ps: with ps; [ ];
"tmb" = ps: with ps; [ tmb ];
"tod" = ps: with ps; [ ];
"todoist" = ps: with ps; [ todoist ];
"tof" = ps: with ps; [ ]; # missing inputs: RPi.GPIO VL53L1X2
"tomato" = ps: with ps; [ ];
"toon" = ps: with ps; [ aiohttp-cors hass-nabucasa toonapi ];
"torque" = ps: with ps; [ aiohttp-cors ];
"totalconnect" = ps: with ps; [ total-connect-client ];
"touchline" = ps: with ps; [ ]; # missing inputs: pytouchline
"tplink" = ps: with ps; [ pyhs100 ];
"tplink_lte" = ps: with ps; [ ]; # missing inputs: tp-connected
"traccar" = ps: with ps; [ aiohttp-cors stringcase ]; # missing inputs: pytraccar
"trace" = ps: with ps; [ ];
"trackr" = ps: with ps; [ ]; # missing inputs: pytrackr
"tradfri" = ps: with ps; [ pytradfri ];
"trafikverket_train" = ps: with ps; [ pytrafikverket ];
"trafikverket_weatherstation" = ps: with ps; [ pytrafikverket ];
"transmission" = ps: with ps; [ transmissionrpc ];
"transport_nsw" = ps: with ps; [ ]; # missing inputs: PyTransportNSW
"travisci" = ps: with ps; [ ]; # missing inputs: TravisPy
"trend" = ps: with ps; [ numpy ];
"tts" = ps: with ps; [ aiohttp-cors mutagen ];
"tuya" = ps: with ps; [ tuyaha ];
"twentemilieu" = ps: with ps; [ twentemilieu ];
"twilio" = ps: with ps; [ aiohttp-cors twilio ];
"twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
"twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
"twinkly" = ps: with ps; [ twinkly-client ];
"twitch" = ps: with ps; [ python-twitch-client ];
"twitter" = ps: with ps; [ twitterapi ];
"ubus" = ps: with ps; [ openwrt-ubus-rpc ];
"ue_smart_radio" = ps: with ps; [ ];
"uk_transport" = ps: with ps; [ ];
"unifi" = ps: with ps; [ aiounifi ];
"unifi_direct" = ps: with ps; [ pexpect ];
"unifiled" = ps: with ps; [ unifiled ];
"universal" = ps: with ps; [ ];
"upb" = ps: with ps; [ upb-lib ];
"upc_connect" = ps: with ps; [ connect-box ];
"upcloud" = ps: with ps; [ upcloud-api ];
"updater" = ps: with ps; [ distro ];
"upnp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr zeroconf ];
"uptime" = ps: with ps; [ ];
"uptimerobot" = ps: with ps; [ ]; # missing inputs: pyuptimerobot
"uscis" = ps: with ps; [ ]; # missing inputs: uscisstatus
"usgs_earthquakes_feed" = ps: with ps; [ geojson-client ];
"utility_meter" = ps: with ps; [ ];
"uvc" = ps: with ps; [ uvcclient ];
"vacuum" = ps: with ps; [ ];
"vallox" = ps: with ps; [ ]; # missing inputs: vallox-websocket-api
"vasttrafik" = ps: with ps; [ ]; # missing inputs: vtjp
"velbus" = ps: with ps; [ python-velbus ];
"velux" = ps: with ps; [ pyvlx ];
"venstar" = ps: with ps; [ venstarcolortouch ];
"vera" = ps: with ps; [ pyvera ];
"verisure" = ps: with ps; [ vsure ];
"versasense" = ps: with ps; [ ]; # missing inputs: pyversasense
"version" = ps: with ps; [ pyhaversion ];
"vesync" = ps: with ps; [ pyvesync ];
"viaggiatreno" = ps: with ps; [ ];
"vicare" = ps: with ps; [ pyvicare ];
"vilfo" = ps: with ps; [ vilfo-api-client ];
"vivotek" = ps: with ps; [ ]; # missing inputs: libpyvivotek
"vizio" = ps: with ps; [ pyvizio ];
"vlc" = ps: with ps; [ python-vlc ];
"vlc_telnet" = ps: with ps; [ ]; # missing inputs: python-telnet-vlc
"voicerss" = ps: with ps; [ ];
"volkszaehler" = ps: with ps; [ volkszaehler ];
"volumio" = ps: with ps; [ pyvolumio ];
"volvooncall" = ps: with ps; [ ]; # missing inputs: volvooncall
"vultr" = ps: with ps; [ vultr ];
"w800rf32" = ps: with ps; [ ]; # missing inputs: pyW800rf32
"wake_on_lan" = ps: with ps; [ wakeonlan ];
"wallbox" = ps: with ps; [ wallbox ];
"waqi" = ps: with ps; [ waqiasync ];
"water_heater" = ps: with ps; [ ];
"waterfurnace" = ps: with ps; [ waterfurnace ];
"watson_iot" = ps: with ps; [ ]; # missing inputs: ibmiotf
"watson_tts" = ps: with ps; [ ibm-watson ];
"waze_travel_time" = ps: with ps; [ WazeRouteCalculator ];
"weather" = ps: with ps; [ ];
"webhook" = ps: with ps; [ aiohttp-cors ];
"webostv" = ps: with ps; [ aiopylgtv ];
"websocket_api" = ps: with ps; [ aiohttp-cors ];
"wemo" = ps: with ps; [ pywemo ];
"whois" = ps: with ps; [ python-whois ];
"wiffi" = ps: with ps; [ wiffi ];
"wilight" = ps: with ps; [ pywilight ];
"wink" = ps: with ps; [ aiohttp-cors pubnubsub-handler python-wink ];
"wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy
"withings" = ps: with ps; [ aiohttp-cors ]; # missing inputs: withings-api
"wled" = ps: with ps; [ wled ];
"wolflink" = ps: with ps; [ ]; # missing inputs: wolf_smartset
"workday" = ps: with ps; [ holidays ];
"worldclock" = ps: with ps; [ ];
"worldtidesinfo" = ps: with ps; [ ];
"worxlandroid" = ps: with ps; [ ];
"wsdot" = ps: with ps; [ ];
"x10" = ps: with ps; [ ];
"xbee" = ps: with ps; [ ]; # missing inputs: xbee-helper
"xbox" = ps: with ps; [ aiohttp-cors xbox-webapi ];
"xbox_live" = ps: with ps; [ xboxapi ];
"xeoma" = ps: with ps; [ pyxeoma ];
"xiaomi" = ps: with ps; [ ha-ffmpeg ];
"xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors ifaddr netdisco zeroconf ];
"xiaomi_miio" = ps: with ps; [ construct micloud python-miio ];
"xiaomi_tv" = ps: with ps; [ pymitv ];
"xmpp" = ps: with ps; [ slixmpp ];
"xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
"yale_smart_alarm" = ps: with ps; [ yalesmartalarmclient ];
"yamaha" = ps: with ps; [ rxv ];
"yamaha_musiccast" = ps: with ps; [ aiomusiccast ];
"yandex_transport" = ps: with ps; [ aioymaps ];
"yandextts" = ps: with ps; [ ];
"yeelight" = ps: with ps; [ yeelight ];
"yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
"yi" = ps: with ps; [ aioftp ha-ffmpeg ];
"youless" = ps: with ps; [ ]; # missing inputs: youless-api
"zabbix" = ps: with ps; [ ]; # missing inputs: py-zabbix
"zamg" = ps: with ps; [ ];
"zengge" = ps: with ps; [ ]; # missing inputs: zengge
"zeroconf" = ps: with ps; [ aiohttp-cors ifaddr zeroconf ];
"zerproc" = ps: with ps; [ pyzerproc ];
"zestimate" = ps: with ps; [ xmltodict ];
"zha" = ps: with ps; [ aiohttp-cors bellows ifaddr pyserial-asyncio pyserial zeroconf zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ];
"zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac
"ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl
"zodiac" = ps: with ps; [ ];
"zone" = ps: with ps; [ ];
"zoneminder" = ps: with ps; [ zm-py ];
"zwave" = ps: with ps; [ aiohttp-cors homeassistant-pyozw paho-mqtt pydispatcher python-openzwave-mqtt ];
"zwave_js" = ps: with ps; [ aiohttp-cors zwave-js-server-python ];
};
}