esphome 2025.3.2__py3-none-any.whl → 2025.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +34 -10
- esphome/components/a01nyub/sensor.py +2 -2
- esphome/components/a02yyuw/sensor.py +2 -2
- esphome/components/a4988/stepper.py +1 -2
- esphome/components/absolute_humidity/sensor.py +3 -3
- esphome/components/ac_dimmer/output.py +3 -3
- esphome/components/adalight/__init__.py +2 -2
- esphome/components/adc128s102/__init__.py +1 -1
- esphome/components/adc128s102/sensor/__init__.py +3 -3
- esphome/components/addressable_light/display.py +5 -5
- esphome/components/ade7880/sensor.py +2 -2
- esphome/components/ade7953_base/__init__.py +10 -10
- esphome/components/ade7953_i2c/sensor.py +1 -2
- esphome/components/ade7953_spi/sensor.py +1 -2
- esphome/components/ads1115/__init__.py +1 -1
- esphome/components/ads1115/sensor/__init__.py +4 -3
- esphome/components/ads1118/__init__.py +1 -1
- esphome/components/ads1118/sensor/__init__.py +5 -4
- esphome/components/ags10/sensor.py +9 -9
- esphome/components/aht10/sensor.py +2 -2
- esphome/components/airthings_ble/__init__.py +1 -1
- esphome/components/airthings_wave_base/__init__.py +2 -3
- esphome/components/airthings_wave_mini/sensor.py +2 -5
- esphome/components/airthings_wave_plus/sensor.py +8 -9
- esphome/components/alpha3/sensor.py +5 -5
- esphome/components/am2315c/am2315c.cpp +4 -4
- esphome/components/am2315c/sensor.py +1 -1
- esphome/components/am2320/sensor.py +1 -1
- esphome/components/am43/cover/__init__.py +1 -1
- esphome/components/am43/sensor/__init__.py +3 -3
- esphome/components/analog_threshold/binary_sensor.py +2 -5
- esphome/components/anova/climate.py +1 -1
- esphome/components/apds9306/sensor.py +1 -1
- esphome/components/apds9960/__init__.py +1 -1
- esphome/components/apds9960/binary_sensor.py +2 -1
- esphome/components/apds9960/sensor.py +3 -2
- esphome/components/api/api_frame_helper.cpp +25 -1
- esphome/components/as3935/__init__.py +3 -3
- esphome/components/as3935/binary_sensor.py +2 -1
- esphome/components/as3935/sensor.py +4 -3
- esphome/components/as3935_i2c/__init__.py +1 -1
- esphome/components/as3935_spi/__init__.py +1 -1
- esphome/components/as5600/__init__.py +2 -2
- esphome/components/as5600/sensor/__init__.py +10 -9
- esphome/components/as7341/sensor.py +1 -2
- esphome/components/at581x/__init__.py +4 -8
- esphome/components/at581x/switch/__init__.py +2 -4
- esphome/components/atc_mithermometer/sensor.py +3 -3
- esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +7 -3
- esphome/components/b_parasite/sensor.py +2 -2
- esphome/components/ballu/climate.py +1 -1
- esphome/components/bang_bang/climate.py +2 -2
- esphome/components/bedjet/__init__.py +2 -6
- esphome/components/bedjet/climate/__init__.py +3 -6
- esphome/components/bedjet/fan/__init__.py +4 -9
- esphome/components/bedjet/sensor/__init__.py +3 -6
- esphome/components/beken_spi_led_strip/light.py +2 -2
- esphome/components/bh1750/sensor.py +2 -6
- esphome/components/binary/fan/__init__.py +2 -1
- esphome/components/binary/light/__init__.py +3 -2
- esphome/components/binary_sensor_map/sensor.py +5 -6
- esphome/components/bl0939/sensor.py +1 -1
- esphome/components/bl0940/sensor.py +3 -3
- esphome/components/ble_client/__init__.py +3 -2
- esphome/components/ble_client/sensor/__init__.py +1 -1
- esphome/components/ble_client/text_sensor/__init__.py +1 -1
- esphome/components/bluetooth_proxy/__init__.py +35 -23
- esphome/components/bme280_base/__init__.py +1 -1
- esphome/components/bme280_i2c/sensor.py +3 -2
- esphome/components/bme280_spi/sensor.py +3 -2
- esphome/components/bme680/sensor.py +4 -4
- esphome/components/bme680_bsec/__init__.py +1 -1
- esphome/components/bme680_bsec/sensor.py +3 -6
- esphome/components/bme680_bsec/text_sensor.py +3 -2
- esphome/components/bmi160/sensor.py +6 -6
- esphome/components/bmp085/sensor.py +1 -1
- esphome/components/bmp280_base/__init__.py +1 -1
- esphome/components/bmp280_i2c/sensor.py +3 -2
- esphome/components/bmp280_spi/sensor.py +3 -2
- esphome/components/bmp3xx_base/__init__.py +1 -1
- esphome/components/bmp3xx_i2c/sensor.py +2 -1
- esphome/components/bmp3xx_spi/sensor.py +2 -1
- esphome/components/bmp581/sensor.py +2 -1
- esphome/components/bp1658cj/__init__.py +2 -6
- esphome/components/bp1658cj/output.py +2 -1
- esphome/components/bp5758d/__init__.py +2 -6
- esphome/components/bp5758d/output.py +3 -2
- esphome/components/canbus/__init__.py +13 -2
- esphome/components/canbus/canbus.cpp +7 -1
- esphome/components/cap1188/__init__.py +2 -2
- esphome/components/cap1188/binary_sensor.py +3 -2
- esphome/components/captive_portal/__init__.py +3 -3
- esphome/components/ccs811/sensor.py +10 -10
- esphome/components/cd74hc4067/__init__.py +2 -5
- esphome/components/cd74hc4067/sensor.py +6 -5
- esphome/components/climate_ir/__init__.py +2 -2
- esphome/components/climate_ir_lg/climate.py +1 -1
- esphome/components/color/__init__.py +1 -2
- esphome/components/color_temperature/light.py +2 -2
- esphome/components/combination/sensor.py +1 -1
- esphome/components/coolix/climate.py +1 -1
- esphome/components/copy/binary_sensor/__init__.py +1 -1
- esphome/components/copy/button/__init__.py +1 -1
- esphome/components/copy/cover/__init__.py +1 -1
- esphome/components/copy/fan/__init__.py +2 -7
- esphome/components/copy/lock/__init__.py +2 -7
- esphome/components/copy/number/__init__.py +1 -1
- esphome/components/copy/select/__init__.py +2 -7
- esphome/components/copy/sensor/__init__.py +2 -2
- esphome/components/copy/switch/__init__.py +1 -1
- esphome/components/copy/text/__init__.py +2 -7
- esphome/components/copy/text_sensor/__init__.py +2 -6
- esphome/components/cs5460a/sensor.py +7 -7
- esphome/components/cse7761/sensor.py +2 -2
- esphome/components/cse7766/sensor.py +1 -1
- esphome/components/cst226/touchscreen/__init__.py +3 -4
- esphome/components/ct_clamp/sensor.py +1 -1
- esphome/components/current_based/cover.py +3 -4
- esphome/components/cwww/light.py +3 -3
- esphome/components/dac7678/__init__.py +1 -1
- esphome/components/dac7678/output.py +2 -1
- esphome/components/daikin/climate.py +1 -1
- esphome/components/daikin_arc/climate.py +1 -1
- esphome/components/daikin_brc/climate.py +1 -1
- esphome/components/dallas_temp/sensor.py +1 -1
- esphome/components/daly_bms/__init__.py +2 -2
- esphome/components/daly_bms/binary_sensor.py +3 -2
- esphome/components/daly_bms/sensor.py +14 -13
- esphome/components/daly_bms/text_sensor.py +3 -2
- esphome/components/dashboard_import/__init__.py +5 -5
- esphome/components/debug/sensor.py +7 -6
- esphome/components/debug/text_sensor.py +1 -1
- esphome/components/deep_sleep/__init__.py +12 -13
- esphome/components/delonghi/climate.py +1 -1
- esphome/components/demo/__init__.py +1 -1
- esphome/components/dfplayer/__init__.py +3 -3
- esphome/components/dfrobot_sen0395/__init__.py +3 -3
- esphome/components/dfrobot_sen0395/binary_sensor.py +2 -1
- esphome/components/dfrobot_sen0395/switch/__init__.py +2 -3
- esphome/components/dht/sensor.py +4 -5
- esphome/components/dht12/sensor.py +3 -3
- esphome/components/display/display.cpp +2 -2
- esphome/components/dps310/sensor.py +3 -3
- esphome/components/ds1307/time.py +2 -3
- esphome/components/dsmr/__init__.py +3 -7
- esphome/components/dsmr/sensor.py +5 -4
- esphome/components/dsmr/text_sensor.py +3 -2
- esphome/components/duty_cycle/sensor.py +3 -8
- esphome/components/duty_time/sensor.py +7 -7
- esphome/components/e131/__init__.py +3 -3
- esphome/components/ee895/sensor.py +5 -5
- esphome/components/ektf2232/touchscreen/__init__.py +2 -3
- esphome/components/emc2101/__init__.py +1 -1
- esphome/components/emc2101/output/__init__.py +3 -2
- esphome/components/emc2101/sensor/__init__.py +4 -3
- esphome/components/emmeti/climate.py +1 -1
- esphome/components/endstop/cover.py +3 -3
- esphome/components/ens160_base/__init__.py +1 -1
- esphome/components/ens160_i2c/sensor.py +2 -1
- esphome/components/ens160_spi/sensor.py +2 -1
- esphome/components/ens210/sensor.py +1 -1
- esphome/components/esp32/__init__.py +10 -0
- esphome/components/esp32_ble_tracker/__init__.py +135 -51
- esphome/components/esp32_camera/__init__.py +7 -8
- esphome/components/esp32_camera_web_server/__init__.py +2 -2
- esphome/components/esp32_can/canbus.py +21 -0
- esphome/components/esp32_can/esp32_can.cpp +1 -1
- esphome/components/esp32_can/esp32_can.h +4 -0
- esphome/components/esp32_dac/output.py +2 -2
- esphome/components/esp32_hall/sensor.py +2 -6
- esphome/components/esp32_touch/__init__.py +7 -7
- esphome/components/esp32_touch/binary_sensor.py +4 -7
- esphome/components/esp8266_pwm/output.py +3 -8
- esphome/components/ethernet/__init__.py +1 -0
- esphome/components/ethernet/ethernet_component.cpp +1 -1
- esphome/components/ethernet_info/ethernet_info_text_sensor.h +1 -0
- esphome/components/exposure_notifications/__init__.py +2 -2
- esphome/components/external_components/__init__.py +1 -1
- esphome/components/ezo/sensor.py +2 -2
- esphome/components/ezo_pmp/__init__.py +4 -4
- esphome/components/ezo_pmp/binary_sensor.py +4 -4
- esphome/components/ezo_pmp/sensor.py +4 -5
- esphome/components/ezo_pmp/text_sensor.py +2 -6
- esphome/components/factory_reset/button/__init__.py +2 -1
- esphome/components/factory_reset/switch/__init__.py +3 -2
- esphome/components/fastled_base/__init__.py +3 -3
- esphome/components/fastled_clockless/light.py +2 -2
- esphome/components/fastled_spi/light.py +2 -2
- esphome/components/feedback/cover.py +3 -3
- esphome/components/fingerprint_grow/__init__.py +5 -6
- esphome/components/fingerprint_grow/binary_sensor.py +2 -1
- esphome/components/fingerprint_grow/sensor.py +2 -1
- esphome/components/fs3000/sensor.py +2 -6
- esphome/components/ft5x06/touchscreen/__init__.py +2 -2
- esphome/components/ft63x6/touchscreen.py +2 -3
- esphome/components/fujitsu_general/climate.py +1 -1
- esphome/components/gcja5/sensor.py +4 -4
- esphome/components/gdk101/__init__.py +1 -1
- esphome/components/gdk101/binary_sensor.py +2 -1
- esphome/components/gdk101/sensor.py +5 -4
- esphome/components/globals/__init__.py +1 -2
- esphome/components/gp2y1010au0f/sensor.py +3 -3
- esphome/components/gp8403/__init__.py +1 -2
- esphome/components/gp8403/output/__init__.py +3 -4
- esphome/components/gpio/binary_sensor/__init__.py +3 -2
- esphome/components/gpio/one_wire/__init__.py +3 -2
- esphome/components/gpio/output/__init__.py +3 -2
- esphome/components/gpio/switch/__init__.py +3 -2
- esphome/components/gps/__init__.py +4 -5
- esphome/components/gps/time/__init__.py +3 -2
- esphome/components/graph/__init__.py +12 -12
- esphome/components/grove_tb6612fng/__init__.py +5 -6
- esphome/components/growatt_solar/sensor.py +1 -1
- esphome/components/gt911/binary_sensor/__init__.py +2 -2
- esphome/components/haier/binary_sensor/__init__.py +4 -10
- esphome/components/haier/button/__init__.py +3 -6
- esphome/components/haier/sensor/__init__.py +4 -6
- esphome/components/haier/switch/__init__.py +4 -7
- esphome/components/haier/text_sensor/__init__.py +4 -9
- esphome/components/havells_solar/sensor.py +1 -1
- esphome/components/hbridge/fan/__init__.py +6 -6
- esphome/components/hbridge/light/__init__.py +2 -1
- esphome/components/hdc1080/sensor.py +1 -1
- esphome/components/he60r/cover.py +2 -6
- esphome/components/heatpumpir/climate.py +1 -1
- esphome/components/hitachi_ac344/climate.py +1 -1
- esphome/components/hitachi_ac424/climate.py +1 -1
- esphome/components/hlw8012/sensor.py +6 -6
- esphome/components/hm3301/sensor.py +3 -3
- esphome/components/hmc5883l/sensor.py +4 -4
- esphome/components/homeassistant/time/__init__.py +2 -1
- esphome/components/honeywell_hih_i2c/sensor.py +3 -3
- esphome/components/honeywellabp/sensor.py +1 -2
- esphome/components/honeywellabp2_i2c/sensor.py +1 -2
- esphome/components/host/time/__init__.py +2 -2
- esphome/components/hrxl_maxsonar_wr/sensor.py +1 -1
- esphome/components/hte501/sensor.py +3 -3
- esphome/components/http_request/ota/__init__.py +5 -9
- esphome/components/http_request/update/__init__.py +3 -7
- esphome/components/htu21d/sensor.py +6 -6
- esphome/components/htu31d/sensor.py +1 -1
- esphome/components/hx711/sensor.py +3 -8
- esphome/components/hydreon_rgxx/binary_sensor.py +3 -7
- esphome/components/hydreon_rgxx/sensor.py +4 -4
- esphome/components/hyt271/sensor.py +1 -1
- esphome/components/i2c_device/__init__.py +1 -1
- esphome/components/i2s_audio/media_player/__init__.py +6 -8
- esphome/components/iaqcore/sensor.py +2 -2
- esphome/components/ina219/sensor.py +2 -2
- esphome/components/ina226/sensor.py +4 -4
- esphome/components/ina260/sensor.py +4 -4
- esphome/components/ina2xx_base/__init__.py +2 -2
- esphome/components/ina2xx_i2c/sensor.py +1 -1
- esphome/components/ina2xx_spi/sensor.py +1 -1
- esphome/components/ina3221/sensor.py +3 -3
- esphome/components/inkbird_ibsth1_mini/sensor.py +2 -2
- esphome/components/inkplate6/display.py +2 -2
- esphome/components/integration/sensor.py +4 -4
- esphome/components/internal_temperature/sensor.py +5 -7
- esphome/components/interval/__init__.py +1 -1
- esphome/components/jsn_sr04t/sensor.py +3 -3
- esphome/components/kamstrup_kmp/sensor.py +1 -1
- esphome/components/key_collector/__init__.py +2 -2
- esphome/components/kmeteriso/sensor.py +2 -2
- esphome/components/kuntze/sensor.py +5 -5
- esphome/components/lcd_base/__init__.py +2 -2
- esphome/components/lcd_gpio/display.py +4 -4
- esphome/components/lcd_menu/__init__.py +3 -7
- esphome/components/lcd_pcf8574/display.py +1 -1
- esphome/components/ld2410/__init__.py +4 -4
- esphome/components/ld2410/binary_sensor.py +5 -4
- esphome/components/ld2410/button/__init__.py +3 -2
- esphome/components/ld2410/number/__init__.py +5 -4
- esphome/components/ld2410/select/__init__.py +4 -3
- esphome/components/ld2410/sensor.py +6 -5
- esphome/components/ld2410/switch/__init__.py +2 -1
- esphome/components/ld2410/text_sensor.py +3 -2
- esphome/components/ld2420/__init__.py +1 -1
- esphome/components/ld2420/binary_sensor/__init__.py +4 -3
- esphome/components/ld2420/button/__init__.py +3 -2
- esphome/components/ld2420/number/__init__.py +3 -2
- esphome/components/ld2420/select/__init__.py +1 -0
- esphome/components/ld2420/sensor/__init__.py +3 -2
- esphome/components/ld2420/text_sensor/__init__.py +2 -6
- esphome/components/ld2450/__init__.py +2 -5
- esphome/components/ledc/output.py +3 -3
- esphome/components/libretiny/text_sensor.py +1 -1
- esphome/components/libretiny_pwm/output.py +3 -7
- esphome/components/lightwaverf/__init__.py +6 -8
- esphome/components/lilygo_t5_47/touchscreen/__init__.py +2 -3
- esphome/components/ltr390/sensor.py +1 -1
- esphome/components/ltr501/sensor.py +2 -2
- esphome/components/ltr_als_ps/sensor.py +2 -2
- esphome/components/lvgl/__init__.py +9 -12
- esphome/components/lvgl/automation.py +15 -3
- esphome/components/lvgl/defines.py +5 -2
- esphome/components/lvgl/encoders.py +3 -2
- esphome/components/lvgl/lv_validation.py +17 -9
- esphome/components/lvgl/lvcode.py +11 -9
- esphome/components/lvgl/lvgl_esphome.h +21 -0
- esphome/components/lvgl/number/__init__.py +23 -20
- esphome/components/lvgl/number/lvgl_number.h +27 -14
- esphome/components/lvgl/schemas.py +70 -19
- esphome/components/lvgl/select/__init__.py +11 -13
- esphome/components/lvgl/select/lvgl_select.h +25 -18
- esphome/components/lvgl/styles.py +42 -11
- esphome/components/lvgl/switch/__init__.py +13 -8
- esphome/components/lvgl/switch/lvgl_switch.h +5 -16
- esphome/components/lvgl/trigger.py +10 -1
- esphome/components/lvgl/widgets/__init__.py +1 -2
- esphome/components/lvgl/widgets/buttonmatrix.py +2 -2
- esphome/components/lvgl/widgets/canvas.py +407 -0
- esphome/components/lvgl/widgets/line.py +22 -32
- esphome/components/lvgl/widgets/meter.py +3 -1
- esphome/components/m5stack_8angle/__init__.py +1 -2
- esphome/components/m5stack_8angle/binary_sensor/__init__.py +2 -3
- esphome/components/m5stack_8angle/light/__init__.py +2 -4
- esphome/components/m5stack_8angle/sensor/__init__.py +2 -4
- esphome/components/matrix_keypad/binary_sensor/__init__.py +4 -3
- esphome/components/max31855/sensor.py +1 -1
- esphome/components/max31865/sensor.py +1 -1
- esphome/components/max44009/sensor.py +1 -1
- esphome/components/max6675/sensor.py +1 -1
- esphome/components/max6956/__init__.py +5 -5
- esphome/components/max6956/output/__init__.py +4 -3
- esphome/components/max7219/display.py +1 -1
- esphome/components/max7219digit/display.py +1 -1
- esphome/components/max9611/sensor.py +10 -10
- esphome/components/mcp23008/__init__.py +1 -1
- esphome/components/mcp23016/__init__.py +4 -4
- esphome/components/mcp23017/__init__.py +1 -1
- esphome/components/mcp23s08/__init__.py +1 -1
- esphome/components/mcp23s17/__init__.py +1 -1
- esphome/components/mcp23xxx_base/__init__.py +4 -4
- esphome/components/mcp2515/canbus.py +2 -2
- esphome/components/mcp3008/__init__.py +1 -1
- esphome/components/mcp3008/sensor/__init__.py +4 -4
- esphome/components/mcp3204/__init__.py +1 -1
- esphome/components/mcp3204/sensor/__init__.py +3 -2
- esphome/components/mcp4461/__init__.py +42 -0
- esphome/components/mcp4461/mcp4461.cpp +618 -0
- esphome/components/mcp4461/mcp4461.h +171 -0
- esphome/components/mcp4461/output/__init__.py +60 -0
- esphome/components/mcp4461/output/mcp4461_output.cpp +73 -0
- esphome/components/mcp4461/output/mcp4461_output.h +49 -0
- esphome/components/mcp4725/output.py +2 -2
- esphome/components/mcp4728/__init__.py +1 -1
- esphome/components/mcp4728/output/__init__.py +4 -3
- esphome/components/mcp47a1/output.py +2 -2
- esphome/components/mcp9808/sensor.py +1 -1
- esphome/components/mdns/__init__.py +1 -1
- esphome/components/mhz19/sensor.py +4 -4
- esphome/components/micronova/__init__.py +3 -5
- esphome/components/micronova/button/__init__.py +5 -5
- esphome/components/micronova/number/__init__.py +6 -10
- esphome/components/micronova/sensor/__init__.py +6 -6
- esphome/components/micronova/switch/__init__.py +6 -8
- esphome/components/micronova/text_sensor/__init__.py +5 -5
- esphome/components/microphone/__init__.py +2 -4
- esphome/components/midea/climate.py +6 -10
- esphome/components/midea_ir/climate.py +1 -1
- esphome/components/mitsubishi/climate.py +1 -1
- esphome/components/mlx90614/sensor.py +1 -1
- esphome/components/mmc5603/sensor.py +4 -4
- esphome/components/mmc5983/sensor.py +1 -1
- esphome/components/modbus/__init__.py +5 -9
- esphome/components/modbus_controller/__init__.py +1 -1
- esphome/components/monochromatic/light.py +2 -2
- esphome/components/mopeka_ble/__init__.py +1 -1
- esphome/components/mopeka_pro_check/sensor.py +12 -12
- esphome/components/mopeka_std_check/sensor.py +8 -8
- esphome/components/mpl3115a2/sensor.py +1 -1
- esphome/components/mpr121/__init__.py +3 -3
- esphome/components/mpr121/binary_sensor/__init__.py +5 -4
- esphome/components/mpu6050/sensor.py +4 -4
- esphome/components/mpu6886/sensor.py +4 -4
- esphome/components/mqtt_subscribe/sensor/__init__.py +3 -5
- esphome/components/mqtt_subscribe/text_sensor/__init__.py +1 -1
- esphome/components/ms5611/sensor.py +2 -2
- esphome/components/ms8607/sensor.py +1 -1
- esphome/components/my9231/__init__.py +1 -1
- esphome/components/my9231/output.py +2 -1
- esphome/components/nau7802/nau7802.cpp +0 -4
- esphome/components/nau7802/nau7802.h +0 -2
- esphome/components/neopixelbus/_methods.py +11 -9
- esphome/components/neopixelbus/light.py +11 -18
- esphome/components/nextion/binary_sensor/__init__.py +6 -14
- esphome/components/nextion/sensor/__init__.py +7 -10
- esphome/components/nextion/switch/__init__.py +3 -5
- esphome/components/nextion/text_sensor/__init__.py +3 -7
- esphome/components/noblex/climate.py +1 -1
- esphome/components/ntc/sensor.py +1 -1
- esphome/components/opentherm/__init__.py +6 -6
- esphome/components/opentherm/input.py +2 -1
- esphome/components/opentherm/number/__init__.py +5 -4
- esphome/components/opentherm/output/__init__.py +3 -2
- esphome/components/opentherm/schema.py +7 -7
- esphome/components/opentherm/switch/__init__.py +3 -2
- esphome/components/opentherm/validate.py +1 -1
- esphome/components/output/__init__.py +2 -3
- esphome/components/output/button/__init__.py +3 -2
- esphome/components/output/lock/__init__.py +2 -1
- esphome/components/output/switch/__init__.py +2 -1
- esphome/components/partition/light.py +4 -4
- esphome/components/pca6416a/__init__.py +4 -4
- esphome/components/pca9554/__init__.py +4 -4
- esphome/components/pca9685/__init__.py +2 -2
- esphome/components/pca9685/output.py +2 -1
- esphome/components/pcf85063/time.py +2 -3
- esphome/components/pcf8563/time.py +2 -2
- esphome/components/pcf8574/__init__.py +4 -4
- esphome/components/pid/climate.py +2 -2
- esphome/components/pid/sensor/__init__.py +4 -8
- esphome/components/pipsolar/__init__.py +1 -1
- esphome/components/pipsolar/binary_sensor/__init__.py +2 -2
- esphome/components/pipsolar/output/__init__.py +4 -3
- esphome/components/pipsolar/sensor/__init__.py +5 -4
- esphome/components/pipsolar/switch/__init__.py +2 -1
- esphome/components/pipsolar/text_sensor/__init__.py +2 -1
- esphome/components/pm1006/sensor.py +2 -2
- esphome/components/pmsa003i/sensor.py +4 -4
- esphome/components/pmsx003/sensor.py +10 -11
- esphome/components/pmwcs3/sensor.py +5 -5
- esphome/components/pn532/__init__.py +3 -3
- esphome/components/pn532_i2c/__init__.py +1 -1
- esphome/components/pn532_spi/__init__.py +1 -1
- esphome/components/pn7150/__init__.py +2 -2
- esphome/components/pn7150_i2c/__init__.py +1 -1
- esphome/components/pn7160/__init__.py +2 -2
- esphome/components/pn7160_i2c/__init__.py +1 -1
- esphome/components/pn7160_spi/__init__.py +1 -1
- esphome/components/power_supply/__init__.py +1 -1
- esphome/components/prometheus/__init__.py +3 -8
- esphome/components/psram/__init__.py +75 -11
- esphome/components/psram/psram.cpp +18 -7
- esphome/components/pulse_counter/sensor.py +4 -4
- esphome/components/pulse_meter/sensor.py +3 -3
- esphome/components/pulse_width/sensor.py +3 -8
- esphome/components/pvvx_mithermometer/display/__init__.py +1 -1
- esphome/components/pvvx_mithermometer/sensor.py +3 -3
- esphome/components/pylontech/__init__.py +1 -0
- esphome/components/pylontech/sensor/__init__.py +8 -13
- esphome/components/pylontech/text_sensor/__init__.py +2 -7
- esphome/components/pzem004t/sensor.py +3 -3
- esphome/components/pzemac/sensor.py +9 -9
- esphome/components/pzemdc/sensor.py +6 -6
- esphome/components/qmc5883l/sensor.py +5 -5
- esphome/components/qmp6988/sensor.py +3 -3
- esphome/components/qr_code/__init__.py +1 -1
- esphome/components/qspi_dbi/display.py +1 -1
- esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
- esphome/components/qspi_dbi/qspi_dbi.h +1 -1
- esphome/components/qwiic_pir/binary_sensor.py +2 -5
- esphome/components/radon_eye_ble/__init__.py +1 -1
- esphome/components/radon_eye_rd200/sensor.py +3 -4
- esphome/components/rc522/__init__.py +3 -3
- esphome/components/rc522_i2c/__init__.py +1 -1
- esphome/components/rc522_spi/__init__.py +1 -1
- esphome/components/rdm6300/__init__.py +2 -2
- esphome/components/rdm6300/binary_sensor.py +2 -1
- esphome/components/resistance/sensor.py +2 -2
- esphome/components/restart/button/__init__.py +1 -1
- esphome/components/restart/switch/__init__.py +2 -5
- esphome/components/rf_bridge/__init__.py +3 -3
- esphome/components/rgb/light.py +2 -2
- esphome/components/rgbct/light.py +3 -3
- esphome/components/rgbw/light.py +2 -2
- esphome/components/rgbww/light.py +4 -4
- esphome/components/rotary_encoder/sensor.py +8 -8
- esphome/components/rp2040_pio/__init__.py +0 -1
- esphome/components/rp2040_pio_led_strip/light.py +2 -4
- esphome/components/rp2040_pwm/output.py +3 -7
- esphome/components/rtttl/__init__.py +6 -6
- esphome/components/ruuvi_ble/__init__.py +1 -1
- esphome/components/ruuvitag/sensor.py +15 -15
- esphome/components/safe_mode/__init__.py +2 -3
- esphome/components/safe_mode/button/__init__.py +3 -2
- esphome/components/safe_mode/switch/__init__.py +4 -7
- esphome/components/scd30/sensor.py +5 -6
- esphome/components/scd4x/sensor.py +6 -8
- esphome/components/script/__init__.py +2 -2
- esphome/components/sdl/display.py +3 -3
- esphome/components/sdl/touchscreen/__init__.py +2 -2
- esphome/components/sdm_meter/sensor.py +3 -3
- esphome/components/sdp3x/sensor.py +1 -2
- esphome/components/sds011/sensor.py +4 -4
- esphome/components/seeed_mr24hpc1/__init__.py +1 -1
- esphome/components/seeed_mr24hpc1/binary_sensor.py +2 -5
- esphome/components/seeed_mr24hpc1/button/__init__.py +1 -0
- esphome/components/seeed_mr24hpc1/number/__init__.py +2 -4
- esphome/components/seeed_mr24hpc1/select/__init__.py +2 -3
- esphome/components/seeed_mr24hpc1/sensor.py +1 -0
- esphome/components/seeed_mr24hpc1/switch/__init__.py +2 -4
- esphome/components/seeed_mr24hpc1/text_sensor.py +1 -0
- esphome/components/seeed_mr60bha2/binary_sensor.py +2 -4
- esphome/components/seeed_mr60bha2/sensor.py +1 -1
- esphome/components/seeed_mr60fda2/button/__init__.py +1 -1
- esphome/components/seeed_mr60fda2/select/__init__.py +0 -1
- esphome/components/selec_meter/sensor.py +1 -1
- esphome/components/sen0321/sensor.py +2 -2
- esphome/components/sen21231/sensor.py +1 -1
- esphome/components/senseair/sensor.py +3 -3
- esphome/components/sensirion_common/__init__.py +0 -2
- esphome/components/servo/__init__.py +3 -3
- esphome/components/sfa30/sensor.py +4 -5
- esphome/components/sgp4x/sensor.py +2 -2
- esphome/components/shelly_dimmer/light.py +16 -16
- esphome/components/sht3xd/sensor.py +1 -1
- esphome/components/sht4x/sensor.py +6 -6
- esphome/components/shtcx/sensor.py +1 -1
- esphome/components/shutdown/button/__init__.py +2 -6
- esphome/components/shutdown/switch/__init__.py +2 -5
- esphome/components/sigma_delta_output/output.py +2 -7
- esphome/components/sim800l/__init__.py +3 -7
- esphome/components/sim800l/binary_sensor.py +3 -5
- esphome/components/sim800l/sensor.py +2 -1
- esphome/components/slow_pwm/output.py +4 -5
- esphome/components/sm10bit_base/__init__.py +2 -6
- esphome/components/sm16716/__init__.py +1 -1
- esphome/components/sm16716/output.py +2 -1
- esphome/components/sm2135/__init__.py +2 -6
- esphome/components/sm2135/output.py +2 -1
- esphome/components/sm2235/__init__.py +1 -1
- esphome/components/sm2235/output.py +2 -1
- esphome/components/sm2335/__init__.py +1 -1
- esphome/components/sm2335/output.py +2 -1
- esphome/components/sm300d2/sensor.py +13 -13
- esphome/components/sml/__init__.py +1 -1
- esphome/components/sml/sensor/__init__.py +1 -1
- esphome/components/sml/sml.cpp +8 -6
- esphome/components/sml/sml.h +1 -1
- esphome/components/sml/sml_parser.cpp +16 -18
- esphome/components/sml/sml_parser.h +42 -12
- esphome/components/sml/text_sensor/__init__.py +1 -1
- esphome/components/smt100/sensor.py +5 -6
- esphome/components/sn74hc165/__init__.py +5 -5
- esphome/components/sn74hc595/__init__.py +5 -5
- esphome/components/socket/__init__.py +1 -1
- esphome/components/sonoff_d1/light.py +2 -6
- esphome/components/speaker/media_player/audio_pipeline.cpp +3 -2
- esphome/components/speaker/media_player/speaker_media_player.cpp +47 -12
- esphome/components/speed/fan/__init__.py +2 -2
- esphome/components/spi/__init__.py +45 -36
- esphome/components/spi/spi.h +1 -0
- esphome/components/spi/spi_esp_idf.cpp +13 -5
- esphome/components/sprinkler/__init__.py +4 -5
- esphome/components/sps30/sensor.py +8 -8
- esphome/components/ssd1306_i2c/display.py +2 -2
- esphome/components/ssd1322_base/__init__.py +2 -2
- esphome/components/ssd1325_base/__init__.py +2 -2
- esphome/components/ssd1327_base/__init__.py +2 -2
- esphome/components/ssd1327_i2c/display.py +1 -1
- esphome/components/ssd1331_base/__init__.py +2 -2
- esphome/components/ssd1351_base/__init__.py +2 -2
- esphome/components/st7567_base/__init__.py +4 -4
- esphome/components/st7567_i2c/display.py +1 -1
- esphome/components/st7920/display.py +2 -2
- esphome/components/statsd/__init__.py +3 -3
- esphome/components/status/binary_sensor.py +2 -5
- esphome/components/status_led/__init__.py +1 -1
- esphome/components/status_led/light/__init__.py +2 -1
- esphome/components/stepper/__init__.py +2 -2
- esphome/components/sts3x/sensor.py +1 -1
- esphome/components/substitutions/__init__.py +2 -2
- esphome/components/sun/__init__.py +4 -4
- esphome/components/sun/sensor/__init__.py +4 -7
- esphome/components/sun/text_sensor/__init__.py +5 -4
- esphome/components/sun_gtil2/__init__.py +1 -1
- esphome/components/sun_gtil2/sensor.py +7 -6
- esphome/components/sun_gtil2/text_sensor.py +3 -2
- esphome/components/sx1509/__init__.py +5 -5
- esphome/components/sx1509/binary_sensor/__init__.py +3 -3
- esphome/components/sx1509/output/__init__.py +4 -3
- esphome/components/t6615/sensor.py +1 -1
- esphome/components/tca9548a/__init__.py +1 -1
- esphome/components/tcl112/climate.py +1 -1
- esphome/components/tcs34725/sensor.py +4 -4
- esphome/components/tee501/sensor.py +1 -1
- esphome/components/teleinfo/__init__.py +1 -1
- esphome/components/teleinfo/sensor/__init__.py +1 -7
- esphome/components/teleinfo/text_sensor/__init__.py +1 -1
- esphome/components/tem3200/sensor.py +1 -2
- esphome/components/template/alarm_control_panel/__init__.py +3 -10
- esphome/components/template/cover/__init__.py +4 -3
- esphome/components/template/datetime/__init__.py +8 -9
- esphome/components/template/event/__init__.py +2 -5
- esphome/components/template/fan/__init__.py +2 -6
- esphome/components/template/lock/__init__.py +3 -2
- esphome/components/template/number/__init__.py +3 -2
- esphome/components/template/output/__init__.py +4 -3
- esphome/components/template/select/__init__.py +3 -2
- esphome/components/template/sensor/__init__.py +4 -7
- esphome/components/template/switch/__init__.py +3 -2
- esphome/components/template/text/__init__.py +4 -3
- esphome/components/template/text_sensor/__init__.py +3 -2
- esphome/components/template/valve/__init__.py +3 -2
- esphome/components/time/real_time_clock.cpp +0 -4
- esphome/components/time/real_time_clock.h +4 -3
- esphome/components/time_based/cover.py +3 -3
- esphome/components/tlc59208f/__init__.py +1 -1
- esphome/components/tlc59208f/output.py +2 -1
- esphome/components/tlc5947/__init__.py +1 -1
- esphome/components/tlc5947/output/__init__.py +2 -1
- esphome/components/tlc5971/__init__.py +2 -8
- esphome/components/tlc5971/output/__init__.py +2 -1
- esphome/components/tm1621/display.py +3 -3
- esphome/components/tm1637/binary_sensor.py +1 -1
- esphome/components/tm1637/display.py +3 -3
- esphome/components/tm1651/__init__.py +4 -4
- esphome/components/tmp102/sensor.py +1 -1
- esphome/components/tmp1075/sensor.py +2 -2
- esphome/components/tmp117/sensor.py +1 -1
- esphome/components/tof10120/sensor.py +2 -2
- esphome/components/tormatic/cover.py +2 -6
- esphome/components/toshiba/climate.py +1 -1
- esphome/components/total_daily_energy/sensor.py +4 -4
- esphome/components/tsl2561/sensor.py +1 -1
- esphome/components/tsl2591/sensor.py +9 -9
- esphome/components/tt21100/binary_sensor/__init__.py +2 -2
- esphome/components/tt21100/touchscreen/__init__.py +2 -3
- esphome/components/ttp229_bsf/__init__.py +2 -2
- esphome/components/ttp229_bsf/binary_sensor.py +3 -2
- esphome/components/ttp229_lsf/__init__.py +1 -1
- esphome/components/ttp229_lsf/binary_sensor.py +3 -2
- esphome/components/tuya/__init__.py +3 -5
- esphome/components/tuya/binary_sensor/__init__.py +2 -2
- esphome/components/tuya/climate/__init__.py +6 -5
- esphome/components/tuya/cover/__init__.py +5 -4
- esphome/components/tuya/fan/__init__.py +3 -2
- esphome/components/tuya/light/__init__.py +9 -8
- esphome/components/tuya/number/__init__.py +6 -5
- esphome/components/tuya/select/__init__.py +4 -3
- esphome/components/tuya/sensor/__init__.py +3 -2
- esphome/components/tuya/switch/__init__.py +3 -2
- esphome/components/tuya/text_sensor/__init__.py +3 -2
- esphome/components/tx20/sensor.py +6 -6
- esphome/components/uart/__init__.py +20 -19
- esphome/components/uart/button/__init__.py +2 -1
- esphome/components/uart/switch/__init__.py +2 -1
- esphome/components/ufire_ise/sensor.py +2 -2
- esphome/components/uln2003/stepper.py +2 -2
- esphome/components/ultrasonic/sensor.py +4 -4
- esphome/components/uponor_smatrix/__init__.py +2 -6
- esphome/components/uponor_smatrix/climate/__init__.py +3 -3
- esphome/components/vbus/__init__.py +1 -1
- esphome/components/vbus/binary_sensor/__init__.py +7 -6
- esphome/components/vbus/sensor/__init__.py +7 -6
- esphome/components/veml3235/sensor.py +1 -1
- esphome/components/veml7700/sensor.py +1 -1
- esphome/components/version/text_sensor.py +2 -6
- esphome/components/vl53l0x/sensor.py +6 -6
- esphome/components/web_server_base/__init__.py +2 -2
- esphome/components/web_server_idf/__init__.py +1 -1
- esphome/components/weikai/__init__.py +1 -1
- esphome/components/whirlpool/climate.py +1 -1
- esphome/components/whynter/climate.py +1 -1
- esphome/components/wireguard/binary_sensor.py +1 -1
- esphome/components/wireguard/sensor.py +2 -5
- esphome/components/wireguard/text_sensor.py +2 -5
- esphome/components/wk2132_i2c/__init__.py +1 -1
- esphome/components/wk2132_spi/__init__.py +1 -2
- esphome/components/wk2168_i2c/__init__.py +3 -8
- esphome/components/wk2168_spi/__init__.py +3 -8
- esphome/components/wk2204_i2c/__init__.py +1 -1
- esphome/components/wk2204_spi/__init__.py +1 -1
- esphome/components/wk2212_i2c/__init__.py +3 -8
- esphome/components/wk2212_spi/__init__.py +3 -8
- esphome/components/wl_134/text_sensor.py +2 -4
- esphome/components/wled/__init__.py +2 -2
- esphome/components/x9c/output.py +4 -4
- esphome/components/xgzp68xx/sensor.py +5 -5
- esphome/components/xiaomi_ble/__init__.py +1 -1
- esphome/components/xiaomi_cgd1/sensor.py +3 -3
- esphome/components/xiaomi_cgdk2/sensor.py +3 -3
- esphome/components/xiaomi_cgg1/sensor.py +2 -2
- esphome/components/xiaomi_cgpr1/binary_sensor.py +6 -6
- esphome/components/xiaomi_gcls002/sensor.py +7 -7
- esphome/components/xiaomi_hhccjcy01/sensor.py +9 -9
- esphome/components/xiaomi_hhccjcy10/sensor.py +9 -9
- esphome/components/xiaomi_hhccpot002/sensor.py +7 -7
- esphome/components/xiaomi_jqjcy01ym/sensor.py +6 -6
- esphome/components/xiaomi_lywsd02/sensor.py +4 -4
- esphome/components/xiaomi_lywsd02mmc/sensor.py +5 -5
- esphome/components/xiaomi_lywsd03mmc/sensor.py +6 -6
- esphome/components/xiaomi_lywsdcgq/sensor.py +5 -5
- esphome/components/xiaomi_mhoc303/sensor.py +4 -4
- esphome/components/xiaomi_mhoc401/sensor.py +6 -6
- esphome/components/xiaomi_miscale/sensor.py +6 -6
- esphome/components/xiaomi_mjyd02yla/binary_sensor.py +8 -8
- esphome/components/xiaomi_mue4094rt/binary_sensor.py +2 -7
- esphome/components/xiaomi_rtcgq02lm/__init__.py +2 -3
- esphome/components/xiaomi_rtcgq02lm/binary_sensor.py +3 -3
- esphome/components/xiaomi_rtcgq02lm/sensor.py +3 -3
- esphome/components/xiaomi_wx08zm/binary_sensor.py +2 -3
- esphome/components/xl9535/__init__.py +2 -2
- esphome/components/yashima/climate.py +1 -1
- esphome/components/zhlt01/climate.py +1 -1
- esphome/components/zio_ultrasonic/sensor.py +2 -5
- esphome/components/zyaura/sensor.py +7 -7
- esphome/config_validation.py +0 -42
- esphome/const.py +3 -1
- esphome/core/__init__.py +0 -1
- esphome/core/component.cpp +3 -1
- esphome/core/component.h +15 -2
- esphome/core/config.py +4 -0
- esphome/core/defines.h +21 -0
- esphome/core/helpers.cpp +6 -7
- esphome/core/scheduler.cpp +34 -67
- esphome/core/scheduler.h +7 -17
- esphome/dashboard/status/mqtt.py +0 -2
- esphome/vscode.py +27 -8
- esphome/yaml_util.py +75 -39
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info}/METADATA +45 -44
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info}/RECORD +718 -711
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info}/WHEEL +1 -1
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info}/entry_points.txt +0 -0
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info/licenses}/LICENSE +0 -0
- {esphome-2025.3.2.dist-info → esphome-2025.4.0.dist-info}/top_level.txt +0 -0
@@ -1,22 +1,22 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
+
CONF_CONDUCTIVITY,
|
6
|
+
CONF_ID,
|
7
|
+
CONF_ILLUMINANCE,
|
5
8
|
CONF_MAC_ADDRESS,
|
9
|
+
CONF_MOISTURE,
|
6
10
|
CONF_TEMPERATURE,
|
7
11
|
DEVICE_CLASS_ILLUMINANCE,
|
8
12
|
DEVICE_CLASS_TEMPERATURE,
|
13
|
+
ICON_FLOWER,
|
9
14
|
ICON_WATER_PERCENT,
|
10
15
|
STATE_CLASS_MEASUREMENT,
|
11
16
|
UNIT_CELSIUS,
|
12
|
-
UNIT_PERCENT,
|
13
|
-
CONF_ID,
|
14
|
-
CONF_MOISTURE,
|
15
|
-
CONF_ILLUMINANCE,
|
16
17
|
UNIT_LUX,
|
17
|
-
CONF_CONDUCTIVITY,
|
18
18
|
UNIT_MICROSIEMENS_PER_CENTIMETER,
|
19
|
-
|
19
|
+
UNIT_PERCENT,
|
20
20
|
)
|
21
21
|
|
22
22
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,25 +1,25 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
+
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_CONDUCTIVITY,
|
7
|
+
CONF_ID,
|
8
|
+
CONF_ILLUMINANCE,
|
5
9
|
CONF_MAC_ADDRESS,
|
10
|
+
CONF_MOISTURE,
|
6
11
|
CONF_TEMPERATURE,
|
12
|
+
DEVICE_CLASS_BATTERY,
|
7
13
|
DEVICE_CLASS_ILLUMINANCE,
|
8
14
|
DEVICE_CLASS_TEMPERATURE,
|
9
15
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
16
|
+
ICON_FLOWER,
|
10
17
|
ICON_WATER_PERCENT,
|
11
18
|
STATE_CLASS_MEASUREMENT,
|
12
19
|
UNIT_CELSIUS,
|
13
|
-
UNIT_PERCENT,
|
14
|
-
CONF_ID,
|
15
|
-
CONF_MOISTURE,
|
16
|
-
CONF_ILLUMINANCE,
|
17
20
|
UNIT_LUX,
|
18
|
-
CONF_CONDUCTIVITY,
|
19
21
|
UNIT_MICROSIEMENS_PER_CENTIMETER,
|
20
|
-
|
21
|
-
DEVICE_CLASS_BATTERY,
|
22
|
-
CONF_BATTERY_LEVEL,
|
22
|
+
UNIT_PERCENT,
|
23
23
|
)
|
24
24
|
|
25
25
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,25 +1,25 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
+
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_CONDUCTIVITY,
|
7
|
+
CONF_ID,
|
8
|
+
CONF_ILLUMINANCE,
|
5
9
|
CONF_MAC_ADDRESS,
|
10
|
+
CONF_MOISTURE,
|
6
11
|
CONF_TEMPERATURE,
|
12
|
+
DEVICE_CLASS_BATTERY,
|
7
13
|
DEVICE_CLASS_ILLUMINANCE,
|
8
14
|
DEVICE_CLASS_TEMPERATURE,
|
9
15
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
16
|
+
ICON_FLOWER,
|
10
17
|
ICON_WATER_PERCENT,
|
11
18
|
STATE_CLASS_MEASUREMENT,
|
12
19
|
UNIT_CELSIUS,
|
13
|
-
UNIT_PERCENT,
|
14
|
-
CONF_ID,
|
15
|
-
CONF_MOISTURE,
|
16
|
-
CONF_ILLUMINANCE,
|
17
20
|
UNIT_LUX,
|
18
|
-
CONF_CONDUCTIVITY,
|
19
21
|
UNIT_MICROSIEMENS_PER_CENTIMETER,
|
20
|
-
|
21
|
-
DEVICE_CLASS_BATTERY,
|
22
|
-
CONF_BATTERY_LEVEL,
|
22
|
+
UNIT_PERCENT,
|
23
23
|
)
|
24
24
|
|
25
25
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
-
|
6
|
-
STATE_CLASS_MEASUREMENT,
|
7
|
-
UNIT_PERCENT,
|
8
|
-
ICON_WATER_PERCENT,
|
5
|
+
CONF_CONDUCTIVITY,
|
9
6
|
CONF_ID,
|
7
|
+
CONF_MAC_ADDRESS,
|
10
8
|
CONF_MOISTURE,
|
11
|
-
CONF_CONDUCTIVITY,
|
12
|
-
UNIT_MICROSIEMENS_PER_CENTIMETER,
|
13
9
|
ICON_FLOWER,
|
10
|
+
ICON_WATER_PERCENT,
|
11
|
+
STATE_CLASS_MEASUREMENT,
|
12
|
+
UNIT_MICROSIEMENS_PER_CENTIMETER,
|
13
|
+
UNIT_PERCENT,
|
14
14
|
)
|
15
15
|
|
16
16
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,22 +1,22 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_FORMALDEHYDE,
|
7
|
+
CONF_HUMIDITY,
|
8
|
+
CONF_ID,
|
6
9
|
CONF_MAC_ADDRESS,
|
7
10
|
CONF_TEMPERATURE,
|
8
|
-
CONF_ID,
|
9
11
|
DEVICE_CLASS_BATTERY,
|
10
12
|
DEVICE_CLASS_HUMIDITY,
|
11
13
|
DEVICE_CLASS_TEMPERATURE,
|
12
14
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
15
|
+
ICON_FLASK_OUTLINE,
|
13
16
|
STATE_CLASS_MEASUREMENT,
|
14
17
|
UNIT_CELSIUS,
|
15
|
-
UNIT_PERCENT,
|
16
|
-
CONF_HUMIDITY,
|
17
18
|
UNIT_MILLIGRAMS_PER_CUBIC_METER,
|
18
|
-
|
19
|
-
CONF_FORMALDEHYDE,
|
19
|
+
UNIT_PERCENT,
|
20
20
|
)
|
21
21
|
|
22
22
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,19 +1,19 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
6
|
CONF_HUMIDITY,
|
7
|
+
CONF_ID,
|
7
8
|
CONF_MAC_ADDRESS,
|
8
9
|
CONF_TEMPERATURE,
|
10
|
+
DEVICE_CLASS_BATTERY,
|
11
|
+
DEVICE_CLASS_HUMIDITY,
|
9
12
|
DEVICE_CLASS_TEMPERATURE,
|
10
13
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
11
14
|
STATE_CLASS_MEASUREMENT,
|
12
15
|
UNIT_CELSIUS,
|
13
16
|
UNIT_PERCENT,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
DEVICE_CLASS_BATTERY,
|
16
|
-
CONF_ID,
|
17
17
|
)
|
18
18
|
|
19
19
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,20 +1,20 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_BINDKEY,
|
6
7
|
CONF_HUMIDITY,
|
8
|
+
CONF_ID,
|
7
9
|
CONF_MAC_ADDRESS,
|
8
10
|
CONF_TEMPERATURE,
|
11
|
+
DEVICE_CLASS_BATTERY,
|
12
|
+
DEVICE_CLASS_HUMIDITY,
|
9
13
|
DEVICE_CLASS_TEMPERATURE,
|
10
14
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
11
15
|
STATE_CLASS_MEASUREMENT,
|
12
16
|
UNIT_CELSIUS,
|
13
17
|
UNIT_PERCENT,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
DEVICE_CLASS_BATTERY,
|
16
|
-
CONF_ID,
|
17
|
-
CONF_BINDKEY,
|
18
18
|
)
|
19
19
|
|
20
20
|
AUTO_LOAD = ["xiaomi_ble"]
|
@@ -1,20 +1,20 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_BINDKEY,
|
6
7
|
CONF_HUMIDITY,
|
8
|
+
CONF_ID,
|
7
9
|
CONF_MAC_ADDRESS,
|
8
10
|
CONF_TEMPERATURE,
|
11
|
+
DEVICE_CLASS_BATTERY,
|
12
|
+
DEVICE_CLASS_HUMIDITY,
|
13
|
+
DEVICE_CLASS_TEMPERATURE,
|
9
14
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
10
15
|
STATE_CLASS_MEASUREMENT,
|
11
16
|
UNIT_CELSIUS,
|
12
17
|
UNIT_PERCENT,
|
13
|
-
DEVICE_CLASS_TEMPERATURE,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
CONF_ID,
|
16
|
-
CONF_BINDKEY,
|
17
|
-
DEVICE_CLASS_BATTERY,
|
18
18
|
)
|
19
19
|
|
20
20
|
CODEOWNERS = ["@ahpohl"]
|
@@ -1,19 +1,19 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
6
|
CONF_HUMIDITY,
|
7
|
+
CONF_ID,
|
7
8
|
CONF_MAC_ADDRESS,
|
8
9
|
CONF_TEMPERATURE,
|
10
|
+
DEVICE_CLASS_BATTERY,
|
11
|
+
DEVICE_CLASS_HUMIDITY,
|
12
|
+
DEVICE_CLASS_TEMPERATURE,
|
9
13
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
10
14
|
STATE_CLASS_MEASUREMENT,
|
11
15
|
UNIT_CELSIUS,
|
12
16
|
UNIT_PERCENT,
|
13
|
-
DEVICE_CLASS_TEMPERATURE,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
DEVICE_CLASS_BATTERY,
|
16
|
-
CONF_ID,
|
17
17
|
)
|
18
18
|
|
19
19
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,19 +1,19 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
6
|
CONF_HUMIDITY,
|
7
|
+
CONF_ID,
|
7
8
|
CONF_MAC_ADDRESS,
|
8
9
|
CONF_TEMPERATURE,
|
10
|
+
DEVICE_CLASS_BATTERY,
|
11
|
+
DEVICE_CLASS_HUMIDITY,
|
9
12
|
DEVICE_CLASS_TEMPERATURE,
|
10
13
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
11
14
|
STATE_CLASS_MEASUREMENT,
|
12
15
|
UNIT_CELSIUS,
|
13
16
|
UNIT_PERCENT,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
DEVICE_CLASS_BATTERY,
|
16
|
-
CONF_ID,
|
17
17
|
)
|
18
18
|
|
19
19
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,20 +1,20 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_BINDKEY,
|
6
7
|
CONF_HUMIDITY,
|
8
|
+
CONF_ID,
|
7
9
|
CONF_MAC_ADDRESS,
|
8
10
|
CONF_TEMPERATURE,
|
11
|
+
DEVICE_CLASS_BATTERY,
|
12
|
+
DEVICE_CLASS_HUMIDITY,
|
13
|
+
DEVICE_CLASS_TEMPERATURE,
|
9
14
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
10
15
|
STATE_CLASS_MEASUREMENT,
|
11
16
|
UNIT_CELSIUS,
|
12
17
|
UNIT_PERCENT,
|
13
|
-
DEVICE_CLASS_TEMPERATURE,
|
14
|
-
DEVICE_CLASS_HUMIDITY,
|
15
|
-
CONF_ID,
|
16
|
-
CONF_BINDKEY,
|
17
|
-
DEVICE_CLASS_BATTERY,
|
18
18
|
)
|
19
19
|
|
20
20
|
CODEOWNERS = ["@vevsvevs"]
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
-
|
5
|
+
CONF_CLEAR_IMPEDANCE,
|
6
6
|
CONF_ID,
|
7
|
+
CONF_IMPEDANCE,
|
8
|
+
CONF_MAC_ADDRESS,
|
7
9
|
CONF_WEIGHT,
|
10
|
+
ICON_OMEGA,
|
11
|
+
ICON_SCALE_BATHROOM,
|
8
12
|
STATE_CLASS_MEASUREMENT,
|
9
13
|
UNIT_KILOGRAM,
|
10
|
-
ICON_SCALE_BATHROOM,
|
11
14
|
UNIT_OHM,
|
12
|
-
CONF_IMPEDANCE,
|
13
|
-
ICON_OMEGA,
|
14
|
-
CONF_CLEAR_IMPEDANCE,
|
15
15
|
)
|
16
16
|
|
17
17
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,23 +1,23 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import binary_sensor, esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, binary_sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
|
-
|
5
|
+
CONF_BATTERY_LEVEL,
|
6
6
|
CONF_BINDKEY,
|
7
|
+
CONF_IDLE_TIME,
|
8
|
+
CONF_ILLUMINANCE,
|
7
9
|
CONF_LIGHT,
|
8
|
-
|
10
|
+
CONF_MAC_ADDRESS,
|
9
11
|
DEVICE_CLASS_BATTERY,
|
10
12
|
DEVICE_CLASS_ILLUMINANCE,
|
11
13
|
DEVICE_CLASS_LIGHT,
|
12
14
|
DEVICE_CLASS_MOTION,
|
13
15
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
16
|
+
ICON_TIMELAPSE,
|
14
17
|
STATE_CLASS_MEASUREMENT,
|
15
|
-
UNIT_PERCENT,
|
16
|
-
CONF_IDLE_TIME,
|
17
|
-
CONF_ILLUMINANCE,
|
18
|
-
UNIT_MINUTE,
|
19
18
|
UNIT_LUX,
|
20
|
-
|
19
|
+
UNIT_MINUTE,
|
20
|
+
UNIT_PERCENT,
|
21
21
|
)
|
22
22
|
|
23
23
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
@@ -1,12 +1,7 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import binary_sensor, esp32_ble_tracker
|
4
|
-
|
5
|
-
|
6
|
-
CONF_TIMEOUT,
|
7
|
-
DEVICE_CLASS_MOTION,
|
8
|
-
)
|
9
|
-
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import CONF_MAC_ADDRESS, CONF_TIMEOUT, DEVICE_CLASS_MOTION
|
10
5
|
|
11
6
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
12
7
|
AUTO_LOAD = ["xiaomi_ble"]
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import esp32_ble_tracker
|
4
|
-
|
5
|
-
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import CONF_BINDKEY, CONF_ID, CONF_MAC_ADDRESS
|
6
5
|
|
7
6
|
AUTO_LOAD = ["xiaomi_ble"]
|
8
7
|
CODEOWNERS = ["@jesserockz"]
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import binary_sensor
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import (
|
5
|
+
CONF_BUTTON,
|
6
|
+
CONF_ID,
|
5
7
|
CONF_LIGHT,
|
6
8
|
CONF_MOTION,
|
7
9
|
CONF_TIMEOUT,
|
8
10
|
DEVICE_CLASS_LIGHT,
|
9
11
|
DEVICE_CLASS_MOTION,
|
10
|
-
CONF_ID,
|
11
|
-
CONF_BUTTON,
|
12
12
|
)
|
13
13
|
from esphome.core import TimePeriod
|
14
14
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import sensor
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
|
+
CONF_ID,
|
7
|
+
DEVICE_CLASS_BATTERY,
|
6
8
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
7
9
|
STATE_CLASS_MEASUREMENT,
|
8
10
|
UNIT_PERCENT,
|
9
|
-
CONF_ID,
|
10
|
-
DEVICE_CLASS_BATTERY,
|
11
11
|
)
|
12
12
|
|
13
13
|
from . import XiaomiRTCGQ02LM
|
@@ -1,18 +1,17 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import binary_sensor, esp32_ble_tracker, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import sensor, binary_sensor, esp32_ble_tracker
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_BATTERY_LEVEL,
|
6
6
|
CONF_MAC_ADDRESS,
|
7
7
|
CONF_TABLET,
|
8
8
|
DEVICE_CLASS_BATTERY,
|
9
9
|
ENTITY_CATEGORY_DIAGNOSTIC,
|
10
|
+
ICON_BUG,
|
10
11
|
STATE_CLASS_MEASUREMENT,
|
11
12
|
UNIT_PERCENT,
|
12
|
-
ICON_BUG,
|
13
13
|
)
|
14
14
|
|
15
|
-
|
16
15
|
DEPENDENCIES = ["esp32_ble_tracker"]
|
17
16
|
AUTO_LOAD = ["xiaomi_ble", "sensor"]
|
18
17
|
|
@@ -1,6 +1,7 @@
|
|
1
|
+
from esphome import pins
|
1
2
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
3
|
from esphome.components import i2c
|
4
|
+
import esphome.config_validation as cv
|
4
5
|
from esphome.const import (
|
5
6
|
CONF_ID,
|
6
7
|
CONF_INPUT,
|
@@ -9,7 +10,6 @@ from esphome.const import (
|
|
9
10
|
CONF_NUMBER,
|
10
11
|
CONF_OUTPUT,
|
11
12
|
)
|
12
|
-
from esphome import pins
|
13
13
|
|
14
14
|
CONF_XL9535 = "xl9535"
|
15
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import climate, remote_transmitter, sensor
|
4
3
|
from esphome.components.remote_base import CONF_TRANSMITTER_ID
|
4
|
+
import esphome.config_validation as cv
|
5
5
|
from esphome.const import CONF_ID, CONF_SENSOR, CONF_SUPPORTS_COOL, CONF_SUPPORTS_HEAT
|
6
6
|
|
7
7
|
AUTO_LOAD = ["sensor"]
|
@@ -1,10 +1,7 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import i2c, sensor
|
4
|
-
|
5
|
-
|
6
|
-
STATE_CLASS_MEASUREMENT,
|
7
|
-
)
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import DEVICE_CLASS_DISTANCE, STATE_CLASS_MEASUREMENT
|
8
5
|
|
9
6
|
DEPENDENCIES = ["i2c"]
|
10
7
|
CODEOWNERS = ["@kahrendt"]
|
@@ -1,22 +1,22 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import pins
|
2
|
+
import esphome.codegen as cg
|
4
3
|
from esphome.components import sensor
|
4
|
+
import esphome.config_validation as cv
|
5
5
|
from esphome.const import (
|
6
|
-
CONF_ID,
|
7
6
|
CONF_CLOCK_PIN,
|
8
|
-
CONF_DATA_PIN,
|
9
7
|
CONF_CO2,
|
10
|
-
|
8
|
+
CONF_DATA_PIN,
|
11
9
|
CONF_HUMIDITY,
|
10
|
+
CONF_ID,
|
11
|
+
CONF_TEMPERATURE,
|
12
12
|
DEVICE_CLASS_CARBON_DIOXIDE,
|
13
13
|
DEVICE_CLASS_HUMIDITY,
|
14
14
|
DEVICE_CLASS_TEMPERATURE,
|
15
|
+
ICON_MOLECULE_CO2,
|
15
16
|
STATE_CLASS_MEASUREMENT,
|
16
|
-
UNIT_PARTS_PER_MILLION,
|
17
17
|
UNIT_CELSIUS,
|
18
|
+
UNIT_PARTS_PER_MILLION,
|
18
19
|
UNIT_PERCENT,
|
19
|
-
ICON_MOLECULE_CO2,
|
20
20
|
)
|
21
21
|
from esphome.cpp_helpers import gpio_pin_expression
|
22
22
|
|
esphome/config_validation.py
CHANGED
@@ -1499,30 +1499,9 @@ def dimensions(value):
|
|
1499
1499
|
|
1500
1500
|
|
1501
1501
|
def directory(value):
|
1502
|
-
import json
|
1503
|
-
|
1504
1502
|
value = string(value)
|
1505
1503
|
path = CORE.relative_config_path(value)
|
1506
1504
|
|
1507
|
-
if CORE.vscode and (
|
1508
|
-
not CORE.ace or os.path.abspath(path) == os.path.abspath(CORE.config_path)
|
1509
|
-
):
|
1510
|
-
print(
|
1511
|
-
json.dumps(
|
1512
|
-
{
|
1513
|
-
"type": "check_directory_exists",
|
1514
|
-
"path": path,
|
1515
|
-
}
|
1516
|
-
)
|
1517
|
-
)
|
1518
|
-
data = json.loads(input())
|
1519
|
-
assert data["type"] == "directory_exists_response"
|
1520
|
-
if data["content"]:
|
1521
|
-
return value
|
1522
|
-
raise Invalid(
|
1523
|
-
f"Could not find directory '{path}'. Please make sure it exists (full path: {os.path.abspath(path)})."
|
1524
|
-
)
|
1525
|
-
|
1526
1505
|
if not os.path.exists(path):
|
1527
1506
|
raise Invalid(
|
1528
1507
|
f"Could not find directory '{path}'. Please make sure it exists (full path: {os.path.abspath(path)})."
|
@@ -1535,30 +1514,9 @@ def directory(value):
|
|
1535
1514
|
|
1536
1515
|
|
1537
1516
|
def file_(value):
|
1538
|
-
import json
|
1539
|
-
|
1540
1517
|
value = string(value)
|
1541
1518
|
path = CORE.relative_config_path(value)
|
1542
1519
|
|
1543
|
-
if CORE.vscode and (
|
1544
|
-
not CORE.ace or os.path.abspath(path) == os.path.abspath(CORE.config_path)
|
1545
|
-
):
|
1546
|
-
print(
|
1547
|
-
json.dumps(
|
1548
|
-
{
|
1549
|
-
"type": "check_file_exists",
|
1550
|
-
"path": path,
|
1551
|
-
}
|
1552
|
-
)
|
1553
|
-
)
|
1554
|
-
data = json.loads(input())
|
1555
|
-
assert data["type"] == "file_exists_response"
|
1556
|
-
if data["content"]:
|
1557
|
-
return value
|
1558
|
-
raise Invalid(
|
1559
|
-
f"Could not find file '{path}'. Please make sure it exists (full path: {os.path.abspath(path)})."
|
1560
|
-
)
|
1561
|
-
|
1562
1520
|
if not os.path.exists(path):
|
1563
1521
|
raise Invalid(
|
1564
1522
|
f"Could not find file '{path}'. Please make sure it exists (full path: {os.path.abspath(path)})."
|
esphome/const.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"""Constants used by esphome."""
|
2
2
|
|
3
|
-
__version__ = "2025.
|
3
|
+
__version__ = "2025.4.0"
|
4
4
|
|
5
5
|
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
6
6
|
VALID_SUBSTITUTIONS_CHARACTERS = (
|
@@ -196,8 +196,10 @@ CONF_DC_PIN = "dc_pin"
|
|
196
196
|
CONF_DEASSERT_RTS_DTR = "deassert_rts_dtr"
|
197
197
|
CONF_DEBOUNCE = "debounce"
|
198
198
|
CONF_DEBUG = "debug"
|
199
|
+
CONF_DEBUG_SCHEDULER = "debug_scheduler"
|
199
200
|
CONF_DECAY_MODE = "decay_mode"
|
200
201
|
CONF_DECELERATION = "deceleration"
|
202
|
+
CONF_DEFAULT = "default"
|
201
203
|
CONF_DEFAULT_MODE = "default_mode"
|
202
204
|
CONF_DEFAULT_TARGET_TEMPERATURE_HIGH = "default_target_temperature_high"
|
203
205
|
CONF_DEFAULT_TARGET_TEMPERATURE_LOW = "default_target_temperature_low"
|
esphome/core/__init__.py
CHANGED
esphome/core/component.cpp
CHANGED
@@ -79,7 +79,7 @@ void Component::call_setup() { this->setup(); }
|
|
79
79
|
void Component::call_dump_config() {
|
80
80
|
this->dump_config();
|
81
81
|
if (this->is_failed()) {
|
82
|
-
ESP_LOGE(TAG, " Component %s is marked FAILED", this->get_component_source());
|
82
|
+
ESP_LOGE(TAG, " Component %s is marked FAILED: %s", this->get_component_source(), this->error_message_.c_str());
|
83
83
|
}
|
84
84
|
}
|
85
85
|
|
@@ -162,6 +162,8 @@ void Component::status_set_error(const char *message) {
|
|
162
162
|
this->component_state_ |= STATUS_LED_ERROR;
|
163
163
|
App.app_state_ |= STATUS_LED_ERROR;
|
164
164
|
ESP_LOGE(TAG, "Component %s set Error flag: %s", this->get_component_source(), message);
|
165
|
+
if (strcmp(message, "unspecified") != 0)
|
166
|
+
this->error_message_ = message;
|
165
167
|
}
|
166
168
|
void Component::status_clear_warning() {
|
167
169
|
if ((this->component_state_ & STATUS_LED_WARNING) == 0)
|