Brage Skjonborg ce75c05a04 Added support for Woods Milan AC vor 2 Jahren
..
9in1_airquality_monitor.yaml b800ed5cf0 Fix scales vor 2 Jahren
README.md 16b5d8e75f Remove extra character from README. vor 2 Jahren
__init__.py ab399ed78a Add device configuration files for supported devices. vor 5 Jahren
abalon_bcm700d_curtain.yaml abfa3f49ac Abalon BCM700D: make reverse switch optional vor 2 Jahren
agl_ultramagic_lock.yaml 4ceb72b852 Add partial support for AGL Ultramagic smart lock. vor 3 Jahren
alecoair_d12_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
alecoair_d12_home_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
alecoair_d14_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
alecoair_d16_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
andersson_gsh_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
anko_fan.yaml aa6d237289 Anko fan: speed is actually a string vor 2 Jahren
anko_kettle.yaml 03dd62d396 Add support for Anko kettles vor 3 Jahren
aquatech_x6_water_heater.yaml 19e45f4bcf Create aquatech_x6_water_heater.yaml vor 2 Jahren
arlec_12speed_tower_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
arlec_19speed_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
arlec_6speed_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
arlec_ceiling_fan_remote.yaml ebcb149815 Add support for Arlec ceiling fan/light remote control kit vor 2 Jahren
arlec_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
arlec_fan_light.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
arlec_panel_heater.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
arlec_panel_heater_v2.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
arlec_pb88uha_s2_switch.yaml 13dfb6aff2 Arlec PB88uha: follow HA naming conventions. vor 3 Jahren
arlec_thermostat_smartplug.yaml c480e18ae9 fix(arlec_thermostat_smartplug): yaml typo vor 2 Jahren
asakuki_diffuser.yaml b4f44435e7 Device config: add a test for misspelled secondary_entities vor 2 Jahren
asc_wifi_circuit_breaker.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
aspen_asp200_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
atomi_ceiling_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
atomi_ceramic_heater.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
atomi_string_lights.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
aubess_1gang_switch.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
aubess_2gang_switch.yaml 087ee1fea8 Add Aubess switch with energy monitoring vor 3 Jahren
aulifants_energymonitor_breaker.yaml 02962bd738 Add support for Aulifants SMES200 breaker switch vor 2 Jahren
avatto_curtain_light.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
avatto_curtain_switch.yaml 8c1b59f40d Avatto curtain: use cover entity instead of buttons/select. vor 3 Jahren
avatto_roller_blinds.yaml c14826e625 Add `persist: false` to optional sensor dps with null mappings. vor 3 Jahren
avatto_wt100_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
awow_th213_thermostat.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
awow_th213v2_thermostat.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
bcom_intercom_camera.yaml c14826e625 Add `persist: false` to optional sensor dps with null mappings. vor 3 Jahren
beca_bac002_thermostat_c.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
beca_bhp6000_thermostat_c.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beca_bhp6000_thermostat_f.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beca_bhp6000_thermostat_mapped.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beca_bht002_thermostat_c.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
beca_bht6000_thermostat_c.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
becool_heatpump.yaml 651a9fbcad Be Cool heatpump: Adjust mode mapping according to observations. vor 3 Jahren
benexmart_blind_motor.yaml 8c918f6a82 Covers: duplicate position as current_position for some devices. vor 2 Jahren
beok_tgr81_thermostat_c.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beok_tol47_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beok_tr8b_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
beok_tr9b_thermostat.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
betterlife_bl1500_heater.yaml dadd823e99 Bulk change: add duration class to time related sensors. vor 3 Jahren
bht002_galw_thermostat.yaml 6ac1eb917b Add support for BHT-002-GALW thermostats. vor 2 Jahren
ble_adaprox_fingerbot.yaml 342c1823fe Create ble_adaprox_fingerbot.yaml vor 2 Jahren
ble_hct611_watertimer.yaml 12b102fc1c HCT611: add newly discovered dps. vor 2 Jahren
ble_orion_lock.yaml 48d8d66529 Remove trailing whitespace from file vor 2 Jahren
ble_pt216_temp_humidity.yaml 5a7d345d55 Add support for PT216/PT19DB-2 BLE temperature/humidity sensor vor 2 Jahren
ble_water_valve.yaml 10f3758420 Water valve: add legacy_type vor 2 Jahren
blitzwolf_bwis6_alarm.yaml 48c52dce4a Add support for BlitzWolf BW-IS6 alarm control panel vor 2 Jahren
blitzwolf_bwsh2_humidifier.yaml e80cd8361e Implement tests for Blitzwolf BW-SH2 humidifier vor 3 Jahren
blitzwolf_bwsh5_humidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
blitzwolf_bwshp6_smartplug.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
bresser_weather_station.yaml bb802fca44 Update bresser_weather_station.yaml vor 3 Jahren
breville_easyair_purifier.yaml 571efda5c1 Breville purifiers: adapt to HA conventions. vor 3 Jahren
breville_smart_air_viral_protect_plus.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
breville_smartairconnect_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
bvf_cp1_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
bwt_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
carro_pn04f02d_fan_light.yaml 50999183a3 Added support for Carro PN-04F02D Fan/Light Switch vor 2 Jahren
carson_cb.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
catit_pet_feeder.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
catit_pixi_6meal_feeder.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
catit_pixi_smart_feeder.yaml 5bfcfc4b5e Update catit_pixi_smart_feeder.yaml vor 2 Jahren
catit_pixi_smart_fountain.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
cbi_astute_outdoor_smartswitch.yaml b5976febfe CBI outdoor: Fix scale of countdown. vor 2 Jahren
cc_curtain.yaml 841d57fc7a Add support for CC curtains. vor 3 Jahren
ccb11_blind_controller.yaml ea2bf8ca57 CCB-11 blind: fix names of extra unknown dps. vor 3 Jahren
cct_lightbulb.yaml 62cf1e59b2 added 2x products vor 2 Jahren
chanfok_fan_light.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
co2_box.yaml 676e80bcb8 CO2 Box: add back products yaml line vor 2 Jahren
compteur_energy_meter.yaml 16b193ef96 Energy meters: standardise units to A, kW vor 2 Jahren
cooper_hunter_air_conditioner.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
costway_portable_ac.yaml 3b7166a5d0 Costway air conditioner: code review tweaks and documentation vor 2 Jahren
daewoo_dhome_heatpump.yaml a7ac7bb8d3 Add support for Daewoo DHome air conditioner vor 2 Jahren
daizuki_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
desk_lamp.yaml fdd31437ae Desk lamp: Don't use color_mode dp to set color mode. vor 2 Jahren
deta_dimmer_switch.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
deta_fan.yaml eeeb4b0578 Fans: allow speed to go down to 0 vor 2 Jahren
devola_patio_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
digoo_dgsp01_dual_nightlight_switch.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
digoo_dgsp202.yaml 2d59403fda Smartplugs: Remove tests for removed legacy attributes vor 3 Jahren
dimming_lightbulb.yaml 827a3e503e Lights: standardize scaling of brightness ranges. vor 2 Jahren
ditua_dt1522yn_aromadiffuser.yaml 7849a927fa Ditua diffuser: correct typo in secondary_entities vor 2 Jahren
dongguan_garage_door_opener.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
dooya_curtain.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
dts238_7_energy_meter.yaml 88076fabfb Add energy_storage class to prepay meter Balance and Charge entities. vor 2 Jahren
dual_power_monitor_smartplug.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
dual_power_monitor_smartplugv2.yaml 9d9caeea70 dual_power_monitor_smartplugv2: fix initial state config vor 3 Jahren
duux_blizzard_portable_aircon.yaml 692247c0c4 Update duux_blizzard_portable_aircon.yaml vor 2 Jahren
eanons_humidifier.yaml dadd823e99 Bulk change: add duration class to time related sensors. vor 3 Jahren
ebac_dj4000_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
eberg_cooly_c35hd.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
eberg_qubo_q40hd_heatpump.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
ecostrad_accentiq_heater.yaml 27f4cc6a75 Ecostrad heater: timer is in hours, not minutes. vor 4 Jahren
ecostrad_iqceramic_radiator.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
eeese_carl_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
eeese_otto_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
eesee_adam_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
electriq_12wminv_heatpump.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
electriq_airflex15w_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
electriq_cd12pro_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
electriq_cd12pw_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
electriq_cd12pwv2_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
electriq_cd20pro_dehumidifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
electriq_cd25pro_dehumidifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
electriq_desd9lw_dehumidifier.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
electriq_ecosilent14hpw_aircon.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
electriq_pd45e_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
em3378_weather_station.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
emylo_energy_meter.yaml 16b193ef96 Energy meters: standardise units to A, kW vor 2 Jahren
energy_monitoring_powerstrip.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
es01_powerstrip.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
essentials_purifier.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
etersky_aroma_diffuser.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
etersky_curtain_switch.yaml 8cbe6360cc Add support for Etersky curtain switch vor 2 Jahren
etop_ch7100_thermostat.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
etop_ht_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
eurom_600_heater.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
eurom_600_heater_v2.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
eurom_601_heater.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
eurom_800_heater.yaml acafea427c Add support for Eurom Mon Soliel 800 heater. vor 3 Jahren
eurom_saniwallheat2000_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
eurom_walldesignheat2000_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
fairland_iphcr15_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
fanco_ecosilentdeluxe.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
feit_dimmer.yaml 8a508fbf3a Feit dimmer: add optional dps vor 2 Jahren
fersk_vind_2_climate.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
fs_03w_curtain.yaml 61b8c4ccd5 Add support for FS-03W curtain controller vor 3 Jahren
galaxy_projector_light.yaml 9266f60e4e Add support for Galaxy Projector vor 2 Jahren
garage_door_opener.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
gardenpac_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
ge_jasco_ultra_pro_toggle_dimmer_v2.yaml df5c4cbe4e Support for GE Jasco Ultra Pro Dimmer, Toggle, and TH16 Temp sensor vor 3 Jahren
ge_jasco_ultra_pro_toggle_switch.yaml df5c4cbe4e Support for GE Jasco Ultra Pro Dimmer, Toggle, and TH16 Temp sensor vor 3 Jahren
goldair_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
goldair_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
goldair_geco_heater.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
goldair_gpcv_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
goldair_gpdh340_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
goldair_gpph_heater.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
goldair_platinum_tower_fan.yaml 8ba99d3e47 Goldair tower fan: rename config. vor 2 Jahren
gosund_usb_triple_powerstrip.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
greenwind_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
grid_connect_double_switch.yaml 103397bfd9 Standardize naming of outlets to simplify translations. vor 4 Jahren
grid_connect_usb_double_power_point.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
grid_connect_usb_power_point.yaml f82f13f2fe Add support for Grid Connect USB charger with power socket vor 3 Jahren
hdmi_sync_light.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
heatstorm_hs6000gc_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
hellnar_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
himox_h05_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
himox_h06_purifier.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
hjz_radiator.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
honeywell_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
hosome_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
hydrotherm_dynamic_x8_water_heater.yaml bcc529c284 Hydrotherm X8: flip operation_mode logic vor 2 Jahren
hysen_hy08acf_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
hysen_hy08we2_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
hyundai_sahara_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
iebelong_ech_doorbell_rfhub.yaml d908933bda Add support for Iebeyond ECH doorbell with RF hub vor 2 Jahren
ih001_led_controller.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
illumanance_sensor.yaml 76b39729d8 Add support for (whitelabel?) illuminance sensor vor 2 Jahren
immax_neo_light_vento.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
inkbird_bbq4t_thermometer.yaml e845d1b2ed Inkbird iBBQ-4T: make power a binary sensor, null is not a fault vor 2 Jahren
inkbird_ibbq4bw_thermometer.yaml fd00490a87 Inkbird BBQ thermometer: probes always report F vor 3 Jahren
inkbird_itc306a_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
inkbird_itc308_thermostat.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
inkbird_pth9cw_airquality.yaml 858713c5e4 Add support for Inkbird PTH-9CW air quality monitor vor 2 Jahren
inkbird_sousvide_cooker.yaml 1eec97c761 Set a mapping for missing optional hvac_action vor 2 Jahren
inow_heater_element.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
inow_heater_element_v2.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
inventor_atmospherexl_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
inventor_evaionpro_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
ips_pro_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
ir_moes_heatpump.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
ir_remote_sensors.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
jiahong_et72w_thermostat.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
jjpro_jpd01_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
jjpro_jpd02_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
kabum_smart500_vacuum.yaml 1378c0d1a7 Kabum vacuum: rename file with yaml extension. vor 3 Jahren
kkmoon_airquality_monitor.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
klarstein_dryfy_pro_connect_dehumidifier.yaml ff95176a25 Klarstein DryFy: deprecate the fan vor 2 Jahren
klarta_humea_humidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
kogan_air_purifier a6a3e4e892 Update kogan_air_purifier vor 2 Jahren
kogan_bidet.yaml d3caaea0aa Kogan bidet: fix water temperature entity. vor 2 Jahren
kogan_dehumidifier.yaml 22044cc73c Translations: dehumidifiers commonly have laundry and purify modes. vor 2 Jahren
kogan_garage_opener.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
kogan_glass_1_7l_kettle.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
kogan_kahtp_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
kogan_kashmfp20ba_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
kogan_kasthfp2kwa_towerheater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
kogan_kawfhtp_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
kogan_kawfpac09ya_airconditioner.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
kogan_lx10_vacuum.yaml 890131d69f feat(kogan_lx10_vacuum): add error code vor 2 Jahren
konlen_wf96l_waterlevel_controller.yaml 5c962420e2 Add support for Konlen/Rockson WF96L water level controllers. vor 3 Jahren
kyvol_e30_vacuum.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
kyvol_ea200_humidifier.yaml 2f8eea6e4e Add support for Kyvol EA200 humidifier. vor 3 Jahren
ledkia_fan_light.yaml 67c1d823d4 Ledkia fan: make minimum speed 0 rather than 1. vor 3 Jahren
ledlux_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
lefant_ls1_vacuum.yaml 6c24a931ef Lefant LS1: add missing name on water level dp. vor 2 Jahren
lefant_m213_vacuum.yaml dadd823e99 Bulk change: add duration class to time related sensors. vor 3 Jahren
lenovo_e1_vacuum.yaml dbf8fdbcae Add support for Lenovo E1 vacuum vor 3 Jahren
lexy_f501_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
lifubide_x600_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
light_string.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
linkoze_dual_button.yaml e2079e6e14 Linkoze switch: tweak values vor 2 Jahren
logicom_powerstrip.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
loonas_curtain.yaml cab2b0d8e4 Loonas curtain: make control dp optional vor 2 Jahren
loratap_curtain_switch.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
loratap_garage_door.yaml 4392d36084 Add support for LoraTap garage doors. vor 2 Jahren
loratap_relay.yaml f6495ea47a Loratap relay: add cycle_time, random_time and inching as attributes vor 2 Jahren
loratap_zigbee_curtain.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
lucking_hs6_lock.yaml c19ad0ec07 Lucking alarm: mark more dps as optional vor 2 Jahren
lytmi_hdmisync_backlight.yaml a2894f21ca Lytmi backlight: colour_mode seems optional vor 2 Jahren
m027_curtain.yaml c14826e625 Add `persist: false` to optional sensor dps with null mappings. vor 3 Jahren
madimack_elite_v3_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
madimack_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
mantra_fan.yaml 19d509f2ef Lightbulbs: scale brightness properly. vor 2 Jahren
me80_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
mellerware_citymove_vacuum.yaml 40c8229062 Vacuum: add paused and idle state handling, handled charged as docked. vor 2 Jahren
minco_mh1823d_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
mirabella_genio_usb.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
moebot_s_mower.yaml 6ec8c7943c Moebot: add missing RAIN_PARK problem state vor 2 Jahren
moes_bht002_thermostat_c.yaml 370ddcfcb6 climate: overide turn_off and turn_on vor 3 Jahren
moes_dimmer.yaml 827a3e503e Lights: standardize scaling of brightness ranges. vor 2 Jahren
moes_motionsensor_light.yaml c2cfc62a3e Add support for Moes motion sensor lights. vor 2 Jahren
moes_rgb_socket.yaml cb65cf55e9 Moeshouse RGB socket: Remove forced update vor 2 Jahren
moes_temp_humidity.yaml aad7cd51d3 Moes temperature/humidity switch: fill un unknown dps vor 2 Jahren
moes_threegang.yaml 734c892e92 Create moes_threegang.yaml vor 2 Jahren
monzana_klimaanlage_air_conditioner.yaml 9345c1620a Add support for Monzana Klimaanlage air conditioner. vor 2 Jahren
motion_sensor_light.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
nashone_mts700wb_thermostat.yaml a46cf86ee5 Remove deprecated switches that were replaced with buttons. vor 2 Jahren
nedis_airquality.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
nedis_htpl20f_heater.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
nedis_mobile_airconditioner.yaml 65b5229ca7 Add support for Nedis mobile air conditioner vor 2 Jahren
nedis_pet_feeder.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
neo_coolcam_siren.yaml 0cf7588607 Neo coolcam: add Alarm status, and extra battery level vor 2 Jahren
neo_ir_climate_controller.yaml ff27c43d94 Common translations: climate fan_mode - use standard modes where possible vor 2 Jahren
netmostat_n1_thermostat.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
novadigital_quad_switch.yaml 8fcb464b53 fix: products name vor 2 Jahren
orion_outdoor_siren.yaml b9c865124e Orion siren: mark as compatible with Elesion outdoor siren vor 2 Jahren
orion_ptc2000_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
orion_smart_lock.yaml 552b971de3 Fix sensor option tests vor 3 Jahren
owon_pct513_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
parkside_plgs2012a1_smart_charger.yaml 16b193ef96 Energy meters: standardise units to A, kW vor 2 Jahren
pc311ty_energy_meter.yaml b7bd8b6426 Update pc311ty_energy_meter.yaml vor 2 Jahren
pc321ty_energy_meter.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
petlibro_camera_feeder.yaml a8fefb070f Petlibro: rename motion and sound detection to notification vor 2 Jahren
pgst_climate_sensor.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
phw218_waterquality_monitor.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
pir_sensor.yaml 5a0bcd535e Add support for a PIR motion sensor. vor 2 Jahren
pir_spotlight.yaml 19d509f2ef Lightbulbs: scale brightness properly. vor 2 Jahren
pj1103_clamp_meter.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
poiema_one_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
poolex_q7_heatpump.yaml ef782b3052 Add support for Poolex Q7 variant of Qline pool heatpump vor 2 Jahren
poolex_qline_heatpump.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
poolex_silverline_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
poolex_vertigo_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
position_blinds.yaml 8c918f6a82 Covers: duplicate position as current_position for some devices. vor 2 Jahren
powerstrip_4outlet_usbs.yaml 034e7d773b Rename powerstrip_4outlet_1usb.yaml to powerstrip_4outlet_usbs.yaml vor 2 Jahren
princess_panel_heater.yaml 486e930f7e Add support for Princess 350 panel heater vor 2 Jahren
proscenic_a8_airpurifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
purline_m100_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
qnect_usb_powerstrip.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
qoto_03_sprinkler.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
qs_c01_curtain.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
quad_powerstrip.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
remora_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
renpho_rp_ap001s.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
rgb_nightlight_outlet.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
rgbcw_lightbulb.yaml 19d509f2ef Lightbulbs: scale brightness properly. vor 2 Jahren
rgbcw_lightbulbv2.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
rgbw_lightbulb.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
rinkmo_d2_vacuum.yaml 000df63ca8 Add support for Rinkmo D2 vacuum cleaner. vor 2 Jahren
rojeco_pet_feeder.yaml 3b0c526fcc Rojeco feeder: make some dps optional, add battery level vor 2 Jahren
rotenso_ronir35wi_heatpump.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
rumba_bathroom_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
salcar_t9w_thermostat.yaml b06f0fcd47 Add support for device class to number platform. vor 3 Jahren
saswell_c16_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
saswell_t29utk_thermostat.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
sd123_hpr01_presence.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
sendo_airconditioner_c.yaml fc276eed3c Smartplugs (multiple): do not mark as energy or total_increasing vor 3 Jahren
setti_czajnik_kettle.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
sh07_sprinkler_controller.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
sherko_curtain.yaml 0c1006fcbb Add support for SHerko curtain motors. vor 2 Jahren
shinco_30d_dehumidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
silvercrest_kettle.yaml d411f5aebf Silvercrest kettle: invert keep warm and boil vor 2 Jahren
simple_blinds.yaml 8c918f6a82 Covers: duplicate position as current_position for some devices. vor 2 Jahren
simple_dual_switch_timer.yaml 3eed5aad9c Add support for Deta motion lights. vor 3 Jahren
simple_dual_switch_timer_v2.yaml 1ced1b34a3 simple_dual_switch_timer_v2: add product id for BlitzWolf SS5 vor 2 Jahren
simple_lightbulb.yaml 81c6e3b838 Add support for generic lightbulbs. vor 3 Jahren
simple_quad_switch.yaml c5d4aaeb62 Add support for 1/2/3/4 gang Somgom wall switches. vor 3 Jahren
simple_rgbcw_lightbulb.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
simple_six_switch.yaml b435278c5e Add simple_six_switch.yaml vor 2 Jahren
simple_switch.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
simple_switch_timer.yaml 94d46b84ba simple switch with timer: add product id for Teckin SP21 vor 2 Jahren
simple_switch_timerv2.yaml 95c9fbb992 simple_switch_timerv2: removing inching vor 3 Jahren
simple_triple_switch.yaml 0acb2cc7ea Simple triple switch: fix name vor 3 Jahren
simple_triple_switch_timer.yaml cc9aecb4ef Add some products that match existing configs. vor 2 Jahren
single_switch_with_backlight.yaml 815f351ac4 Switch with backlight: add icons, step for timer. vor 3 Jahren
skyfan_dc_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
skyfan_fan_light.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
smart_multi_plug_4t_4usb.yaml 1c19992f92 Create smart_multi_plug_4t_4usb.yaml vor 2 Jahren
smart_powerstrip.yaml 268e15aef0 Add smart Power Strip device definition vor 2 Jahren
smartmcb_smt006_energymeter.yaml 88076fabfb Add energy_storage class to prepay meter Balance and Charge entities. vor 2 Jahren
smartmcb_smt006_energymeterv2.yaml 88076fabfb Add energy_storage class to prepay meter Balance and Charge entities. vor 2 Jahren
smartplug_encoded.yaml 9b46e5962f Smartplug Encoded: identified unknown values. vor 3 Jahren
smartplug_usb.yaml c5dcccdd03 Add support for a smartplug with USB (Gosund SP112) vor 3 Jahren
smartplugv1.yaml ee3e883a37 smartswitchv1: add optional overcurrent detection vor 2 Jahren
smartplugv2.yaml a0e5baf6bf smartplugv2: disable forced updates. vor 3 Jahren
smartplugv2_childlock.yaml 6c10617c84 Add support for smartplugs with childlocks (Gosund UP111_RTL) vor 2 Jahren
smartplugv2_energy.yaml cc9aecb4ef Add some products that match existing configs. vor 2 Jahren
smartplugv2_energyv2.yaml 7b0e4b6b17 smartplugv2_energyv2: add Light mode, make some optional vor 2 Jahren
smartplugv2_energyv3.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
smartplugv2_polled_power.yaml a0e5baf6bf smartplugv2: disable forced updates. vor 3 Jahren
smartplugv3.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
solar_inverter.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
somgom_double_switch.yaml 2ffc49ff86 Somgom switches: remove power_on_state selector vor 3 Jahren
somgom_single_switch.yaml 470b75a916 Somgom switch: add Initial state setting. vor 2 Jahren
space_dog_music_lamp.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
stadlerform_eva_humidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
stadlerform_karl_humidifier.yaml 0df1710577 Common translations: humidifier mode - use standard modes where possible vor 2 Jahren
stadlerform_roger_purifier.yaml 4423135b2e Stadler Roger: change fan from presets to speeds. vor 3 Jahren
starlight_heatpump.yaml fc32bd711c Starlight heatpump: add entities for existing dps (+unit tests) vor 2 Jahren
stirling_fs140dc_fan.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
t5e_wf_thermostat.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
tadiran_wind_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
tampa_led_system.yaml 19d509f2ef Lightbulbs: scale brightness properly. vor 2 Jahren
taxnele_energy_meter.yaml 16b193ef96 Energy meters: standardise units to A, kW vor 2 Jahren
teckin_ss42_sockets.yaml e8e85bc472 Add support for Teckin SS42 outdoor double smartplug vor 3 Jahren
tellur_usb_power_strip.yaml 8673765ce3 Tellur powerstrip: add docs, fix config. vor 3 Jahren
tesla_air_purifier_mini.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
tesla_air_purifier_pro.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
th16_temp_humidity_sensor.yaml ea9b466383 TH16: add display on/off vor 2 Jahren
thermex_if50v_waterheater.yaml 0e82452260 Thermex water heater: changes from review vor 2 Jahren
tmwf02_fan.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
tompd_63lw_breaker.yaml 88076fabfb Add energy_storage class to prepay meter Balance and Charge entities. vor 2 Jahren
tontine_039-WIFI_blanket.yaml f91a05cc35 added the duration class to the countdown vor 2 Jahren
treatlife_ds02_fan.yaml 4863f3799e Fix configs that listed a singular product instead of products. vor 2 Jahren
treatlife_ds03_fan_light.yaml d8f45bb7f9 Add support for Treatlife DS03 ceiling fan with light vor 3 Jahren
tyte_d1_thermostat.yaml 919ea25188 Smartplugs: Enable forced updates of power, current and voltage dps. vor 3 Jahren
ultenic_air_fryer.yaml ddfe8e94e1 Add support for Ultenic air fryer. vor 2 Jahren
usb_4way_powerstrip.yaml 432f0c13b0 Add support for USB + 4-way powerstrips such as AOFO ZLD-44EU-W vor 3 Jahren
vivax_heatpump.yaml 17a6ceaaba Add support for Vivax Cool heatpump vor 2 Jahren
vork_vk6067aw_purifier.yaml 1ef10ab553 Mark fans with translation_key fan_with_presets vor 2 Jahren
wdyk_2p63a_energy_meter.yaml 16b193ef96 Energy meters: standardise units to A, kW vor 2 Jahren
wdyk_3phase_energymonitor.yaml 95faa3975a Update and remove energy meter tests, fix typo in config vor 2 Jahren
weau_pool_heatpump.yaml cf01d0c62c Translations: provide specific translations for climate devices vor 2 Jahren
weau_pool_heatpump13kW.yaml 2dffe144f9 weau 13kW: Remove measurement class from extra attributes. vor 2 Jahren
weau_pool_heatpump_v2.yaml cd1d9245b8 W'eau v2: add preset modes. vor 2 Jahren
wetair_wawh1210lw_humidifier.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
wetair_wch750_heater.yaml acce76acdc Common translations: climate preset_mode - use standard modes where possible vor 2 Jahren
whm04_doorbell.yaml 332dd6904f WHM04 doorbell: fix button sensor vor 2 Jahren
wilfa_haze_hu400bc_humidifier.yaml e46fc804f7 Rename entities in accordance with HA guidelines. vor 3 Jahren
windcalm_fan.yaml d477a7bec0 Updated speed mappings vor 2 Jahren
windcalm_fan_with_light.yaml d477a7bec0 Updated speed mappings vor 2 Jahren
wistar_roller_blind.yaml 8c918f6a82 Covers: duplicate position as current_position for some devices. vor 2 Jahren
wistar_roller_blind_nopos.yaml 8c918f6a82 Covers: duplicate position as current_position for some devices. vor 2 Jahren
woods_milan_airconditioner.yaml ce75c05a04 Added support for Woods Milan AC vor 2 Jahren
woox_r4028_powerstrip.yaml 495b28bbfc Add support for Qnect 3 outlet + USB power strips. vor 3 Jahren
yieryi_ph_meter.yaml 9682ecc6a5 Add support for PH-W218 water quality monitor. vor 2 Jahren
yym_805SW_aroma_nightlight.yaml 4194235517 Use HS color rather than RGBW for colour lights. vor 2 Jahren
zemismart_curtain.yaml c14826e625 Add `persist: false` to optional sensor dps with null mappings. vor 3 Jahren
zemismart_roller_shade.yaml d30e457e7e cover devices: invert should be inside a mapping. vor 2 Jahren
zigbee_zth08ztu_temphumid_sensor.yaml 0518563acb ZTH08ZTU sensors: make battery a battery class sensor vor 2 Jahren
zx_db11_doorbell_alarm.yaml 2c54699f4f ZX-DB11 doorbell: new entity should be lart of the list vor 2 Jahren
zx_g30_alarm.yaml b60b482b95 Add support for alarm_control_panel platform vor 2 Jahren
zx_gs21_gasmonitor.yaml 04add2aec3 Added support for ZX-GS21 gas leak alarm. vor 2 Jahren
zym100_presence_sensor.yaml ec5e434035 Update zym100_presence_sensor.yaml vor 2 Jahren

README.md

Device Configuration Files

This directory contains device configuration files, describing the workings of supported devices. The files are in YAML format, and describe the mapping of Tuya DPs (Data Points) to HomeAssistant attributes.

Each Tuya device may correspond to one primary entity and any number of secondary entities in Home Assistant.

The Top Level

The top level of the device configuration defines the following:

name

The device should be named descriptively with a name the user would recognize, the brand and model of the device is a good choice. If a whole family of devices is supported, a generalization of the model type can be used. The name should also indicate to the user what type of device it is.

products

Optional, for future use.

A list of products that this config applies to. Each product in the list must have an id specified, which corresponds to the productId or productKey (depending on where you are getting it from) in Tuya info. This is available from the Tuya developer web portal listing for your device, or when using UDP discovery (via tinytuya). In future it is intended that UDP discovery will be used to more precisely match devices to configs, so it is recommended to report these if you can find them when requesting a new device. Each listing can also have an optional name, which is intended to override the top level name when full support for this field is added. Probably other info will be added in future to provide better reporting of device manufacturer and model etc.

primary_entity

This contains the configuration for one Home Assistant entity which is considered the main entity for the device. For example, if the device is a heater, this would be a climate entity.

The configuration for entities is detailed in its own section below.

secondary_entities

Optional.

This contains a list of additional Home Assistant entities providing additional functionality beyond the capabilities of the primary entity. Examples include lighting control for display panels as a Home Assistant light entity, child locks as a Home Assistant lock entity, or additional toggles as Home Assistant switch entities.

The configuration for secondary entities is the same as primary entities, and is detailed in the section below.

Entity configuration

entity

The Home Assistant entity type being configured. Currently supported types are climate, switch, light, lock. Functionality for these entities is limited to that which has been required for the devices until now and may need to be extended for new devices. In particular, the light and lock entities have only been used for simple secondary entities, so only basic functionality is implemented.

class

Optional.

For some entity types, a device class can be set, for example switch entities can have a class of outlet. This may slightly alter the UI behaviour. For most entities, it will alter the default icon, and for binary sensors also the state that off and on values translate to in the UI.

category

Optional.

This specifies the entity category of the entity. Entities can be categorized as config or diagnostic to restrict where they appear automatically in Home Assistant.

dps

This is a list of the definitions for the Tuya DPs associated with attributes of this entity. There should be one list entry for each supported DPs reported by the device.

The configuration of DPs entries is detailed in its own section below.

name

Optional.

The name associated with this entity can be set here. If no name is set, it will inherit the name at the top level. This is mostly useful for overriding the name of secondary entities to give more information about the purpose of the entity, as the generic type with the top level name may not be sufficient to describe the function.

mode

Optional. For number entities, default="auto", for others, None

For number entities, this can be used to force slider or box as the input method. The default auto uses a slider if the range is small enough, or a box otherwise.

DPs configuration

id

Every DP must have a numeric ID matching the DP ID in the Tuya protocol.

type

The type of data returned by the Tuya API. Can be one of the following:

  • string can contain arbitrary text.
  • boolean can contain the values True or False.
  • integer can contain only numbers. Integers can have range set on them, be scaled and steped
  • bitfield is a special case of integer, where the bits that make up the value each has individal meaning.
  • base64 is a special case of string, where binary data is base64 encoded. Platforms that use this type will need special handling to make sense of the data.
  • hex is a special case of string, where binary data is hex encoded. Platforms that use this type will need special handling to make sense of the data.
  • json is a special case of string, where multiple data points are encoded in json format in the string. Platforms that use this type will need special handling to make sense of the data.
  • float can contain floating point numbers. No known devices use this, but it is supported if needed.

name

The name given to the attribute in Home Assistant. Certain names are used by the Home Assistant entities for specific purposes. If a name is not recognized as a standard attribute by the entitiy implementation, the attribute will be returned as a readonly custom attribute on the entity. If you need non-standard attributes to be able to be set, you will need to use a secondary entity for that.

readonly

Optional, default false.

A boolean setting to mark attributes as readonly. If not specified, the default is false. If set to true, the attributes will be reported to Home Assistant, but attempting to set them will result in an error. This is only needed in contexts where it would normally be possible to set the value. If you are creating a sensor entity, or adding an attribute of an entity which is inherently read-only, then you do not need to specify this.

optional

Optional, default false.

A boolean setting to mark attributes as optional. This allows a device to be matched even if it is not sending the dp at the time when adding a new device. It can also be used to match a range of devices that have variations in the extra attributes that are sent.

persist

Optional, default true.

Whether to persist the value if the device does not return it on every status refresh. Some devices don't return every value on every status poll. In most cases, it is better to remember the previous value, but in some cases the dp is used to signal an event, so when it is next sent, it should trigger automations even if it is the same value as previously sent. In that case the value needs to go to null in between when the device is not sending it.

force

Optional, default false.

A boolean setting to mark dps as requiring an explicit update request to fetch. Many energy monitoring smartplugs require this, without a explicit request to update them, such plugs will only return monitoring data rarely or never. Devices can misbehave if this is used on dps that do not require it. Use this only where needed, and generally only on read-only dps.

precision

Optional, default None.

For integer dps that are sensor values, the suggested precision for display in Home Assistant can be specified. If unspecified, the Home Assistant will use the native precision, which is calculated based on the scale of the dp so as to provide distinct values with as few decimal places as possible. For example a scale of 3 will result in one decimal place by default, (values displayed as x.3, x.7 rather than x.33333333 and x.666666) but you could override that to 2 or 0 with by specifying the precision explicitly.

mapping

Optional. This can be used to define a list of additional rules that modify the DP to Home Assistant attribute mapping to something other than a one to one copy.

The rules can range from simple value substitution to complex relationships involving other attributes. It can also be used to change the icon of the entity based on the attribute value. Mapping rules are defined in their own section below.

hidden

Optional, default false. This can be used to define DPs that do not directly expose Home Assistant attributes. When set to true, no attribute will be sent. A name should still be specified and the attribute can be referenced as a constraint from mapping rules on other attributes to implement complex mappings.

An example of use is a climate device, where the Tuya device keeps separate temperature settings for different Normal and Eco preset modes. The Normal temperature setting is exposed through the standard temperature Home Assistant attribute on the climate device, but the eco_temperature setting on a different DP is set to hidden. Mapping Rules are used on the temperature attribute to redirect to eco_temperature when preset_mode is set to Eco.

range

Optional, may be required in some contexts, may have defaults in others.

For integer attributes that are not readonly, a range can be set with min and max values that will limit the values that the user can enter in the Home Assistant UI. This can also be set in a mapping or conditions block.

unit

Optional, default="C" for temperature dps on climate devices.

For temperature dps, some devices will use Fahrenhiet. This needs to be indicated back to HomeAssistant by defining unit as "F". For sensor entities, see the HomeAssistant developer documentation for the full list of possible units (C and F are automatically translated to their Unicode equivalents, other units are currently ASCII so can be easily entered directly).

class

Optional.

For sensors, this sets the state class of the sensor (measurement, total or total_increasing)

format

Optional.

For base64 and hex types, this specifies how to decode the binary data (after hex or base64 decoding). This is a container field, the contents of which should be a list consisting of name, bytes and range fields. range is as described above. bytes is the number of bytes for the field, which can be 1, 2, or 4. name is a name for the field, which will have special handling depending on the device type.

mask

Optional.

For base64 and hex types, this specifies how to extract a single numeric value from the binary data. The value should be a hex bit mask (eg 00FF00 to extract the middle byte of a 3 byte value). Unlike format, this does not require special handling in the entity platform, as only a single value is being extracted.

Mapping Rules

Mapping rules can change the behavior of attributes beyond simple copying of DP values to attribute values. Rules can be defined without a dps_val to apply to all values, or a list of rules that apply to particular dp values can be defined to change only particular cases. Rules can even depend on the values of other elements.

dps_val

Optional, if not provided, the rule is a default that will apply to all values not covered by their own dps_val rule.

dps_val defines the DP value that each rule in the list applies to. This can be used to map specific values from the Tuya protocol into attribute values that have specific meaning in Home Assistant. For example, climate entities in Home Assistant define modes "off", "heat", "cool", "heat_cool", "auto" and "dry". But in the Tuya protocol, a simple heater just has a boolean off/on switch. It can also be used to change the icon when a specific mode is operational. For example if a heater device has a fan-only mode, you could change the icon to "mdi:fan" instead of "mdi:radiator" when in that mode. A dps_val of null can be used to specify a value to be assumed when a dp is not being returned by the device, to avoid None in some locations where that causes an issue such as entities showing as unavailable. Such a mapping is one-way, the value will not be mapped back to a null when setting the dp.

value

Optional.

This can be used to set the attribute value seen by Home Assistant to something different than the DP value from the Tuya protocol. Normally it will be used with dps_val to map from one value to another. Without dps_val it will one-way map all otherwise unmapped dps values to the specified value. This can be useful for a binary_sensor.

hidden

Optional, default=false

When set to true, the mapping value is hidden from the list of all values. This can be used for items that should not be available for selection by the user but you still want to map for feedback coming from the device. For example, some devices have a "Manual" mode, which is automatically selected when adjustments are made to other settings, but should not be available as an explicit mode for the user to select.

scale

Optional, default=1.

This can be used in an integer dp mapping to scale the values. For example some climate devices represent the temperature as an integer in tenths of degrees, and require a scale of 10 to convert them to degrees expected by Home Assistant. The scale can also be the other way, for a fan with speeds 1, 2 and 3 as DP values, this can be converted to a percentage with a scale of 0.03.

invert

Optional, default=False.

This can be used in an integer dp mapping to invert the range. For example, some cover devices have an opposite idea of which end of the percentage scale open and closed are from what Home Assistant assumes. To use this mapping option, a range must also be specified for the dp.

step

Optional, default=1.

This can be used in an integer dp mapping to make values jump by a specific step. It can also be set in a conditions block so that the steps change only under certain conditions. An example is where a value has a range of 0-100, but only allows settings that are divisible by 10, so a step of 10 would be set.

icon

Optional.

This can be used to override the icon. Most useful with a dps_val which indicates a change from normal operating mode, such as "fan-only", "defrosting", "tank-full" or some error state.

icon_priority

Optional. Default 10. Lower numbers mean higher priorities.

When a number of rules on different attributes define icon changes, you may need to control which have priority over the others. For example, if the device is off, probably it is more important to indicate that than whether it is in fan-only or heat mode. So in the off/on DP, you might give a priority of 1 to the off icon, 3 to the on icon, and in the mode DP you could give a priority of 2 to the fan icon, to make it override the normal on icon, but not the off icon. If you don't specify any priorities, the icons will all get the same priority, so if any overlap exists in the rules, it won't always be predictable which icon will be displayed.

value_redirect

Optional.

When value_redirect is set, the value of the attribute and any attempt to set it will be redirected to the named attribute instead of the current one.

An example of how this can be useful is where a Tuya heater has a dp for the target temperature in normal mode, and a different dp for the target temperature is "eco" mode. Depending on the preset_mode, you need to use one or the other. But Home Assistant just has one temperature attribute for setting target temperature, so the mapping needs to be done before passing to Home Assistant.

value_mirror

Optional.

When value_mirror is set, the value of the attribute will be redirected to the current value of the named attribute. Unlike value_redirect, this does not redirect attempts to set the dp to the redirected dp, but when used in a map, this can make the mapping dynamic.

An example of how this can be useful is where a thermostat can be configured to control either a heating or cooling device, but it is not expected to change this setting during operation. Once set up, the hvac_mode dp can have a mapping that mirrors the value of the configuration dp.

invalid

Optional, default false.

Invalid set to true allows an attribute to temporarily be set read-only in some conditions. Rather than passing requests to set the attribute through to the Tuya protocol, attempts to set it will throw an error while it meets the conditions to be invalid. It does not make sense to set this at mapping level, as it would cause a situation where you can set a value then not be able to unset it. Instead, this should be used with conditions, below, to make the behaviour dependent on another DP, such as disabling fan speed control when the preset is in sleep mode (since sleep mode should force low).

default

Optional, default false.

Default set to true allows an attribute to be set as the default value. This is used by some entities when an argument is not provided to a service call but the attribute is required to be set to function correctly. An example is the siren entity which uses the tone attribute to turn on and off the siren, but when turn_on is called without any argument, it needs to pick a default tone to use to turn on the siren.

constraint

Optional, always paired with conditions. Default if unspecified is the current attribute

If a rule depends on an attribute other than the current one, then constraint can be used to specify the element that conditions applies to. constraint can also refer back to the same attribute - this can be useful for specifying conditional mappings, for example to support two different variants of a device in a single config file, where the only difference is the way they represent enum attributes.

conditions

Optional, usually paired with constraint.

Conditions defines a list of rules that are applied based on the constraint attribute. The contents are the same as Mapping Rules, but dps_val applies to the attribute specified by constraint, and also can be a list of values to match as well rather than a single value. All others act on the current attribute as they would in the mapping. Although conditions are specified within a mapping, they can also contain a mapping of their own to override that mapping. These nested mappings are limited to simple dps_val to value substitutions, as more complex rules would quickly become too complex to manage.

When setting a dp which has conditions attached, the behaviour is slightly different depending on whether the constraint dp is readonly or not.

For non-readonly constraints that specify a single dps_val, the constraint dp will be set along with the target dp so that the first condition with a value matching the target value is met.

For readonly constraints, the condition must match the constraint dp's current value for anything to be set.

Example

  ...
  name: target_dp
  mapping:
    - dps_val: 1
      constraint: constraint_dp
      conditions:
        - dps_val: a
          value: x
        - dpa_val: c
          value: z
    - dps_val: 2
      constraint: constraint_dp
      conditions:
        - dps_val: b
          value: x
        - dps_val: c
          value: y

If constraint_dp is not readonly:

constraint_dp current dps_val target_dp target value dps set
a x target_dp: 1, constraint_dp: a
a y target_dp: 2, constraint_dp: c
a z target_dp: 1, constraint_dp: c
b x target_dp: 1, constraint_dp: a
b y target_dp: 2, constraint_dp: c
b z target_dp: 1, constraint_dp: c
c x target_dp: 1, constraint_dp: a
c y target_dp: 2, constraint_dp: c
c z target_dp: 1, constraint_dp: c

If constraint_dp is readonly:

current constraint_dp target target_dp dps set
a x target_dp: 1
a y -
a z -
b x target_dp: 2
b y -
b z -
c x -
c y target_dp: 2
c z target_dp: 1

Entity types

Entities have specific mappings of dp names to functions. Any unrecognized dp name is added to the entity as a read-only extra attribute, so can be observed and queried from HA, but if you need to be able to change it, you should split it into its own entity of an appropriate type (number, select, switch for example).

If the type of dp does not match the expected type, a mapping should be provided to convert. Note that "on" and "off" require quotes in yaml, otherwise it they are interpretted as true/false.

Many entity types support a class attribute which may change the UI behaviour, icons etc. See the HA documentation for the entity type to see what is valid (these may expand over time)

alarm_control_panel

  • alarm_state (required, string) the alarm state, used to report and change the current state of the alarm. Expects values from the set disarmed, armed_home, armed_away, armed_night, armed_vacation, armed_custom_bypass, pending, arming, disarming, triggered. Other states are allowed for read-only status, but only the armed... and disarmed states are available as commands.
  • trigger (optional, boolean) used to trigger the alarm remotely for test or panic button etc.

binary_sensor

  • sensor (required, boolean) the dp to attach to the sensor.

button

  • button (required, boolean) the dp to attach to the button. Any read value will be ignored, but the dp is expected to be present for device detection unless set to optional. A value of true will be sent for a button press, map this to the desired dps_val if a different value is required.

climate

  • aux_heat (optional, boolean) a dp to control the aux heat switch if the device has one.
  • current_temperature (optional, number) a dp that reports the current temperature.
  • current_humidity (optional, number) a dp that reports the current humidity (%).
  • fan_mode (optional, mapping of strings) a dp to control the fan mode if available. Any value is allowed, but HA has some standard modes: "on", "off", auto, low, medium, high, top, middle, focus, diffuse
  • humidity (optional, number) a dp to control the target humidity if available. (%)
  • hvac_mode (optional, mapping of strings) a dp to control the mode of the device. Possible values are: "off", cool, heat, heat_cool, auto, dry, fan_only
  • hvac_action (optional, string) a dp thar reports the current action of the device. Possible values are: "off", idle, cooling, heating, drying, fan
  • preset_mode (optional, mapping of strings) a dp to control preset modes of the device. Any value is allowed, but HA has some standard presets: none, eco, away, boost, comfort, home, sleep, activity
  • swing_mode (optional, mapping of strings) a dp to control swing modes of the device. Possible values are: "off", vertical, horizontal
  • temperature (optional, number) a dp to set the target temperature of the device. A unit may be specified as part of the attribute if a temperature_unit dp is not available, if not the default unit configured in HA will be used.
  • target_temp_high (optional, number) a dp to set the upper temperature range of the device. This dp should be paired with target_temp_low, and is mutually exclusive with temperature
  • target_temp_low (optional, number) a dp to set the lower temperature range of the device.
  • temperature_unit (optional, string) a dp that specifies the unit the device is configured for. Values should be mapped to "C" or "F" (case sensitive) - often the device will use a boolean or lower case for this
  • min_temperature (optional, number) a dp that specifies the minimum temperature that can be set. Some devices provide this, otherwise a fixed range on the temperature dp can be used.
  • max_temperature (optional, number) a dp that specifies the maximum temperature that can be set.

cover

Either position or open should be specified.

  • position (optional, number 0-100): a dp to control the percentage that the cover is open. 0 means completely close, 100 means completely open.
  • control (optional, mapping of strings): a dp to control the cover. Mainly useful if position cannot be used. Valid values are open, close, stop
  • action (optional, string): a dp that reports the current state of the cover. Special values are opening, closing
  • open (optional, boolean): a dp that reports if the cover is open. Only used if position is not available.

fan

  • switch (optional, boolean): a dp to control the power state of the fan
  • preset_mode (optional, mapping of strings): a dp to control different modes of the fan. Values "off", low, medium, high used to be handled specially by HA as deprecated speed aliases. If these are the only "presets", consider mapping them as speed values instead, as voice assistants will respond to phrases like "turn the fan up/down" for speed.
  • speed (optional, number 0-100): a dp to control the speed of the fan (%). scale and step can be used to convert smaller ranges to percentages, or a mapping for discrete values.
  • oscillate (optional, boolean): a dp to control whether the fan will oscillate or not.
  • direction (optional, string): a dp to control the spin direction of the fan. Valid values are forward, reverse.

humidifier

Humidifer can also cover dehumidifiers (use class to specify which).

  • switch (optional, boolean): a dp to control the power state of the fan
  • mode (optional, mapping of strings): a dp to control preset modes of the device
  • humidity (optional, number): a dp to control the target humidity of the device

light

  • switch (optional, boolean): a dp to control the on/off state of the light
  • brightness (optional, number 0-255): a dp to control the dimmer if available.
  • color_temp (optional, number): a dp to control the color temperature if available. will be mapped so the minimum corresponds to 153 mireds (6500K), and max to 500 (2000K).
  • rgbhsv (optional, hex): a dp to control the color of the light, using encoded RGB and HSV values. The format field names recognized for decoding this field are r, g, b, h, s, v.
  • color_mode (optional, mapping of strings): a dp to control which mode to use if the light supports multiple modes. Special values: white, color_temp, hs, xy, rgb, rgbw, rgbww, others will be treated as effects, Note: only white, color_temp and hs are currently supported, others listed above are reserved and may be implemented in future when the need arises. If no color_mode dp is available, a single supported color mode will be calculated based on which of the above dps are available.
  • effect (optional, mapping of strings): a dp to control effects / presets supported by the light. Note: If the light mixes in color modes in the same dp, color_mode should be used instead. If the light contains both a separate dp for effects/scenes/presets and a mix of color_modes and effects (commonly scene and music) in the color_mode dp, then a separate select entity should be used for the dedicated dp to ensure the effects from color_mode are selectable.

lock

  • lock (optional, boolean): a dp to control the lock state: true = locked, false = unlocked
  • unlock_fingerprint (optional, integer): a dp to identify the fingerprint used to unlock the lock.
  • unlock_password (optional, integer): a dp to identify the password used to unlock the lock.
  • unlock_temp_pwd (optional, integer): a dp to identify the temporary password used to unlock the lock.
  • unlock_dynamic_pwd (optional, integer): a dp to identify the dynamic password used to unlock the lock.
  • unlock_card (optional, integer): a dp to identify the card used to unlock the lock.
  • unlock_app (optional, integer): a dp to identify the app used to unlock the lock.
  • request_unlock (optional, integer): a dp to signal that a request has been made to unlock, the value should indicate the time remaining for approval.
  • approve_unlock (optional, boolean): a dp to unlock the lock in response to a request.
  • jammed (optional, boolean): a dp to signal that the lock is jammed.

number

  • value (required, number): a dp to control the number that is set.
  • unit (optional, string): a dp that reports the units returned by the number. This may be useful for devices that switch between C and F, otherwise a fixed unit attribute on the value dp can be used.
  • minimum (optional, number): a dp that reports the minimum the number can be set to. This may be used as an alternative to a range setting on the value dp if the range is dynamic
  • maximum (optional, number): a dp that reports the maximum the number can be set to. This may be used as an alternative to a range setting on the value dp if the range is dynamic

select

  • option (required, mapping of strings): a dp to control the option that is selected.

sensor

  • sensor (required, number or string): a dp that returns the current value of the sensor.
  • unit (optional, string): a dp that returns the unit returned by the sensor. This may be useful for devices that switch between C and F, otherwise a fixed unit attribute on the sensor dp can be used.

siren

  • tone (required, mapping of strings): a dp to report and control the siren tone. As this is used to turn on and off the siren, it is required. If this does not fit your siren, the underlying implementation will need to be modified. The value "off" will be used for turning off the siren, and will be filtered from the list of available tones. One value must be marked as default: true so that the turn_on service with no commands works.
  • volume (optional, float in range 0.0-1.0): a dp to control the volume of the siren (probably needs a scale and step applied, since Tuya devices will probably use an integer, or strings with fixed values).
  • duration (optional, integer): a dp to control how long the siren will sound for.

switch

  • switch (required, boolean): a dp to control the switch state.

vacuum

  • status (required, mapping of strings): a dp to report and control the status of the vacuum.
  • command (optional, mapping of strings): a dp to control the statuss of the vacuum. If supplied, the status dp is only used to report the state. Special values: return_to_base, clean_spot, others are sent as general commands
  • locate (optional, boolean): a dp to trigger a locator beep on the vacuum.
  • power (optional, boolean): a dp to switch full system power on and off
  • activate (optional, boolean): a dp to start and pause the vacuum
  • battery (optional, number 0-100): a dp that reports the current battery level (%)
  • direction_control (optional, mapping of strings): a dp that is used for directional commands These are additional commands that are not part of status. They can be sent as general commands from HA.
  • error (optional, bitfield): a dp that reports error status. As this is mapped to a single "fault" state, you could consider separate binary_sensors to report on individual errors

water_heater

  • current_temperature (optional, number): a dp that reports the current water temperature.

  • operation_mode (optional, mapping of strings): a dp to report and control the operation mode of the water heater. If away is one of the modes, another mode must be marked as default: true to that the away_mode_off service knows which mode to switch out of away mode to.

  • temperature (optional, number): a dp to control the target water temperature of the water heater. A unit may be specified as an attribute if the temperature_unit dp is not available, otherwise the default of HA's current setting will be used.

  • temperature_unit (optional, string): a dp that reports the unit the device is configured for. Values should be mapped to "C" or "F" (case sensitive) - often the device will use a boolean or lower case for this

  • min_temperature (optional, number): a dp that reports the minimum temperature the water heater can be set to, in case this is not a fixed value.

  • max_temperature (optional, number): a dp that reports the maximum temperature the water heater can be set to, in case this is not a fixed value.

  • away_mode (optional, boolean): a dp to control whether the water heater is in away mode.