Jason Rumney e6be0764c7 Products cleanup: T-V 1 rok temu
..
9in1_airquality_monitor.yaml cb6f827e0d Products cleanup: A 1 rok temu
CT20W_pir_motion_detector.yaml cb6f827e0d Products cleanup: A 1 rok temu
DH-CSK03W_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
EM3390TF_weather_station.yaml cb6f827e0d Products cleanup: A 1 rok temu
HCT-626_dual_water_timer.yaml cb6f827e0d Products cleanup: A 1 rok temu
README.md e0b0a5ff71 Products cleanup: J-K 1 rok temu
ZC34T-03-3A_swing_arm_opener.yaml cb6f827e0d Products cleanup: A 1 rok temu
__init__.py ab399ed78a Add device configuration files for supported devices. 5 lat temu
abalon_bcm700d_curtain.yaml cb6f827e0d Products cleanup: A 1 rok temu
abir_x8_vacuum.yaml cb6f827e0d Products cleanup: A 1 rok temu
advancedfires_1500_fireplace.yaml 13ca3405bf Advanced fires: make model a string 1 rok temu
aeratron_ae3plus_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
af3w_petfeeder.yaml cb6f827e0d Products cleanup: A 1 rok temu
afyeev_16a_evcharger.yaml cb6f827e0d Products cleanup: A 1 rok temu
afyeev_evcharger.yaml cb6f827e0d Products cleanup: A 1 rok temu
agl_ultracontato.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
agl_ultramagic_lock.yaml cb6f827e0d Products cleanup: A 1 rok temu
ailrinni_fingerprint_lock.yaml cb6f827e0d Products cleanup: A 1 rok temu
airquality6in1.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
airrobo_p20_vacuum.yaml cb6f827e0d Products cleanup: A 1 rok temu
akai_dryer.yaml cb6f827e0d Products cleanup: A 1 rok temu
aktobis_wdh_310ek_dehumidifier.yaml cb6f827e0d Products cleanup: A 1 rok temu
alecoair_d12_dehumidifier.yaml cb6f827e0d Products cleanup: A 1 rok temu
alecoair_d16_dehumidifier.yaml cb6f827e0d Products cleanup: A 1 rok temu
amico_smart_ceiling_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
andersson_gsh_heater.yaml cb6f827e0d Products cleanup: A 1 rok temu
anko_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
anko_kettle.yaml cb6f827e0d Products cleanup: A 1 rok temu
aquaforte_vsp_poolpump.yaml cb6f827e0d Products cleanup: A 1 rok temu
aquatech_x6_water_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ard100_valve.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_12speed_tower_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_19speed_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_6speed_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_apr005ha_air_purifier.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_ceiling_fan_remote.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
arlec_fan_light.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
arlec_pa1123bkha_portable_air_conditioner.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_panel_heater.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_panel_heater_v2.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_pb88uha_s2_switch.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_rf_transmitter.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_rgb_ledstrip.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_smart_button.yaml cb6f827e0d Products cleanup: A 1 rok temu
arlec_thermostat_smartplug.yaml cb6f827e0d Products cleanup: A 1 rok temu
asahom_outdoor_rgbcw_lights.yaml cb6f827e0d Products cleanup: A 1 rok temu
asakuki_diffuser.yaml cb6f827e0d Products cleanup: A 1 rok temu
asc_wifi_circuit_breaker.yaml cb6f827e0d Products cleanup: A 1 rok temu
asip_0622_planter.yaml cb6f827e0d Products cleanup: A 1 rok temu
aspen_asp200_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
atomi_ceiling_fan.yaml cb6f827e0d Products cleanup: A 1 rok temu
atomi_ceramic_heater.yaml cb6f827e0d Products cleanup: A 1 rok temu
atomi_string_lights.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
atorch_at2pl_breaker.yaml cb6f827e0d Products cleanup: A 1 rok temu
atorch_at4pw_energymeter.yaml cb6f827e0d Products cleanup: A 1 rok temu
atorch_s1wp.yaml cb6f827e0d Products cleanup: A 1 rok temu
aubess_1gang_switch.yaml cb6f827e0d Products cleanup: A 1 rok temu
aubess_2gang_switch.yaml cb6f827e0d Products cleanup: A 1 rok temu
aubess_rainpoint_irrigation_system.yaml cb6f827e0d Products cleanup: A 1 rok temu
aulifants_energymonitor_breaker.yaml cb6f827e0d Products cleanup: A 1 rok temu
avatto_curtain_duallights.yaml cb6f827e0d Products cleanup: A 1 rok temu
avatto_curtain_light.yaml cb6f827e0d Products cleanup: A 1 rok temu
avatto_curtain_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
avatto_roller_blinds.yaml cb6f827e0d Products cleanup: A 1 rok temu
avatto_trv06_radiatorvalve.yaml cb6f827e0d Products cleanup: A 1 rok temu
avatto_wt100_thermostat.yaml cb6f827e0d Products cleanup: A 1 rok temu
avidsen_soria_solarinverter.yaml cb6f827e0d Products cleanup: A 1 rok temu
awow_th213_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
awow_th213v2_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
axen_ks100w_heatpump.yaml cb6f827e0d Products cleanup: A 1 rok temu
aygrochy_inline_wifi_air_vent.yaml cb6f827e0d Products cleanup: A 1 rok temu
ballu_aura.yaml b9b52e009a Products cleanup: B 1 rok temu
basic_ir_remote.yaml b9b52e009a Products cleanup: B 1 rok temu
bauhn_ap5w0624_powerstrip.yaml b9b52e009a Products cleanup: B 1 rok temu
bcom_intercom_camera.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_bac002_thermostat_c.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_bhp6000_thermostat_c.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_bhp6000_thermostat_f.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_bhp6000_thermostat_mapped.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_bht002_thermostat_c.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
beca_bht006_thermostat_c.yaml b9b52e009a Products cleanup: B 1 rok temu
beca_zht002_thermostat_c.yaml b9b52e009a Products cleanup: B 1 rok temu
becool_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
benexmart_blind_motor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
beok_tcb38_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
beok_tgm50_thermostat.yaml b9b52e009a Products cleanup: B 1 rok temu
beok_tgr81_thermostat_c.yaml b9b52e009a Products cleanup: B 1 rok temu
beok_tol47_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
beok_tr8b_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
beok_tr9b_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
betterlife_bl1500_heater.yaml b9b52e009a Products cleanup: B 1 rok temu
bht002_galw_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
bht002_gblw_thermostat.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_adaprox_fingerbot.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_hct611_watertimer.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_hu06_lock.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_orion_lock.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_pt216_temp_humidity.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_pulido_p13_lock.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_smart_plant_moisture.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_solar_light.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_tcs024b_smart_plant_moisture.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_water_valve.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_yl01_watertester.yaml b9b52e009a Products cleanup: B 1 rok temu
ble_ysgbs01_lock.yaml b9b52e009a Products cleanup: B 1 rok temu
blitzwolf_bw_lt31.yaml b9b52e009a Products cleanup: B 1 rok temu
blitzwolf_bwis6_alarm.yaml b9b52e009a Products cleanup: B 1 rok temu
blitzwolf_bwsh2_humidifier.yaml b9b52e009a Products cleanup: B 1 rok temu
blitzwolf_bwsh5_humidifier.yaml b9b52e009a Products cleanup: B 1 rok temu
blitzwolf_bwshp6_smartplug.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
blitzwolf_bwshp9_powerstrip.yaml b9b52e009a Products cleanup: B 1 rok temu
blumfeldt_cosmicbeam_heater.yaml b9b52e009a Products cleanup: B 1 rok temu
bneta_f1d_petfeeder.yaml b9b52e009a Products cleanup: B 1 rok temu
bonaire_heater.yaml b9b52e009a Products cleanup: B 1 rok temu
brade_mc6_thermostat.yaml b9b52e009a Products cleanup: B 1 rok temu
bresser_smart_thermo_hygrometer.yaml b9b52e009a Products cleanup: B 1 rok temu
bresser_weather_station.yaml b9b52e009a Products cleanup: B 1 rok temu
breville_airdynamic3d_fan.yaml b9b52e009a Products cleanup: B 1 rok temu
breville_easyair_purifier.yaml b9b52e009a Products cleanup: B 1 rok temu
breville_lad208_dehumidifier.yaml b9b52e009a Products cleanup: B 1 rok temu
breville_smart_air_viral_protect_plus.yaml b9b52e009a Products cleanup: B 1 rok temu
breville_smartairconnect_purifier.yaml b9b52e009a Products cleanup: B 1 rok temu
briliant_fan_light.yaml b9b52e009a Products cleanup: B 1 rok temu
brilliant_double_switch.yaml b9b52e009a Products cleanup: B 1 rok temu
brilliant_quad_powerstrip_usb.yaml b9b52e009a Products cleanup: B 1 rok temu
brilliant_quad_switch.yaml b9b52e009a Products cleanup: B 1 rok temu
brilliant_single_switch.yaml b9b52e009a Products cleanup: B 1 rok temu
brilliant_triple_switch.yaml b9b52e009a Products cleanup: B 1 rok temu
brizlabs_string_lights.yaml b9b52e009a Products cleanup: B 1 rok temu
bstuokey_access_keypad.yaml b9b52e009a Products cleanup: B 1 rok temu
bstuokey_invisible_lock.yaml b9b52e009a Products cleanup: B 1 rok temu
bvf_cp1_heater.yaml b9b52e009a Products cleanup: B 1 rok temu
bwt_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
cadence_aroma_diffuser.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
caldo_up_t_wifi.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
calex_aromadiffuser.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
calex_convector_heater.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
calex_s45cleare27_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
calibo_smart_ceiling_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
camnsmart_e27_camera.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
carro_ph805_humidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
carro_pn04f02d_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
carro_smart_ceiling_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
carson_cb.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
casafan_ceiling_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
casdon_td_pro_2.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
catit_pet_feeder.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
catit_pixi_6meal_feeder.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
catit_pixi_smart_feeder.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
catit_pixi_smart_fountain.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cbi_astute_outdoor_smartswitch.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cc_curtain.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
ccb11_blind_controller.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cct_lightbulb.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cct_modeless_lightbulb.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cct_v1_lightbulb.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cecofry_5500_airfryer.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cecotec_bigdry_4000_dehumidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cecotec_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cecotec_readywarm_8400.yaml 9467c02818 Docs for PR #2701 1 rok temu
ceres_plus_petfeeder.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cesmarthome_acwall_outlet.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
chanfok_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
ciarra_cbcs4850_rangehood.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleanair_604b_humidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleanair_605b_humidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleverio_ad100_dehumidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleverio_ap100_purifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleverio_cd200_doorbell.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cleverio_pf100_petfeeder.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cnc_ycb9zf_breaker.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
co2_box.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
comon_lights.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
compteur_energy_meter.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
confortotal_minisplit.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cooper_hunter_air_conditioner.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
costway_portable_ac.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
create_fan_light.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
create_warmtoweladvance_heater.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
cronos_gphdda_heater.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
currysmarter_6gen_rollershutter.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
curtain_with_feedback.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
daewoo_dhome_heatpump.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
daizuki_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
deakon_evi_waterheatpump.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
della_airconditioner.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
deltaco_shlw5m_ledstrip.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
depuley_smart_ceiling_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
desk_lamp.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
deta_dimmer_switch.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
deta_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
devola_patio_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
digoo_dgsp01_dual_nightlight_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
digoo_dgsp202.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
digoo_hamb_alarm.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
diivoo_dwv010.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
diivoo_wt05.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dimming_1ch_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
dimming_light_track.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dimming_lightbulb.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
ditua_dt1522yn_aromadiffuser.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
djive_arc_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
doel_tiplus_litterbox.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dongguan_electric_curtain.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dongguan_garage_door_opener.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
door_peephole_camera.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
dooya_curtain.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dr_heater_dr008_thermostat.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dream_maker_feel_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dreamlight_led_strip.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dry_pury_evo_dehumidifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dts238_7_energy_meter.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dual_clamp_energymeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
dual_dimmer_module.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dual_power_monitor_smartplug.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
dual_power_monitor_smartplugv2.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
duux_blizzard_portable_aircon.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
duux_bright_purifier.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
duux_whisper_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
duux_whisper_flex_ultimate_fan.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
dynasty_btx_fireplace.yaml 054a36dbc7 Products cleanup: C-D 1 rok temu
eanons_humidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
earu_dpn_circuitbreaker.yaml 025f22532f Products cleanup: E-G 1 rok temu
earu_k6h3aw_thermostat.yaml 025f22532f Products cleanup: E-G 1 rok temu
earu_smart_wifi_circuit_breaker_with_energy_monitor.yaml 025f22532f Products cleanup: E-G 1 rok temu
ebac_dj4000_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
eberg_cooly_c35hd.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eberg_qubo_q40hd_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eberg_rico_r12e2_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
ecopoint_ev_charger.yaml 025f22532f Products cleanup: E-G 1 rok temu
ecostrad_accentiq_heater.yaml 025f22532f Products cleanup: E-G 1 rok temu
ecostrad_iq_heating_element.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ecostrad_iqceramic_radiator.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
edgetheorylabs_coldplunge_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
eeese_anna_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eeese_carl_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eeese_otto_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eesee_adam_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eglo_ceiling_fan.yaml 025f22532f Products cleanup: E-G 1 rok temu
electric_panel_heater.yaml 025f22532f Products cleanup: E-G 1 rok temu
electriq_12wminv_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_airflex15w_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
electriq_cd12pro_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_cd12pw_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_cd12pwv2_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_cd20pro_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
electriq_cd25pro_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_desd9lw_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_desd9lwv2_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
electriq_ecosilent12wap_aircon.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_ecosilent14hpw_aircon.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
electriq_pd45e_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
elinksmart_khsy2626_fan.yaml 025f22532f Products cleanup: E-G 1 rok temu
elspet_cat_litterbox.yaml 025f22532f Products cleanup: E-G 1 rok temu
em3378_weather_station.yaml 025f22532f Products cleanup: E-G 1 rok temu
ems_waterheater.yaml 025f22532f Products cleanup: E-G 1 rok temu
emylo_energy_meter.yaml 025f22532f Products cleanup: E-G 1 rok temu
enbrighten_cafe_stringlights.yaml 025f22532f Products cleanup: E-G 1 rok temu
enbrighten_curtainlights.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
energy_monitoring_powerstrip.yaml 025f22532f Products cleanup: E-G 1 rok temu
ept_level_sensor.yaml 025f22532f Products cleanup: E-G 1 rok temu
eruiklink_curtains.yaml 025f22532f Products cleanup: E-G 1 rok temu
erz04c_energy_meter.yaml 025f22532f Products cleanup: E-G 1 rok temu
es01_powerstrip.yaml 025f22532f Products cleanup: E-G 1 rok temu
espfort_ecspsp_usbsmartplug.yaml e4e5ee1de9 ESP Fort smartplug: fix indentation 1 rok temu
essentials_purifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
etersky_aroma_diffuser.yaml 025f22532f Products cleanup: E-G 1 rok temu
etersky_curtain_switch.yaml 025f22532f Products cleanup: E-G 1 rok temu
etna_vw644mc_dishwasher.yaml 025f22532f Products cleanup: E-G 1 rok temu
etop_ch7100_thermostat.yaml 025f22532f Products cleanup: E-G 1 rok temu
etop_fcu_thermostat.yaml 025f22532f Products cleanup: E-G 1 rok temu
etop_ht_thermostat.yaml 025f22532f Products cleanup: E-G 1 rok temu
eurom_600_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eurom_600_heater_v2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eurom_601_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eurom_800_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eurom_alutherm_heater.yaml 025f22532f Products cleanup: E-G 1 rok temu
eurom_alutherm_heater_v2.yaml 025f22532f Products cleanup: E-G 1 rok temu
eurom_sani_bathroom_towel_radiator.yaml 025f22532f Products cleanup: E-G 1 rok temu
eurom_saniwallheat2000_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
eurom_walldesignheat2000_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
evotherm_eti_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
evsun_evcharger.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ezaiot_r9lite_thermostat.yaml 025f22532f Products cleanup: E-G 1 rok temu
ezaiot_thermostat_smartplug.yaml 025f22532f Products cleanup: E-G 1 rok temu
fairland_iphcr15_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
fairland_rmic06_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
fairland_x20_poolheatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
fanco_ecosilentdeluxe.yaml 025f22532f Products cleanup: E-G 1 rok temu
faroro_pet_feeder.yaml 025f22532f Products cleanup: E-G 1 rok temu
feit_dimmer.yaml 025f22532f Products cleanup: E-G 1 rok temu
ferroli_titano_twin.yaml 025f22532f Products cleanup: E-G 1 rok temu
fersk_vind_2_climate.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
feyree_ev_charger.yaml 025f22532f Products cleanup: E-G 1 rok temu
fisher_summer_air_conditioner.yaml 025f22532f Products cleanup: E-G 1 rok temu
fisher_water_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
flinq_breeze_pedestalfan.yaml 025f22532f Products cleanup: E-G 1 rok temu
forceclima_soundless_airconditioner.yaml 025f22532f Products cleanup: E-G 1 rok temu
fresco_hydrateultra_petfountain.yaml 025f22532f Products cleanup: E-G 1 rok temu
fresco_hydrateultra_petfountain_v2.yaml 025f22532f Products cleanup: E-G 1 rok temu
friedrich_airconditioner.yaml 025f22532f Products cleanup: E-G 1 rok temu
friedrich_uct08b10a_airconditioner.yaml 025f22532f Products cleanup: E-G 1 rok temu
fs_03w_curtain.yaml 025f22532f Products cleanup: E-G 1 rok temu
fujicool_yuzu_heatpump.yaml 025f22532f Products cleanup: E-G 1 rok temu
gainsboroughliberty_entrance_lock.yaml 025f22532f Products cleanup: E-G 1 rok temu
galaxy_projector_light.yaml 025f22532f Products cleanup: E-G 1 rok temu
gaqqee_kws302wf_energymeter.yaml 025f22532f Products cleanup: E-G 1 rok temu
garage_door_opener.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
gardenpac_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
garza_irrigation_system.yaml 025f22532f Products cleanup: E-G 1 rok temu
gautone_pg103_alarm.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
ge_jasco_ultra_pro_toggle_dimmer_v2.yaml 025f22532f Products cleanup: E-G 1 rok temu
ge_jasco_ultra_pro_toggle_switch.yaml 025f22532f Products cleanup: E-G 1 rok temu
geyserwise_water_heater.yaml 025f22532f Products cleanup: E-G 1 rok temu
ghome_sw19_fanlight.yaml 025f22532f Products cleanup: E-G 1 rok temu
giatsu_vaw2_waterheater.yaml 025f22532f Products cleanup: E-G 1 rok temu
gold_cct_lightbulb.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_101cm_tower_fan.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
goldair_geco_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
goldair_gpcv_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
goldair_gpdh340_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_gpph_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
goldair_phet07ea_heater.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_platinum_tower_fan.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_portable_airconditioner.yaml 025f22532f Products cleanup: E-G 1 rok temu
goldair_smartsleep_bedwarmer.yaml 025f22532f Products cleanup: E-G 1 rok temu
goodcell_ev_charger.yaml 025f22532f Products cleanup: E-G 1 rok temu
gorilla_fan_v2.yaml 025f22532f Products cleanup: E-G 1 rok temu
gosund_sp112_usbsmartplug.yaml 025f22532f Products cleanup: E-G 1 rok temu
gosund_usb_triple_powerstrip.yaml 025f22532f Products cleanup: E-G 1 rok temu
gratkit_filament_dryer.yaml 025f22532f Products cleanup: E-G 1 rok temu
graywind_shades.yaml 025f22532f Products cleanup: E-G 1 rok temu
greenmigo_alpha_q25_pro_wifi.yaml 025f22532f Products cleanup: E-G 1 rok temu
greenwind_dehumidifier.yaml 025f22532f Products cleanup: E-G 1 rok temu
grid_connect_double_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
grid_connect_usb_double_power_point.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
grid_connect_usb_power_point.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
haier_nayun_gasalarm.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hama_radiator_controller.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hauschen_smart_mirror.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hdmi_ambient65_light.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hdmi_sync_light.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
heatstorm_dh100twi_heater.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
heatstorm_hs6000gc_heater.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hellnar_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
herschel_irheater.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
himox_h05_purifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
himox_h06_purifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
hiper_bladeless_fan.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hircr_remote_control.yaml 30fc69d842 HIRCR remote: fix misspelling in config name 1 rok temu
hjz_radiator.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
hlg_infinity_alarm.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hoenyzy_valve_timer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
holman_helios_weatherstation.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
holman_wx1_taptimer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
holman_wx2_taptimer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
holman_wx8_irrigation_controller.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hombli_thermostatic_radiator_valve.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
honeyguardian_s56_petfeeder.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
honeywell_dehumidifier.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hosome_purifier.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hotshot2000_heater.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hrt_as90_climatealarm.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hunterpacific_9speed_fanlight.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
huntertbk_hf6602t_doorbell.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hy_combo_heatpump.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hyd_weair_plus_fan.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hydrotherm_dynamic_x8_water_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
hydrotherm_dynamic_x8_water_heaterv6.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hysen_hy02tp_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hysen_hy08acf_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hysen_hy08we2_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
hysen_hy101rf_thermostat.yaml e6bbcb25d6 Add support for Hysen HT101RF thermometer 1 rok temu
hyundai_sahara_dehumidifier.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
idea_heatingbelt_airconditioner.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
iebelong_ech_doorbell_rfhub.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ih001_led_controller.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ihome_autovac_nova.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ihunt_400_airpurifier.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ihunt_50_airpurifier.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
illumanance_sensor.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
illumanance_v2_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ilonda_l88_fishfeeder.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
immax_neo_light_vento.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_bbq4t_thermometer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_bbq4t_thermometerv2.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_ibbq4bw_thermometer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_ibs_m1s.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_ibt_26s_thermometer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_ihc200_humiditycontroller.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_ipt2ch_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_itc306a_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_itc308_thermostat.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inkbird_pth9cw_airquality.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
inkbird_sousvide_cooker.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inow_heater_element.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
inow_heater_element_v2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
intelbras_IFR7000_lock.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inventor_atmospherexl_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
inventor_comfort_airconditioner.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
inventor_evaionpro_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
inventor_tokenslegend_airconditioner.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ion_wifi_dimmer.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ipettie_w5_petfeeder.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ips_pro_heatpump.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ir_moes_heatpump.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
ir_remote_sensors.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
its_45hd_heatpump.yaml 69396d5f6a Products cleanup: H-I 1 rok temu
jh_pcmini.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
jh_pcpro+.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
jiahong_et72w_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
jjpro_jpd01_dehumidifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
jjpro_jpd02_dehumidifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
juskys_oh125bw2_radiator.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kabum_smart500_vacuum.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kabum_smart700_v2023_vaccum.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kabum_smart700_vacuum.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kcvents_vt501_fan.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kennedy_fireplace.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kerui_200w_camera.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kerui_300w_camera.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kesser_infrared_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kesser_infrared_heater_floodlights.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kesser_infrared_wall_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
keyun_rgb_ceilingfan.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kilo_plus_air_purifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kiturami_nctr100_thermostat.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kkmoon_airquality_monitor.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kkmoon_thermostat.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_amazonia_dishwasher.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_iceblock_airconditioner.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_skyscraper_ice_smart.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_wonderwall_air.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_wonderwall_bornholm.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarstein_wonderwall_irheater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarta_humea_humidifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
klarta_stor2_purifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_air_purifier.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_bidet.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_bladeless_fan.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kogan_garage_opener.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kogan_glass_1_7l_kettle.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kogan_kahtp_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kogan_kashmfp20ba_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kasmgphXXXX_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kasthfp2kwa_towerheater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kasvwac30ya_airconditioner.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kawfhtp_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kawfpac09ya_airconditioner.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kawfpac12ya_airconditioner.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_kawfpac16pya_airconditioner.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_lx10_vacuum.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_lx8_vacuum.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kogan_noise_machine.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
koiduo_water_heater.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kolanky_evcharger.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
konlen_wf96l_waterlevel_controller.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kw02_video_doorbell.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
ky_35w10_shutter.yaml e0b0a5ff71 Products cleanup: J-K 1 rok temu
kyvol_e30_vacuum.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
kyvol_ea200_humidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ledkia_fan_light.yaml d750eb007e Products cleanup: L-M 1 rok temu
ledlux_thermostat.yaml d750eb007e Products cleanup: L-M 1 rok temu
lefant_ls1_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lefant_m213_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lefant_n3_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lefant_t700_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lehmann_lhohc2013c_radiator.yaml d750eb007e Products cleanup: L-M 1 rok temu
lenovo_e1_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
leos_loo_too.yaml d750eb007e Products cleanup: L-M 1 rok temu
lexy_f501_fan.yaml d750eb007e Products cleanup: L-M 1 rok temu
liectroux_g7_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
liectroux_xr500_t3_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lifubide_x600_purifier.yaml d750eb007e Products cleanup: L-M 1 rok temu
light_string.yaml d750eb007e Products cleanup: L-M 1 rok temu
lindasmart_7s_doorbell.yaml d750eb007e Products cleanup: L-M 1 rok temu
linkoze_dual_button.yaml d750eb007e Products cleanup: L-M 1 rok temu
littepets.yaml d750eb007e Products cleanup: L-M 1 rok temu
loeffen_LFIM6000_icecubemaker.yaml d750eb007e Products cleanup: L-M 1 rok temu
logicom_powerstrip.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
loonas_curtain.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_curtain_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_curtain_switch_QCSC400ZB-V2.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_dual_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_garage_door.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_relay.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_wifi_curtain_switch_double.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_zigbee_curtain.yaml d750eb007e Products cleanup: L-M 1 rok temu
loratap_zigbee_six_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
loycco_sound_nightlight.yaml d750eb007e Products cleanup: L-M 1 rok temu
ls830ty_curtain.yaml d750eb007e Products cleanup: L-M 1 rok temu
lsc_ptz_camera.yaml d750eb007e Products cleanup: L-M 1 rok temu
lsc_smart_ceiling_light.yaml d750eb007e Products cleanup: L-M 1 rok temu
lscsmartconnect_gardenspotlights.yaml d750eb007e Products cleanup: L-M 1 rok temu
lscsmartconnect_rgbcct_bulb.yaml d750eb007e Products cleanup: L-M 1 rok temu
lublueblu_sl60d_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
lucci_fan.yaml d750eb007e Products cleanup: L-M 1 rok temu
lucking_hs6_lock.yaml d750eb007e Products cleanup: L-M 1 rok temu
luko_dehumidifier.yaml d750eb007e Products cleanup: L-M 1 rok temu
lyfco_portable_airconditioner.yaml d750eb007e Products cleanup: L-M 1 rok temu
lytmi_hdmisync_backlight.yaml d750eb007e Products cleanup: L-M 1 rok temu
m027_curtain.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
m515_curtain_motor.yaml d750eb007e Products cleanup: L-M 1 rok temu
madimack_eco_heatpump.yaml d750eb007e Products cleanup: L-M 1 rok temu
madimack_elite_v3_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
madimack_elite_v3_heatpump_updated.yaml d750eb007e Products cleanup: L-M 1 rok temu
madimack_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
madimack_inverflow_pro.yaml d750eb007e Products cleanup: L-M 1 rok temu
makegood_double_power_point_with_energy.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
makegood_switch_dual_timer-energy.yaml d750eb007e Products cleanup: L-M 1 rok temu
malmbergs_dual_dimmer.yaml d750eb007e Products cleanup: L-M 1 rok temu
malmbergs_single_dimmer.yaml d750eb007e Products cleanup: L-M 1 rok temu
mamnv_br151_vacuum_and_mop.yaml d750eb007e Products cleanup: L-M 1 rok temu
mantra_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
marpou_ceiling_lamp_ledlight.yaml d750eb007e Products cleanup: L-M 1 rok temu
matsee_2way_energymeter.yaml bfb2b8ad8f Matsee 2way energy meter: revert accidental removal of voltage class 1 rok temu
matsee_2wayv2_energymeter.yaml d750eb007e Products cleanup: L-M 1 rok temu
maxcio_aromadiffuser.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
mayborn_groclock.yaml d750eb007e Products cleanup: L-M 1 rok temu
me80_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
meaco_aretetwo_dehumidifier.yaml d750eb007e Products cleanup: L-M 1 rok temu
medion_life_p1002.yaml d750eb007e Products cleanup: L-M 1 rok temu
medion_s10_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
medion_s20_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
medion_x10sw_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
mellerware_citymove_vacuum.yaml d750eb007e Products cleanup: L-M 1 rok temu
mellerware_comfy_radiator.yaml d750eb007e Products cleanup: L-M 1 rok temu
minco_mh1823d_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
minoston_timer_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
mirabella_genio_motion_sensor.yaml d750eb007e Products cleanup: L-M 1 rok temu
mirabella_genio_usb.yaml d750eb007e Products cleanup: L-M 1 rok temu
mirabella_geniopixel_light.yaml d750eb007e Products cleanup: L-M 1 rok temu
mirabella_power_strip.yaml d750eb007e Products cleanup: L-M 1 rok temu
modena_es15sky_waterheater.yaml d750eb007e Products cleanup: L-M 1 rok temu
modernflames_orion_fireplace.yaml d750eb007e Products cleanup: L-M 1 rok temu
moebot_s_mower.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_bht002_thermostat_c.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
moes_controlpanel.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_dimmer.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
moes_dual_dimmer.yaml d086ba5ebe Moes dual dimmer: add compatible Totebox dimmer plug 1 rok temu
moes_indoorptz_camera.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_motionsensor_light.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_motionsensor_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_quad_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_rgb_socket.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
moes_star_projector.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_temp_humidity.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_threegang.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_touch_curtain_switch.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_trv_thermostat.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_wht009_thermostat.yaml d750eb007e Products cleanup: L-M 1 rok temu
moes_wsyeuc_curtainswitch.yaml d750eb007e Products cleanup: L-M 1 rok temu
moesgo_dimmer.yaml d750eb007e Products cleanup: L-M 1 rok temu
moistenland_water_timer.yaml d750eb007e Products cleanup: L-M 1 rok temu
momcozy_white_noise_machine_v2.yaml d750eb007e Products cleanup: L-M 1 rok temu
monzana_klimaanlage_air_conditioner.yaml d750eb007e Products cleanup: L-M 1 rok temu
morento_hy4866_wf.yaml d750eb007e Products cleanup: L-M 1 rok temu
motion_sensor_light.yaml d750eb007e Products cleanup: L-M 1 rok temu
mrc_magnum_floorheater.yaml d750eb007e Products cleanup: L-M 1 rok temu
multi_leaf_dy_107_thermostat.yaml d750eb007e Products cleanup: L-M 1 rok temu
mypin_6l_videopetfeeder.yaml d750eb007e Products cleanup: L-M 1 rok temu
myq_td8_videodoorbell.yaml d750eb007e Products cleanup: L-M 1 rok temu
myuet_me82_thermostat.yaml d750eb007e Products cleanup: L-M 1 rok temu
nac_ap470_purifier.yaml 469562350c Products cleanup: N-P 1 rok temu
nashone_mts700wb_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
neatsvor_x600_vacuum.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_airquality.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_htpl20f_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
nedis_openclose_sensor.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_outdoor_camera.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_pet_feeder.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_ptc_fan_heater.yaml 469562350c Products cleanup: N-P 1 rok temu
nedis_zbrc10wt_remotecontrol.yaml 469562350c Products cleanup: N-P 1 rok temu
neo_coolcam_siren.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
neo_ir_climate_controller.yaml 469562350c Products cleanup: N-P 1 rok temu
neptun_smart_waterleak.yaml 469562350c Products cleanup: N-P 1 rok temu
netmostat_n1_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
nice_digi_lock.yaml 469562350c Products cleanup: N-P 1 rok temu
nine_ev_charger.yaml 469562350c Products cleanup: N-P 1 rok temu
noeifevo_q21w_evcharger.yaml 469562350c Products cleanup: N-P 1 rok temu
nooie_nsp21_smartplug.yaml 469562350c Products cleanup: N-P 1 rok temu
nooie_pu13_smartplug.yaml 469562350c Products cleanup: N-P 1 rok temu
novadigital_quad_switch.yaml 469562350c Products cleanup: N-P 1 rok temu
novadigital_sl06_lock.yaml 469562350c Products cleanup: N-P 1 rok temu
nwt_7speed_fan.yaml 469562350c Products cleanup: N-P 1 rok temu
nx_100ap_air_purifier.yaml 469562350c Products cleanup: N-P 1 rok temu
nybro_heater.yaml 469562350c Products cleanup: N-P 1 rok temu
okp_k2_vacuum.yaml 469562350c Products cleanup: N-P 1 rok temu
omnibreeze_tower_fan.yaml 469562350c Products cleanup: N-P 1 rok temu
orion_indoor_siren.yaml 469562350c Products cleanup: N-P 1 rok temu
orion_outdoor_siren.yaml 469562350c Products cleanup: N-P 1 rok temu
orion_ptc2000_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
orion_smart_lock.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
orison_chanfok_neo_fan_light.yaml 469562350c Products cleanup: N-P 1 rok temu
orison_rgb_ceilingfan.yaml 469562350c Products cleanup: N-P 1 rok temu
otu_r1o1_lock.yaml 469562350c Products cleanup: N-P 1 rok temu
ovlaim_ceiling_fan_light.yaml 469562350c Products cleanup: N-P 1 rok temu
owon_pct513_thermostat.yaml 469562350c Products cleanup: N-P 1 rok temu
parkside_plgs2012a1_smart_charger.yaml 469562350c Products cleanup: N-P 1 rok temu
parkside_solar_inverter.yaml 469562350c Products cleanup: N-P 1 rok temu
pc311ty_energy_meter.yaml 469562350c Products cleanup: N-P 1 rok temu
pc321ty_energy_meter.yaml 469562350c Products cleanup: N-P 1 rok temu
pc321zty_energy_meter.yaml 469562350c Products cleanup: N-P 1 rok temu
petlibro_PLAF103_feeder.yaml 469562350c Products cleanup: N-P 1 rok temu
petlibro_camera_feeder.yaml 469562350c Products cleanup: N-P 1 rok temu
petoneer_frescomini_petfountain.yaml 469562350c Products cleanup: N-P 1 rok temu
petrust_tkwf002_petfountain.yaml 469562350c Products cleanup: N-P 1 rok temu
pgst_climate_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
pgst_pw150_alarm.yaml 469562350c Products cleanup: N-P 1 rok temu
phw218_waterquality_monitor.yaml 469562350c Products cleanup: N-P 1 rok temu
pinelake_birdfeeder.yaml 469562350c Products cleanup: N-P 1 rok temu
pinguino_portable_airconditioner.yaml 469562350c Products cleanup: N-P 1 rok temu
pir_rgbcw_light.yaml 469562350c Products cleanup: N-P 1 rok temu
pir_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
pir_spotlight.yaml 469562350c Products cleanup: N-P 1 rok temu
pj1103_clamp_meter.yaml 469562350c Products cleanup: N-P 1 rok temu
plantsio_ivy_smart_planter.yaml 469562350c Products cleanup: N-P 1 rok temu
plikc_neve_thermostat.yaml 469562350c Products cleanup: N-P 1 rok temu
pni_water_feeeder.yaml 469562350c Products cleanup: N-P 1 rok temu
poiema_one_purifier.yaml 469562350c Products cleanup: N-P 1 rok temu
point_panel_heater.yaml 469562350c Products cleanup: N-P 1 rok temu
poolex_arctic_action.yaml 469562350c Products cleanup: N-P 1 rok temu
poolex_icespa70_heatpump.yaml 469562350c Products cleanup: N-P 1 rok temu
poolex_q7_heatpump.yaml 469562350c Products cleanup: N-P 1 rok temu
poolex_qline_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
poolex_silverline_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
poolex_vertigo_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
poolsana_heatpump.yaml 469562350c Products cleanup: N-P 1 rok temu
position_blinds.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
powerasia_6inchrecessed_lighting.yaml 469562350c Products cleanup: N-P 1 rok temu
powerstrip_4outlet_usbs.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
powerstrip_6outlet_usbs.yaml 469562350c Products cleanup: N-P 1 rok temu
powerworld_pw58330_waterheater.yaml 469562350c Products cleanup: N-P 1 rok temu
powerworld_pw58410_hvaconly.yaml 469562350c Products cleanup: N-P 1 rok temu
powerworld_pw58410_waterheater.yaml 469562350c Products cleanup: N-P 1 rok temu
princess_panel_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
princess_pedestal_fan.yaml 469562350c Products cleanup: N-P 1 rok temu
probreeze_pb20.yaml 469562350c Products cleanup: N-P 1 rok temu
proenergy_pe08_poolheater.yaml 469562350c Products cleanup: N-P 1 rok temu
proscenic_a8_airpurifier.yaml 469562350c Products cleanup: N-P 1 rok temu
proscenic_a9_airpurifier.yaml 469562350c Products cleanup: N-P 1 rok temu
proscenic_m9_vacuum.yaml 469562350c Products cleanup: N-P 1 rok temu
prosto_ptc2000_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
psmart_t436_thermostat.yaml 469562350c Products cleanup: N-P 1 rok temu
puppy_kitty_pet_feeder.yaml 469562350c Products cleanup: N-P 1 rok temu
purline_m100_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
pv28-cw_airquality_monitor.yaml 469562350c Products cleanup: N-P 1 rok temu
pziot_e01_energymeter.yaml 469562350c Products cleanup: N-P 1 rok temu
qh_gd_elegant_heater.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
qlima_d812_dehumidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
qlima_d820a_dehumidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
qnect_usb_powerstrip.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
qoto_03_sprinkler.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
qoto_05_water_valve.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
qs_c01_curtain.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
quad_power_timer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
quad_powerstrip.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
quad_powerstrip_usb.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rainpoint_water_timer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
raykube_a1promax_lock.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
reiga_ceiling_fan.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
relay_switch_remote.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
remora_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
renpho_rp_ap001s.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgb_led_strip.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgb_light_bar.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rgb_nightlight_outlet.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rgbcw_lightbulb.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgbcw_lightbulb_xld_cl002.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgbcw_lightbulbv2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgbw_lightbulb.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rgbw_lightbulbv2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rgbww_lightbulb.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
richelieu_undercabinet_lighting_pucks.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rinkmo_d2_vacuum.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rl_video_lock.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rojeco_pet_feeder.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rojeco_pet_feeder_ptm001_4l_single.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rotenso_ronix_heatpump.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
royal_airconditioner.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
royalclima_fresh_climate.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
royalclima_rcb150_ventilation.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rse_tywfh301_gate.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rtcz03_presencesensor.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
rumba_bathroom_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
rztk_aqua_pro_wifi_humidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
s11_rfir_remote.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
salcar_t9w_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
sanden_gaua45hpd_heatpumpcontroller.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
saswell_c16_thermostat.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
saswell_t29utk_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
sboardiii_weigand_lock.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
scheeair_nova100_ventilationfan.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sd123_hpr01_presence.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
semptec_zx7007_heater.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sencor_air_conditioner.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sendo_airconditioner_c.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
sensei_airconditioner.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
setti_czajnik_kettle.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
seven_channel_switch.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sh07_sprinkler_controller.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sherko_curtain.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
shinco_30d_dehumidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
siguro_sgrhdf300w_dehumidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
silvercrest_coffee_maker.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
silvercrest_hf6602t_airfryer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
silvercrest_kettle.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_blinds.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_contact_sensor.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_dual_switch.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_dual_switch_timer.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_dual_switch_timer_v2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_eight_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_gate_opener.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_lightbulb.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_quad_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_rgbcw_lightbulb.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_six_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_switch_timer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_switch_timerv2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
simple_triple_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
simple_triple_switch_timer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
single_phase_clamp_meter.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
single_switch_with_backlight.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
sirena_ws902plus_siren.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
skyfan_dc_fan.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
skyfan_fan_light.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smardeer_lock33.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_led_strip.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_mist3_fan.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_multi_plug_4t_4usb.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_powerstrip.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_powerstrip_3_outlet_energy.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_siren_alarm.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_surge_protector_plug_2x2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smart_watering_device.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartmcb_smt006_energymeter.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartmcb_smt006_energymeterv2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartmi_e1_purifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplug_encoded.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
smartplug_usb.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplug_with_childlock.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplugv1.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplugv2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
smartplugv2_childlock.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
smartplugv2_energy.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplugv2_energyv2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplugv2_energyv3.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
smartplugv2_polled_power.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
smartplugv3.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
smoke_detector.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
snt957w_de_cbu_temp_humidity.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
snt957w_tde_temp.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sobralik_water_fountain.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
soho_air_purifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
solaire_vitra_smart_heater_s2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
solar_inverter.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
solar_inverter_gtb_series.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
soleusair_air_purifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
somgom_double_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
somgom_single_switch.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sonninkonig_eco_elegance_heater.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sop10_sprinkler.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
space_dog_music_lamp.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
spaelectrics_light_controller.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
speaka_sptvcm510_tvmount.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
stadlerform_eva_humidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
stadlerform_karl_humidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
stadlerform_roger_purifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
starlight_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
stepuptech_solar_inverter.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
stepuptech_solar_inverter_v2.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
stirling_fs140dc_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
stl_siren.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sulion_ceiling_fan.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sunbeam_dual_bedwarmer.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
suntec_coolfix_airconditioner.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sws01_weather_station.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
sygonix_smarter_dehumidifier.yaml 349197eeb1 Products cleanup: Q-S 1 rok temu
t5e_wf_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
tampa_led_system.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
taurus_agadir_heater.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
taxnele_energy_meter.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
techinc_smart_3m_neon_strip.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
teckin_ss42_sockets.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
tediton_k7_doorlock.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tefal_xplorer_vacuum.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tera_w01_evcharger.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_air_purifier_mini.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_air_purifier_pro.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_airconditioner.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_aroma_diffuser.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_aux_airconditioner.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_humidifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_pet_feeder.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_s300_purifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesla_xl_dehumidifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tesvor_s6_vacuum.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
th05_temp_humidity_sensor.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
th08_temperature_and_humidity_sensor.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
th16_temp_humidity_sensor.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
thermex_if50v_waterheater.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
thermex_lima80v_waterheater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
timeguard_wfpir.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tmwf02_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
tompd_63lw_breaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tompd_63wifi_breaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tonepie_t1pro_catlitterbox.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tonepie_t1pro_catlitterbox_v2.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tongou_qcb2_circuitbreaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tongou_qcb2_singlephasebreaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tongou_qcb2wb_breaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tongou_st463jwt_breaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tongou_toqsyswt_breaker.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tontine_039-WIFI_blanket.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
topens_wifi_remote_control.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
touchstone_sideline_fireplace.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
treatlife_ds02_fan.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
treatlife_ds03_fan_light.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
treatlife_dual_plugin_dimmer.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
trotec_pac-w_heatpump.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
ts106_alarm.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
ttec_reobipro_vacuum.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tuya_000004rime_weather_station.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tuya_energy_meter.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tuya_smart_zigbee_door_sensor.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tv_backlights.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
tyte_d1_thermostat.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
ultenic_air_fryer.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
ultenic_t10_vacuum.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
unknow_2way_energymeter.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
usb_4way_powerstrip.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
ustellar_ut99911_rgb.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
v330l_petfeeder.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vaco_mobyblue_heatpump.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vacplus_dehumidifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
valehaus_syzn119_tow_w.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vevor_ev_charger.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vevor_l2_ev_charger.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vine_tj550_thermostat.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vivax_heatpump.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vivion_airconditioner.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vivosun_de0003_dehumidifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vork_vk6067aw_purifier.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
vtaplus_axial_fanheater.yaml e6be0764c7 Products cleanup: T-V 1 rok temu
wadapower_q8_evcharger.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
warme_gsh_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wdyk_2p63a_energy_meter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wdyk_3phase_energymonitor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wdyk_4p100a_energymeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
weaja_s9_gasalarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
weau_pool_heatpump.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
weau_pool_heatpump13kW.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
weau_pool_heatpump_v2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
weeket_kettle.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
welltobe_cat_feeder.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wenzhi_wz35_presencesensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wetair_wawh1210lw_humidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wetair_wch750_heater.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wf39m_dimmer_smartplug.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wf520d_wifi_dual_touch_dimmer.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wfws02rj_dual_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
whm04_doorbell.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wilfa_haze_hu400bc_humidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
windcalm_fan.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
windcalm_fan_with_light.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
windmill_airconditioner.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wistar_roller_blind.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wistar_roller_blind_nopos.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wlrtcz05z_presencesensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wolfguard_wt2r_alarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wood_wdd90_dehumidifier.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
woods_cortina_airconditioner.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
woods_milan_airconditioner.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
woox_r4028_powerstrip.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
wouej_evcharger.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
xcase_nx4964_lockbox.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
xiumii_smart_human_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
xoca_dac2121c_energy_meter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yagusmart_3pn_energymeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yidi_fan_light_switch.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yieryi_ph_meter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yinmik_waterquality_tester.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yp_petfeeeder.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yx025wb_aromadiffuser.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yx316wifi_aroma_diffuser.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
yym_805SW_aroma_nightlight.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_am25_rollerblind.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_curtain.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_dpwbs01_sprinklercontroller.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_roller_shade.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_roller_shade_zm25r2.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_sdm01_energymeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zemismart_spm01_energymeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zg205w_mmWave_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_climate_alarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_dv7vcs_human_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_mir_te100ty_climate_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_smart_bulb.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_ultrasonic_watermeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_waterleak_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_zb10wt_temphumid_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_zn373186_temphumid_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zigbee_zth08ztu_temphumid_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zm_wifi_smartmeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zpmeter_ultrasonic_watermeter.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zx_db11_doorbell_alarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zx_db11b_doorbell_alarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zx_g30_alarm.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zx_gs21_gasmonitor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zyhps01_human_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zym100_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zym100w_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu
zym201_presence_sensor.yaml 3506ae3d57 Remove the distinction between primary and secondary entities. 1 rok temu

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 or more 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. In general, the brand and model of the device should go under products, and a generic name for the type of device should go in the top level name.

products

Optional.

A list of products that this config applies to. Each product in the list must have an id specified, which corresponds to the product_id from cloud device info, or productKey from the local discovery. If these are different, it is recommended that listings are created for both.

In addition to the id, the manufacturer, model and model_id (if the model has both a name and a more code like id) can be listed here. In future the intention is to display these in the Device info panel for the device. The name can also be overridden here with a more specific name to be used in future in place of the generic name at the top of the config.

entities

This contains a list of Home Assistant entities providing the functionality of the device.

The configuration for each entity in the list is detailed in the section below.

Entity configuration

entity

The Home Assistant entity type being configured. See the Entity types section below for details on specific requirements for each entity type.

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.

translation_key / translation_only_key

Optional

A key used to define strings and icons for this entity. If this is used, the name can be omited and instead defined in the translations files.

translation_key will be used to generate IDs when there is no name defined. If the intention is to have an unnamed entity, or to inherit from class, then use translation_only_key instead (this is mostly useful to retain backward compatibility where translation_key is used to define icons and attribute strings but not the entity name.

translation_placeholders

Optional

A container for placeholders to be used in the translation string. Contents are a mapping from parameter keys used in the translation files, to actual values to be used for this entity. If this is specified, then either translation_key or translation_only_key must be specified with it.

Example:

  translation_key: switch_x
  translation_placeholders:
    x: "1"

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.

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 entities to give more information about the purpose of the entity, or to differentiate multiple entities of the same type.

Where possible, translation_key should be used instead of an explicit name.

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. It is recommended to let HA decide based on its own logic which mode to use, and override it in the UI settings rather than forcing your personal preference on others. But if an entity really does only make sense with one UI mode, then this is provided to handle those cases.

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.

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.
  • unixtime is a special case of integer, where the device uses a unix timestamp (seconds since 1970-01-01 00:00), which is converted to a datetime for Home Assistant
  • 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.
  • utf16b64 is a special case of string, where a UTF-16 string is base64 encoded. This will be decoded into a UTF-8 string so it is readable in Home Assistant.
  • 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 extra attribute on the entity. If you need non-standard attributes to be able to be set, you will need to use an entity for that (typically switch, number or select).

sensitive

Optional, default false.

A boolean setting yo mark attributes as containing potentially sensitive data. Setting this to true will result in the data being redacted in device diagnostics output.

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. Must be a list with each item starting with a - (a dash and a space): 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.

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.

endianness

Optional, default="big"

For base64 and hex types, this specifies the endianess of the data and mask. Could be "big" or "little".

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. 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.

available

Optional.

This works the similarly to hidden above, but instead of a boolean value, this should be set to the name of an attribute, which returns a boolean value, so that the value can be dynamically hidden or shown. A typical use is where variants of a device use the same config, and have a flag attribute that indicates whether certain features are available or not. The mapping will be hidden from the values list when the referenced attribute is showing false, and shown when it is true.

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.

target_range

Optional, has min and max child attributes, like range

A target range is used together with range on a numeric value, to map the value into a new range. Unlike scale, this can shift the value as well as scale it into the new range. Color temperature is a major use of this, as Tuya devices often use a range of 0 - 100, 0 - 255 or 0 - 1000, and this needs to be mapped to the Kelvin like 2200 - 6500.

This should normally only be used on a default mapping, as the code that uses this feature often needs to inform HA of the min and max values for the UI, which may not handle multipe different mappings across the range.

icon

Optional. Deprecated since HA 2024.2 (use translation_key and icons.json to define icons)

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. Deprecated, icons should be defined using icons.json and translation_key since HA 2024.2

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

Note that each condition must specify a dps_val to match againt. If you want to specify a default match, do it outside the conditions.

    mapping:
      - dps_val: some_value
        value: defaulted
        constraint: other_dp
        conditions:
          - dps_val: other_value
            value: overridden

Generic dps

The following dps may be defined for any entity type. The names should be avoided for any extra attribute that is not for the listed purpose.

  • available (optional, string) a dp name that returns a boolean indicating whether the entity should show as available or not (even when it appears to be returning valid state). This may be used to disable entities that the device indicates it does not support, through a feature flag dp. This should only be used when the device is permanently indicating a missing feature, as HA may hide the entity if it is marked as unavailable early enough during startup.

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.

camera

  • motion_enable (optional, boolean) a dp that enables and disables motion detection features built into the camera.
  • record (optional, boolean) a dp that turns reecording on and off.
  • snapshot (optional, base64 string) a dp that returns a snapshot image. from the camera.
  • switch (optional, boolean) a dp to turn the camera on and off.

NOTE: tuya-local does not directly support video streaming from cameras. Some cameras provide ONVIF or WebRTC compliant streams locally which you can use the relevant integrations to capture, others may be cloud-only.

climate

  • 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 that reports the current action of the device. Possible values are: "off", idle, cooling, heating, drying, fan, defrosting
  • 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 There are also some presets defined by this integration for use with various translation_keys, see translations/en.json for details.
  • swing_mode (optional, mapping of strings) a dp to control swing modes of the device. Standard values are: "off", "on", vertical, horizontal, both, non-standard values can also be used if needed.
  • swing_horizontal_mode (optional, mapping of strings) a dp to control horizontal swing independently of the vertical swing. Standard values are: "off", "on", non-standard values can also be used if needed.
  • 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.
  • tilt_position (optional, number): a dp to control the tilt opening of the cover (an example is venetian blinds that tilt as well as go up and down). The range will be auto-converted to the 0-100 expected by HA.

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): a dp to control the speed of the fan (%). if a range is supplied, it will be automatically scaled to the 0-100 range. if a mapping is used for dicrete steps, the values must be mapped within that range.
  • 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
  • current_humidity (optional, number): a dp to report the current humidity measured by the device
  • action (optional, string): a dp to report the current action the device is performing. Valid actions are humidifying, drying, idle and off

lawn_mower

  • activity (required, string): a dp to report the current activity of the mower. Valid activities are mowing, paused, docked, error, returning (from LawnMowerActivities in https://github.com/home-assistant/core/blob/dev/homeassistant/components/lawn_mower/const.py). Any additional activities should be mapped to one of those, and exposed through an extra attribute or sensor entity that shows all the statuses that the mower is reporting.

  • command (required, string): a dp to send commands to the mower. Recognised commands are start_mowing, pause and dock. Any additional commands should be implemented via a button or select entity.

light

  • switch (optional, boolean): a dp to control the on/off state of the light
  • brightness (optional, number): a dp to control the dimmer if available. If a range is provided, the value will be automatically scaled into the 0-255 range for HA, so there is no need to provide a scale. If there is a fixed list of mappings, the values should be between 0 (off) and 255 (full brightness). If there is no switch dp, a brightness of 0 will be sent to turn the light off.
  • color_temp (optional, number): a dp to control the color temperature if available. See target_range above for mapping Tuya's range into Kelvin.
  • 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. If both RGB and HSV values are supplied by the light, the HSV will be preferred. Either RGB values or HS values are required. If V is missing, the brightness dp is required.
  • named_color (optional, string): a dp to control the color of the light, using a list of named colors. This is mutually exclusive with the rgbhsv dp. The list of recognised colors is from the HA COLORS table at https://github.com/home-assistant/core/blob/dev/homeassistant/util/color.py
  • 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

The unlock... dps below are normally integers, but can also be boolean, in which case no information will be available about which specific credential was used to unlock the lock.

  • lock (optional, boolean): a dp to control the lock state: true = locked, false = unlocked.
  • open (optional, boolean): a dp to open or close the door or gate controlled by the lock, or if marked readonly to report the open status.
  • 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_offline_pwd (optional, integer): a dp to identify the offline 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.
  • unlock_face (optional, integer): a dp to identify the face used to unlock the lock.
  • unlock_key (optional, integer): a dp to identify the key used to unlock the lock.
  • unlock_ble (optional, integer): a dp to identify the BLE device used to unlock the lock.
  • unlock_voice (optional, integer): a dp to identify the voice assistant user 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.
  • request_intercom (optional, integer): a dp to signal that a request has been made via intercom to unlock, the value should indicate the time remaining for approval.
  • approve_intercom (optional, boolean): a dp to unlock the lock in response to an intercom 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

remote

  • send (required, accepts a string): a dp to send remote codes.
  • receive (optional, returns strings): a dp to receive learned commands on. If not supplied, the remote.learn_command service call will not be available.
  • control (optional, accepts strings "send_ir", "study", "study_exit"): a dp to send commands seperately from ir codes. If not supplied, commands will be JSON formatted and sent through the send dp.
  • delay (optional, accepts numbers): a dp to set the delay in ms between buttons when there are multiple in the send string. This is only used when a separate control dp is also supplied, otherwise the parameter is included in the JSON sent to the send dp.
  • code_type (optional, accepts integers): a dp to set the type of code being sent. The current implementation only supports type 0. This is only used when a separate control dp is also supplied, otherwise the parameter is included in the JSON sent to the send dp.

    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
  • 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

valve

  • valve (required, boolean or integer): a dp that reports the current state of the valve, and if not readonly, can also be used to set the state. If a number, it should be a percentage between 0 and 100 indicating how far open the valve is. If a boolean, it should indicate open (true) or closed (false).

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.