esphome 2025.3.3__py3-none-any.whl → 2025.4.0b1__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 +29 -7
- 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/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 +21 -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/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/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 +1 -1
- esphome/components/lvgl/defines.py +5 -2
- esphome/components/lvgl/lv_validation.py +17 -9
- esphome/components/lvgl/lvcode.py +9 -8
- esphome/components/lvgl/lvgl_esphome.h +19 -0
- esphome/components/lvgl/schemas.py +67 -18
- esphome/components/lvgl/styles.py +42 -11
- esphome/components/lvgl/trigger.py +10 -1
- esphome/components/lvgl/widgets/__init__.py +1 -2
- esphome/components/lvgl/widgets/canvas.py +403 -0
- esphome/components/lvgl/widgets/line.py +22 -32
- 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/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/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/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/const.py +3 -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-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info}/METADATA +45 -44
- {esphome-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info}/RECORD +695 -688
- {esphome-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info}/WHEEL +1 -1
- {esphome-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info/licenses}/LICENSE +0 -0
- {esphome-2025.3.3.dist-info → esphome-2025.4.0b1.dist-info}/top_level.txt +0 -0
@@ -1,17 +1,17 @@
|
|
1
|
+
from esphome import pins
|
1
2
|
import esphome.codegen as cg
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome import pins
|
4
4
|
from esphome.const import (
|
5
|
+
CONF_CALIBRATION,
|
5
6
|
CONF_CAPACITANCE,
|
6
7
|
CONF_DIV_RATIO,
|
7
8
|
CONF_INDOOR,
|
8
9
|
CONF_IRQ_PIN,
|
9
10
|
CONF_LIGHTNING_THRESHOLD,
|
10
11
|
CONF_MASK_DISTURBER,
|
11
|
-
CONF_CALIBRATION,
|
12
|
-
CONF_TUNE_ANTENNA,
|
13
12
|
CONF_NOISE_LEVEL,
|
14
13
|
CONF_SPIKE_REJECTION,
|
14
|
+
CONF_TUNE_ANTENNA,
|
15
15
|
CONF_WATCHDOG_THRESHOLD,
|
16
16
|
)
|
17
17
|
|
@@ -1,13 +1,14 @@
|
|
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_DISTANCE,
|
6
6
|
CONF_LIGHTNING_ENERGY,
|
7
|
-
UNIT_KILOMETER,
|
8
|
-
ICON_SIGNAL_DISTANCE_VARIANT,
|
9
7
|
ICON_FLASH,
|
8
|
+
ICON_SIGNAL_DISTANCE_VARIANT,
|
9
|
+
UNIT_KILOMETER,
|
10
10
|
)
|
11
|
+
|
11
12
|
from . import AS3935, CONF_AS3935_ID
|
12
13
|
|
13
14
|
DEPENDENCIES = ["as3935"]
|
@@ -1,12 +1,12 @@
|
|
1
1
|
from esphome import pins
|
2
2
|
import esphome.codegen as cg
|
3
|
-
import esphome.config_validation as cv
|
4
3
|
from esphome.components import i2c
|
4
|
+
import esphome.config_validation as cv
|
5
5
|
from esphome.const import (
|
6
|
-
CONF_ID,
|
7
6
|
CONF_DIR_PIN,
|
8
7
|
CONF_DIRECTION,
|
9
8
|
CONF_HYSTERESIS,
|
9
|
+
CONF_ID,
|
10
10
|
CONF_RANGE,
|
11
11
|
)
|
12
12
|
|
@@ -1,19 +1,20 @@
|
|
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
|
-
|
6
|
-
STATE_CLASS_MEASUREMENT,
|
7
|
-
ICON_MAGNET,
|
8
|
-
ICON_ROTATE_RIGHT,
|
5
|
+
CONF_ANGLE,
|
9
6
|
CONF_GAIN,
|
10
|
-
|
7
|
+
CONF_ID,
|
11
8
|
CONF_MAGNITUDE,
|
12
|
-
CONF_STATUS,
|
13
9
|
CONF_POSITION,
|
14
|
-
|
10
|
+
CONF_STATUS,
|
11
|
+
ENTITY_CATEGORY_DIAGNOSTIC,
|
12
|
+
ICON_MAGNET,
|
13
|
+
ICON_ROTATE_RIGHT,
|
14
|
+
STATE_CLASS_MEASUREMENT,
|
15
15
|
)
|
16
|
-
|
16
|
+
|
17
|
+
from .. import AS5600Component, as5600_ns
|
17
18
|
|
18
19
|
CODEOWNERS = ["@ammmze"]
|
19
20
|
DEPENDENCIES = ["as5600"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import i2c, sensor
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_GAIN,
|
6
6
|
CONF_ID,
|
@@ -9,7 +9,6 @@ from esphome.const import (
|
|
9
9
|
STATE_CLASS_MEASUREMENT,
|
10
10
|
)
|
11
11
|
|
12
|
-
|
13
12
|
CODEOWNERS = ["@mrgnr"]
|
14
13
|
DEPENDENCIES = ["i2c"]
|
15
14
|
|
@@ -1,13 +1,9 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import automation, core
|
4
|
-
from esphome.components import i2c
|
5
2
|
from esphome.automation import maybe_simple_id
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
import esphome.codegen as cg
|
4
|
+
from esphome.components import i2c
|
5
|
+
import esphome.config_validation as cv
|
6
|
+
from esphome.const import CONF_FREQUENCY, CONF_ID
|
11
7
|
|
12
8
|
CODEOWNERS = ["@X-Ryl669"]
|
13
9
|
DEPENDENCIES = ["i2c"]
|
@@ -1,10 +1,8 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
2
|
from esphome.components import switch
|
3
3
|
import esphome.config_validation as cv
|
4
|
-
from esphome.const import
|
5
|
-
|
6
|
-
ICON_WIFI,
|
7
|
-
)
|
4
|
+
from esphome.const import DEVICE_CLASS_SWITCH, ICON_WIFI
|
5
|
+
|
8
6
|
from .. import CONF_AT581X_ID, AT581XComponent, at581x_ns
|
9
7
|
|
10
8
|
DEPENDENCIES = ["at581x"]
|
@@ -1,14 +1,14 @@
|
|
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_BATTERY_VOLTAGE,
|
7
|
-
CONF_MAC_ADDRESS,
|
8
7
|
CONF_HUMIDITY,
|
8
|
+
CONF_ID,
|
9
|
+
CONF_MAC_ADDRESS,
|
9
10
|
CONF_SIGNAL_STRENGTH,
|
10
11
|
CONF_TEMPERATURE,
|
11
|
-
CONF_ID,
|
12
12
|
DEVICE_CLASS_BATTERY,
|
13
13
|
DEVICE_CLASS_HUMIDITY,
|
14
14
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
@@ -1,13 +1,13 @@
|
|
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_VOLTAGE,
|
6
6
|
CONF_HUMIDITY,
|
7
7
|
CONF_ID,
|
8
8
|
CONF_ILLUMINANCE,
|
9
|
-
CONF_MOISTURE,
|
10
9
|
CONF_MAC_ADDRESS,
|
10
|
+
CONF_MOISTURE,
|
11
11
|
CONF_TEMPERATURE,
|
12
12
|
DEVICE_CLASS_HUMIDITY,
|
13
13
|
DEVICE_CLASS_ILLUMINANCE,
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import automation
|
2
|
+
import esphome.codegen as cg
|
4
3
|
from esphome.components import climate, sensor
|
4
|
+
import esphome.config_validation as cv
|
5
5
|
from esphome.const import (
|
6
6
|
CONF_AWAY_CONFIG,
|
7
7
|
CONF_COOL_ACTION,
|
@@ -1,11 +1,7 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import ble_client, time
|
4
|
-
|
5
|
-
|
6
|
-
CONF_RECEIVE_TIMEOUT,
|
7
|
-
CONF_TIME_ID,
|
8
|
-
)
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import CONF_ID, CONF_RECEIVE_TIMEOUT, CONF_TIME_ID
|
9
5
|
|
10
6
|
CODEOWNERS = ["@jhansche"]
|
11
7
|
DEPENDENCIES = ["ble_client"]
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import logging
|
2
2
|
|
3
3
|
import esphome.codegen as cg
|
4
|
+
from esphome.components import ble_client, climate
|
4
5
|
import esphome.config_validation as cv
|
5
|
-
from esphome.components import climate, ble_client
|
6
6
|
from esphome.const import (
|
7
7
|
CONF_HEAT_MODE,
|
8
8
|
CONF_ID,
|
@@ -10,11 +10,8 @@ from esphome.const import (
|
|
10
10
|
CONF_TEMPERATURE_SOURCE,
|
11
11
|
CONF_TIME_ID,
|
12
12
|
)
|
13
|
-
|
14
|
-
|
15
|
-
bedjet_ns,
|
16
|
-
register_bedjet_child,
|
17
|
-
)
|
13
|
+
|
14
|
+
from .. import BEDJET_CLIENT_SCHEMA, bedjet_ns, register_bedjet_child
|
18
15
|
|
19
16
|
_LOGGER = logging.getLogger(__name__)
|
20
17
|
CODEOWNERS = ["@jhansche"]
|
@@ -1,16 +1,11 @@
|
|
1
1
|
import logging
|
2
2
|
|
3
3
|
import esphome.codegen as cg
|
4
|
-
import esphome.config_validation as cv
|
5
4
|
from esphome.components import fan
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
from .. import
|
10
|
-
BEDJET_CLIENT_SCHEMA,
|
11
|
-
bedjet_ns,
|
12
|
-
register_bedjet_child,
|
13
|
-
)
|
5
|
+
import esphome.config_validation as cv
|
6
|
+
from esphome.const import CONF_ID
|
7
|
+
|
8
|
+
from .. import BEDJET_CLIENT_SCHEMA, bedjet_ns, register_bedjet_child
|
14
9
|
|
15
10
|
_LOGGER = logging.getLogger(__name__)
|
16
11
|
CODEOWNERS = ["@jhansche"]
|
@@ -1,19 +1,16 @@
|
|
1
1
|
import logging
|
2
2
|
|
3
3
|
import esphome.codegen as cg
|
4
|
-
import esphome.config_validation as cv
|
5
4
|
from esphome.components import sensor
|
5
|
+
import esphome.config_validation as cv
|
6
6
|
from esphome.const import (
|
7
7
|
CONF_ID,
|
8
8
|
DEVICE_CLASS_TEMPERATURE,
|
9
9
|
STATE_CLASS_MEASUREMENT,
|
10
10
|
UNIT_CELSIUS,
|
11
11
|
)
|
12
|
-
|
13
|
-
|
14
|
-
bedjet_ns,
|
15
|
-
register_bedjet_child,
|
16
|
-
)
|
12
|
+
|
13
|
+
from .. import BEDJET_CLIENT_SCHEMA, bedjet_ns, register_bedjet_child
|
17
14
|
|
18
15
|
_LOGGER = logging.getLogger(__name__)
|
19
16
|
CODEOWNERS = ["@jhansche", "@javawizard"]
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from dataclasses import dataclass
|
2
2
|
|
3
|
-
import esphome.codegen as cg
|
4
|
-
import esphome.config_validation as cv
|
5
3
|
from esphome import pins
|
4
|
+
import esphome.codegen as cg
|
6
5
|
from esphome.components import libretiny, light
|
6
|
+
import esphome.config_validation as cv
|
7
7
|
from esphome.const import (
|
8
8
|
CONF_CHIPSET,
|
9
9
|
CONF_IS_RGBW,
|
@@ -1,11 +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
|
-
UNIT_LUX,
|
8
|
-
)
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import DEVICE_CLASS_ILLUMINANCE, STATE_CLASS_MEASUREMENT, UNIT_LUX
|
9
5
|
|
10
6
|
DEPENDENCIES = ["i2c"]
|
11
7
|
CODEOWNERS = ["@OttoWinter"]
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import fan, output
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_DIRECTION_OUTPUT,
|
6
6
|
CONF_OSCILLATION_OUTPUT,
|
7
7
|
CONF_OUTPUT,
|
8
8
|
CONF_OUTPUT_ID,
|
9
9
|
)
|
10
|
+
|
10
11
|
from .. import binary_ns
|
11
12
|
|
12
13
|
BinaryFan = binary_ns.class_("BinaryFan", fan.Fan, cg.Component)
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import light, output
|
4
|
-
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
from esphome.const import CONF_OUTPUT, CONF_OUTPUT_ID
|
5
|
+
|
5
6
|
from .. import binary_ns
|
6
7
|
|
7
8
|
BinaryLightOutput = binary_ns.class_("BinaryLightOutput", light.LightOutput)
|
@@ -1,15 +1,14 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import binary_sensor, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
|
4
|
-
from esphome.components import sensor, binary_sensor
|
5
4
|
from esphome.const import (
|
6
|
-
CONF_CHANNELS,
|
7
|
-
CONF_VALUE,
|
8
|
-
CONF_TYPE,
|
9
|
-
ICON_CHECK_CIRCLE_OUTLINE,
|
10
5
|
CONF_BINARY_SENSOR,
|
6
|
+
CONF_CHANNELS,
|
11
7
|
CONF_GROUP,
|
12
8
|
CONF_SUM,
|
9
|
+
CONF_TYPE,
|
10
|
+
CONF_VALUE,
|
11
|
+
ICON_CHECK_CIRCLE_OUTLINE,
|
13
12
|
)
|
14
13
|
|
15
14
|
DEPENDENCIES = ["binary_sensor"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import sensor, uart
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import (
|
5
5
|
CONF_CURRENT,
|
6
6
|
CONF_ENERGY,
|
@@ -12,15 +12,15 @@ from esphome.const import (
|
|
12
12
|
DEVICE_CLASS_CURRENT,
|
13
13
|
DEVICE_CLASS_ENERGY,
|
14
14
|
DEVICE_CLASS_POWER,
|
15
|
-
DEVICE_CLASS_VOLTAGE,
|
16
15
|
DEVICE_CLASS_TEMPERATURE,
|
16
|
+
DEVICE_CLASS_VOLTAGE,
|
17
17
|
STATE_CLASS_MEASUREMENT,
|
18
|
+
STATE_CLASS_TOTAL_INCREASING,
|
18
19
|
UNIT_AMPERE,
|
19
20
|
UNIT_CELSIUS,
|
20
21
|
UNIT_KILOWATT_HOURS,
|
21
22
|
UNIT_VOLT,
|
22
23
|
UNIT_WATT,
|
23
|
-
STATE_CLASS_TOTAL_INCREASING,
|
24
24
|
)
|
25
25
|
|
26
26
|
DEPENDENCIES = ["uart"]
|
@@ -67,7 +67,7 @@ CONF_AUTO_CONNECT = "auto_connect"
|
|
67
67
|
|
68
68
|
MULTI_CONF = True
|
69
69
|
|
70
|
-
CONFIG_SCHEMA = (
|
70
|
+
CONFIG_SCHEMA = cv.All(
|
71
71
|
cv.Schema(
|
72
72
|
{
|
73
73
|
cv.GenerateID(): cv.declare_id(BLEClient),
|
@@ -114,7 +114,8 @@ CONFIG_SCHEMA = (
|
|
114
114
|
}
|
115
115
|
)
|
116
116
|
.extend(cv.COMPONENT_SCHEMA)
|
117
|
-
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
|
117
|
+
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA),
|
118
|
+
esp32_ble_tracker.consume_connection_slots(1, "ble_client"),
|
118
119
|
)
|
119
120
|
|
120
121
|
CONF_BLE_CLIENT_ID = "ble_client_id"
|
@@ -5,13 +5,13 @@ import esphome.config_validation as cv
|
|
5
5
|
from esphome.const import (
|
6
6
|
CONF_CHARACTERISTIC_UUID,
|
7
7
|
CONF_LAMBDA,
|
8
|
+
CONF_NOTIFY,
|
8
9
|
CONF_SERVICE_UUID,
|
9
10
|
CONF_TRIGGER_ID,
|
10
11
|
CONF_TYPE,
|
11
12
|
DEVICE_CLASS_SIGNAL_STRENGTH,
|
12
13
|
STATE_CLASS_MEASUREMENT,
|
13
14
|
UNIT_DECIBEL_MILLIWATT,
|
14
|
-
CONF_NOTIFY,
|
15
15
|
)
|
16
16
|
|
17
17
|
from .. import ble_client_ns
|
@@ -8,9 +8,10 @@ AUTO_LOAD = ["esp32_ble_client", "esp32_ble_tracker"]
|
|
8
8
|
DEPENDENCIES = ["api", "esp32"]
|
9
9
|
CODEOWNERS = ["@jesserockz"]
|
10
10
|
|
11
|
+
CONF_CONNECTION_SLOTS = "connection_slots"
|
11
12
|
CONF_CACHE_SERVICES = "cache_services"
|
12
13
|
CONF_CONNECTIONS = "connections"
|
13
|
-
|
14
|
+
DEFAULT_CONNECTION_SLOTS = 3
|
14
15
|
|
15
16
|
bluetooth_proxy_ns = cg.esphome_ns.namespace("bluetooth_proxy")
|
16
17
|
|
@@ -34,32 +35,43 @@ def validate_connections(config):
|
|
34
35
|
raise cv.Invalid(
|
35
36
|
"Connections can only be used if the proxy is set to active"
|
36
37
|
)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
38
|
+
elif config[CONF_ACTIVE]:
|
39
|
+
connection_slots: int = config[CONF_CONNECTION_SLOTS]
|
40
|
+
esp32_ble_tracker.consume_connection_slots(connection_slots, "bluetooth_proxy")(
|
41
|
+
config
|
42
|
+
)
|
43
|
+
return {
|
44
|
+
**config,
|
45
|
+
CONF_CONNECTIONS: [CONNECTION_SCHEMA({}) for _ in range(connection_slots)],
|
46
|
+
}
|
44
47
|
return config
|
45
48
|
|
46
49
|
|
47
50
|
CONFIG_SCHEMA = cv.All(
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
cv.
|
54
|
-
|
55
|
-
|
56
|
-
cv.
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
51
|
+
(
|
52
|
+
cv.Schema(
|
53
|
+
{
|
54
|
+
cv.GenerateID(): cv.declare_id(BluetoothProxy),
|
55
|
+
cv.Optional(CONF_ACTIVE, default=False): cv.boolean,
|
56
|
+
cv.SplitDefault(CONF_CACHE_SERVICES, esp32_idf=True): cv.All(
|
57
|
+
cv.only_with_esp_idf, cv.boolean
|
58
|
+
),
|
59
|
+
cv.Optional(
|
60
|
+
CONF_CONNECTION_SLOTS,
|
61
|
+
default=DEFAULT_CONNECTION_SLOTS,
|
62
|
+
): cv.All(
|
63
|
+
cv.positive_int,
|
64
|
+
cv.Range(min=1, max=esp32_ble_tracker.max_connections()),
|
65
|
+
),
|
66
|
+
cv.Optional(CONF_CONNECTIONS): cv.All(
|
67
|
+
cv.ensure_list(CONNECTION_SCHEMA),
|
68
|
+
cv.Length(min=1, max=esp32_ble_tracker.max_connections()),
|
69
|
+
),
|
70
|
+
}
|
71
|
+
)
|
72
|
+
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
|
73
|
+
.extend(cv.COMPONENT_SCHEMA)
|
74
|
+
),
|
63
75
|
validate_connections,
|
64
76
|
)
|
65
77
|
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import i2c
|
4
|
-
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
|
5
|
+
from ..bme280_base import CONFIG_SCHEMA_BASE, to_code_base
|
5
6
|
|
6
7
|
AUTO_LOAD = ["bme280_base"]
|
7
8
|
DEPENDENCIES = ["i2c"]
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import spi
|
4
|
-
|
3
|
+
import esphome.config_validation as cv
|
4
|
+
|
5
|
+
from ..bme280_base import CONFIG_SCHEMA_BASE, to_code_base
|
5
6
|
|
6
7
|
AUTO_LOAD = ["bme280_base"]
|
7
8
|
CODEOWNERS = ["@apbodrov"]
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import core
|
2
|
+
import esphome.codegen as cg
|
4
3
|
from esphome.components import i2c, sensor
|
4
|
+
import esphome.config_validation as cv
|
5
5
|
from esphome.const import (
|
6
6
|
CONF_DURATION,
|
7
7
|
CONF_GAS_RESISTANCE,
|
@@ -15,11 +15,11 @@ from esphome.const import (
|
|
15
15
|
DEVICE_CLASS_HUMIDITY,
|
16
16
|
DEVICE_CLASS_PRESSURE,
|
17
17
|
DEVICE_CLASS_TEMPERATURE,
|
18
|
-
STATE_CLASS_MEASUREMENT,
|
19
|
-
UNIT_OHM,
|
20
18
|
ICON_GAS_CYLINDER,
|
19
|
+
STATE_CLASS_MEASUREMENT,
|
21
20
|
UNIT_CELSIUS,
|
22
21
|
UNIT_HECTOPASCAL,
|
22
|
+
UNIT_OHM,
|
23
23
|
UNIT_PERCENT,
|
24
24
|
)
|
25
25
|
|
@@ -1,6 +1,6 @@
|
|
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_GAS_RESISTANCE,
|
6
6
|
CONF_HUMIDITY,
|
@@ -22,11 +22,8 @@ from esphome.const import (
|
|
22
22
|
UNIT_PARTS_PER_MILLION,
|
23
23
|
UNIT_PERCENT,
|
24
24
|
)
|
25
|
-
|
26
|
-
|
27
|
-
CONF_BME680_BSEC_ID,
|
28
|
-
SAMPLE_RATE_OPTIONS,
|
29
|
-
)
|
25
|
+
|
26
|
+
from . import CONF_BME680_BSEC_ID, SAMPLE_RATE_OPTIONS, BME680BSECComponent
|
30
27
|
|
31
28
|
DEPENDENCIES = ["bme680_bsec"]
|
32
29
|
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
2
|
from esphome.components import text_sensor
|
3
|
+
import esphome.config_validation as cv
|
4
4
|
from esphome.const import CONF_IAQ_ACCURACY
|
5
|
-
|
5
|
+
|
6
|
+
from . import CONF_BME680_BSEC_ID, BME680BSECComponent
|
6
7
|
|
7
8
|
DEPENDENCIES = ["bme680_bsec"]
|
8
9
|
|