hass-core/homeassistant/generated/config_flows.py
Oscar Calvo b2caf15434
New integration Midea ccm15 climate (#94824)
* Initial commit

* Correct settings for config flow

* Use scan interval

* Store proper data

* Remove circular dependency

* Remove circular dependency

* Integration can be initialized

* Fix defaults

* Add setup entry

* Add setup entry

* Dont block forever

* Poll during async_setup_entry

* Remove not needed async methods

* Add debug info

* Parse binary data

* Parse binary data

* Use data to update device

* Use data to update device

* Add CCM15DeviceState

* Use DataCoordinator

* Use DataCoordinator

* Use DataCoordinator

* Use CoordinatorEntity

* Use CoordinatorEntity

* Call update API

* Call update API

* Call update API

* Call update API

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Fix bugs

* Implement swing

* Support swing mode, read only

* Add unit test

* Swing should work

* Set swing mode

* Add DeviceInfo

* Add error code

* Add error code

* Add error code

* Add error code

* Initial commit

* Refactor

* Remove comment code

* Try remove circular ref

* Try remove circular ref

* Remove circular ref

* Fix bug

* Fix tests

* Fix tests

* Increase test coverage

* Increase test coverage

* Increase test coverrage

* Add more unit tests

* Increase coverage

* Update coordinator.py

* Fix ruff

* Set unit of temperature

* Add bounds check

* Fix unit tests

* Add test coverage

* Use Py-ccm15

* Update tests

* Upgrade dependency

* Apply PR feedback

* Upgrade dependency

* Upgrade dependency

* Upgrade dependency

* Force ruff

* Delete not needed consts

* Fix mypy

* Update homeassistant/components/ccm15/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Fix unit tests

* Move climate instance

* Revert "Move climate instance"

This reverts commit cc5b9916b7.

* Apply PR feedback

* Apply PR Feedback

* Remove scan internal parameter

* Update homeassistant/components/ccm15/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Remove empty keys

* Fix tests

* Use attr fields

* Try refactor

* Check for multiple hosts

* Check for duplicates

* Fix tests

* Use PRECISION_WHOLE

* Use str(ac_index)

* Move {self._ac_host}.{self._ac_index} to construtor

* Make it fancy

* Update homeassistant/components/ccm15/coordinator.py

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

* Move const to class variables

* Use actual config host

* Move device info to construtor

* Update homeassistant/components/ccm15/climate.py

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

* Set name to none, dont ask for poll

* Undo name change

* Dont use coordinator in config flow

* Dont use coordinator in config flow

* Check already configured

* Apply PR comments

* Move above

* Use device info name

* Update tests/components/ccm15/test_coordinator.py

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

* Update tests/components/ccm15/test_config_flow.py

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

* Apply feedback

* Remove logger debug calls

* Add new test to check for dupplicates

* Test error

* Use better name for test

* Update homeassistant/components/ccm15/config_flow.py

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

* Update homeassistant/components/ccm15/climate.py

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

* Update homeassistant/components/ccm15/config_flow.py

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

* Use prop data for all getters

* Fix tests

* Improve tests

* Improve tests, v2

* Replace log message by comment

* No need to do bounds check

* Update config_flow.py

* Update test_config_flow.py

* Update test_coordinator.py

* Update test_coordinator.py

* Create test_climate.py

* Delete tests/components/ccm15/test_coordinator.py

* Update coordinator.py

* Update __init__.py

* Create test_climate.ambr

* Update conftest.py

* Update test_climate.py

* Create test_init.py

* Update .coveragerc

* Update __init__.py

* We need to check bounds after all

* Add more test coverage

* Test is not None

* Use better naming

* fix tests

* Add available property

* Update homeassistant/components/ccm15/climate.py

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

* Use snapshots to simulate netwrok failure or power failure

* Remove not needed test

* Use walrus

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 21:24:52 +01:00

592 lines
12 KiB
Python

"""Automatically generated file.
To update, run python3 -m script.hassfest
"""
FLOWS = {
"helper": [
"derivative",
"group",
"integration",
"min_max",
"random",
"switch_as_x",
"template",
"threshold",
"tod",
"utility_meter",
],
"integration": [
"abode",
"accuweather",
"acmeda",
"adax",
"adguard",
"advantage_air",
"aemet",
"aftership",
"agent_dvr",
"airly",
"airnow",
"airq",
"airthings",
"airthings_ble",
"airtouch4",
"airvisual",
"airvisual_pro",
"airzone",
"airzone_cloud",
"aladdin_connect",
"alarmdecoder",
"amberelectric",
"ambiclimate",
"ambient_station",
"android_ip_webcam",
"androidtv",
"androidtv_remote",
"anova",
"anthemav",
"aosmith",
"apcupsd",
"apple_tv",
"aranet",
"arcam_fmj",
"aseko_pool_live",
"asuswrt",
"atag",
"august",
"aurora",
"aurora_abb_powerone",
"aussie_broadband",
"awair",
"axis",
"azure_devops",
"azure_event_hub",
"baf",
"balboa",
"blebox",
"blink",
"blue_current",
"bluemaestro",
"bluetooth",
"bmw_connected_drive",
"bond",
"bosch_shc",
"braviatv",
"broadlink",
"brother",
"brottsplatskartan",
"brunt",
"bsblan",
"bthome",
"buienradar",
"caldav",
"canary",
"cast",
"ccm15",
"cert_expiry",
"cloudflare",
"co2signal",
"coinbase",
"color_extractor",
"comelit",
"control4",
"coolmaster",
"cpuspeed",
"crownstone",
"daikin",
"deconz",
"deluge",
"denonavr",
"devialet",
"devolo_home_control",
"devolo_home_network",
"dexcom",
"dialogflow",
"directv",
"discord",
"discovergy",
"dlink",
"dlna_dmr",
"dlna_dms",
"dnsip",
"doorbird",
"dormakaba_dkey",
"dremel_3d_printer",
"drop_connect",
"dsmr",
"dsmr_reader",
"dunehd",
"duotecno",
"dwd_weather_warnings",
"dynalite",
"eafm",
"easyenergy",
"ecobee",
"ecoforest",
"econet",
"ecowitt",
"edl21",
"efergy",
"electrasmart",
"electric_kiwi",
"elgato",
"elkm1",
"elmax",
"emonitor",
"emulated_roku",
"energyzero",
"enocean",
"enphase_envoy",
"environment_canada",
"epson",
"escea",
"esphome",
"eufylife_ble",
"evil_genius_labs",
"ezviz",
"faa_delays",
"fastdotcom",
"fibaro",
"filesize",
"fireservicerota",
"fitbit",
"fivem",
"fjaraskupan",
"flexit_bacnet",
"flick_electric",
"flipr",
"flo",
"flume",
"flux_led",
"forecast_solar",
"forked_daapd",
"foscam",
"freebox",
"freedompro",
"fritz",
"fritzbox",
"fritzbox_callmonitor",
"fronius",
"frontier_silicon",
"fully_kiosk",
"garages_amsterdam",
"gardena_bluetooth",
"gdacs",
"generic",
"geo_json_events",
"geocaching",
"geofency",
"geonetnz_quakes",
"geonetnz_volcano",
"gios",
"github",
"glances",
"goalzero",
"gogogate2",
"goodwe",
"google",
"google_assistant_sdk",
"google_generative_ai_conversation",
"google_mail",
"google_sheets",
"google_tasks",
"google_translate",
"google_travel_time",
"govee_ble",
"gpslogger",
"gree",
"growatt_server",
"guardian",
"habitica",
"harmony",
"heos",
"here_travel_time",
"hisense_aehw4a1",
"hive",
"hlk_sw16",
"holiday",
"home_connect",
"home_plus_control",
"homeassistant_sky_connect",
"homekit",
"homekit_controller",
"homematicip_cloud",
"homewizard",
"honeywell",
"huawei_lte",
"hue",
"huisbaasje",
"hunterdouglas_powerview",
"hvv_departures",
"hydrawise",
"hyperion",
"ialarm",
"iaqualink",
"ibeacon",
"icloud",
"idasen_desk",
"ifttt",
"imap",
"improv_ble",
"inkbird",
"insteon",
"intellifire",
"ios",
"iotawatt",
"ipma",
"ipp",
"iqvia",
"islamic_prayer_times",
"iss",
"isy994",
"izone",
"jellyfin",
"juicenet",
"justnimbus",
"jvc_projector",
"kaleidescape",
"keenetic_ndms2",
"kegtron",
"keymitt_ble",
"kmtronic",
"knx",
"kodi",
"konnected",
"kostal_plenticore",
"kraken",
"kulersky",
"lacrosse_view",
"lametric",
"landisgyr_heat_meter",
"lastfm",
"launch_library",
"laundrify",
"ld2410_ble",
"led_ble",
"lg_soundbar",
"lidarr",
"life360",
"lifx",
"linear_garage_door",
"litejet",
"litterrobot",
"livisi",
"local_calendar",
"local_ip",
"local_todo",
"locative",
"logi_circle",
"lookin",
"loqed",
"luftdaten",
"lutron_caseta",
"lyric",
"mailgun",
"matter",
"meater",
"medcom_ble",
"melcloud",
"melnor",
"met",
"met_eireann",
"meteo_france",
"meteoclimatic",
"metoffice",
"mikrotik",
"mill",
"minecraft_server",
"mjpeg",
"moat",
"mobile_app",
"modem_callerid",
"modern_forms",
"moehlenhoff_alpha2",
"monoprice",
"moon",
"mopeka",
"motion_blinds",
"motioneye",
"motionmount",
"mqtt",
"mullvad",
"mutesync",
"mysensors",
"mystrom",
"nam",
"nanoleaf",
"neato",
"nest",
"netatmo",
"netgear",
"nexia",
"nextbus",
"nextcloud",
"nextdns",
"nfandroidtv",
"nibe_heatpump",
"nightscout",
"nina",
"nmap_tracker",
"nobo_hub",
"notion",
"nuheat",
"nuki",
"nut",
"nws",
"nzbget",
"obihai",
"octoprint",
"omnilogic",
"oncue",
"ondilo_ico",
"onewire",
"onvif",
"open_meteo",
"openai_conversation",
"openexchangerates",
"opengarage",
"openhome",
"opensky",
"opentherm_gw",
"openuv",
"openweathermap",
"opower",
"oralb",
"osoenergy",
"otbr",
"ourgroceries",
"overkiz",
"ovo_energy",
"owntracks",
"p1_monitor",
"panasonic_viera",
"peco",
"pegel_online",
"permobil",
"philips_js",
"pi_hole",
"picnic",
"ping",
"plaato",
"plex",
"plugwise",
"plum_lightpad",
"point",
"poolsense",
"powerwall",
"private_ble_device",
"profiler",
"progettihwsw",
"prosegur",
"prusalink",
"ps4",
"pure_energie",
"purpleair",
"pushbullet",
"pushover",
"pvoutput",
"pvpc_hourly_pricing",
"qbittorrent",
"qingping",
"qnap",
"qnap_qsw",
"rachio",
"radarr",
"radio_browser",
"radiotherm",
"rainbird",
"rainforest_eagle",
"rainmachine",
"rapt_ble",
"rdw",
"recollect_waste",
"refoss",
"renault",
"renson",
"reolink",
"rfxtrx",
"rhasspy",
"ridwell",
"ring",
"risco",
"rituals_perfume_genie",
"roborock",
"roku",
"roomba",
"roon",
"rpi_power",
"rtsp_to_webrtc",
"ruckus_unleashed",
"ruuvi_gateway",
"ruuvitag_ble",
"rympro",
"sabnzbd",
"samsungtv",
"schlage",
"scrape",
"screenlogic",
"season",
"sense",
"sensibo",
"sensirion_ble",
"sensorpro",
"sensorpush",
"sentry",
"senz",
"sfr_box",
"sharkiq",
"shelly",
"shopping_list",
"sia",
"simplepush",
"simplisafe",
"skybell",
"slack",
"sleepiq",
"slimproto",
"sma",
"smappee",
"smart_meter_texas",
"smartthings",
"smarttub",
"smhi",
"sms",
"snapcast",
"snooz",
"solaredge",
"solarlog",
"solax",
"soma",
"somfy_mylink",
"sonarr",
"songpal",
"sonos",
"soundtouch",
"speedtestdotnet",
"spider",
"spotify",
"sql",
"squeezebox",
"srp_energy",
"starline",
"starlink",
"steam_online",
"steamist",
"stookalert",
"stookwijzer",
"subaru",
"suez_water",
"sun",
"sunweg",
"surepetcare",
"swiss_public_transport",
"switchbee",
"switchbot",
"switchbot_cloud",
"switcher_kis",
"syncthing",
"syncthru",
"synology_dsm",
"system_bridge",
"tado",
"tailscale",
"tailwind",
"tami4",
"tankerkoenig",
"tasmota",
"tautulli",
"tellduslive",
"tesla_wall_connector",
"tessie",
"thermobeacon",
"thermopro",
"thread",
"tibber",
"tile",
"tilt_ble",
"todoist",
"tolo",
"tomorrowio",
"toon",
"totalconnect",
"tplink",
"tplink_omada",
"traccar",
"tractive",
"tradfri",
"trafikverket_camera",
"trafikverket_ferry",
"trafikverket_train",
"trafikverket_weatherstation",
"transmission",
"tuya",
"twentemilieu",
"twilio",
"twinkly",
"twitch",
"ukraine_alarm",
"unifi",
"unifiprotect",
"upb",
"upcloud",
"upnp",
"uptime",
"uptimerobot",
"v2c",
"vallox",
"velbus",
"venstar",
"vera",
"verisure",
"version",
"vesync",
"vicare",
"vilfo",
"vizio",
"vlc_telnet",
"vodafone_station",
"voip",
"volumio",
"volvooncall",
"vulcan",
"wallbox",
"waqi",
"watttime",
"waze_travel_time",
"weatherflow",
"weatherkit",
"webostv",
"wemo",
"whirlpool",
"whois",
"wiffi",
"wilight",
"withings",
"wiz",
"wled",
"wolflink",
"workday",
"ws66i",
"wyoming",
"xbox",
"xiaomi_aqara",
"xiaomi_ble",
"xiaomi_miio",
"yale_smart_alarm",
"yalexs_ble",
"yamaha_musiccast",
"yardian",
"yeelight",
"yolink",
"youless",
"youtube",
"zamg",
"zerproc",
"zeversolar",
"zha",
"zodiac",
"zwave_js",
"zwave_me",
],
}