1
0
mirror of https://github.com/home-assistant/core.git synced 2026-03-02 07:29:28 +00:00
Files
core/homeassistant/generated/integrations.json
Michael Hannon 095318114b Add Zimi Cloud Connect Integration (#129876)
* Give entry unique id with MAC, strings.json tweaks

* Update codeowners

* Add config_flow tests

* Update requirements

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Store controller reference in entry.runtime_data instead of hass.data

* Add typing

* Removed hass data pop on unload.  (No longer needed when hass data moved for runtime_data)

* Refactor config_flow based on feedback from @zweckj with inline validation, simpler defaults, better description data

* Add Michael to codeowners

* Remove manual debug override in entity

* Populate via_device

* remove empty keys from manifest.json

* Refactor with DataUpdateCoordinator
Device Entities use existing push update method

* set via_device to match zcc identifier

* Changed logger to use debug level

* Define the zimi constants

* Move extraaneous code out from try

* Move __del__ to async_wil_remove_from_hass

* Use zcc device for name

* Print debug if mac mismatch
Add final exception if api is not ready after connect

* Re-work configuration flow:
1. Remove unused CONF_TIMEOUT, CONF_VERBOSITY and CONF_WATCHDOG
2. Move connect() logic out of ZimiCoordinator
3. Add fast connect check during ConfigFlow to check mac matches
4. Use zcc version 3.2.3 with default watchdog time value (and remove this from HA)

* Add error detail to mac mismatch

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/const.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/coordinator.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/coordinator.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove coordinator and move setup to __init__

* Set name in _attr_name

* Use _light directly for status etc; Remove _state and _brightness; SImplify update()

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* No need to delete device, fix return

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove non-failing items from try
Abort duplicate configurations

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Move attr change to notify

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove superflous defalt

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Move aysnc_connect_to_controller to helpers.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Invert if api

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Added ZimiConfigEntry to type runtime_data correctly.
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Use _abort_if_unique_id_configured
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Invert error logic for cleaner flow
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Add ZimiDimmer class

* Set colour_mode only in ZimiDimmer

* Use device name instead of entity name
Update deviceinfo for zcc
Update deviceinfo for lights
More ZimiDimmer and ZimiLight cleanup

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Add missing import for CONNECTION_NETWORK_MAC

* @mhannon11 Fixed some minor style changes BUT these tests need re-working now that the config_flow has a second call to the zcc helper to check the API.   The tests as written now fail with connect_fail

* Remove some code from try

* Moved static items from initialiser

* Remove superflous assert when unloading entry

* refactor - move title out of data

* One call to async_add_entities
Update ZimiDimmer to initialise color_modes after calling super()

* Create ZimiEntity base class
(as ToggleEntity)

* Updated test of config_flow

* Move api_mock parameters to test cases

* Much improved tests

* Test for input value mismatch and then recovery of flow

* Import FlowResultType

* Implement Entities event setup correctly

* Initial quality_scale.yml

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/manifest.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Add link to zcc repo

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Removed unecessary f-strings

* Filled in all of the quality scale

* Updated in line with latest documentation improvements

* FIx missing import for Entity

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Simplify logger and throw

* Update homeassistant/components/zimi/helpers.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Re-factor config_flow with multi-stage steps

* Add comments to notify

* Don't set hw_version

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* mark docs-troubleshooting done

* Update with zcc-helper version supporting PEP 625 sdist rules on PyPi

* Comment re characteristic ID

* Pulls in latest zcc that closes UDP listening port correctly after discovery timeout

* Re-factored config_flow

1. Try discovery and auto-populate
2. Try manual configuration (with optional values for port and mac)

In most cases, auto-discovery does it all.

Discovery will only fail if UDP broadcast is not possible to/from zcc.

* Do not show error message if discovery fails

* Refactor with self.data and async_show_step_finish()

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* refactor import to use ConfigFlow

* Change status for discovery

* Add dynamic title to config flow

* string

* Revert title from form but add IP:port to static title

* Automatically finish configuration if possible, if not show form

* Use StrEnum instead of Exception class

* Remove MAC from user forms

* Disconnect api before form completion

* Assign to self.mac instead of returning as detail

* Updated test suite

* Update test status

* mark action exemptions todo

* Remove mac related error cases from flow completely

* Remove unused MAC error strings

* Moved error details to logs
Removed _error_tuple
Removed error details

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* rename check_errors

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update zcc-helper and support HA devices via zcc manufacter_info fields

* Partial implementation - Use updated zcc-helper to discover multiple controllers

* Config_flow with support for auto-discovery of one or more zcc or fallback to manual configuration.

* Don't re-connect to api if validate_connection already did

* Make fast=False is used for creation

* Pull in improved zcc_helper version to address data completeness after machine_info implementation

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Import and use ConfigFlowResult

* Latest zcc to fix discovers() return value bug

* Update config_flow.py

* Update homeassistant/components/zimi/manifest.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Use latest release version of 3.3 (no changes to rc4)

* Improved sentence casing

* Update strings.json

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Remove superflous logging
Use Zimi network_name as ZCC name
Cleanup device info inputs

* Remove __del__

* Rename arguments

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Move PLATFORMS to init

* Update homeassistant/components/zimi/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove debug at init

* Update homeassistant/components/zimi/helpers.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove _attr_has_entity = False

* More naming changes

* Revised config_flow to use zcc-helper for validation using new zcc-helper version

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Removed commented enum

* s/_entity/_device/g

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/helpers.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Don't log error when raising exception

* Updated tests for new config_flow

* Refactor with new zcc that uses Exception classes to pass errors

* Updated tests for config_flow to use Exceptions

* Device name is based on model

* Device name is None

Maps better to ZCC concept where devices do not have a name but the individual entities have names.

* Fix quality filename

* Bump zcc-helper to 3.4 release version

* Remove name override

* Bump zcc-helper to 3.4.1 with new device_name attribute used to populate devinfo

* Update homeassistant/components/zimi/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add missing transalation picked up by CI

* Update homeassistant/components/zimi/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Bump zcc-helper to only classify light and dimmer controlPointType as lights

* Bump to non dev version of zcc-helper

* Ruff fixes

* Add missing data description for pytest

* Remove confusing comment

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* f-strings

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Assert result type, step and errors between each step

* test for duplicate entry

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zimi/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove duplicate test for discovery failure

* Calculate brightness

* Don't re-raise Exception in helper

* Fix ruff and mypi errors

* Add tests for missing connection exceptions

* Added standard invalid_host and timeout strings

* Explain limitations in discovery.

* Update quality_scale.yaml

* Update quality_scale.yaml

* Removed duplicate strings with reference

---------

Co-authored-by: markhannon <mark.hannon@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-04 15:58:32 +02:00

7874 lines
195 KiB
JSON

{
"integration": {
"3_day_blinds": {
"name": "3 Day Blinds",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"abode": {
"name": "Abode",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"single_config_entry": true
},
"acaia": {
"name": "Acaia",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"accuweather": {
"name": "AccuWeather",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"acer_projector": {
"name": "Acer Projector",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"acmeda": {
"name": "Rollease Acmeda Automate",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"acomax": {
"name": "Acomax",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"actiontec": {
"name": "Actiontec",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"adax": {
"name": "Adax",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"adguard": {
"name": "AdGuard Home",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"ads": {
"name": "ADS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"advantage_air": {
"name": "Advantage Air",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"aemet": {
"name": "AEMET OpenData",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"aep_ohio": {
"name": "AEP Ohio",
"integration_type": "virtual",
"supported_by": "opower"
},
"aep_texas": {
"name": "AEP Texas",
"integration_type": "virtual",
"supported_by": "opower"
},
"aftership": {
"name": "AfterShip",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"agent_dvr": {
"name": "Agent DVR",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"airgradient": {
"name": "AirGradient",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"airly": {
"name": "Airly",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"airnow": {
"name": "AirNow",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"airq": {
"name": "air-Q",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"airthings": {
"name": "Airthings",
"integrations": {
"airthings": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Airthings"
},
"airthings_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Airthings BLE"
}
}
},
"airtouch4": {
"name": "AirTouch 4",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"airtouch5": {
"name": "AirTouch 5",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"airvisual": {
"name": "AirVisual",
"integrations": {
"airvisual": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "AirVisual Cloud"
},
"airvisual_pro": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "AirVisual Pro"
}
}
},
"airzone": {
"name": "Airzone",
"integrations": {
"airzone": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Airzone"
},
"airzone_cloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Airzone Cloud"
}
}
},
"alarmdecoder": {
"name": "AlarmDecoder",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"alert": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"alpha_vantage": {
"name": "Alpha Vantage",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"amazon": {
"name": "Amazon",
"integrations": {
"amazon_polly": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Amazon Polly"
},
"aws": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Amazon Web Services (AWS)"
},
"fire_tv": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "androidtv",
"name": "Amazon Fire TV"
},
"route53": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "AWS Route53"
}
}
},
"amberelectric": {
"name": "Amber Electric",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ambient_weather": {
"name": "Ambient Weather",
"integrations": {
"ambient_network": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Ambient Weather Network"
},
"ambient_station": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Ambient Weather Station"
}
}
},
"amcrest": {
"name": "Amcrest",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"amp_motorization": {
"name": "AMP Motorization",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"ampio": {
"name": "Ampio Smart Smog System",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"analytics_insights": {
"name": "Home Assistant Analytics Insights",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"android_ip_webcam": {
"name": "Android IP Webcam",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"androidtv": {
"name": "Android Debug Bridge",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"androidtv_remote": {
"name": "Android TV Remote",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"anel_pwrctrl": {
"name": "Anel NET-PwrCtrl",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"anova": {
"name": "Anova",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"anthemav": {
"name": "Anthem A/V Receivers",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"anthropic": {
"name": "Anthropic Conversation",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"anwb_energie": {
"name": "ANWB Energie",
"integration_type": "virtual",
"supported_by": "energyzero"
},
"aosmith": {
"name": "A. O. Smith",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"apache_kafka": {
"name": "Apache Kafka",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"apcupsd": {
"name": "APC UPS Daemon",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"apollo_automation": {
"name": "Apollo Automation",
"integration_type": "virtual",
"supported_by": "esphome"
},
"appalachianpower": {
"name": "Appalachian Power",
"integration_type": "virtual",
"supported_by": "opower"
},
"apple": {
"name": "Apple",
"integrations": {
"apple_tv": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Apple TV"
},
"homekit_controller": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"homekit": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "HomeKit Bridge"
},
"ibeacon": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "iBeacon Tracker"
},
"icloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Apple iCloud"
},
"itunes": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Apple iTunes"
},
"weatherkit": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Apple WeatherKit"
}
}
},
"apprise": {
"name": "Apprise",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"aprilaire": {
"name": "AprilAire",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"aprs": {
"name": "APRS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"aps": {
"name": "Arizona Public Service (APS)",
"integration_type": "virtual",
"supported_by": "opower"
},
"apsystems": {
"name": "APsystems",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"aqara": {
"name": "Aqara",
"iot_standards": [
"matter",
"zigbee"
]
},
"aquacell": {
"name": "AquaCell",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling"
},
"aqualogic": {
"name": "AquaLogic",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"aquostv": {
"name": "Sharp Aquos TV",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"aranet": {
"name": "Aranet",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"arcam_fmj": {
"name": "Arcam FMJ Receivers",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"arest": {
"name": "aREST",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"arris_tg2492lg": {
"name": "Arris TG2492LG",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"artsound": {
"name": "ArtSound",
"integration_type": "virtual",
"supported_by": "linkplay"
},
"aruba": {
"name": "Aruba",
"integrations": {
"aruba": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Aruba"
},
"cppm_tracker": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Aruba ClearPass"
}
}
},
"arve": {
"name": "Arve",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"arwn": {
"name": "Ambient Radio Weather Network",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"aseko_pool_live": {
"name": "Aseko Pool Live",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"asuswrt": {
"name": "ASUSWRT",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"atag": {
"name": "Atag",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"aten_pe": {
"name": "ATEN Rack PDU",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"atlanticcityelectric": {
"name": "Atlantic City Electric",
"integration_type": "virtual",
"supported_by": "opower"
},
"atome": {
"name": "Atome Linky",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"august": {
"name": "August Home",
"integrations": {
"august": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "August"
},
"yalexs_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Yale Access Bluetooth"
}
}
},
"august_ble": {
"name": "August Bluetooth",
"integration_type": "virtual",
"supported_by": "yalexs_ble"
},
"aurora": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"aurora_abb_powerone": {
"name": "Aurora ABB PowerOne Solar PV",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"aussie_broadband": {
"name": "Aussie Broadband",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"autarco": {
"name": "Autarco",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"avion": {
"name": "Avi-on",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"awair": {
"name": "Awair",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"axis": {
"name": "Axis",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"backup": {
"name": "Backup",
"integration_type": "service",
"config_flow": false,
"iot_class": "calculated",
"single_config_entry": true
},
"baf": {
"name": "Big Ass Fans",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"baidu": {
"name": "Baidu",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"balay": {
"name": "Balay",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"balboa": {
"name": "Balboa Spa Client",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"bang_olufsen": {
"name": "Bang & Olufsen",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"bbox": {
"name": "Bbox",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"beewi_smartclim": {
"name": "BeeWi SmartClim BLE sensor",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"bge": {
"name": "Baltimore Gas and Electric (BGE)",
"integration_type": "virtual",
"supported_by": "opower"
},
"bitcoin": {
"name": "Bitcoin",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"bizkaibus": {
"name": "Bizkaibus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"blackbird": {
"name": "Monoprice Blackbird Matrix Switch",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"blebox": {
"name": "BleBox devices",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"blink": {
"name": "Blink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"blinksticklight": {
"name": "BlinkStick",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"bliss_automation": {
"name": "Bliss Automation",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"bloc_blinds": {
"name": "Bloc Blinds",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"blockchain": {
"name": "Blockchain.com",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"blue_current": {
"name": "Blue Current",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"bluemaestro": {
"name": "BlueMaestro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"bluesound": {
"name": "Bluesound",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"bluetooth": {
"name": "Bluetooth",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"bluetooth_le_tracker": {
"name": "Bluetooth LE Tracker",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"bluetooth_tracker": {
"name": "Bluetooth Tracker",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"bmw_connected_drive": {
"name": "BMW Connected Drive",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"bond": {
"name": "Bond",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"bosch": {
"name": "Bosch",
"integrations": {
"bosch_alarm": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push",
"name": "Bosch Alarm"
},
"bosch_shc": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Bosch SHC"
},
"home_connect": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Home Connect"
}
}
},
"brandt": {
"name": "Brandt Smart Control",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"brel_home": {
"name": "Brel Home",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"bring": {
"name": "Bring!",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"broadlink": {
"name": "Broadlink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"brother": {
"name": "Brother Printer",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"brottsplatskartan": {
"name": "Brottsplatskartan",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"browser": {
"name": "Browser",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"brunt": {
"name": "Brunt Blind Engine",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"bryant_evolution": {
"name": "Bryant Evolution",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"bsblan": {
"name": "BSB-Lan",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"bswitch": {
"name": "BSwitch",
"integration_type": "virtual",
"supported_by": "switchbee"
},
"bt_home_hub_5": {
"name": "BT Home Hub 5",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"bt_smarthub": {
"name": "BT Smart Hub",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"bthome": {
"name": "BTHome",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"bticino": {
"name": "BTicino",
"integration_type": "virtual",
"supported_by": "netatmo"
},
"bubendorff": {
"name": "Bubendorff",
"integration_type": "virtual",
"supported_by": "netatmo"
},
"buienradar": {
"name": "Buienradar",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"burbank_water_and_power": {
"name": "Burbank Water and Power (BWP)",
"integration_type": "virtual",
"supported_by": "opower"
},
"caldav": {
"name": "CalDAV",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"cambridge_audio": {
"name": "Cambridge Audio",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"canary": {
"name": "Canary",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ccm15": {
"name": "Midea ccm15 AC Controller",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"cert_expiry": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"chacon_dio": {
"name": "Chacon DiO",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"channels": {
"name": "Channels",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"cisco": {
"name": "Cisco",
"integrations": {
"cisco_ios": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Cisco IOS"
},
"cisco_mobility_express": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Cisco Mobility Express"
},
"cisco_webex_teams": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Cisco Webex Teams"
}
}
},
"citybikes": {
"name": "CityBikes",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"clementine": {
"name": "Clementine Music Player",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"clickatell": {
"name": "Clickatell",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"clicksend": {
"name": "ClickSend",
"integrations": {
"clicksend": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "ClickSend SMS"
},
"clicksend_tts": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "ClickSend TTS"
}
}
},
"cloudflare": {
"name": "Cloudflare",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"single_config_entry": true
},
"cmus": {
"name": "cmus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"co2signal": {
"name": "Electricity Maps",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"coautilities": {
"name": "City of Austin Utilities",
"integration_type": "virtual",
"supported_by": "opower"
},
"coinbase": {
"name": "Coinbase",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"color_extractor": {
"name": "ColorExtractor",
"integration_type": "hub",
"config_flow": true,
"single_config_entry": true
},
"comed": {
"name": "Commonwealth Edison (ComEd)",
"integration_type": "virtual",
"supported_by": "opower"
},
"comed_hourly_pricing": {
"name": "ComEd Hourly Pricing",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"comelit": {
"name": "Comelit SimpleHome",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"comfoconnect": {
"name": "Zehnder ComfoAir Q",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"command_line": {
"name": "Command Line",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"compensation": {
"name": "Compensation",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated"
},
"concord232": {
"name": "Concord232",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"coned": {
"name": "Consolidated Edison (ConEd)",
"integration_type": "virtual",
"supported_by": "opower"
},
"constructa": {
"name": "Constructa",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"control4": {
"name": "Control4",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"cookidoo": {
"name": "Cookidoo",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"coolmaster": {
"name": "CoolMasterNet",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"cozytouch": {
"name": "Atlantic Cozytouch",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"cpuspeed": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"cribl": {
"name": "Cribl",
"integration_type": "virtual",
"supported_by": "splunk"
},
"crownstone": {
"name": "Crownstone",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"cups": {
"name": "CUPS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"currencylayer": {
"name": "currencylayer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"dacia": {
"name": "Dacia",
"integration_type": "virtual",
"supported_by": "renault"
},
"daikin": {
"name": "Daikin AC",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"danfoss_air": {
"name": "Danfoss Air",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"datadog": {
"name": "Datadog",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"ddwrt": {
"name": "DD-WRT",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"deako": {
"name": "Deako",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"single_config_entry": true
},
"debugpy": {
"name": "Remote Python Debugger",
"integration_type": "service",
"config_flow": false,
"iot_class": "local_push"
},
"deconz": {
"name": "deCONZ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"decora": {
"name": "Leviton Decora",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"decora_wifi": {
"name": "Leviton Decora Wi-Fi",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"decorquip": {
"name": "Decorquip Dream",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"delijn": {
"name": "De Lijn",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"delmarva": {
"name": "Delmarva Power",
"integration_type": "virtual",
"supported_by": "opower"
},
"deluge": {
"name": "Deluge",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"demo": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated",
"single_config_entry": true
},
"denon": {
"name": "Denon",
"integrations": {
"denon": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Denon Network Receivers"
},
"denonavr": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Denon AVR Network Receivers"
},
"heos": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Denon HEOS"
}
}
},
"devialet": {
"name": "Devialet",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"device_sun_light_trigger": {
"name": "Presence-based Lights",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated"
},
"devolo": {
"name": "devolo",
"integrations": {
"devolo_home_control": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "devolo Home Control"
},
"devolo_home_network": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "devolo Home Network"
}
},
"iot_standards": [
"zwave"
]
},
"dexcom": {
"name": "Dexcom",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"diaz": {
"name": "Diaz",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"digital_loggers": {
"name": "Digital Loggers",
"integration_type": "virtual",
"supported_by": "wemo"
},
"digital_ocean": {
"name": "Digital Ocean",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"directv": {
"name": "DirecTV",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"discogs": {
"name": "Discogs",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"discord": {
"name": "Discord",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_push"
},
"discovergy": {
"name": "inexogy",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"dlib_face_detect": {
"name": "Dlib Face Detect",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"dlib_face_identify": {
"name": "Dlib Face Identify",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"dlink": {
"name": "D-Link Wi-Fi Smart Plugs",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"dlna": {
"name": "DLNA",
"integrations": {
"dlna_dmr": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "DLNA Digital Media Renderer"
},
"dlna_dms": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "DLNA Digital Media Server"
}
}
},
"dnsip": {
"name": "DNS IP",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"dominos": {
"name": "Dominos Pizza",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"doods": {
"name": "DOODS - Dedicated Open Object Detection Service",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"doorbird": {
"name": "DoorBird",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"dooya": {
"name": "Dooya",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"dormakaba_dkey": {
"name": "Dormakaba dKey",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"dovado": {
"name": "Dovado",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"downloader": {
"name": "Downloader",
"integration_type": "hub",
"config_flow": true,
"single_config_entry": true
},
"dremel_3d_printer": {
"name": "Dremel 3D Printer",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"drop_connect": {
"name": "DROP",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"dsmr": {
"name": "DSMR Smart Meter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"dsmr_reader": {
"name": "DSMR Reader",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"dublin_bus_transport": {
"name": "Dublin Bus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"duckdns": {
"name": "Duck DNS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"duke_energy": {
"name": "Duke Energy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"dunehd": {
"name": "Dune HD",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"duotecno": {
"name": "Duotecno",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"duquesne_light": {
"name": "Duquesne Light",
"integration_type": "virtual",
"supported_by": "opower"
},
"dwd_weather_warnings": {
"name": "Deutscher Wetterdienst (DWD) Weather Warnings",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"dweet": {
"name": "dweet.io",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"eafm": {
"name": "Environment Agency Flood Gauges",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"eastron": {
"name": "Eastron",
"integration_type": "virtual",
"supported_by": "homewizard"
},
"easyenergy": {
"name": "easyEnergy",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ebox": {
"name": "EBox",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"ebusd": {
"name": "ebusd",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"ecoal_boiler": {
"name": "eSterownik eCoal.pl Boiler",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"ecobee": {
"name": "ecobee",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ecoforest": {
"name": "Ecoforest",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"econet": {
"name": "Rheem EcoNet Products",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"ecovacs": {
"name": "Ecovacs",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"ecowitt": {
"name": "Ecowitt",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"eddystone_temperature": {
"name": "Eddystone",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"edimax": {
"name": "Edimax",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"edl21": {
"name": "EDL21",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"efergy": {
"name": "Efergy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"egardia": {
"name": "Egardia",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"eheimdigital": {
"name": "EHEIM Digital",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"electrasmart": {
"name": "Electra Smart",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"electric_kiwi": {
"name": "Electric Kiwi",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"elevenlabs": {
"name": "ElevenLabs",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"elgato": {
"name": "Elgato",
"integrations": {
"avea": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Elgato Avea"
},
"elgato": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "Elgato Light"
}
}
},
"eliqonline": {
"name": "Eliqonline",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"elkm1": {
"name": "Elk-M1 Control",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"elmax": {
"name": "Elmax",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"elv": {
"name": "ELV PCA",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"elvia": {
"name": "Elvia",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"emby": {
"name": "Emby",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"emoncms": {
"name": "emoncms",
"integrations": {
"emoncms": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Emoncms"
},
"emoncms_history": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Emoncms History"
}
}
},
"emonitor": {
"name": "SiteSage Emonitor",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"emulated_hue": {
"name": "Emulated Hue",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"emulated_kasa": {
"name": "Emulated Kasa",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"emulated_roku": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"energenie_power_sockets": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"energie_vanons": {
"name": "Energie VanOns",
"integration_type": "virtual",
"supported_by": "energyzero"
},
"energyzero": {
"name": "EnergyZero",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"enigma2": {
"name": "Enigma2 (OpenWebif)",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"enmax": {
"name": "Enmax Energy",
"integration_type": "virtual",
"supported_by": "opower"
},
"enocean": {
"name": "EnOcean",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"enphase_envoy": {
"name": "Enphase Envoy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"entur_public_transport": {
"name": "Entur",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"environment_canada": {
"name": "Environment Canada",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"envisalink": {
"name": "Envisalink",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"ephember": {
"name": "EPH Controls",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"epic_games_store": {
"name": "Epic Games Store",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"epion": {
"name": "Epion",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"epson": {
"name": "Epson",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"eq3": {
"name": "eQ-3",
"integrations": {
"maxcube": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "eQ-3 MAX!"
},
"eq3btsmart": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "eQ-3 Bluetooth Smart Thermostats"
}
}
},
"escea": {
"name": "Escea",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"esera_onewire": {
"name": "ESERA 1-Wire",
"integration_type": "virtual",
"supported_by": "onewire"
},
"esphome": {
"name": "ESPHome",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"etherscan": {
"name": "Etherscan",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"eufy": {
"name": "eufy",
"integrations": {
"eufy": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "EufyHome"
},
"eufylife_ble": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push",
"name": "EufyLife"
}
}
},
"eve": {
"name": "Eve",
"iot_standards": [
"matter"
]
},
"evergy": {
"name": "Evergy",
"integration_type": "virtual",
"supported_by": "opower"
},
"everlights": {
"name": "EverLights",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"evil_genius_labs": {
"name": "Evil Genius Labs",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"ezviz": {
"name": "EZVIZ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"faa_delays": {
"name": "FAA Delays",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"facebook": {
"name": "Facebook Messenger",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"fail2ban": {
"name": "Fail2Ban",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"fastdotcom": {
"name": "Fast.com",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"feedreader": {
"name": "Feedreader",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ffmpeg": {
"name": "FFmpeg",
"integrations": {
"ffmpeg_motion": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated",
"name": "FFmpeg Motion"
},
"ffmpeg_noise": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated",
"name": "FFmpeg Noise"
}
}
},
"fibaro": {
"name": "Fibaro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"fido": {
"name": "Fido",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"file": {
"name": "File",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"filesize": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"fints": {
"name": "FinTS",
"integration_type": "service",
"config_flow": false,
"iot_class": "cloud_polling"
},
"fireservicerota": {
"name": "FireServiceRota",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"firmata": {
"name": "Firmata",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"fitbit": {
"name": "Fitbit",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"fivem": {
"name": "FiveM",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"fixer": {
"name": "Fixer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"fjaraskupan": {
"name": "Fj\u00e4r\u00e5skupan",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"fleetgo": {
"name": "FleetGO",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"flexit": {
"name": "Flexit",
"integrations": {
"flexit": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Flexit"
},
"flexit_bacnet": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "Flexit Nordic (BACnet)"
}
}
},
"flexom": {
"name": "Bouygues Flexom",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"flic": {
"name": "Flic",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"flick_electric": {
"name": "Flick Electric",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"flipr": {
"name": "Flipr",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"flo": {
"name": "Flo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"flock": {
"name": "Flock",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"flume": {
"name": "Flume",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"flux": {
"name": "Flux",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated"
},
"flux_led": {
"name": "Magic Home",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"folder": {
"name": "Folder",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"folder_watcher": {
"name": "Folder Watcher",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"foobot": {
"name": "Foobot",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"forecast_solar": {
"name": "Forecast.Solar",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"forked_daapd": {
"name": "OwnTone",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"fortios": {
"name": "FortiOS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"foscam": {
"name": "Foscam",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"foursquare": {
"name": "Foursquare",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"frankever": {
"name": "FrankEver",
"integration_type": "virtual",
"supported_by": "shelly"
},
"free_mobile": {
"name": "Free Mobile",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"freebox": {
"name": "Freebox",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"freedns": {
"name": "FreeDNS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"freedompro": {
"name": "Freedompro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"fritzbox": {
"name": "FRITZ!Box",
"integrations": {
"fritz": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "AVM FRITZ!Box Tools"
},
"fritzbox": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "AVM FRITZ!SmartHome"
},
"fritzbox_callmonitor": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "AVM FRITZ!Box Call Monitor"
}
}
},
"fronius": {
"name": "Fronius",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"frontier_silicon": {
"name": "Frontier Silicon",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"fujitsu": {
"name": "Fujitsu",
"integrations": {
"fujitsu_anywair": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "advantage_air",
"name": "Fujitsu anywAIR"
},
"fujitsu_fglair": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "FGLair"
}
}
},
"fully_kiosk": {
"name": "Fully Kiosk Browser",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"futurenow": {
"name": "P5 FutureNow",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"fyta": {
"name": "FYTA",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"gaggenau": {
"name": "Gaggenau",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"garadget": {
"name": "Garadget",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"garages_amsterdam": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"gardena_bluetooth": {
"name": "Gardena Bluetooth",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"gaviota": {
"name": "Gaviota",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"gdacs": {
"name": "Global Disaster Alert and Coordination System (GDACS)",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"generic": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"geniushub": {
"name": "Genius Hub",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"geo_json_events": {
"name": "GeoJSON",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"geo_rss_events": {
"name": "GeoRSS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"geocaching": {
"name": "Geocaching",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"geofency": {
"name": "Geofency",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"geonet": {
"name": "GeoNet",
"integrations": {
"geonetnz_quakes": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "GeoNet NZ Quakes"
},
"geonetnz_volcano": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "GeoNet NZ Volcano"
}
}
},
"gios": {
"name": "GIO\u015a",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"github": {
"name": "GitHub",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"gitlab_ci": {
"name": "GitLab-CI",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"gitter": {
"name": "Gitter",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"glances": {
"name": "Glances",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"globalcache": {
"name": "Global Cach\u00e9",
"integrations": {
"gc100": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Global Cach\u00e9 GC-100"
},
"itach": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state",
"name": "Global Cach\u00e9 iTach TCP/IP to IR"
}
}
},
"goalzero": {
"name": "Goal Zero Yeti",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"gogogate2": {
"name": "Gogogate2 and ismartgate",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"goodwe": {
"name": "GoodWe Inverter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"google": {
"name": "Google",
"integrations": {
"google_assistant_sdk": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Assistant SDK"
},
"google_cloud": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Google Cloud"
},
"google_drive": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Drive"
},
"google_gemini": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "google_generative_ai_conversation",
"name": "Google Gemini"
},
"google_generative_ai_conversation": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Generative AI"
},
"google_mail": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Mail"
},
"google_maps": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Google Maps"
},
"google_photos": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Photos"
},
"google_pubsub": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Google Pub/Sub"
},
"google_sheets": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Sheets"
},
"google_tasks": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Tasks"
},
"google_translate": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Google Translate text-to-speech"
},
"google_travel_time": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"google_wifi": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Google Wifi"
},
"google": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Google Calendar"
},
"nest": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Google Nest"
},
"cast": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Google Cast"
},
"dialogflow": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Dialogflow"
},
"youtube": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "YouTube"
}
}
},
"govee": {
"name": "Govee",
"integrations": {
"govee_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Govee Bluetooth"
},
"govee_light_local": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Govee lights local"
}
}
},
"gpsd": {
"name": "GPSD",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"gpslogger": {
"name": "GPSLogger",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"graphite": {
"name": "Graphite",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"gree": {
"name": "Gree Climate",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"greeneye_monitor": {
"name": "GreenEye Monitor (GEM)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"greenwave": {
"name": "Greenwave Reality",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"growatt_server": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"gstreamer": {
"name": "GStreamer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"gtfs": {
"name": "General Transit Feed Specification (GTFS)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"guardian": {
"name": "Elexa Guardian",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"habitica": {
"name": "Habitica",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hardkernel": {
"name": "Hardkernel",
"integration_type": "hardware",
"config_flow": false,
"single_config_entry": true
},
"harman_kardon_avr": {
"name": "Harman Kardon AVR",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"harvey": {
"name": "Harvey",
"integration_type": "virtual",
"supported_by": "aquacell"
},
"hassio": {
"name": "Home Assistant Supervisor",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"single_config_entry": true
},
"havana_shade": {
"name": "Havana Shade",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"haveibeenpwned": {
"name": "HaveIBeenPwned",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"hddtemp": {
"name": "hddtemp",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"hdmi_cec": {
"name": "HDMI-CEC",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"heatmiser": {
"name": "Heatmiser",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"heicko": {
"name": "Heicko",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"heiwa": {
"name": "Heiwa",
"integration_type": "virtual",
"supported_by": "gree"
},
"heltun": {
"name": "HELTUN",
"iot_standards": [
"zwave"
]
},
"here_travel_time": {
"name": "HERE Travel Time",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hexaom": {
"name": "Hexaom Hexaconnect",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"hi_kumo": {
"name": "Hitachi Hi Kumo",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"hikvision": {
"name": "Hikvision",
"integrations": {
"hikvision": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "Hikvision"
},
"hikvisioncam": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Hikvision"
}
}
},
"hisense_aehw4a1": {
"name": "Hisense AEH-W4A1",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"hitron_coda": {
"name": "Rogers Hitron CODA",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"hive": {
"name": "Hive",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hko": {
"name": "Hong Kong Observatory",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hlk_sw16": {
"name": "Hi-Link HLK-SW16",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"holiday": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"home_plus_control": {
"name": "Legrand Home+ Control",
"integration_type": "virtual",
"supported_by": "netatmo"
},
"homeassistant_green": {
"name": "Home Assistant Green",
"integration_type": "hardware",
"config_flow": false,
"single_config_entry": true
},
"homeassistant_sky_connect": {
"name": "Home Assistant Connect ZBT-1",
"integration_type": "hardware",
"config_flow": true
},
"homeassistant_yellow": {
"name": "Home Assistant Yellow",
"integration_type": "hardware",
"config_flow": false,
"single_config_entry": true
},
"homee": {
"name": "Homee",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"homematic": {
"name": "Homematic",
"integrations": {
"homematic": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "Homematic"
},
"homematicip_cloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "HomematicIP Cloud"
}
}
},
"homeseer": {
"name": "HomeSeer",
"iot_standards": [
"zwave"
]
},
"homewizard": {
"name": "HomeWizard Energy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"honeywell": {
"name": "Honeywell",
"integrations": {
"lyric": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Honeywell Lyric"
},
"evohome": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Honeywell Total Connect Comfort (Europe)"
},
"honeywell": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Honeywell Total Connect Comfort (US)"
}
}
},
"horizon": {
"name": "Unitymedia Horizon HD Recorder",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"hp_ilo": {
"name": "HP Integrated Lights-Out (ILO)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"html5": {
"name": "HTML5 Push Notifications",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"single_config_entry": true
},
"huawei_lte": {
"name": "Huawei LTE",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"huisbaasje": {
"name": "EnergyFlip",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hunterdouglas_powerview": {
"name": "Hunter Douglas PowerView",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"hurrican_shutters_wholesale": {
"name": "Hurrican Shutters Wholesale",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"husqvarna": {
"name": "Husqvarna",
"integrations": {
"husqvarna_automower": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Husqvarna Automower"
},
"husqvarna_automower_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Husqvarna Automower BLE"
}
}
},
"huum": {
"name": "Huum",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hvv_departures": {
"name": "HVV Departures",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hydrawise": {
"name": "Hunter Hydrawise",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"hyperion": {
"name": "Hyperion",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"ialarm": {
"name": "Antifurto365 iAlarm",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"iammeter": {
"name": "IamMeter",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"iaqualink": {
"name": "Jandy iAqualink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ibm": {
"name": "IBM",
"integrations": {
"watson_iot": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "IBM Watson IoT Platform"
},
"watson_tts": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "IBM Watson TTS"
}
}
},
"idteck_prox": {
"name": "IDTECK Proximity Reader",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"ifttt": {
"name": "IFTTT",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"iglo": {
"name": "iGlo",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"igloohome": {
"name": "igloohome",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ign_sismologia": {
"name": "IGN Sismolog\u00eda",
"integration_type": "service",
"config_flow": false,
"iot_class": "cloud_polling"
},
"ihc": {
"name": "IHC Controller",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"ikea": {
"name": "IKEA",
"integrations": {
"symfonisk": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "sonos",
"name": "IKEA SYMFONISK"
},
"tradfri": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "IKEA TR\u00c5DFRI"
},
"idasen_desk": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push",
"name": "IKEA Idasen Desk"
}
}
},
"imap": {
"name": "IMAP",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"imeon_inverter": {
"name": "Imeon Inverter",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"imgw_pib": {
"name": "IMGW-PIB",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"improv_ble": {
"name": "Improv via BLE",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"incomfort": {
"name": "Intergas gateway",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"indianamichiganpower": {
"name": "Indiana Michigan Power",
"integration_type": "virtual",
"supported_by": "opower"
},
"influxdb": {
"name": "InfluxDB",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"inkbird": {
"name": "INKBIRD",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"inovelli": {
"name": "Inovelli",
"iot_standards": [
"zigbee",
"zwave"
]
},
"inspired_shades": {
"name": "Inspired Shades",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"insteon": {
"name": "Insteon",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"intellifire": {
"name": "IntelliFire",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"intent_script": {
"name": "Intent Script",
"integration_type": "hub",
"config_flow": false
},
"intesishome": {
"name": "IntesisHome",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"iometer": {
"name": "IOmeter",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"ios": {
"name": "Home Assistant iOS",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"iotawatt": {
"name": "IoTaWatt",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"iotty": {
"name": "iotty",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling"
},
"iperf3": {
"name": "Iperf3",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"ipma": {
"name": "Instituto Portugu\u00eas do Mar e Atmosfera (IPMA)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ipp": {
"name": "Internet Printing Protocol (IPP)",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"iqvia": {
"name": "IQVIA",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"irish_rail_transport": {
"name": "Irish Rail Transport",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"iron_os": {
"name": "IronOS",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"iskra": {
"name": "iskra",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"islamic_prayer_times": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated"
},
"ismartwindow": {
"name": "iSmartWindow",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"israel_rail": {
"name": "Israel Railways",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"iss": {
"name": "International Space Station (ISS)",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ista_ecotrend": {
"name": "ista EcoTrend",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"isy994": {
"name": "Universal Devices ISY/IoX",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"ituran": {
"name": "Ituran",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"izone": {
"name": "iZone",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"jasco": {
"name": "Jasco",
"iot_standards": [
"zwave"
]
},
"jellyfin": {
"name": "Jellyfin",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling",
"single_config_entry": true
},
"jewish_calendar": {
"name": "Jewish Calendar",
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated",
"single_config_entry": true
},
"joaoapps_join": {
"name": "Joaoapps Join",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"juicenet": {
"name": "JuiceNet",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"justnimbus": {
"name": "JustNimbus",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"jvc_projector": {
"name": "JVC Projector",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"kaiterra": {
"name": "Kaiterra",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"kaleidescape": {
"name": "Kaleidescape",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"kankun": {
"name": "Kankun",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"keba": {
"name": "Keba Charging Station",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"keenetic_ndms2": {
"name": "Keenetic NDMS2 Router",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"kef": {
"name": "KEF",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"kegtron": {
"name": "Kegtron",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"kentuckypower": {
"name": "Kentucky Power",
"integration_type": "virtual",
"supported_by": "opower"
},
"keyboard": {
"name": "Keyboard",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"keyboard_remote": {
"name": "Keyboard Remote",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"keymitt_ble": {
"name": "Keymitt MicroBot Push",
"integration_type": "hub",
"config_flow": true,
"iot_class": "assumed_state"
},
"kira": {
"name": "Kira",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"kitchen_sink": {
"name": "Everything but the Kitchen Sink",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated",
"single_config_entry": true
},
"kiwi": {
"name": "KIWI",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"kmtronic": {
"name": "KMtronic",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"knocki": {
"name": "Knocki",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"knx": {
"name": "KNX",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"kodi": {
"name": "Kodi",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"konnected": {
"name": "Konnected.io",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"kostal_plenticore": {
"name": "Kostal Plenticore Solar Inverter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"kraken": {
"name": "Kraken",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"krispol": {
"name": "Krispol",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"kulersky": {
"name": "Kuler Sky",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"kwb": {
"name": "KWB Easyfire",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"lacrosse": {
"name": "LaCrosse",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"lacrosse_view": {
"name": "LaCrosse View",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"lamarzocco": {
"name": "La Marzocco",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_push"
},
"lametric": {
"name": "LaMetric",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"landisgyr_heat_meter": {
"name": "Landis+Gyr Heat Meter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"lannouncer": {
"name": "LANnouncer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"lastfm": {
"name": "Last.fm",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"launch_library": {
"name": "Launch Library",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"laundrify": {
"name": "laundrify",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"lcn": {
"name": "LCN",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"ld2410_ble": {
"name": "LD2410 BLE",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"leaone": {
"name": "LeaOne",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"led_ble": {
"name": "LED BLE",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"legrand": {
"name": "Legrand",
"integration_type": "virtual",
"supported_by": "netatmo"
},
"lektrico": {
"name": "Lektrico Charging Station",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"letpot": {
"name": "LetPot",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"leviton": {
"name": "Leviton",
"iot_standards": [
"zwave"
]
},
"lg": {
"name": "LG",
"integrations": {
"lg_netcast": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "LG Netcast"
},
"lg_soundbar": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "LG Soundbars"
},
"lg_thinq": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "LG ThinQ"
},
"webostv": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "LG webOS TV"
}
}
},
"lidarr": {
"name": "Lidarr",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"lifx": {
"name": "LIFX",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"lifx_cloud": {
"name": "LIFX Cloud",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"lightwave": {
"name": "Lightwave",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"limitlessled": {
"name": "LimitlessLED",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"linak": {
"name": "LINAK",
"integration_type": "virtual",
"supported_by": "idasen_desk"
},
"linear_garage_door": {
"name": "Linear Garage Door",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"linkedgo": {
"name": "LinkedGo",
"integration_type": "virtual",
"supported_by": "shelly"
},
"linkplay": {
"name": "LinkPlay",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"linksys_smart": {
"name": "Linksys Smart Wi-Fi",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"linode": {
"name": "Linode",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"linux_battery": {
"name": "Linux Battery",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"linx": {
"name": "Linx",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"lirc": {
"name": "LIRC",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"litejet": {
"name": "LiteJet",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"litterrobot": {
"name": "Litter-Robot",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"livisi": {
"name": "LIVISI Smart Home",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"llamalab_automate": {
"name": "LlamaLab Automate",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"local_calendar": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"local_file": {
"name": "Local File",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"local_ip": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"single_config_entry": true
},
"local_todo": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"locative": {
"name": "Locative",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"logentries": {
"name": "Logentries",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"logitech": {
"name": "Logitech",
"integrations": {
"harmony": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Logitech Harmony Hub"
},
"squeezebox": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Squeezebox (Lyrion Music Server)"
}
}
},
"london_air": {
"name": "London Air",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"london_underground": {
"name": "London Underground",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"lookin": {
"name": "LOOKin",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"loqed": {
"name": "LOQED Touch Smart Lock",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"luftdaten": {
"name": "Sensor.Community",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling"
},
"lupusec": {
"name": "Lupus Electronics LUPUSEC",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"lutron": {
"name": "Lutron",
"integrations": {
"lutron": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Lutron"
},
"lutron_caseta": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Lutron Cas\u00e9ta"
},
"homeworks": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Lutron Homeworks"
}
}
},
"luxaflex": {
"name": "Luxaflex",
"integration_type": "virtual",
"supported_by": "hunterdouglas_powerview"
},
"lw12wifi": {
"name": "LAGUTE LW-12",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"madeco": {
"name": "Madeco",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"madvr": {
"name": "madVR Envy",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"mailgun": {
"name": "Mailgun",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"marantz": {
"name": "Marantz",
"integration_type": "virtual",
"supported_by": "denonavr"
},
"martec": {
"name": "Martec",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"marytts": {
"name": "MaryTTS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"mastodon": {
"name": "Mastodon",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"matrix": {
"name": "Matrix",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"matter": {
"name": "Matter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"maytag": {
"name": "Maytag",
"integration_type": "virtual",
"supported_by": "whirlpool"
},
"mcp": {
"name": "Model Context Protocol",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mcp_server": {
"name": "Model Context Protocol Server",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"mealie": {
"name": "Mealie",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"meater": {
"name": "Meater",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"medcom_ble": {
"name": "Medcom Bluetooth",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"media_extractor": {
"name": "Media Extractor",
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated",
"single_config_entry": true
},
"mediaroom": {
"name": "Mediaroom",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"melcloud": {
"name": "MELCloud",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"melissa": {
"name": "Melissa",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"melnor": {
"name": "Melnor",
"integrations": {
"melnor": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Melnor Bluetooth"
},
"raincloud": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Melnor RainCloud"
}
}
},
"meraki": {
"name": "Meraki",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"mercury_nz": {
"name": "Mercury NZ Limited",
"integration_type": "virtual",
"supported_by": "opower"
},
"message_bird": {
"name": "MessageBird",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"met": {
"name": "Meteorologisk institutt (Met.no)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"met_eireann": {
"name": "Met \u00c9ireann",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"meteo_france": {
"name": "M\u00e9t\u00e9o-France",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"meteoalarm": {
"name": "MeteoAlarm",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"meteoclimatic": {
"name": "Meteoclimatic",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"metoffice": {
"name": "Met Office",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"mfi": {
"name": "Ubiquiti mFi mPort",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"microbees": {
"name": "microBees",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"microsoft": {
"name": "Microsoft",
"integrations": {
"azure_data_explorer": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Azure Data Explorer"
},
"azure_devops": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Azure DevOps"
},
"azure_event_hub": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Azure Event Hub"
},
"azure_service_bus": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Azure Service Bus"
},
"azure_storage": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Azure Storage"
},
"microsoft_face_detect": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Microsoft Face Detect"
},
"microsoft_face_identify": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Microsoft Face Identify"
},
"microsoft_face": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Microsoft Face"
},
"microsoft": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Microsoft Text-to-Speech (TTS)"
},
"msteams": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Microsoft Teams"
},
"onedrive": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "OneDrive"
},
"xbox": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Xbox"
}
}
},
"miele": {
"name": "Miele",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"single_config_entry": true
},
"mijndomein_energie": {
"name": "Mijndomein Energie",
"integration_type": "virtual",
"supported_by": "energyzero"
},
"mikrotik": {
"name": "Mikrotik",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mill": {
"name": "Mill",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"minecraft_server": {
"name": "Minecraft Server",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mini_connected": {
"name": "MINI Connected",
"integration_type": "virtual",
"supported_by": "bmw_connected_drive"
},
"minio": {
"name": "Minio",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"mjpeg": {
"name": "MJPEG IP Camera",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"moat": {
"name": "Moat",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"mobile_app": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"mochad": {
"name": "Mochad",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"modbus": {
"name": "Modbus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"modem_callerid": {
"name": "Phone Modem",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"modern_forms": {
"name": "Modern Forms",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"moehlenhoff_alpha2": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"monarch_money": {
"name": "Monarch Money",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"monessen": {
"name": "Monessen",
"integration_type": "virtual",
"supported_by": "intellifire"
},
"monoprice": {
"name": "Monoprice 6-Zone Amplifier",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"monzo": {
"name": "Monzo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"moon": {
"integration_type": "service",
"config_flow": true,
"iot_class": "calculated",
"single_config_entry": true
},
"mopeka": {
"name": "Mopeka",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"motionblinds": {
"name": "Motionblinds",
"integrations": {
"motion_blinds": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Motionblinds"
},
"motionblinds_ble": {
"integration_type": "device",
"config_flow": true,
"iot_class": "assumed_state",
"name": "Motionblinds Bluetooth"
}
},
"iot_standards": [
"matter"
]
},
"motioneye": {
"name": "motionEye",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"motionmount": {
"name": "Vogel's MotionMount",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"mpd": {
"name": "Music Player Daemon (MPD)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mqtt": {
"name": "MQTT",
"integrations": {
"manual_mqtt": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "Manual MQTT Alarm Control Panel"
},
"mqtt": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "MQTT"
},
"mqtt_eventstream": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "MQTT Eventstream"
},
"mqtt_json": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "MQTT JSON"
},
"mqtt_room": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "MQTT Room Presence"
},
"mqtt_statestream": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "MQTT Statestream"
}
}
},
"mullvad": {
"name": "Mullvad VPN",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"music_assistant": {
"name": "Music Assistant",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"mutesync": {
"name": "mutesync",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mvglive": {
"name": "MVG",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"mycroft": {
"name": "Mycroft",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"mysensors": {
"name": "MySensors",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"mystrom": {
"name": "myStrom",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"mythicbeastsdns": {
"name": "Mythic Beasts DNS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"myuplink": {
"name": "myUplink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nad": {
"name": "NAD",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"nam": {
"name": "Nettigo Air Monitor",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"namecheapdns": {
"name": "Namecheap FreeDNS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"nanoleaf": {
"name": "Nanoleaf",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"nasweb": {
"name": "NASweb",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"national_grid_us": {
"name": "National Grid US",
"integration_type": "virtual",
"supported_by": "opower"
},
"neato": {
"name": "Neato Botvac",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nederlandse_spoorwegen": {
"name": "Nederlandse Spoorwegen (NS)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"neff": {
"name": "Neff",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"ness_alarm": {
"name": "Ness Alarm",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"netatmo": {
"name": "Netatmo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"netdata": {
"name": "Netdata",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"netgear": {
"name": "NETGEAR",
"integrations": {
"netgear": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "NETGEAR"
},
"netgear_lte": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "NETGEAR LTE"
}
}
},
"netio": {
"name": "Netio",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"neurio_energy": {
"name": "Neurio energy",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"nexia": {
"name": "Nexia/American Standard/Trane",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nexity": {
"name": "Nexity Eug\u00e9nie",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"nextbus": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nextcloud": {
"name": "Nextcloud",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nextdns": {
"name": "NextDNS",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nfandroidtv": {
"name": "Notifications for Android TV / Fire TV",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push"
},
"nibe_heatpump": {
"name": "Nibe Heat Pump",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"nice_go": {
"name": "Nice G.O.",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"nightscout": {
"name": "Nightscout",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"niko_home_control": {
"name": "Niko Home Control",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"nilu": {
"name": "Norwegian Institute for Air Research (NILU)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"nina": {
"name": "NINA",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"nissan_leaf": {
"name": "Nissan Leaf",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"nmap_tracker": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"nmbs": {
"name": "NMBS",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"no_ip": {
"name": "No-IP.com",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"noaa_tides": {
"name": "NOAA Tides",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"nobo_hub": {
"name": "Nob\u00f8 Ecohub",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"nordpool": {
"name": "Nord Pool",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"norway_air": {
"name": "Om Luftkvalitet i Norge (Norway Air)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"notify_events": {
"name": "Notify.Events",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"notion": {
"name": "Notion",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nsw_fuel_station": {
"name": "NSW Fuel Station Price",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"nsw_rural_fire_service_feed": {
"name": "NSW Rural Fire Service Incidents",
"integration_type": "service",
"config_flow": false,
"iot_class": "cloud_polling"
},
"ntfy": {
"name": "ntfy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"nuheat": {
"name": "NuHeat",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nuki": {
"name": "Nuki",
"integrations": {
"nuki": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Nuki Bridge"
}
},
"iot_standards": [
"matter"
]
},
"numato": {
"name": "Numato USB GPIO Expander",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"nut": {
"name": "Network UPS Tools (NUT)",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"nutrichef": {
"name": "Nutrichef",
"integration_type": "virtual",
"supported_by": "inkbird"
},
"nws": {
"name": "National Weather Service (NWS)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nx584": {
"name": "NX584",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"nyt_games": {
"name": "NYT Games",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"nzbget": {
"name": "NZBGet",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"single_config_entry": true
},
"oasa_telematics": {
"name": "OASA Telematics",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"obihai": {
"name": "Obihai",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"octoprint": {
"name": "OctoPrint",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"oem": {
"name": "OpenEnergyMonitor WiFi Thermostat",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"ogemray": {
"name": "Ogemray",
"integration_type": "virtual",
"supported_by": "shelly"
},
"ohmconnect": {
"name": "OhmConnect",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"ohme": {
"name": "Ohme",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ollama": {
"name": "Ollama",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"ombi": {
"name": "Ombi",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"omnilogic": {
"name": "Hayward Omnilogic",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"ondilo_ico": {
"name": "Ondilo ICO",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"onewire": {
"name": "1-Wire",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"onkyo": {
"name": "Onkyo",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"onvif": {
"name": "ONVIF",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"open_meteo": {
"name": "Open-Meteo",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"openai_conversation": {
"name": "OpenAI Conversation",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"openalpr_cloud": {
"name": "OpenALPR Cloud",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"openerz": {
"name": "Open ERZ",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"openevse": {
"name": "OpenEVSE",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"openexchangerates": {
"name": "Open Exchange Rates",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"opengarage": {
"name": "OpenGarage",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"openhardwaremonitor": {
"name": "Open Hardware Monitor",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"openhome": {
"name": "Linn / OpenHome",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"opensensemap": {
"name": "openSenseMap",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"opensky": {
"name": "OpenSky Network",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"opentherm_gw": {
"name": "OpenTherm Gateway",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"openuv": {
"name": "OpenUV",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"openweathermap": {
"name": "OpenWeatherMap",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"openwrt": {
"name": "OpenWrt",
"integrations": {
"luci": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "OpenWrt (luci)"
},
"ubus": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "OpenWrt (ubus)"
}
}
},
"opnsense": {
"name": "OPNSense",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"opower": {
"name": "Opower",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"opple": {
"name": "Opple",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"oralb": {
"name": "Oral-B",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"oru": {
"name": "Orange and Rockland Utility (ORU)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"oru_opower": {
"name": "Orange and Rockland Utilities (ORU) Opower",
"integration_type": "virtual",
"supported_by": "opower"
},
"orvibo": {
"name": "Orvibo",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"osoenergy": {
"name": "OSO Energy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"osramlightify": {
"name": "Osramlightify",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"otbr": {
"name": "Open Thread Border Router",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"otp": {
"name": "One-Time Password (OTP)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"ourgroceries": {
"name": "OurGroceries",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"overkiz": {
"name": "Overkiz",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"overseerr": {
"name": "Overseerr",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push"
},
"ovo_energy": {
"name": "OVO Energy",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"owntracks": {
"name": "OwnTracks",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"p1_monitor": {
"name": "P1 Monitor",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"palazzetti": {
"name": "Palazzetti",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"panasonic": {
"name": "Panasonic",
"integrations": {
"panasonic_bluray": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Panasonic Blu-Ray Player"
},
"panasonic_viera": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Panasonic Viera"
}
}
},
"pandora": {
"name": "Pandora",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"pcs_lighting": {
"name": "PCS Lighting",
"integration_type": "virtual",
"supported_by": "upb"
},
"peblar": {
"name": "Peblar",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"peco": {
"name": "PECO Outage Counter",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"peco_opower": {
"name": "PECO Energy Company (PECO)",
"integration_type": "virtual",
"supported_by": "opower"
},
"pegel_online": {
"name": "PEGELONLINE",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"pencom": {
"name": "Pencom",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"pepco": {
"name": "Potomac Electric Power Company (Pepco)",
"integration_type": "virtual",
"supported_by": "opower"
},
"permobil": {
"name": "MyPermobil",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"pge": {
"name": "Pacific Gas & Electric (PG&E)",
"integration_type": "virtual",
"supported_by": "opower"
},
"pglab": {
"name": "PG LAB Electronics",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"philips": {
"name": "Philips",
"integrations": {
"dynalite": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Philips Dynalite"
},
"hue": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Philips Hue"
},
"philips_js": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Philips TV"
}
}
},
"pi_hole": {
"name": "Pi-hole",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"picnic": {
"name": "Picnic",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"picotts": {
"name": "Pico TTS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"pilight": {
"name": "Pilight",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"pinecil": {
"name": "Pinecil",
"integration_type": "virtual",
"supported_by": "iron_os"
},
"ping": {
"name": "Ping (ICMP)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"pioneer": {
"name": "Pioneer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"piper": {
"name": "Piper",
"integration_type": "virtual",
"supported_by": "wyoming"
},
"pitsos": {
"name": "Pitsos",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"pjlink": {
"name": "PJLink",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"plaato": {
"name": "Plaato",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"plant": {
"integration_type": "hub",
"config_flow": false
},
"plex": {
"name": "Plex Media Server",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"plugwise": {
"name": "Plugwise",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"plum_lightpad": {
"name": "Plum Lightpad",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"pocketcasts": {
"name": "Pocket Casts",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"point": {
"name": "Minut Point",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"poolsense": {
"name": "PoolSense",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"portlandgeneral": {
"name": "Portland General Electric (PGE)",
"integration_type": "virtual",
"supported_by": "opower"
},
"powerfox": {
"name": "Powerfox",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"private_ble_device": {
"name": "Private BLE Device",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"profiler": {
"name": "Profiler",
"integration_type": "hub",
"config_flow": true,
"single_config_entry": true
},
"profilo": {
"name": "Profilo",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"progettihwsw": {
"name": "ProgettiHWSW Automation",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"proliphix": {
"name": "Proliphix",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"prometheus": {
"name": "Prometheus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"prosegur": {
"name": "Prosegur Alarm",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"prowl": {
"name": "Prowl",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"proximity": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated"
},
"proxmoxve": {
"name": "Proxmox VE",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"proxy": {
"name": "Camera Proxy",
"integration_type": "hub",
"config_flow": false
},
"prusalink": {
"name": "PrusaLink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"pse": {
"name": "Puget Sound Energy (PSE)",
"integration_type": "virtual",
"supported_by": "opower"
},
"psoklahoma": {
"name": "Public Service Company of Oklahoma (PSO)",
"integration_type": "virtual",
"supported_by": "opower"
},
"pterodactyl": {
"name": "Pterodactyl",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"pulseaudio_loopback": {
"name": "PulseAudio Loopback",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"pure_energie": {
"name": "Pure Energie",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"purpleair": {
"name": "PurpleAir",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"push": {
"name": "Push",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"pushbullet": {
"name": "Pushbullet",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"pushover": {
"name": "Pushover",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"pushsafer": {
"name": "Pushsafer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"pvoutput": {
"name": "PVOutput",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling"
},
"pvpc_hourly_pricing": {
"name": "Spain electricity hourly pricing (PVPC)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"pyload": {
"name": "pyLoad",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"python_script": {
"name": "Python Scripts",
"integration_type": "hub",
"config_flow": false
},
"qbittorrent": {
"name": "qBittorrent",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"qbus": {
"name": "Qbus",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"qingping": {
"name": "Qingping",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"qld_bushfire": {
"name": "Queensland Bushfire Alert",
"integration_type": "service",
"config_flow": false,
"iot_class": "cloud_polling"
},
"qnap": {
"name": "QNAP",
"integrations": {
"qnap": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "QNAP"
},
"qnap_qsw": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "QNAP QSW"
}
}
},
"qrcode": {
"name": "QR Code",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated"
},
"quadrafire": {
"name": "Quadra-Fire",
"integration_type": "virtual",
"supported_by": "intellifire"
},
"quantum_gateway": {
"name": "Quantum Gateway",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"qvr_pro": {
"name": "QVR Pro",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"qwikswitch": {
"name": "QwikSwitch QSUSB",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"rabbitair": {
"name": "Rabbit Air",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"rachio": {
"name": "Rachio",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"radarr": {
"name": "Radarr",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"radio_browser": {
"name": "Radio Browser",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling",
"single_config_entry": true
},
"radiotherm": {
"name": "Radio Thermostat",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"rainbird": {
"name": "Rain Bird",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"rainforest_automation": {
"name": "Rainforest Automation",
"integrations": {
"rainforest_eagle": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Rainforest Eagle"
},
"rainforest_raven": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Rainforest RAVEn"
}
}
},
"rainmachine": {
"name": "RainMachine",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"rapt_ble": {
"name": "RAPT Bluetooth",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"raspberry_pi": {
"name": "Raspberry Pi",
"integrations": {
"raspberry_pi": {
"integration_type": "hardware",
"config_flow": false,
"name": "Raspberry Pi"
},
"rpi_camera": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Raspberry Pi Camera"
},
"rpi_power": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"remote_rpi_gpio": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push",
"name": "Raspberry Pi Remote GPIO"
}
}
},
"raspyrfm": {
"name": "RaspyRFM",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"raven_rock_mfg": {
"name": "Raven Rock MFG",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"rdw": {
"name": "RDW",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"recollect_waste": {
"name": "ReCollect Waste",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"recswitch": {
"name": "Ankuoo REC Switch",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"reddit": {
"name": "Reddit",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"refoss": {
"name": "Refoss",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"single_config_entry": true
},
"rehlko": {
"name": "Rehlko",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"rejseplanen": {
"name": "Rejseplanen",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"remember_the_milk": {
"name": "Remember The Milk",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"remote_calendar": {
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"renault": {
"name": "Renault",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"renson": {
"name": "Renson",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"reolink": {
"name": "Reolink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"repetier": {
"name": "Repetier-Server",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"rest": {
"name": "RESTful",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"rest_command": {
"name": "RESTful Command",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"rexel": {
"name": "Rexel Energeasy Connect",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"rflink": {
"name": "RFLink",
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state"
},
"rfxtrx": {
"name": "RFXCOM RFXtrx",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"rhasspy": {
"name": "Rhasspy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"ridwell": {
"name": "Ridwell",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ring": {
"name": "Ring",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"ripple": {
"name": "Ripple",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"risco": {
"name": "Risco",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"rituals_perfume_genie": {
"name": "Rituals Perfume Genie",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"rmvtransport": {
"name": "RMV",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"roborock": {
"name": "Roborock",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"rocketchat": {
"name": "Rocket.Chat",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"roku": {
"name": "Roku",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"romy": {
"name": "ROMY Vacuum Cleaner",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"roomba": {
"name": "iRobot Roomba and Braava",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"roon": {
"name": "RoonLabs music player",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"roth": {
"name": "Roth",
"integrations": {
"touchline": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Roth Touchline"
},
"touchline_sl": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Roth Touchline SL"
}
}
},
"rova": {
"name": "ROVA",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"rss_feed_template": {
"name": "RSS Feed Template",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"rtorrent": {
"name": "rTorrent",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"rtsp_to_webrtc": {
"name": "RTSPtoWebRTC",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"ruckus_unleashed": {
"name": "Ruckus",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"russound": {
"name": "Russound",
"integrations": {
"russound_rio": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Russound RIO"
},
"russound_rnet": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Russound RNET"
}
}
},
"ruuvi": {
"name": "Ruuvi",
"integrations": {
"ruuvi_gateway": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Ruuvi Gateway"
},
"ruuvitag_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "RuuviTag BLE"
}
}
},
"rympro": {
"name": "Read Your Meter Pro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"s3": {
"name": "S3",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_push"
},
"sabnzbd": {
"name": "SABnzbd",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"saj": {
"name": "SAJ Solar Inverter",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"samsam": {
"name": "SamSam",
"integration_type": "virtual",
"supported_by": "energyzero"
},
"samsung": {
"name": "Samsung",
"integrations": {
"familyhub": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Samsung Family Hub"
},
"samsungtv": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push",
"name": "Samsung Smart TV"
},
"syncthru": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Samsung SyncThru Printer"
}
}
},
"sanix": {
"name": "Sanix",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"satel_integra": {
"name": "Satel Integra",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"schlage": {
"name": "Schlage",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"schluter": {
"name": "Schluter",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"scl": {
"name": "Seattle City Light (SCL)",
"integration_type": "virtual",
"supported_by": "opower"
},
"scrape": {
"name": "Scrape",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"screenaway": {
"name": "ScreenAway",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"screenlogic": {
"name": "Pentair ScreenLogic",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"scsgate": {
"name": "SCSGate",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"season": {
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"sendgrid": {
"name": "SendGrid",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"sense": {
"name": "Sense",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sensibo": {
"name": "Sensibo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sensirion_ble": {
"name": "Sensirion BLE",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"sensorblue": {
"name": "SensorBlue",
"integration_type": "virtual",
"supported_by": "thermobeacon"
},
"sensorpro": {
"name": "SensorPro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"sensorpush": {
"name": "SensorPush",
"integrations": {
"sensorpush": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "SensorPush"
},
"sensorpush_cloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "SensorPush Cloud"
}
}
},
"sensoterra": {
"name": "Sensoterra",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sentry": {
"name": "Sentry",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"senz": {
"name": "nVent RAYCHEM SENZ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"serial": {
"name": "Serial",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"serial_pm": {
"name": "Serial Particulate Matter",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"sesame": {
"name": "Sesame Smart Lock",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"seven_segments": {
"name": "Seven Segments OCR",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"seventeentrack": {
"name": "17TRACK",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sfr_box": {
"name": "SFR Box",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"sharkiq": {
"name": "Shark IQ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"shell_command": {
"name": "Shell Command",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"shelly": {
"name": "Shelly",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"shodan": {
"name": "Shodan",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"shopping_list": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"sia": {
"name": "SIA Alarm Systems",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"siemens": {
"name": "Siemens",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"sigfox": {
"name": "Sigfox",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"sighthound": {
"name": "Sighthound",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"signal_messenger": {
"name": "Signal Messenger",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"simplefin": {
"name": "SimpleFin",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"simplepush": {
"name": "Simplepush",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"simplisafe": {
"name": "SimpliSafe",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"simply_automated": {
"name": "Simply Automated",
"integration_type": "virtual",
"supported_by": "upb"
},
"simu": {
"name": "SIMU LiveIn2",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"sinch": {
"name": "Sinch SMS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"sisyphus": {
"name": "Sisyphus",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"sky": {
"name": "Sky",
"integrations": {
"sky_hub": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Sky Hub"
},
"sky_remote": {
"integration_type": "device",
"config_flow": true,
"iot_class": "assumed_state",
"name": "Sky Remote Control"
}
}
},
"skybeacon": {
"name": "Skybeacon",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"skybell": {
"name": "SkyBell",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"slack": {
"name": "Slack",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_push"
},
"sleepiq": {
"name": "SleepIQ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"slide": {
"name": "Slide",
"integrations": {
"slide": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Slide"
},
"slide_local": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "Slide Local"
}
}
},
"slimproto": {
"name": "SlimProto (Squeezebox players)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"sma": {
"name": "SMA Solar",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"smappee": {
"name": "Smappee",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"smart_blinds": {
"name": "Smartblinds",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"smart_home": {
"name": "Smart Home",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"smart_meter_texas": {
"name": "Smart Meter Texas",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"smart_rollos": {
"name": "Smart Rollos",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"smarther": {
"name": "Smarther",
"integration_type": "virtual",
"supported_by": "netatmo"
},
"smartthings": {
"name": "SmartThings",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"smarttub": {
"name": "SmartTub",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"smarty": {
"name": "Salda Smarty",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"smhi": {
"name": "SMHI",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"smlight": {
"name": "SMLIGHT SLZB",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"sms": {
"name": "SMS notifications via GSM-modem",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"smtp": {
"name": "SMTP",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"smud": {
"name": "Sacramento Municipal Utility District (SMUD)",
"integration_type": "virtual",
"supported_by": "opower"
},
"snapcast": {
"name": "Snapcast",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"snips": {
"name": "Snips",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"snmp": {
"name": "SNMP",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"snoo": {
"name": "Happiest Baby Snoo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"snooz": {
"name": "Snooz",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"solaredge": {
"name": "SolarEdge",
"integrations": {
"solaredge": {
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "SolarEdge"
},
"solaredge_local": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "SolarEdge Local"
}
}
},
"solarlog": {
"name": "Solar-Log",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"solax": {
"name": "SolaX Power",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"soma": {
"name": "Soma Connect",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"somfy": {
"name": "Somfy",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"somfy_mylink": {
"name": "Somfy MyLink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "assumed_state"
},
"sonarr": {
"name": "Sonarr",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"sonos": {
"name": "Sonos",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"sony": {
"name": "Sony",
"integrations": {
"braviatv": {
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling",
"name": "Sony Bravia TV"
},
"ps4": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Sony PlayStation 4"
},
"sony_projector": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Sony Projector"
},
"songpal": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Sony Songpal"
}
}
},
"soundtouch": {
"name": "Bose SoundTouch",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"spaceapi": {
"name": "Space API",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"spc": {
"name": "Vanderbilt SPC",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"speedtestdotnet": {
"name": "Speedtest.net",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"splunk": {
"name": "Splunk",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"spotify": {
"name": "Spotify",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sql": {
"name": "SQL",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"srp_energy": {
"name": "SRP Energy",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"starline": {
"name": "StarLine",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"starlingbank": {
"name": "Starling Bank",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"starlink": {
"name": "Starlink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"startca": {
"name": "Start.ca",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"statsd": {
"name": "StatsD",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"steam_online": {
"name": "Steam",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"steamist": {
"name": "Steamist",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"stiebel_eltron": {
"name": "STIEBEL ELTRON",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"stookwijzer": {
"name": "Stookwijzer",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"streamlabswater": {
"name": "StreamLabs",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"subaru": {
"name": "Subaru",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"suez_water": {
"name": "Suez Water",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"sun": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated",
"single_config_entry": true
},
"sunweg": {
"name": "Sun WEG",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"supervisord": {
"name": "Supervisord",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"supla": {
"name": "SUPLA",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"surepetcare": {
"name": "Sure Petcare",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"swepco": {
"name": "Southwestern Electric Power Company (SWEPCO)",
"integration_type": "virtual",
"supported_by": "opower"
},
"swiss_hydrological_data": {
"name": "Swiss Hydrological Data",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"swiss_public_transport": {
"name": "Swiss public transport",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"swisscom": {
"name": "Swisscom Internet-Box",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"switchbee": {
"name": "SwitchBee",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"switchbot": {
"name": "SwitchBot",
"integrations": {
"switchbot": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "SwitchBot Bluetooth"
},
"switchbot_cloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "SwitchBot Cloud"
}
}
},
"switcher_kis": {
"name": "Switcher",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"switchmate": {
"name": "Switchmate SimplySmart Home",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"syncthing": {
"name": "Syncthing",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"synology": {
"name": "Synology",
"integrations": {
"synology_chat": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Synology Chat"
},
"synology_dsm": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Synology DSM"
},
"synology_srm": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Synology SRM"
}
}
},
"syslog": {
"name": "Syslog",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"system_bridge": {
"name": "System Bridge",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"systemmonitor": {
"name": "System Monitor",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"tado": {
"name": "Tado",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tailscale": {
"name": "Tailscale",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tailwind": {
"name": "Tailwind",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"tami4": {
"name": "Tami4 Edge / Edge+",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tank_utility": {
"name": "Tank Utility",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"tankerkoenig": {
"name": "Tankerkoenig",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tapsaff": {
"name": "Taps Aff",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tasmota": {
"name": "Tasmota",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"tautulli": {
"name": "Tautulli",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"tcp": {
"name": "TCP",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"technove": {
"name": "TechnoVE",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"ted5000": {
"name": "The Energy Detective TED5000",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tedee": {
"name": "Tedee",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"telegram": {
"name": "Telegram",
"integrations": {
"telegram": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Telegram"
},
"telegram_bot": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Telegram bot"
}
}
},
"telldus": {
"name": "Telldus",
"integrations": {
"tellduslive": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Telldus Live"
},
"tellstick": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state",
"name": "TellStick"
}
}
},
"telnet": {
"name": "Telnet",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"temper": {
"name": "TEMPer",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tensorflow": {
"name": "TensorFlow",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tesla": {
"name": "Tesla",
"integrations": {
"powerwall": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Tesla Powerwall"
},
"tesla_wall_connector": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Tesla Wall Connector"
},
"tesla_fleet": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Tesla Fleet"
}
}
},
"teslemetry": {
"name": "Teslemetry",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tessie": {
"name": "Tessie",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tfiac": {
"name": "Tfiac",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"thermador": {
"name": "Thermador",
"integration_type": "virtual",
"supported_by": "home_connect"
},
"thermobeacon": {
"name": "ThermoBeacon",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"thermoplus": {
"name": "ThermoPlus",
"integration_type": "virtual",
"supported_by": "thermobeacon"
},
"thermopro": {
"name": "ThermoPro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"thermoworks_smoke": {
"name": "ThermoWorks Smoke",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"thethingsnetwork": {
"name": "The Things Network",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"thingspeak": {
"name": "ThingSpeak",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"thinkingcleaner": {
"name": "Thinking Cleaner",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"third_reality": {
"name": "Third Reality",
"iot_standards": [
"zigbee"
]
},
"thomson": {
"name": "Thomson",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"thread": {
"name": "Thread",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_polling"
},
"tibber": {
"name": "Tibber",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tikteck": {
"name": "Tikteck",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tile": {
"name": "Tile",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tilt_ble": {
"name": "Tilt Hydrometer BLE",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"time_date": {
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push"
},
"tmb": {
"name": "Transports Metropolitans de Barcelona",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"todoist": {
"name": "Todoist",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tolo": {
"name": "TOLO Sauna",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"tomato": {
"name": "Tomato",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"tomorrowio": {
"name": "Tomorrow.io",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"toon": {
"name": "Toon",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"torque": {
"name": "Torque",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"totalconnect": {
"name": "Total Connect",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tplink": {
"name": "TP-Link",
"integrations": {
"tplink": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "TP-Link Smart Home"
},
"tplink_omada": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "TP-Link Omada"
},
"tplink_lte": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "TP-Link LTE"
},
"tplink_tapo": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "tplink",
"name": "Tapo"
}
},
"iot_standards": [
"matter"
]
},
"traccar": {
"name": "Traccar",
"integrations": {
"traccar": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Traccar Client"
},
"traccar_server": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Traccar Server"
}
}
},
"tractive": {
"name": "Tractive",
"integration_type": "device",
"config_flow": true,
"iot_class": "cloud_push"
},
"trafikverket": {
"name": "Trafikverket",
"integrations": {
"trafikverket_camera": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Trafikverket Camera"
},
"trafikverket_ferry": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Trafikverket Ferry"
},
"trafikverket_train": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Trafikverket Train"
},
"trafikverket_weatherstation": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Trafikverket Weather Station"
}
}
},
"transmission": {
"name": "Transmission",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"transport_nsw": {
"name": "Transport NSW",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"travisci": {
"name": "Travis-CI",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"triggercmd": {
"name": "TRIGGERcmd",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"tuya": {
"name": "Tuya",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"twentemilieu": {
"name": "Twente Milieu",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"twilio": {
"name": "Twilio",
"integrations": {
"twilio": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Twilio"
},
"twilio_call": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Twilio Call"
},
"twilio_sms": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Twilio SMS"
}
}
},
"twinkly": {
"name": "Twinkly",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"twitch": {
"name": "Twitch",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"twitter": {
"name": "X",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"u_tec": {
"name": "U-tec",
"integrations": {
"ultraloq": {
"integration_type": "virtual",
"config_flow": false,
"iot_standards": [
"zwave"
],
"name": "Ultraloq"
}
}
},
"ubiquiti": {
"name": "Ubiquiti",
"integrations": {
"unifi": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "UniFi Network"
},
"unifi_direct": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "UniFi AP"
},
"unifiled": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "UniFi LED"
},
"unifiprotect": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "UniFi Protect"
}
}
},
"ubiwizz": {
"name": "Ubiwizz",
"integration_type": "virtual",
"supported_by": "overkiz"
},
"ublockout": {
"name": "Ublockout",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"uk_transport": {
"name": "UK Transport",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"ukraine_alarm": {
"name": "Ukraine Alarm",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"universal": {
"name": "Universal media player",
"integration_type": "hub",
"config_flow": false,
"iot_class": "calculated"
},
"upb": {
"name": "Universal Powerline Bus (UPB)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"upc_connect": {
"name": "UPC Connect Box",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"upcloud": {
"name": "UpCloud",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"upnp": {
"name": "UPnP/IGD",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"uprise_smart_shades": {
"name": "Uprise Smart Shades",
"integration_type": "virtual",
"supported_by": "motion_blinds"
},
"uptime": {
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push",
"single_config_entry": true
},
"uptimerobot": {
"name": "UptimeRobot",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"usgs_earthquakes_feed": {
"name": "U.S. Geological Survey Earthquake Hazards (USGS)",
"integration_type": "service",
"config_flow": false,
"iot_class": "cloud_polling"
},
"uvc": {
"name": "Ubiquiti UniFi Video",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"v2c": {
"name": "V2C",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"vallox": {
"name": "Vallox",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"vasttrafik": {
"name": "V\u00e4sttrafik",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"velbus": {
"name": "Velbus",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"velux": {
"name": "Velux",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"venstar": {
"name": "Venstar",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"vera": {
"name": "Vera",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"verisure": {
"name": "Verisure",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"vermont_castings": {
"name": "Vermont Castings",
"integration_type": "virtual",
"supported_by": "intellifire"
},
"versasense": {
"name": "VersaSense",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"version": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"vesync": {
"name": "VeSync",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"viaggiatreno": {
"name": "Trenitalia ViaggiaTreno",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"vicare": {
"name": "Viessmann ViCare",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"vilfo": {
"name": "Vilfo Router",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"vivotek": {
"name": "VIVOTEK",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"vizio": {
"name": "VIZIO SmartCast",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"vlc": {
"name": "VideoLAN",
"integrations": {
"vlc": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "VLC media player"
},
"vlc_telnet": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "VLC media player via Telnet"
}
}
},
"vodafone_station": {
"name": "Vodafone Station",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"voicerss": {
"name": "VoiceRSS",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"voip": {
"name": "Voice over IP",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"volkszaehler": {
"name": "Volkszaehler",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"volumio": {
"name": "Volumio",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"volvooncall": {
"name": "Volvo On Call",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"vulcan": {
"name": "Uonet+ Vulcan",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"vultr": {
"name": "Vultr",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"w800rf32": {
"name": "WGL Designs W800RF32",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"wake_on_lan": {
"name": "Wake on LAN",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"wallbox": {
"name": "Wallbox",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"waqi": {
"name": "World Air Quality Index (WAQI)",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"waterfurnace": {
"name": "WaterFurnace",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"watergate": {
"name": "Watergate",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"watttime": {
"name": "WattTime",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"waze_travel_time": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"weatherflow": {
"name": "WeatherFlow",
"integrations": {
"weatherflow": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "WeatherFlow"
},
"weatherflow_cloud": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "WeatherflowCloud"
}
}
},
"webdav": {
"name": "WebDAV",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"webmin": {
"name": "Webmin",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"weheat": {
"name": "Weheat",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"wemo": {
"name": "Belkin WeMo",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"whirlpool": {
"name": "Whirlpool Appliances",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"whisper": {
"name": "Whisper",
"integration_type": "virtual",
"supported_by": "wyoming"
},
"whois": {
"name": "Whois",
"integration_type": "service",
"config_flow": true,
"iot_class": "cloud_polling"
},
"wiffi": {
"name": "Wiffi",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"wilight": {
"name": "WiLight",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"wirelesstag": {
"name": "Wireless Sensor Tags",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"withings": {
"name": "Withings",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"wiz": {
"name": "WiZ",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"wled": {
"name": "WLED",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_push"
},
"wmspro": {
"name": "WMS WebControl pro",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"wolflink": {
"name": "Wolf SmartSet Service",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"workday": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"worldclock": {
"name": "Worldclock",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"worldtidesinfo": {
"name": "World Tides",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"worxlandroid": {
"name": "Worx Landroid",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"ws66i": {
"name": "Soundavo WS66i 6-Zone Amplifier",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"wsdot": {
"name": "Washington State Department of Transportation (WSDOT)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"wyoming": {
"name": "Wyoming Protocol",
"integration_type": "service",
"config_flow": true,
"iot_class": "local_push"
},
"x10": {
"name": "Heyu X10",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"xeoma": {
"name": "Xeoma",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"xiaomi": {
"name": "Xiaomi",
"integrations": {
"xiaomi_aqara": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Xiaomi Gateway (Aqara)"
},
"xiaomi_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Xiaomi BLE"
},
"xiaomi_miio": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling",
"name": "Xiaomi Miio"
},
"xiaomi_tv": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "assumed_state",
"name": "Xiaomi TV"
},
"xiaomi": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Xiaomi"
}
}
},
"xmpp": {
"name": "Jabber (XMPP)",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push"
},
"xs1": {
"name": "EZcontrol XS1",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"yale": {
"name": "Yale",
"integrations": {
"august": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "August"
},
"yale_smart_alarm": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Yale Smart Living"
},
"yalexs_ble": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Yale Access Bluetooth"
},
"yale_home": {
"integration_type": "virtual",
"config_flow": false,
"supported_by": "yale",
"name": "Yale Home"
},
"yale": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push",
"name": "Yale"
}
}
},
"yamaha": {
"name": "Yamaha",
"integrations": {
"yamaha": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Yamaha Network Receivers"
},
"yamaha_musiccast": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "MusicCast"
}
}
},
"yandex": {
"name": "Yandex",
"integrations": {
"yandex_transport": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling",
"name": "Yandex Transport"
},
"yandextts": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_push",
"name": "Yandex TTS"
}
}
},
"yardian": {
"name": "Yardian",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"yeelight": {
"name": "Yeelight",
"integrations": {
"yeelight": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push",
"name": "Yeelight"
},
"yeelightsunflower": {
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling",
"name": "Yeelight Sunflower"
}
}
},
"yi": {
"name": "Yi Home Cameras",
"integration_type": "device",
"config_flow": false,
"iot_class": "local_polling"
},
"yolink": {
"name": "YoLink",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_push"
},
"youless": {
"name": "YouLess",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"zabbix": {
"name": "Zabbix",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"zamg": {
"name": "GeoSphere Austria",
"integration_type": "hub",
"config_flow": true,
"iot_class": "cloud_polling"
},
"zengge": {
"name": "Zengge",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"zerproc": {
"name": "Zerproc",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"zestimate": {
"name": "Zestimate",
"integration_type": "hub",
"config_flow": false,
"iot_class": "cloud_polling"
},
"zeversolar": {
"name": "Zeversolar",
"integration_type": "device",
"config_flow": true,
"iot_class": "local_polling"
},
"zha": {
"name": "Zigbee Home Automation",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_polling"
},
"zhong_hong": {
"name": "ZhongHong",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_push"
},
"ziggo_mediabox_xl": {
"name": "Ziggo Mediabox XL",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"zimi": {
"name": "zimi",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"zodiac": {
"integration_type": "hub",
"config_flow": true,
"iot_class": "calculated"
},
"zondergas": {
"name": "ZonderGas",
"integration_type": "virtual",
"supported_by": "energyzero"
},
"zoneminder": {
"name": "ZoneMinder",
"integration_type": "hub",
"config_flow": false,
"iot_class": "local_polling"
},
"zooz": {
"name": "Zooz",
"iot_standards": [
"zwave"
]
},
"zwave_js": {
"name": "Z-Wave",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
},
"zwave_me": {
"name": "Z-Wave.Me",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
}
},
"helper": {
"bayesian": {
"name": "Bayesian",
"integration_type": "helper",
"config_flow": false,
"iot_class": "local_polling"
},
"counter": {
"integration_type": "helper",
"config_flow": false
},
"derivative": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"filter": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_push"
},
"generic_hygrostat": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_polling"
},
"generic_thermostat": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_polling"
},
"group": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"history_stats": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_polling"
},
"input_boolean": {
"integration_type": "helper",
"config_flow": false
},
"input_button": {
"integration_type": "helper",
"config_flow": false
},
"input_datetime": {
"integration_type": "helper",
"config_flow": false
},
"input_number": {
"integration_type": "helper",
"config_flow": false
},
"input_select": {
"integration_type": "helper",
"config_flow": false
},
"input_text": {
"integration_type": "helper",
"config_flow": false
},
"integration": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_push"
},
"manual": {
"name": "Manual Alarm Control Panel",
"integration_type": "helper",
"config_flow": false,
"iot_class": "calculated"
},
"min_max": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"mold_indicator": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"random": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"schedule": {
"integration_type": "helper",
"config_flow": false
},
"statistics": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_polling"
},
"switch_as_x": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"template": {
"name": "Template",
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_push"
},
"threshold": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_polling"
},
"timer": {
"integration_type": "helper",
"config_flow": false
},
"tod": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"trend": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "calculated"
},
"utility_meter": {
"integration_type": "helper",
"config_flow": true,
"iot_class": "local_push"
}
},
"translated_name": [
"alert",
"aurora",
"cert_expiry",
"counter",
"cpuspeed",
"demo",
"derivative",
"emulated_roku",
"energenie_power_sockets",
"filesize",
"filter",
"garages_amsterdam",
"generic",
"generic_hygrostat",
"generic_thermostat",
"google_travel_time",
"group",
"growatt_server",
"history_stats",
"holiday",
"homekit_controller",
"input_boolean",
"input_button",
"input_datetime",
"input_number",
"input_select",
"input_text",
"integration",
"islamic_prayer_times",
"local_calendar",
"local_ip",
"local_todo",
"min_max",
"mobile_app",
"moehlenhoff_alpha2",
"mold_indicator",
"moon",
"nextbus",
"nmap_tracker",
"plant",
"proximity",
"random",
"remote_calendar",
"rpi_power",
"schedule",
"season",
"shopping_list",
"statistics",
"sun",
"switch_as_x",
"threshold",
"time_date",
"timer",
"tod",
"trend",
"uptime",
"utility_meter",
"version",
"waze_travel_time",
"workday",
"zodiac"
]
}