esphome 2025.5.2__py3-none-any.whl → 2025.6.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 +20 -14
- esphome/components/a4988/a4988.cpp +1 -1
- esphome/components/absolute_humidity/absolute_humidity.cpp +6 -4
- esphome/components/ac_dimmer/ac_dimmer.cpp +4 -2
- esphome/components/adc/adc_sensor_esp32.cpp +5 -3
- esphome/components/adc/adc_sensor_esp8266.cpp +5 -3
- esphome/components/adc/adc_sensor_libretiny.cpp +5 -3
- esphome/components/adc/adc_sensor_rp2040.cpp +5 -3
- esphome/components/adc128s102/adc128s102.cpp +1 -1
- esphome/components/ade7880/ade7880.cpp +28 -17
- esphome/components/ade7953_base/ade7953_base.cpp +12 -9
- esphome/components/ade7953_i2c/ade7953_i2c.cpp +1 -1
- esphome/components/ade7953_spi/ade7953_spi.cpp +1 -1
- esphome/components/ads1115/ads1115.cpp +3 -5
- esphome/components/ads1118/ads1118.cpp +2 -1
- esphome/components/ags10/ags10.cpp +3 -2
- esphome/components/aht10/aht10.cpp +27 -29
- esphome/components/aic3204/aic3204.cpp +2 -2
- esphome/components/alarm_control_panel/__init__.py +1 -0
- esphome/components/am2315c/am2315c.cpp +2 -2
- esphome/components/am2320/am2320.cpp +2 -2
- esphome/components/am43/am43_base.h +1 -1
- esphome/components/am43/cover/am43_cover.cpp +4 -2
- esphome/components/analog_threshold/analog_threshold_binary_sensor.cpp +4 -2
- esphome/components/apds9306/apds9306.cpp +8 -5
- esphome/components/apds9960/apds9960.cpp +2 -2
- esphome/components/api/__init__.py +5 -0
- esphome/components/api/api_connection.cpp +753 -379
- esphome/components/api/api_connection.h +341 -283
- esphome/components/api/api_frame_helper.cpp +349 -344
- esphome/components/api/api_frame_helper.h +121 -94
- esphome/components/api/api_pb2.cpp +5 -0
- esphome/components/api/api_pb2.h +703 -227
- esphome/components/api/api_pb2_service.cpp +12 -688
- esphome/components/api/api_pb2_service.h +53 -207
- esphome/components/api/api_server.cpp +71 -29
- esphome/components/api/api_server.h +9 -0
- esphome/components/api/client.py +5 -4
- esphome/components/api/homeassistant_service.h +1 -1
- esphome/components/api/list_entities.cpp +1 -1
- esphome/components/api/proto.cpp +1 -0
- esphome/components/api/proto.h +5 -4
- esphome/components/api/subscribe_state.cpp +8 -16
- esphome/components/as3935/as3935.cpp +3 -3
- esphome/components/as5600/as5600.cpp +9 -7
- esphome/components/as7341/as7341.cpp +7 -5
- esphome/components/at581x/at581x.cpp +13 -10
- esphome/components/atm90e26/atm90e26.cpp +2 -2
- esphome/components/atm90e32/atm90e32.cpp +3 -3
- esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +5 -3
- esphome/components/bang_bang/bang_bang_climate.cpp +8 -5
- esphome/components/bedjet/bedjet_hub.cpp +6 -4
- esphome/components/beken_spi_led_strip/led_strip.cpp +11 -7
- esphome/components/bh1750/bh1750.cpp +2 -2
- esphome/components/binary_sensor/__init__.py +1 -0
- esphome/components/binary_sensor/automation.cpp +1 -2
- esphome/components/bl0906/bl0906.cpp +1 -1
- esphome/components/bl0942/bl0942.cpp +11 -8
- esphome/components/bl0942/sensor.py +1 -1
- esphome/components/ble_client/__init__.py +5 -1
- esphome/components/ble_client/output/ble_binary_output.cpp +6 -3
- esphome/components/ble_client/sensor/ble_sensor.cpp +9 -6
- esphome/components/ble_client/text_sensor/ble_text_sensor.cpp +8 -5
- esphome/components/bluetooth_proxy/__init__.py +5 -1
- esphome/components/bluetooth_proxy/bluetooth_connection.cpp +5 -5
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +18 -16
- esphome/components/bluetooth_proxy/bluetooth_proxy.h +1 -1
- esphome/components/bme280_base/bme280_base.cpp +5 -6
- esphome/components/bme680/bme680.cpp +3 -3
- esphome/components/bme680/sensor.py +2 -2
- esphome/components/bme680_bsec/bme680_bsec.cpp +11 -7
- esphome/components/bme680_bsec/sensor.py +7 -3
- esphome/components/bme68x_bsec2/__init__.py +6 -5
- esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +17 -13
- esphome/components/bme68x_bsec2/sensor.py +4 -4
- esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +1 -0
- esphome/components/bmi160/bmi160.cpp +11 -11
- esphome/components/bmp085/bmp085.cpp +2 -2
- esphome/components/bmp280_base/bmp280_base.cpp +3 -3
- esphome/components/bmp3xx_base/bmp3xx_base.cpp +13 -13
- esphome/components/bmp581/bmp581.cpp +33 -27
- esphome/components/bp1658cj/bp1658cj.cpp +5 -3
- esphome/components/bp5758d/bp5758d.cpp +1 -1
- esphome/components/button/__init__.py +1 -0
- esphome/components/canbus/canbus.cpp +1 -1
- esphome/components/cap1188/cap1188.cpp +6 -4
- esphome/components/captive_portal/captive_portal.cpp +1 -1
- esphome/components/ccs811/ccs811.cpp +3 -2
- esphome/components/cd74hc4067/cd74hc4067.cpp +1 -1
- esphome/components/ch422g/ch422g.cpp +2 -2
- esphome/components/chsc6x/chsc6x_touchscreen.cpp +6 -4
- esphome/components/climate/__init__.py +1 -0
- esphome/components/climate/climate.cpp +12 -7
- esphome/components/climate/climate.h +1 -1
- esphome/components/climate_ir/climate_ir.cpp +7 -4
- esphome/components/cm1106/__init__.py +1 -0
- esphome/components/cm1106/cm1106.cpp +112 -0
- esphome/components/cm1106/cm1106.h +40 -0
- esphome/components/cm1106/sensor.py +72 -0
- esphome/components/const/__init__.py +1 -0
- esphome/components/cover/__init__.py +1 -0
- esphome/components/cs5460a/cs5460a.cpp +16 -11
- esphome/components/cse7761/cse7761.cpp +2 -2
- esphome/components/cse7766/cse7766.cpp +0 -5
- esphome/components/cse7766/cse7766.h +5 -1
- esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +1 -1
- esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +6 -3
- esphome/components/current_based/current_based_cover.cpp +4 -2
- esphome/components/dac7678/dac7678_output.cpp +4 -4
- esphome/components/dallas_temp/dallas_temp.cpp +2 -3
- esphome/components/daly_bms/daly_bms.cpp +2 -1
- esphome/components/dashboard_import/__init__.py +1 -2
- esphome/components/datetime/__init__.py +3 -1
- esphome/components/datetime/date_entity.cpp +5 -5
- esphome/components/datetime/datetime_base.h +0 -5
- esphome/components/datetime/datetime_entity.cpp +8 -8
- esphome/components/datetime/time_entity.cpp +4 -4
- esphome/components/debug/debug_component.cpp +1 -1
- esphome/components/debug/debug_component.h +1 -1
- esphome/components/debug/debug_esp32.cpp +4 -2
- esphome/components/deep_sleep/deep_sleep_component.cpp +11 -5
- esphome/components/deep_sleep/deep_sleep_esp32.cpp +7 -5
- esphome/components/demo/__init__.py +206 -0
- esphome/components/demo/demo_alarm_control_panel.h +65 -0
- esphome/components/demo/demo_button.h +15 -0
- esphome/components/demo/demo_date.h +34 -0
- esphome/components/demo/demo_datetime.h +40 -0
- esphome/components/demo/demo_lock.h +17 -0
- esphome/components/demo/demo_select.h +15 -0
- esphome/components/demo/demo_text.h +18 -0
- esphome/components/demo/demo_time.h +34 -0
- esphome/components/demo/demo_valve.h +54 -0
- esphome/components/dfrobot_sen0395/commands.cpp +3 -3
- esphome/components/dht/dht.cpp +29 -50
- esphome/components/dht12/dht12.cpp +2 -2
- esphome/components/display/display.h +5 -3
- esphome/components/dps310/dps310.cpp +7 -5
- esphome/components/ds1307/ds1307.cpp +2 -2
- esphome/components/dsmr/dsmr.cpp +5 -3
- esphome/components/duty_cycle/duty_cycle_sensor.cpp +2 -2
- esphome/components/duty_time/duty_time_sensor.cpp +5 -3
- esphome/components/ee895/ee895.cpp +3 -3
- esphome/components/ektf2232/touchscreen/ektf2232.cpp +1 -1
- esphome/components/emc2101/emc2101.cpp +11 -9
- esphome/components/ens160_base/ens160_base.cpp +2 -2
- esphome/components/ens210/ens210.cpp +2 -2
- esphome/components/es7210/es7210.cpp +6 -4
- esphome/components/es7243e/es7243e.cpp +1 -1
- esphome/components/es8156/es8156.cpp +1 -1
- esphome/components/es8311/es8311.cpp +8 -6
- esphome/components/es8388/__init__.py +0 -0
- esphome/components/es8388/audio_dac.py +26 -0
- esphome/components/es8388/es8388.cpp +289 -0
- esphome/components/es8388/es8388.h +81 -0
- esphome/components/es8388/es8388_const.h +83 -0
- esphome/components/es8388/select/__init__.py +47 -0
- esphome/components/es8388/select/adc_input_mic_select.cpp +12 -0
- esphome/components/es8388/select/adc_input_mic_select.h +15 -0
- esphome/components/es8388/select/dac_output_select.cpp +12 -0
- esphome/components/es8388/select/dac_output_select.h +15 -0
- esphome/components/esp32/__init__.py +118 -23
- esphome/components/esp32/boards.py +208 -125
- esphome/components/esp32/const.py +6 -0
- esphome/components/esp32/gpio.py +14 -1
- esphome/components/esp32/gpio_esp32_c5.py +45 -0
- esphome/components/esp32/gpio_esp32_p4.py +43 -0
- esphome/components/esp32/preferences.cpp +7 -7
- esphome/components/esp32_ble/__init__.py +115 -0
- esphome/components/esp32_ble/ble.cpp +101 -54
- esphome/components/esp32_ble/ble.h +24 -5
- esphome/components/esp32_ble/ble_event.h +172 -32
- esphome/components/esp32_ble/ble_scan_result.h +24 -0
- esphome/components/esp32_ble/ble_uuid.h +1 -1
- esphome/components/esp32_ble/queue.h +53 -27
- esphome/components/esp32_ble_client/ble_client_base.cpp +4 -2
- esphome/components/esp32_ble_server/__init__.py +4 -1
- esphome/components/esp32_ble_server/ble_characteristic.cpp +1 -0
- esphome/components/esp32_ble_server/ble_server.h +0 -1
- esphome/components/esp32_ble_tracker/__init__.py +7 -2
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +107 -75
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +16 -16
- esphome/components/esp32_camera/esp32_camera.cpp +35 -27
- esphome/components/esp32_camera_web_server/camera_web_server.cpp +4 -2
- esphome/components/esp32_dac/esp32_dac.cpp +2 -2
- esphome/components/esp32_improv/__init__.py +5 -1
- esphome/components/esp32_improv/esp32_improv_component.cpp +2 -2
- esphome/components/esp32_rmt_led_strip/led_strip.cpp +11 -7
- esphome/components/esp32_rmt_led_strip/light.py +5 -1
- esphome/components/esp32_touch/esp32_touch.cpp +12 -8
- esphome/components/esp8266/preferences.cpp +6 -6
- esphome/components/esp8266_pwm/esp8266_pwm.cpp +3 -3
- esphome/components/esp_ldo/__init__.py +91 -0
- esphome/components/esp_ldo/esp_ldo.cpp +43 -0
- esphome/components/esp_ldo/esp_ldo.h +43 -0
- esphome/components/esphome/ota/ota_esphome.cpp +15 -8
- esphome/components/ethernet/ethernet_component.cpp +38 -26
- esphome/components/ethernet/ethernet_component.h +1 -1
- esphome/components/event/__init__.py +1 -0
- esphome/components/exposure_notifications/exposure_notifications.cpp +1 -1
- esphome/components/ezo/ezo.cpp +1 -1
- esphome/components/ezo_pmp/ezo_pmp.cpp +1 -1
- esphome/components/factory_reset/button/factory_reset_button.cpp +1 -1
- esphome/components/factory_reset/switch/factory_reset_switch.cpp +1 -1
- esphome/components/fan/__init__.py +1 -0
- esphome/components/fan/fan.cpp +30 -19
- esphome/components/fastled_base/fastled_light.cpp +7 -5
- esphome/components/fingerprint_grow/fingerprint_grow.cpp +8 -6
- esphome/components/fs3000/fs3000.cpp +1 -1
- esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +7 -4
- esphome/components/ft63x6/ft63x6.cpp +5 -3
- esphome/components/gcja5/gcja5.cpp +0 -12
- esphome/components/gcja5/gcja5.h +8 -3
- esphome/components/gdk101/gdk101.cpp +2 -2
- esphome/components/globals/globals_component.h +13 -10
- esphome/components/gp2y1010au0f/gp2y1010au0f.cpp +4 -2
- esphome/components/gp8403/gp8403.cpp +4 -2
- esphome/components/gp8403/output/gp8403_output.cpp +4 -2
- esphome/components/gpio/one_wire/gpio_one_wire.cpp +2 -2
- esphome/components/gpio/output/gpio_binary_output.cpp +1 -1
- esphome/components/gpio/switch/gpio_switch.cpp +1 -1
- esphome/components/graphical_display_menu/graphical_display_menu.cpp +12 -8
- esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +5 -6
- esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +1 -1
- esphome/components/grove_tb6612fng/grove_tb6612fng.h +1 -1
- esphome/components/growatt_solar/growatt_solar.cpp +6 -3
- esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +1 -1
- esphome/components/haier/haier_base.cpp +2 -2
- esphome/components/haier/hon_climate.cpp +13 -6
- esphome/components/havells_solar/havells_solar.cpp +5 -2
- esphome/components/hbridge/switch/hbridge_switch.cpp +1 -1
- esphome/components/hdc1080/hdc1080.cpp +2 -2
- esphome/components/he60r/he60r.cpp +4 -2
- esphome/components/hlw8012/hlw8012.cpp +6 -4
- esphome/components/hm3301/hm3301.cpp +2 -2
- esphome/components/hmc5883l/hmc5883l.cpp +2 -2
- esphome/components/homeassistant/time/homeassistant_time.cpp +4 -2
- esphome/components/honeywell_hih_i2c/honeywell_hih.cpp +4 -4
- esphome/components/honeywellabp/honeywellabp.cpp +4 -2
- esphome/components/honeywellabp2_i2c/honeywellabp2.cpp +8 -6
- esphome/components/hte501/hte501.cpp +3 -2
- esphome/components/http_request/__init__.py +2 -2
- esphome/components/http_request/http_request.cpp +7 -5
- esphome/components/http_request/http_request_idf.cpp +4 -2
- esphome/components/http_request/ota/ota_http_request.cpp +1 -1
- esphome/components/htu21d/htu21d.cpp +2 -2
- esphome/components/htu31d/htu31d.cpp +2 -2
- esphome/components/hx711/hx711.cpp +2 -2
- esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +5 -3
- esphome/components/hyt271/hyt271.cpp +2 -2
- esphome/components/i2c/i2c_bus_arduino.cpp +14 -11
- esphome/components/i2c/i2c_bus_esp_idf.cpp +13 -11
- esphome/components/i2s_audio/__init__.py +2 -0
- esphome/components/i2s_audio/i2s_audio.cpp +3 -4
- esphome/components/i2s_audio/i2s_audio.h +1 -1
- esphome/components/i2s_audio/media_player/__init__.py +1 -1
- esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +5 -3
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +48 -30
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +2 -0
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +29 -11
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +1 -0
- esphome/components/iaqcore/iaqcore.cpp +3 -3
- esphome/components/ili9xxx/ili9xxx_display.cpp +12 -7
- esphome/components/ili9xxx/ili9xxx_display.h +1 -1
- esphome/components/image/image.cpp +1 -0
- esphome/components/ina219/ina219.cpp +2 -2
- esphome/components/ina226/ina226.cpp +8 -5
- esphome/components/ina260/ina260.cpp +1 -1
- esphome/components/ina2xx_base/ina2xx_base.cpp +13 -9
- esphome/components/ina3221/ina3221.cpp +2 -2
- esphome/components/inkplate6/display.py +12 -2
- esphome/components/inkplate6/inkplate.cpp +13 -9
- esphome/components/inkplate6/inkplate.h +7 -6
- esphome/components/integration/integration_sensor.cpp +1 -1
- esphome/components/internal_temperature/internal_temperature.cpp +4 -4
- esphome/components/json/json_util.cpp +4 -5
- esphome/components/kamstrup_kmp/kamstrup_kmp.cpp +1 -1
- esphome/components/key_collector/key_collector.cpp +4 -2
- esphome/components/kmeteriso/kmeteriso.cpp +4 -4
- esphome/components/kuntze/kuntze.cpp +4 -2
- esphome/components/lc709203f/__init__.py +1 -0
- esphome/components/lc709203f/lc709203f.cpp +299 -0
- esphome/components/lc709203f/lc709203f.h +55 -0
- esphome/components/lc709203f/sensor.py +93 -0
- esphome/components/lcd_base/lcd_display.cpp +2 -2
- esphome/components/lcd_gpio/gpio_lcd_display.cpp +5 -3
- esphome/components/lcd_menu/lcd_menu.cpp +6 -4
- esphome/components/lcd_pcf8574/pcf8574_display.cpp +6 -4
- esphome/components/ld2410/ld2410.cpp +6 -7
- esphome/components/ld2420/ld2420.cpp +9 -7
- esphome/components/ld2450/ld2450.cpp +6 -4
- esphome/components/ld2450/sensor.py +2 -2
- esphome/components/ledc/ledc_output.cpp +32 -28
- esphome/components/libretiny/const.py +1 -1
- esphome/components/libretiny/preferences.cpp +6 -7
- esphome/components/light/__init__.py +2 -1
- esphome/components/light/esp_hsv_color.h +1 -1
- esphome/components/light/light_state.cpp +9 -5
- esphome/components/light/light_state.h +15 -15
- esphome/components/light/light_transformer.h +1 -1
- esphome/components/lightwaverf/LwTx.cpp +1 -1
- esphome/components/lightwaverf/lightwaverf.cpp +1 -1
- esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +1 -1
- esphome/components/lock/__init__.py +1 -0
- esphome/components/lock/lock.h +1 -1
- esphome/components/logger/__init__.py +6 -0
- esphome/components/logger/logger.cpp +11 -20
- esphome/components/logger/logger.h +1 -2
- esphome/components/logger/logger_esp32.cpp +5 -5
- esphome/components/ltr390/ltr390.cpp +8 -5
- esphome/components/ltr501/ltr501.cpp +19 -14
- esphome/components/ltr_als_ps/ltr_als_ps.cpp +20 -13
- esphome/components/lvgl/__init__.py +2 -2
- esphome/components/lvgl/automation.py +5 -4
- esphome/components/lvgl/defines.py +0 -2
- esphome/components/lvgl/lv_validation.py +1 -3
- esphome/components/lvgl/lvcode.py +7 -8
- esphome/components/lvgl/lvgl_esphome.cpp +26 -10
- esphome/components/lvgl/schemas.py +22 -23
- esphome/components/lvgl/trigger.py +8 -3
- esphome/components/lvgl/widgets/__init__.py +2 -2
- esphome/components/lvgl/widgets/canvas.py +9 -3
- esphome/components/lvgl/widgets/line.py +2 -1
- esphome/components/lvgl/widgets/tabview.py +7 -0
- esphome/components/m5stack_8angle/m5stack_8angle.cpp +3 -3
- esphome/components/matrix_keypad/matrix_keypad.cpp +2 -2
- esphome/components/max17043/max17043.cpp +2 -2
- esphome/components/max31855/max31855.cpp +2 -1
- esphome/components/max31856/max31856.cpp +9 -11
- esphome/components/max31865/max31865.cpp +6 -4
- esphome/components/max44009/max44009.cpp +2 -2
- esphome/components/max6675/max6675.cpp +1 -1
- esphome/components/max6956/max6956.cpp +5 -3
- esphome/components/max7219/max7219.cpp +8 -6
- esphome/components/max7219digit/automation.h +52 -0
- esphome/components/max7219digit/display.py +93 -1
- esphome/components/max7219digit/max7219digit.cpp +16 -13
- esphome/components/max9611/max9611.cpp +9 -6
- esphome/components/mcp23008/mcp23008.cpp +1 -1
- esphome/components/mcp23016/mcp23016.cpp +1 -1
- esphome/components/mcp23017/mcp23017.cpp +1 -1
- esphome/components/mcp23s08/mcp23s08.cpp +1 -1
- esphome/components/mcp23s17/mcp23s17.cpp +1 -1
- esphome/components/mcp3008/mcp3008.cpp +1 -1
- esphome/components/mcp3008/sensor/mcp3008_sensor.cpp +5 -3
- esphome/components/mcp3204/mcp3204.cpp +1 -1
- esphome/components/mcp4461/mcp4461.cpp +2 -2
- esphome/components/mcp4725/mcp4725.cpp +2 -2
- esphome/components/mcp4728/mcp4728.cpp +2 -2
- esphome/components/mcp9600/mcp9600.cpp +1 -1
- esphome/components/mcp9808/mcp9808.cpp +4 -4
- esphome/components/mdns/mdns_component.cpp +8 -2
- esphome/components/mdns/mdns_component.h +3 -1
- esphome/components/mdns/mdns_esp32.cpp +2 -2
- esphome/components/media_player/__init__.py +1 -0
- esphome/components/micro_wake_word/micro_wake_word.cpp +1 -1
- esphome/components/micro_wake_word/streaming_model.cpp +10 -6
- esphome/components/micronova/micronova.h +2 -2
- esphome/components/mics_4514/mics_4514.cpp +2 -2
- esphome/components/midea/air_conditioner.cpp +7 -5
- esphome/components/midea_ir/midea_ir.cpp +1 -1
- esphome/components/mipi_spi/mipi_spi.cpp +24 -15
- esphome/components/mixer/speaker/mixer_speaker.cpp +8 -4
- esphome/components/mlx90393/sensor_mlx90393.cpp +2 -2
- esphome/components/mlx90614/mlx90614.cpp +4 -3
- esphome/components/mmc5603/mmc5603.cpp +2 -2
- esphome/components/mmc5983/mmc5983.cpp +1 -1
- esphome/components/modbus/modbus.cpp +7 -5
- esphome/components/modbus_controller/modbus_controller.cpp +6 -4
- esphome/components/modbus_controller/output/modbus_output.cpp +10 -6
- esphome/components/modbus_controller/switch/__init__.py +6 -2
- esphome/components/modbus_controller/switch/modbus_switch.cpp +4 -0
- esphome/components/modbus_controller/switch/modbus_switch.h +3 -0
- esphome/components/mpl3115a2/mpl3115a2.cpp +3 -2
- esphome/components/mpr121/mpr121.cpp +2 -2
- esphome/components/mpu6050/mpu6050.cpp +6 -6
- esphome/components/mpu6886/mpu6886.cpp +6 -6
- esphome/components/mqtt/mqtt_alarm_control_panel.cpp +7 -3
- esphome/components/mqtt/mqtt_backend_esp32.cpp +1 -1
- esphome/components/mqtt/mqtt_client.cpp +31 -24
- esphome/components/mqtt/mqtt_component.cpp +3 -3
- esphome/components/mqtt/mqtt_cover.cpp +8 -4
- esphome/components/mqtt/mqtt_fan.cpp +12 -6
- esphome/components/mqtt/mqtt_valve.cpp +4 -2
- esphome/components/ms5611/ms5611.cpp +2 -2
- esphome/components/ms8607/ms8607.cpp +2 -2
- esphome/components/msa3xx/msa3xx.cpp +16 -12
- esphome/components/my9231/my9231.cpp +7 -5
- esphome/components/nau7802/nau7802.cpp +6 -4
- esphome/components/neopixelbus/neopixelbus_light.h +2 -2
- esphome/components/network/ip_address.h +1 -1
- esphome/components/network/util.cpp +13 -0
- esphome/components/nextion/base_component.py +2 -0
- esphome/components/nextion/binary_sensor/nextion_binarysensor.cpp +3 -4
- esphome/components/nextion/display.py +34 -22
- esphome/components/nextion/nextion.cpp +182 -143
- esphome/components/nextion/nextion.h +36 -0
- esphome/components/nextion/nextion_commands.cpp +3 -3
- esphome/components/nextion/nextion_upload_arduino.cpp +69 -69
- esphome/components/nextion/nextion_upload_idf.cpp +79 -80
- esphome/components/nextion/sensor/nextion_sensor.cpp +5 -5
- esphome/components/nextion/switch/nextion_switch.cpp +2 -2
- esphome/components/nextion/text_sensor/nextion_textsensor.cpp +3 -3
- esphome/components/nfc/nci_message.h +1 -1
- esphome/components/nfc/ndef_record.h +1 -1
- esphome/components/nfc/ndef_record_text.h +1 -1
- esphome/components/nfc/ndef_record_uri.h +1 -1
- esphome/components/nfc/nfc.h +1 -1
- esphome/components/nfc/nfc_tag.h +1 -1
- esphome/components/noblex/noblex.cpp +1 -1
- esphome/components/npi19/npi19.cpp +5 -7
- esphome/components/number/__init__.py +11 -0
- esphome/components/number/number.cpp +1 -1
- esphome/components/number/number.h +0 -4
- esphome/components/online_image/__init__.py +13 -1
- esphome/components/online_image/online_image.cpp +26 -4
- esphome/components/online_image/online_image.h +21 -4
- esphome/components/opentherm/generate.py +3 -3
- esphome/components/opentherm/hub.cpp +11 -7
- esphome/components/opentherm/number/number.cpp +5 -3
- esphome/components/opentherm/opentherm.h +1 -1
- esphome/components/opentherm/schema.py +13 -13
- esphome/components/opentherm/validate.py +1 -1
- esphome/components/openthread/__init__.py +146 -0
- esphome/components/openthread/const.py +10 -0
- esphome/components/openthread/openthread.cpp +206 -0
- esphome/components/openthread/openthread.h +68 -0
- esphome/components/openthread/openthread_esp.cpp +164 -0
- esphome/components/openthread/tlv.py +58 -0
- esphome/components/openthread_info/__init__.py +0 -0
- esphome/components/openthread_info/openthread_info_text_sensor.cpp +24 -0
- esphome/components/openthread_info/openthread_info_text_sensor.h +218 -0
- esphome/components/openthread_info/text_sensor.py +105 -0
- esphome/components/output/float_output.cpp +1 -1
- esphome/components/output/switch/output_switch.cpp +1 -1
- esphome/components/packet_transport/packet_transport.cpp +6 -4
- esphome/components/pca6416a/pca6416a.cpp +2 -2
- esphome/components/pca9554/pca9554.cpp +6 -4
- esphome/components/pca9685/pca9685_output.cpp +12 -8
- esphome/components/pcd8544/pcd_8544.cpp +1 -1
- esphome/components/pcf85063/pcf85063.cpp +2 -2
- esphome/components/pcf8563/pcf8563.cpp +2 -2
- esphome/components/pcf8574/pcf8574.cpp +2 -2
- esphome/components/pid/pid_climate.cpp +8 -5
- esphome/components/pid/pid_climate.h +1 -1
- esphome/components/pid/sensor/pid_climate_sensor.cpp +1 -1
- esphome/components/pipsolar/output/pipsolar_output.cpp +1 -1
- esphome/components/pipsolar/pipsolar.cpp +3 -3
- esphome/components/pm1006/pm1006.cpp +3 -7
- esphome/components/pm1006/pm1006.h +4 -1
- esphome/components/pm2005/pm2005.cpp +12 -13
- esphome/components/pm2005/sensor.py +1 -1
- esphome/components/pmsa003i/pmsa003i.cpp +2 -2
- esphome/components/pmsx003/pmsx003.cpp +0 -4
- esphome/components/pmsx003/pmsx003.h +5 -2
- esphome/components/pmwcs3/pmwcs3.cpp +9 -13
- esphome/components/pmwcs3/pmwcs3.h +0 -1
- esphome/components/pn532/pn532.cpp +7 -7
- esphome/components/pn532/pn532.h +1 -1
- esphome/components/pn532_spi/pn532_spi.cpp +1 -1
- esphome/components/pn7150/pn7150.cpp +4 -4
- esphome/components/pn7160/pn7160.cpp +4 -4
- esphome/components/power_supply/power_supply.cpp +6 -4
- esphome/components/power_supply/power_supply.h +1 -1
- esphome/components/prometheus/__init__.py +0 -1
- esphome/components/psram/__init__.py +59 -35
- esphome/components/pulse_counter/pulse_counter_sensor.cpp +7 -4
- esphome/components/pvvx_mithermometer/display/pvvx_display.cpp +8 -5
- esphome/components/pylontech/pylontech.cpp +2 -2
- esphome/components/pylontech/sensor/pylontech_sensor.cpp +4 -2
- esphome/components/pylontech/text_sensor/pylontech_text_sensor.cpp +4 -2
- esphome/components/pzemac/pzemac.cpp +4 -2
- esphome/components/pzemdc/pzemdc.cpp +4 -2
- esphome/components/qmc5883l/qmc5883l.cpp +2 -2
- esphome/components/qmp6988/qmp6988.cpp +2 -2
- esphome/components/qmp6988/qmp6988.h +1 -1
- esphome/components/qr_code/qr_code.cpp +5 -3
- esphome/components/qspi_dbi/qspi_dbi.cpp +1 -1
- esphome/components/qwiic_pir/qwiic_pir.cpp +26 -28
- esphome/components/rc522/rc522.cpp +5 -5
- esphome/components/rdm6300/rdm6300.cpp +1 -0
- esphome/components/remote_receiver/__init__.py +10 -2
- esphome/components/remote_receiver/remote_receiver_esp32.cpp +22 -12
- esphome/components/remote_receiver/remote_receiver_esp8266.cpp +10 -7
- esphome/components/remote_receiver/remote_receiver_libretiny.cpp +10 -7
- esphome/components/remote_transmitter/__init__.py +10 -2
- esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +10 -6
- esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +5 -3
- esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +5 -3
- esphome/components/resistance/resistance_sensor.cpp +6 -3
- esphome/components/restart/button/restart_button.cpp +1 -1
- esphome/components/restart/switch/restart_switch.cpp +1 -1
- esphome/components/rotary_encoder/rotary_encoder.cpp +2 -2
- esphome/components/rp2040/__init__.py +7 -0
- esphome/components/rp2040/core.cpp +8 -1
- esphome/components/rp2040/preferences.cpp +3 -3
- esphome/components/rp2040_pio_led_strip/led_strip.cpp +11 -8
- esphome/components/rp2040_pio_led_strip/light.py +1 -1
- esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -1
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +1 -1
- esphome/components/rtttl/rtttl.cpp +11 -9
- esphome/components/safe_mode/button/safe_mode_button.cpp +1 -1
- esphome/components/safe_mode/safe_mode.cpp +9 -8
- esphome/components/safe_mode/switch/safe_mode_switch.cpp +1 -1
- esphome/components/scd30/scd30.cpp +11 -8
- esphome/components/scd4x/scd4x.cpp +12 -8
- esphome/components/sdl/display.py +40 -0
- esphome/components/sdl/sdl_esphome.cpp +2 -2
- esphome/components/sdl/sdl_esphome.h +8 -0
- esphome/components/sdm_meter/sdm_meter.cpp +5 -2
- esphome/components/sdp3x/sdp3x.cpp +11 -11
- esphome/components/sds011/sds011.cpp +5 -6
- esphome/components/sds011/sds011.h +4 -1
- esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +3 -2
- esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +1 -0
- esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +3 -2
- esphome/components/selec_meter/selec_meter.cpp +5 -2
- esphome/components/select/__init__.py +1 -0
- esphome/components/select/select.cpp +1 -1
- esphome/components/select/select.h +0 -4
- esphome/components/sen0321/sen0321.cpp +2 -2
- esphome/components/sen21231/sen21231.cpp +1 -1
- esphome/components/sen5x/sen5x.cpp +10 -7
- esphome/components/sensirion_common/i2c_sensirion.cpp +2 -1
- esphome/components/sensirion_common/i2c_sensirion.h +1 -0
- esphome/components/sensor/__init__.py +11 -1
- esphome/components/sensor/filter.h +1 -1
- esphome/components/sensor/sensor.cpp +8 -4
- esphome/components/sensor/sensor.h +12 -11
- esphome/components/servo/servo.cpp +12 -9
- esphome/components/servo/servo.h +1 -1
- esphome/components/sfa30/sfa30.cpp +1 -1
- esphome/components/sgp30/sgp30.cpp +10 -8
- esphome/components/sgp4x/sgp4x.cpp +49 -61
- esphome/components/sgp4x/sgp4x.h +0 -1
- esphome/components/shelly_dimmer/shelly_dimmer.cpp +11 -7
- esphome/components/sht3xd/sht3xd.cpp +1 -1
- esphome/components/sht4x/sht4x.cpp +2 -2
- esphome/components/shtcx/shtcx.cpp +13 -16
- esphome/components/shutdown/button/shutdown_button.cpp +1 -1
- esphome/components/shutdown/switch/shutdown_switch.cpp +1 -1
- esphome/components/sim800l/sim800l.cpp +2 -2
- esphome/components/slow_pwm/slow_pwm_output.cpp +4 -2
- esphome/components/sm16716/sm16716.cpp +1 -1
- esphome/components/sm2135/sm2135.cpp +1 -1
- esphome/components/sm2235/sm2235.cpp +5 -3
- esphome/components/sm2335/sm2335.cpp +5 -3
- esphome/components/sml/sml.cpp +1 -1
- esphome/components/sn74hc165/sn74hc165.cpp +1 -2
- esphome/components/sn74hc595/sn74hc595.cpp +1 -2
- esphome/components/sntp/sntp_component.cpp +1 -1
- esphome/components/socket/__init__.py +2 -0
- esphome/components/socket/bsd_sockets_impl.cpp +51 -7
- esphome/components/socket/lwip_raw_tcp_impl.cpp +5 -0
- esphome/components/socket/lwip_sockets_impl.cpp +51 -7
- esphome/components/socket/socket.cpp +31 -0
- esphome/components/socket/socket.h +27 -1
- esphome/components/sonoff_d1/sonoff_d1.cpp +7 -4
- esphome/components/sonoff_d1/sonoff_d1.h +2 -2
- esphome/components/sound_level/sound_level.cpp +4 -2
- esphome/components/speaker/media_player/__init__.py +3 -0
- esphome/components/speaker/media_player/speaker_media_player.cpp +1 -3
- esphome/components/speaker/media_player/speaker_media_player.h +6 -0
- esphome/components/spi/__init__.py +10 -2
- esphome/components/spi/spi.cpp +4 -4
- esphome/components/spi/spi_arduino.cpp +22 -9
- esphome/components/spi_device/spi_device.cpp +1 -2
- esphome/components/sprinkler/sprinkler.cpp +9 -6
- esphome/components/sps30/sps30.cpp +16 -15
- esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
- esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +11 -8
- esphome/components/ssd1306_spi/ssd1306_spi.cpp +10 -7
- esphome/components/ssd1322_base/ssd1322_base.cpp +1 -1
- esphome/components/ssd1322_spi/ssd1322_spi.cpp +1 -1
- esphome/components/ssd1325_base/ssd1325_base.cpp +1 -1
- esphome/components/ssd1325_spi/ssd1325_spi.cpp +1 -1
- esphome/components/ssd1327_base/ssd1327_base.cpp +1 -1
- esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +2 -2
- esphome/components/ssd1327_spi/ssd1327_spi.cpp +1 -1
- esphome/components/ssd1331_base/ssd1331_base.cpp +1 -1
- esphome/components/ssd1331_spi/ssd1331_spi.cpp +1 -1
- esphome/components/ssd1351_base/ssd1351_base.cpp +1 -1
- esphome/components/ssd1351_spi/ssd1351_spi.cpp +1 -1
- esphome/components/st7567_base/st7567_base.cpp +3 -3
- esphome/components/st7567_i2c/st7567_i2c.cpp +7 -5
- esphome/components/st7567_spi/st7567_spi.cpp +1 -1
- esphome/components/st7701s/st7701s.cpp +4 -2
- esphome/components/st7735/st7735.cpp +3 -3
- esphome/components/st7789v/st7789v.cpp +10 -7
- esphome/components/st7920/st7920.cpp +6 -4
- esphome/components/statsd/statsd.cpp +9 -5
- esphome/components/status_led/light/status_led_light.cpp +3 -3
- esphome/components/status_led/light/status_led_light.h +1 -1
- esphome/components/status_led/status_led.cpp +1 -1
- esphome/components/stepper/stepper.h +5 -3
- esphome/components/sts3x/sts3x.cpp +2 -2
- esphome/components/switch/__init__.py +1 -0
- esphome/components/switch/switch.cpp +18 -12
- esphome/components/switch/switch.h +14 -8
- esphome/components/sx1509/__init__.py +53 -20
- esphome/components/sx1509/sx1509.cpp +29 -5
- esphome/components/sx1509/sx1509.h +9 -1
- esphome/components/t6615/t6615.cpp +1 -0
- esphome/components/tc74/tc74.cpp +1 -1
- esphome/components/tca9548a/tca9548a.cpp +1 -1
- esphome/components/tca9555/tca9555.cpp +2 -2
- esphome/components/tcs34725/tcs34725.cpp +4 -4
- esphome/components/tee501/tee501.cpp +3 -2
- esphome/components/tem3200/tem3200.cpp +5 -6
- esphome/components/template/alarm_control_panel/__init__.py +6 -0
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +43 -12
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +4 -1
- esphome/components/template/cover/template_cover.cpp +1 -1
- esphome/components/template/select/template_select.cpp +6 -4
- esphome/components/template/text/template_text.cpp +2 -3
- esphome/components/template/valve/template_valve.cpp +5 -3
- esphome/components/text/__init__.py +10 -11
- esphome/components/text/text.cpp +1 -1
- esphome/components/text/text.h +0 -4
- esphome/components/text_sensor/__init__.py +1 -0
- esphome/components/text_sensor/text_sensor.cpp +8 -4
- esphome/components/text_sensor/text_sensor.h +6 -6
- esphome/components/thermostat/thermostat_climate.cpp +67 -43
- esphome/components/time/__init__.py +1 -2
- esphome/components/time_based/time_based_cover.cpp +4 -2
- esphome/components/tlc59208f/tlc59208f_output.cpp +8 -6
- esphome/components/tm1621/tm1621.cpp +3 -3
- esphome/components/tm1637/tm1637.cpp +9 -7
- esphome/components/tm1638/tm1638.cpp +7 -5
- esphome/components/tm1651/tm1651.cpp +2 -2
- esphome/components/tmp102/tmp102.cpp +1 -3
- esphome/components/tmp102/tmp102.h +0 -3
- esphome/components/tmp1075/tmp1075.cpp +12 -9
- esphome/components/tmp117/tmp117.cpp +2 -2
- esphome/components/tof10120/tof10120_sensor.cpp +2 -2
- esphome/components/tormatic/tormatic_cover.cpp +4 -2
- esphome/components/tsl2561/tsl2561.cpp +7 -5
- esphome/components/tsl2591/tsl2591.cpp +25 -27
- esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
- esphome/components/ttp229_bsf/ttp229_bsf.cpp +1 -1
- esphome/components/ttp229_lsf/ttp229_lsf.cpp +2 -2
- esphome/components/tuya/select/tuya_select.cpp +5 -3
- esphome/components/tx20/tx20.cpp +3 -3
- esphome/components/uart/__init__.py +4 -5
- esphome/components/uart/button/uart_button.cpp +1 -1
- esphome/components/uart/switch/uart_switch.cpp +2 -2
- esphome/components/uart/uart.cpp +2 -2
- esphome/components/uart/uart_component_esp32_arduino.cpp +8 -6
- esphome/components/uart/uart_component_esp8266.cpp +9 -7
- esphome/components/uart/uart_component_esp_idf.cpp +9 -7
- esphome/components/uart/uart_component_host.cpp +11 -8
- esphome/components/uart/uart_component_libretiny.cpp +8 -6
- esphome/components/uart/uart_component_rp2040.cpp +8 -6
- esphome/components/udp/udp_component.cpp +9 -5
- esphome/components/ufire_ec/ufire_ec.cpp +5 -3
- esphome/components/ufire_ise/ufire_ise.cpp +1 -1
- esphome/components/ultrasonic/ultrasonic_sensor.cpp +5 -3
- esphome/components/update/__init__.py +1 -0
- esphome/components/update/update_entity.cpp +1 -1
- esphome/components/update/update_entity.h +0 -3
- esphome/components/uponor_smatrix/climate/uponor_smatrix_climate.cpp +1 -1
- esphome/components/uponor_smatrix/sensor/uponor_smatrix_sensor.cpp +4 -2
- esphome/components/uponor_smatrix/uponor_smatrix.cpp +2 -1
- esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp +1 -1
- esphome/components/usb_host/__init__.py +64 -0
- esphome/components/usb_host/usb_host.h +116 -0
- esphome/components/usb_host/usb_host_client.cpp +394 -0
- esphome/components/usb_host/usb_host_component.cpp +35 -0
- esphome/components/usb_uart/__init__.py +134 -0
- esphome/components/usb_uart/ch34x.cpp +80 -0
- esphome/components/usb_uart/cp210x.cpp +126 -0
- esphome/components/usb_uart/usb_uart.cpp +328 -0
- esphome/components/usb_uart/usb_uart.h +151 -0
- esphome/components/valve/__init__.py +1 -0
- esphome/components/veml3235/veml3235.cpp +13 -9
- esphome/components/veml7700/veml7700.cpp +10 -6
- esphome/components/voice_assistant/voice_assistant.cpp +7 -7
- esphome/components/wake_on_lan/wake_on_lan.cpp +1 -1
- esphome/components/waveshare_epaper/waveshare_epaper.cpp +1 -1
- esphome/components/web_server/server_index_v2.h +632 -630
- esphome/components/web_server/server_index_v3.h +411 -409
- esphome/components/web_server/web_server.cpp +5 -3
- esphome/components/web_server_base/web_server_base.cpp +1 -1
- esphome/components/web_server_idf/__init__.py +0 -2
- esphome/components/web_server_idf/utils.cpp +1 -1
- esphome/components/web_server_idf/web_server_idf.cpp +7 -3
- esphome/components/web_server_idf/web_server_idf.h +7 -0
- esphome/components/weikai/__init__.py +2 -0
- esphome/components/weikai/weikai.cpp +24 -22
- esphome/components/weikai_i2c/weikai_i2c.cpp +14 -9
- esphome/components/weikai_spi/weikai_spi.cpp +11 -6
- esphome/components/wiegand/wiegand.cpp +1 -1
- esphome/components/wifi/wifi_component.cpp +50 -37
- esphome/components/wifi/wifi_component.h +7 -4
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +2 -2
- esphome/components/wifi/wifi_component_esp8266.cpp +3 -3
- esphome/components/wifi/wifi_component_libretiny.cpp +4 -4
- esphome/components/wireguard/wireguard.cpp +21 -21
- esphome/components/wl_134/text_sensor.py +1 -2
- esphome/components/wled/wled_light_effect.cpp +1 -1
- esphome/components/x9c/x9c.cpp +5 -3
- esphome/components/xgzp68xx/xgzp68xx.cpp +8 -6
- esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +4 -2
- esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +4 -2
- esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +4 -2
- esphome/components/xiaomi_hhccjcy10/xiaomi_hhccjcy10.cpp +1 -1
- esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +4 -2
- esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +4 -2
- esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +4 -2
- esphome/components/xl9535/xl9535.cpp +2 -2
- esphome/components/xpt2046/touchscreen/xpt2046.cpp +12 -11
- esphome/components/xpt2046/touchscreen/xpt2046.h +2 -2
- esphome/config.py +3 -2
- esphome/config_validation.py +46 -17
- esphome/const.py +10 -1
- esphome/core/__init__.py +37 -18
- esphome/core/application.cpp +197 -8
- esphome/core/application.h +116 -6
- esphome/core/component.cpp +36 -15
- esphome/core/component.h +43 -13
- esphome/core/config.py +12 -0
- esphome/core/defines.h +10 -2
- esphome/core/entity_base.cpp +4 -16
- esphome/core/entity_base.h +27 -13
- esphome/core/helpers.cpp +1 -1
- esphome/core/helpers.h +5 -5
- esphome/core/log.h +2 -0
- esphome/core/log_const_en.h +4 -0
- esphome/core/scheduler.cpp +2 -2
- esphome/coroutine.py +3 -4
- esphome/cpp_generator.py +32 -32
- esphome/dashboard/core.py +2 -2
- esphome/dashboard/web_server.py +2 -2
- esphome/git.py +4 -4
- esphome/helpers.py +5 -6
- esphome/loader.py +8 -7
- esphome/log.py +7 -1
- esphome/platformio_api.py +2 -3
- esphome/storage_json.py +13 -5
- esphome/types.py +12 -13
- esphome/util.py +1 -2
- esphome/wizard.py +0 -16
- esphome/writer.py +5 -3
- esphome/yaml_util.py +6 -1
- esphome/zeroconf.py +1 -1
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/METADATA +12 -11
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/RECORD +750 -696
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/WHEEL +1 -1
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -59,6 +59,8 @@ void MDNSComponent::compile_records_() {
|
|
59
59
|
service.txt_records.push_back({"network", "wifi"});
|
60
60
|
#elif defined(USE_ETHERNET)
|
61
61
|
service.txt_records.push_back({"network", "ethernet"});
|
62
|
+
#elif defined(USE_OPENTHREAD)
|
63
|
+
service.txt_records.push_back({"network", "thread"});
|
62
64
|
#endif
|
63
65
|
|
64
66
|
#ifdef USE_API_NOISE
|
@@ -117,8 +119,10 @@ void MDNSComponent::compile_records_() {
|
|
117
119
|
}
|
118
120
|
|
119
121
|
void MDNSComponent::dump_config() {
|
120
|
-
ESP_LOGCONFIG(TAG,
|
121
|
-
|
122
|
+
ESP_LOGCONFIG(TAG,
|
123
|
+
"mDNS:\n"
|
124
|
+
" Hostname: %s",
|
125
|
+
this->hostname_.c_str());
|
122
126
|
ESP_LOGV(TAG, " Services:");
|
123
127
|
for (const auto &service : this->services_) {
|
124
128
|
ESP_LOGV(TAG, " - %s, %s, %d", service.service_type.c_str(), service.proto.c_str(),
|
@@ -130,6 +134,8 @@ void MDNSComponent::dump_config() {
|
|
130
134
|
}
|
131
135
|
}
|
132
136
|
|
137
|
+
std::vector<MDNSService> MDNSComponent::get_services() { return this->services_; }
|
138
|
+
|
133
139
|
} // namespace mdns
|
134
140
|
} // namespace esphome
|
135
141
|
#endif
|
@@ -33,10 +33,12 @@ class MDNSComponent : public Component {
|
|
33
33
|
#if (defined(USE_ESP8266) || defined(USE_RP2040)) && defined(USE_ARDUINO)
|
34
34
|
void loop() override;
|
35
35
|
#endif
|
36
|
-
float get_setup_priority() const override { return setup_priority::
|
36
|
+
float get_setup_priority() const override { return setup_priority::AFTER_CONNECTION; }
|
37
37
|
|
38
38
|
void add_extra_service(MDNSService service) { services_extra_.push_back(std::move(service)); }
|
39
39
|
|
40
|
+
std::vector<MDNSService> get_services();
|
41
|
+
|
40
42
|
void on_shutdown() override;
|
41
43
|
|
42
44
|
protected:
|
@@ -17,7 +17,7 @@ void MDNSComponent::setup() {
|
|
17
17
|
|
18
18
|
esp_err_t err = mdns_init();
|
19
19
|
if (err != ESP_OK) {
|
20
|
-
ESP_LOGW(TAG, "
|
20
|
+
ESP_LOGW(TAG, "Init failed: %s", esp_err_to_name(err));
|
21
21
|
this->mark_failed();
|
22
22
|
return;
|
23
23
|
}
|
@@ -45,7 +45,7 @@ void MDNSComponent::setup() {
|
|
45
45
|
}
|
46
46
|
|
47
47
|
if (err != ESP_OK) {
|
48
|
-
ESP_LOGW(TAG, "Failed to register
|
48
|
+
ESP_LOGW(TAG, "Failed to register service %s: %s", service.service_type.c_str(), esp_err_to_name(err));
|
49
49
|
}
|
50
50
|
}
|
51
51
|
}
|
@@ -103,6 +103,7 @@ async def register_media_player(var, config):
|
|
103
103
|
if not CORE.has_id(config[CONF_ID]):
|
104
104
|
var = cg.Pvariable(config[CONF_ID], var)
|
105
105
|
cg.add(cg.App.register_media_player(var))
|
106
|
+
CORE.register_platform_component("media_player", var)
|
106
107
|
await setup_media_player_core_(var, config)
|
107
108
|
|
108
109
|
|
@@ -72,7 +72,7 @@ void MicroWakeWord::dump_config() {
|
|
72
72
|
}
|
73
73
|
|
74
74
|
void MicroWakeWord::setup() {
|
75
|
-
ESP_LOGCONFIG(TAG, "
|
75
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
76
76
|
|
77
77
|
this->frontend_config_.window.size_ms = FEATURE_DURATION_MS;
|
78
78
|
this->frontend_config_.window.step_size_ms = this->features_step_size_;
|
@@ -11,15 +11,19 @@ namespace esphome {
|
|
11
11
|
namespace micro_wake_word {
|
12
12
|
|
13
13
|
void WakeWordModel::log_model_config() {
|
14
|
-
ESP_LOGCONFIG(TAG,
|
15
|
-
|
16
|
-
|
14
|
+
ESP_LOGCONFIG(TAG,
|
15
|
+
" - Wake Word: %s\n"
|
16
|
+
" Probability cutoff: %.2f\n"
|
17
|
+
" Sliding window size: %d",
|
18
|
+
this->wake_word_.c_str(), this->probability_cutoff_ / 255.0f, this->sliding_window_size_);
|
17
19
|
}
|
18
20
|
|
19
21
|
void VADModel::log_model_config() {
|
20
|
-
ESP_LOGCONFIG(TAG,
|
21
|
-
|
22
|
-
|
22
|
+
ESP_LOGCONFIG(TAG,
|
23
|
+
" - VAD Model\n"
|
24
|
+
" Probability cutoff: %.2f\n"
|
25
|
+
" Sliding window size: %d",
|
26
|
+
this->probability_cutoff_ / 255.0f, this->sliding_window_size_);
|
23
27
|
}
|
24
28
|
|
25
29
|
bool StreamingModel::load_model_() {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
|
-
#include "esphome/core/component.h"
|
4
3
|
#include "esphome/components/uart/uart.h"
|
5
|
-
#include "esphome/core/
|
4
|
+
#include "esphome/core/component.h"
|
6
5
|
#include "esphome/core/defines.h"
|
7
6
|
#include "esphome/core/helpers.h"
|
7
|
+
#include "esphome/core/log.h"
|
8
8
|
|
9
9
|
#include <vector>
|
10
10
|
|
@@ -12,11 +12,11 @@ static const uint8_t SENSOR_REGISTER = 0x04;
|
|
12
12
|
static const uint8_t POWER_MODE_REGISTER = 0x0a;
|
13
13
|
|
14
14
|
void MICS4514Component::setup() {
|
15
|
-
ESP_LOGCONFIG(TAG, "
|
15
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
16
16
|
uint8_t power_mode;
|
17
17
|
this->read_register(POWER_MODE_REGISTER, &power_mode, 1);
|
18
18
|
if (power_mode == 0x00) {
|
19
|
-
ESP_LOGCONFIG(TAG, "Waking up MICS 4514, sensors will have data after 3 minutes
|
19
|
+
ESP_LOGCONFIG(TAG, "Waking up MICS 4514, sensors will have data after 3 minutes");
|
20
20
|
power_mode = 0x01;
|
21
21
|
this->write_register(POWER_MODE_REGISTER, &power_mode, 1);
|
22
22
|
delay(100); // NOLINT
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#ifdef USE_ARDUINO
|
2
2
|
|
3
|
-
#include "esphome/core/log.h"
|
4
3
|
#include "esphome/core/helpers.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
5
|
#include "air_conditioner.h"
|
6
6
|
#include "ac_adapter.h"
|
7
7
|
#include <cmath>
|
@@ -103,10 +103,12 @@ ClimateTraits AirConditioner::traits() {
|
|
103
103
|
}
|
104
104
|
|
105
105
|
void AirConditioner::dump_config() {
|
106
|
-
ESP_LOGCONFIG(Constants::TAG,
|
107
|
-
|
108
|
-
|
109
|
-
|
106
|
+
ESP_LOGCONFIG(Constants::TAG,
|
107
|
+
"MideaDongle:\n"
|
108
|
+
" [x] Period: %dms\n"
|
109
|
+
" [x] Response timeout: %dms\n"
|
110
|
+
" [x] Request attempts: %d",
|
111
|
+
this->base_.getPeriod(), this->base_.getTimeout(), this->base_.getNumAttempts());
|
110
112
|
#ifdef USE_REMOTE_TRANSMITTER
|
111
113
|
ESP_LOGCONFIG(Constants::TAG, " [x] Using RemoteTransmitter");
|
112
114
|
#endif
|
@@ -5,7 +5,7 @@ namespace esphome {
|
|
5
5
|
namespace mipi_spi {
|
6
6
|
|
7
7
|
void MipiSpi::setup() {
|
8
|
-
ESP_LOGCONFIG(TAG, "
|
8
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
9
9
|
this->spi_setup();
|
10
10
|
if (this->dc_pin_ != nullptr) {
|
11
11
|
this->dc_pin_->setup();
|
@@ -447,21 +447,28 @@ void MipiSpi::write_command_(uint8_t cmd, const uint8_t *bytes, size_t len) {
|
|
447
447
|
}
|
448
448
|
|
449
449
|
void MipiSpi::dump_config() {
|
450
|
-
ESP_LOGCONFIG(TAG,
|
451
|
-
|
452
|
-
|
453
|
-
|
450
|
+
ESP_LOGCONFIG(TAG,
|
451
|
+
"MIPI_SPI Display\n"
|
452
|
+
" Model: %s\n"
|
453
|
+
" Width: %u\n"
|
454
|
+
" Height: %u",
|
455
|
+
this->model_, this->width_, this->height_);
|
454
456
|
if (this->offset_width_ != 0)
|
455
457
|
ESP_LOGCONFIG(TAG, " Offset width: %u", this->offset_width_);
|
456
458
|
if (this->offset_height_ != 0)
|
457
459
|
ESP_LOGCONFIG(TAG, " Offset height: %u", this->offset_height_);
|
458
|
-
ESP_LOGCONFIG(TAG,
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
460
|
+
ESP_LOGCONFIG(TAG,
|
461
|
+
" Swap X/Y: %s\n"
|
462
|
+
" Mirror X: %s\n"
|
463
|
+
" Mirror Y: %s\n"
|
464
|
+
" Color depth: %d bits\n"
|
465
|
+
" Invert colors: %s\n"
|
466
|
+
" Color order: %s\n"
|
467
|
+
" Pixel mode: %s",
|
468
|
+
YESNO(this->madctl_ & MADCTL_MV), YESNO(this->madctl_ & (MADCTL_MX | MADCTL_XFLIP)),
|
469
|
+
YESNO(this->madctl_ & (MADCTL_MY | MADCTL_YFLIP)),
|
470
|
+
this->color_depth_ == display::COLOR_BITNESS_565 ? 16 : 8, YESNO(this->invert_colors_),
|
471
|
+
this->madctl_ & MADCTL_BGR ? "BGR" : "RGB", this->pixel_mode_ == PIXEL_MODE_18 ? "18bit" : "16bit");
|
465
472
|
if (this->brightness_.has_value())
|
466
473
|
ESP_LOGCONFIG(TAG, " Brightness: %u", this->brightness_.value());
|
467
474
|
if (this->spi_16_)
|
@@ -472,9 +479,11 @@ void MipiSpi::dump_config() {
|
|
472
479
|
LOG_PIN(" CS Pin: ", this->cs_);
|
473
480
|
LOG_PIN(" Reset Pin: ", this->reset_pin_);
|
474
481
|
LOG_PIN(" DC Pin: ", this->dc_pin_);
|
475
|
-
ESP_LOGCONFIG(TAG,
|
476
|
-
|
477
|
-
|
482
|
+
ESP_LOGCONFIG(TAG,
|
483
|
+
" SPI Mode: %d\n"
|
484
|
+
" SPI Data rate: %dMHz\n"
|
485
|
+
" SPI Bus width: %d",
|
486
|
+
this->mode_, static_cast<unsigned>(this->data_rate_ / 1000000), this->bus_width_);
|
478
487
|
}
|
479
488
|
|
480
489
|
} // namespace mipi_spi
|
@@ -43,8 +43,10 @@ enum MixerEventGroupBits : uint32_t {
|
|
43
43
|
};
|
44
44
|
|
45
45
|
void SourceSpeaker::dump_config() {
|
46
|
-
ESP_LOGCONFIG(TAG,
|
47
|
-
|
46
|
+
ESP_LOGCONFIG(TAG,
|
47
|
+
"Mixer Source Speaker\n"
|
48
|
+
" Buffer Duration: %" PRIu32 " ms",
|
49
|
+
this->buffer_duration_ms_);
|
48
50
|
if (this->timeout_ms_.has_value()) {
|
49
51
|
ESP_LOGCONFIG(TAG, " Timeout: %" PRIu32 " ms", this->timeout_ms_.value());
|
50
52
|
} else {
|
@@ -291,8 +293,10 @@ void SourceSpeaker::duck_samples(int16_t *input_buffer, uint32_t input_samples_t
|
|
291
293
|
}
|
292
294
|
|
293
295
|
void MixerSpeaker::dump_config() {
|
294
|
-
ESP_LOGCONFIG(TAG,
|
295
|
-
|
296
|
+
ESP_LOGCONFIG(TAG,
|
297
|
+
"Speaker Mixer:\n"
|
298
|
+
" Number of output channels: %u",
|
299
|
+
this->output_channels_);
|
296
300
|
}
|
297
301
|
|
298
302
|
void MixerSpeaker::setup() {
|
@@ -103,7 +103,7 @@ bool MLX90393Cls::apply_all_settings_() {
|
|
103
103
|
}
|
104
104
|
|
105
105
|
void MLX90393Cls::setup() {
|
106
|
-
ESP_LOGCONFIG(TAG, "
|
106
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
107
107
|
// note the two arguments A0 and A1 which are used to construct an i2c address
|
108
108
|
// we can hard-code these because we never actually use the constructed address
|
109
109
|
// see the transceive function above, which uses the address from I2CComponent
|
@@ -122,7 +122,7 @@ void MLX90393Cls::dump_config() {
|
|
122
122
|
LOG_I2C_DEVICE(this);
|
123
123
|
|
124
124
|
if (this->is_failed()) {
|
125
|
-
ESP_LOGE(TAG,
|
125
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
126
126
|
return;
|
127
127
|
}
|
128
128
|
LOG_UPDATE_INTERVAL(this);
|
@@ -1,6 +1,7 @@
|
|
1
1
|
#include "mlx90614.h"
|
2
2
|
|
3
3
|
#include "esphome/core/hal.h"
|
4
|
+
#include "esphome/core/helpers.h"
|
4
5
|
#include "esphome/core/log.h"
|
5
6
|
|
6
7
|
namespace esphome {
|
@@ -27,9 +28,9 @@ static const uint8_t MLX90614_ID4 = 0x3F;
|
|
27
28
|
static const char *const TAG = "mlx90614";
|
28
29
|
|
29
30
|
void MLX90614Component::setup() {
|
30
|
-
ESP_LOGCONFIG(TAG, "
|
31
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
31
32
|
if (!this->write_emissivity_()) {
|
32
|
-
ESP_LOGE(TAG,
|
33
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
33
34
|
this->mark_failed();
|
34
35
|
return;
|
35
36
|
}
|
@@ -79,7 +80,7 @@ void MLX90614Component::dump_config() {
|
|
79
80
|
ESP_LOGCONFIG(TAG, "MLX90614:");
|
80
81
|
LOG_I2C_DEVICE(this);
|
81
82
|
if (this->is_failed()) {
|
82
|
-
ESP_LOGE(TAG,
|
83
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
83
84
|
}
|
84
85
|
LOG_UPDATE_INTERVAL(this);
|
85
86
|
LOG_SENSOR(" ", "Ambient", this->ambient_sensor_);
|
@@ -31,7 +31,7 @@ static const uint8_t MMC56X3_CTRL2_REG = 0x1D;
|
|
31
31
|
static const uint8_t MMC5603_ODR_REG = 0x1A;
|
32
32
|
|
33
33
|
void MMC5603Component::setup() {
|
34
|
-
ESP_LOGCONFIG(TAG, "
|
34
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
35
35
|
uint8_t id = 0;
|
36
36
|
if (!this->read_byte(MMC56X3_PRODUCT_ID, &id)) {
|
37
37
|
this->error_code_ = COMMUNICATION_FAILED;
|
@@ -79,7 +79,7 @@ void MMC5603Component::dump_config() {
|
|
79
79
|
ESP_LOGCONFIG(TAG, "MMC5603:");
|
80
80
|
LOG_I2C_DEVICE(this);
|
81
81
|
if (this->error_code_ == COMMUNICATION_FAILED) {
|
82
|
-
ESP_LOGE(TAG,
|
82
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
83
83
|
} else if (this->error_code_ == ID_REGISTERS) {
|
84
84
|
ESP_LOGE(TAG, "The ID registers don't match - Is this really an MMC5603?");
|
85
85
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#include "modbus.h"
|
2
|
-
#include "esphome/core/log.h"
|
3
|
-
#include "esphome/core/helpers.h"
|
4
2
|
#include "esphome/core/application.h"
|
3
|
+
#include "esphome/core/helpers.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
5
|
|
6
6
|
namespace esphome {
|
7
7
|
namespace modbus {
|
@@ -90,7 +90,7 @@ bool Modbus::parse_modbus_byte_(uint8_t byte) {
|
|
90
90
|
|
91
91
|
} else {
|
92
92
|
// data starts at 2 and length is 4 for read registers commands
|
93
|
-
if (this->role == ModbusRole::SERVER && (function_code == 0x3 || function_code == 0x4)) {
|
93
|
+
if (this->role == ModbusRole::SERVER && (function_code == 0x1 || function_code == 0x3 || function_code == 0x4)) {
|
94
94
|
data_offset = 2;
|
95
95
|
data_len = 4;
|
96
96
|
}
|
@@ -165,8 +165,10 @@ bool Modbus::parse_modbus_byte_(uint8_t byte) {
|
|
165
165
|
void Modbus::dump_config() {
|
166
166
|
ESP_LOGCONFIG(TAG, "Modbus:");
|
167
167
|
LOG_PIN(" Flow Control Pin: ", this->flow_control_pin_);
|
168
|
-
ESP_LOGCONFIG(TAG,
|
169
|
-
|
168
|
+
ESP_LOGCONFIG(TAG,
|
169
|
+
" Send Wait Time: %d ms\n"
|
170
|
+
" CRC Disabled: %s",
|
171
|
+
this->send_wait_time_, YESNO(this->disable_crc_));
|
170
172
|
}
|
171
173
|
float Modbus::get_setup_priority() const {
|
172
174
|
// After UART bus
|
@@ -346,10 +346,12 @@ size_t ModbusController::create_register_ranges_() {
|
|
346
346
|
}
|
347
347
|
|
348
348
|
void ModbusController::dump_config() {
|
349
|
-
ESP_LOGCONFIG(TAG,
|
350
|
-
|
351
|
-
|
352
|
-
|
349
|
+
ESP_LOGCONFIG(TAG,
|
350
|
+
"ModbusController:\n"
|
351
|
+
" Address: 0x%02X\n"
|
352
|
+
" Max Command Retries: %d\n"
|
353
|
+
" Offline Skip Updates: %d",
|
354
|
+
this->address_, this->max_cmd_retries_, this->offline_skip_updates_);
|
353
355
|
#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE
|
354
356
|
ESP_LOGCONFIG(TAG, "sensormap");
|
355
357
|
for (auto &it : this->sensorset_) {
|
@@ -52,9 +52,11 @@ void ModbusFloatOutput::write_state(float value) {
|
|
52
52
|
void ModbusFloatOutput::dump_config() {
|
53
53
|
ESP_LOGCONFIG(TAG, "Modbus Float Output:");
|
54
54
|
LOG_FLOAT_OUTPUT(this);
|
55
|
-
ESP_LOGCONFIG(TAG,
|
56
|
-
|
57
|
-
|
55
|
+
ESP_LOGCONFIG(TAG,
|
56
|
+
" Device start address: 0x%X\n"
|
57
|
+
" Register count: %d\n"
|
58
|
+
" Value type: %d",
|
59
|
+
this->start_address, this->register_count, static_cast<int>(this->sensor_value_type));
|
58
60
|
}
|
59
61
|
|
60
62
|
// ModbusBinaryOutput
|
@@ -102,9 +104,11 @@ void ModbusBinaryOutput::write_state(bool state) {
|
|
102
104
|
void ModbusBinaryOutput::dump_config() {
|
103
105
|
ESP_LOGCONFIG(TAG, "Modbus Binary Output:");
|
104
106
|
LOG_BINARY_OUTPUT(this);
|
105
|
-
ESP_LOGCONFIG(TAG,
|
106
|
-
|
107
|
-
|
107
|
+
ESP_LOGCONFIG(TAG,
|
108
|
+
" Device start address: 0x%X\n"
|
109
|
+
" Register count: %d\n"
|
110
|
+
" Value type: %d",
|
111
|
+
this->start_address, this->register_count, static_cast<int>(this->sensor_value_type));
|
108
112
|
}
|
109
113
|
|
110
114
|
} // namespace modbus_controller
|
@@ -1,7 +1,7 @@
|
|
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 CONF_ADDRESS, CONF_ID
|
4
|
+
from esphome.const import CONF_ADDRESS, CONF_ASSUMED_STATE, CONF_ID
|
5
5
|
|
6
6
|
from .. import (
|
7
7
|
MODBUS_REGISTER_TYPE,
|
@@ -36,6 +36,7 @@ CONFIG_SCHEMA = cv.All(
|
|
36
36
|
.extend(ModbusItemBaseSchema)
|
37
37
|
.extend(
|
38
38
|
{
|
39
|
+
cv.Optional(CONF_ASSUMED_STATE, default=False): cv.boolean,
|
39
40
|
cv.Optional(CONF_REGISTER_TYPE): cv.enum(MODBUS_REGISTER_TYPE),
|
40
41
|
cv.Optional(CONF_USE_WRITE_MULTIPLE, default=False): cv.boolean,
|
41
42
|
cv.Optional(CONF_WRITE_LAMBDA): cv.returning_lambda,
|
@@ -62,7 +63,10 @@ async def to_code(config):
|
|
62
63
|
paren = await cg.get_variable(config[CONF_MODBUS_CONTROLLER_ID])
|
63
64
|
cg.add(var.set_parent(paren))
|
64
65
|
cg.add(var.set_use_write_mutiple(config[CONF_USE_WRITE_MULTIPLE]))
|
65
|
-
|
66
|
+
assumed_state = config[CONF_ASSUMED_STATE]
|
67
|
+
cg.add(var.set_assumed_state(assumed_state))
|
68
|
+
if not assumed_state:
|
69
|
+
cg.add(paren.add_sensor_item(var))
|
66
70
|
if CONF_WRITE_LAMBDA in config:
|
67
71
|
template_ = await cg.process_lambda(
|
68
72
|
config[CONF_WRITE_LAMBDA],
|
@@ -19,6 +19,10 @@ void ModbusSwitch::setup() {
|
|
19
19
|
}
|
20
20
|
void ModbusSwitch::dump_config() { LOG_SWITCH(TAG, "Modbus Controller Switch", this); }
|
21
21
|
|
22
|
+
void ModbusSwitch::set_assumed_state(bool assumed_state) { this->assumed_state_ = assumed_state; }
|
23
|
+
|
24
|
+
bool ModbusSwitch::assumed_state() { return this->assumed_state_; }
|
25
|
+
|
22
26
|
void ModbusSwitch::parse_and_publish(const std::vector<uint8_t> &data) {
|
23
27
|
bool value = false;
|
24
28
|
switch (this->register_type) {
|
@@ -29,6 +29,7 @@ class ModbusSwitch : public Component, public switch_::Switch, public SensorItem
|
|
29
29
|
void setup() override;
|
30
30
|
void write_state(bool state) override;
|
31
31
|
void dump_config() override;
|
32
|
+
void set_assumed_state(bool assumed_state);
|
32
33
|
void set_state(bool state) { this->state = state; }
|
33
34
|
void parse_and_publish(const std::vector<uint8_t> &data) override;
|
34
35
|
void set_parent(ModbusController *parent) { this->parent_ = parent; }
|
@@ -40,10 +41,12 @@ class ModbusSwitch : public Component, public switch_::Switch, public SensorItem
|
|
40
41
|
void set_use_write_mutiple(bool use_write_multiple) { this->use_write_multiple_ = use_write_multiple; }
|
41
42
|
|
42
43
|
protected:
|
44
|
+
bool assumed_state() override;
|
43
45
|
ModbusController *parent_{nullptr};
|
44
46
|
bool use_write_multiple_{false};
|
45
47
|
optional<transform_func_t> publish_transform_func_{nullopt};
|
46
48
|
optional<write_transform_func_t> write_transform_func_{nullopt};
|
49
|
+
bool assumed_state_{false};
|
47
50
|
};
|
48
51
|
|
49
52
|
} // namespace modbus_controller
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#include "mpl3115a2.h"
|
2
2
|
#include "esphome/core/hal.h"
|
3
|
+
#include "esphome/core/helpers.h"
|
3
4
|
#include "esphome/core/log.h"
|
4
5
|
|
5
6
|
namespace esphome {
|
@@ -8,7 +9,7 @@ namespace mpl3115a2 {
|
|
8
9
|
static const char *const TAG = "mpl3115a2";
|
9
10
|
|
10
11
|
void MPL3115A2Component::setup() {
|
11
|
-
ESP_LOGCONFIG(TAG, "
|
12
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
12
13
|
|
13
14
|
uint8_t whoami = 0xFF;
|
14
15
|
if (!this->read_byte(MPL3115A2_WHOAMI, &whoami, false)) {
|
@@ -37,7 +38,7 @@ void MPL3115A2Component::dump_config() {
|
|
37
38
|
if (this->is_failed()) {
|
38
39
|
switch (this->error_code_) {
|
39
40
|
case COMMUNICATION_FAILED:
|
40
|
-
ESP_LOGE(TAG,
|
41
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
41
42
|
break;
|
42
43
|
case WRONG_ID:
|
43
44
|
ESP_LOGE(TAG, "MPL3115A2 has invalid id");
|
@@ -11,7 +11,7 @@ namespace mpr121 {
|
|
11
11
|
static const char *const TAG = "mpr121";
|
12
12
|
|
13
13
|
void MPR121Component::setup() {
|
14
|
-
ESP_LOGCONFIG(TAG, "
|
14
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
15
15
|
// soft reset device
|
16
16
|
this->write_byte(MPR121_SOFTRESET, 0x63);
|
17
17
|
delay(100); // NOLINT
|
@@ -72,7 +72,7 @@ void MPR121Component::dump_config() {
|
|
72
72
|
LOG_I2C_DEVICE(this);
|
73
73
|
switch (this->error_code_) {
|
74
74
|
case COMMUNICATION_FAILED:
|
75
|
-
ESP_LOGE(TAG,
|
75
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
76
76
|
break;
|
77
77
|
case WRONG_CHIP_STATE:
|
78
78
|
ESP_LOGE(TAG, "MPR121 has wrong default value for CONFIG2?");
|
@@ -21,7 +21,7 @@ const uint8_t MPU6050_BIT_TEMPERATURE_DISABLED = 3;
|
|
21
21
|
const float GRAVITY_EARTH = 9.80665f;
|
22
22
|
|
23
23
|
void MPU6050Component::setup() {
|
24
|
-
ESP_LOGCONFIG(TAG, "
|
24
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
25
25
|
uint8_t who_am_i;
|
26
26
|
if (!this->read_byte(MPU6050_REGISTER_WHO_AM_I, &who_am_i) ||
|
27
27
|
(who_am_i != 0x68 && who_am_i != 0x70 && who_am_i != 0x98)) {
|
@@ -29,7 +29,7 @@ void MPU6050Component::setup() {
|
|
29
29
|
return;
|
30
30
|
}
|
31
31
|
|
32
|
-
ESP_LOGV(TAG, " Setting up Power Management
|
32
|
+
ESP_LOGV(TAG, " Setting up Power Management");
|
33
33
|
// Setup power management
|
34
34
|
uint8_t power_management;
|
35
35
|
if (!this->read_byte(MPU6050_REGISTER_POWER_MANAGEMENT_1, &power_management)) {
|
@@ -50,7 +50,7 @@ void MPU6050Component::setup() {
|
|
50
50
|
return;
|
51
51
|
}
|
52
52
|
|
53
|
-
ESP_LOGV(TAG, " Setting up Gyro Config
|
53
|
+
ESP_LOGV(TAG, " Setting up Gyro Config");
|
54
54
|
// Set scale - 2000DPS
|
55
55
|
uint8_t gyro_config;
|
56
56
|
if (!this->read_byte(MPU6050_REGISTER_GYRO_CONFIG, &gyro_config)) {
|
@@ -66,7 +66,7 @@ void MPU6050Component::setup() {
|
|
66
66
|
return;
|
67
67
|
}
|
68
68
|
|
69
|
-
ESP_LOGV(TAG, " Setting up Accel Config
|
69
|
+
ESP_LOGV(TAG, " Setting up Accel Config");
|
70
70
|
// Set range - 2G
|
71
71
|
uint8_t accel_config;
|
72
72
|
if (!this->read_byte(MPU6050_REGISTER_ACCEL_CONFIG, &accel_config)) {
|
@@ -86,7 +86,7 @@ void MPU6050Component::dump_config() {
|
|
86
86
|
ESP_LOGCONFIG(TAG, "MPU6050:");
|
87
87
|
LOG_I2C_DEVICE(this);
|
88
88
|
if (this->is_failed()) {
|
89
|
-
ESP_LOGE(TAG,
|
89
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
90
90
|
}
|
91
91
|
LOG_UPDATE_INTERVAL(this);
|
92
92
|
LOG_SENSOR(" ", "Acceleration X", this->accel_x_sensor_);
|
@@ -99,7 +99,7 @@ void MPU6050Component::dump_config() {
|
|
99
99
|
}
|
100
100
|
|
101
101
|
void MPU6050Component::update() {
|
102
|
-
ESP_LOGV(TAG, "
|
102
|
+
ESP_LOGV(TAG, "Updating");
|
103
103
|
uint16_t raw_data[7];
|
104
104
|
if (!this->read_bytes_16(MPU6050_REGISTER_ACCEL_XOUT_H, raw_data, 7)) {
|
105
105
|
this->status_set_warning();
|
@@ -26,14 +26,14 @@ const float TEMPERATURE_SENSITIVITY = 326.8;
|
|
26
26
|
const float TEMPERATURE_OFFSET = 25.0;
|
27
27
|
|
28
28
|
void MPU6886Component::setup() {
|
29
|
-
ESP_LOGCONFIG(TAG, "
|
29
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
30
30
|
uint8_t who_am_i;
|
31
31
|
if (!this->read_byte(MPU6886_REGISTER_WHO_AM_I, &who_am_i) || who_am_i != MPU6886_WHO_AM_I_IDENTIFIER) {
|
32
32
|
this->mark_failed();
|
33
33
|
return;
|
34
34
|
}
|
35
35
|
|
36
|
-
ESP_LOGV(TAG, " Setting up Power Management
|
36
|
+
ESP_LOGV(TAG, " Setting up Power Management");
|
37
37
|
// Setup power management
|
38
38
|
uint8_t power_management;
|
39
39
|
if (!this->read_byte(MPU6886_REGISTER_POWER_MANAGEMENT_1, &power_management)) {
|
@@ -54,7 +54,7 @@ void MPU6886Component::setup() {
|
|
54
54
|
return;
|
55
55
|
}
|
56
56
|
|
57
|
-
ESP_LOGV(TAG, " Setting up Gyroscope Config
|
57
|
+
ESP_LOGV(TAG, " Setting up Gyroscope Config");
|
58
58
|
// Set scale - 2000DPS
|
59
59
|
uint8_t gyro_config;
|
60
60
|
if (!this->read_byte(MPU6886_REGISTER_GYRO_CONFIG, &gyro_config)) {
|
@@ -70,7 +70,7 @@ void MPU6886Component::setup() {
|
|
70
70
|
return;
|
71
71
|
}
|
72
72
|
|
73
|
-
ESP_LOGV(TAG, " Setting up Accelerometer Config
|
73
|
+
ESP_LOGV(TAG, " Setting up Accelerometer Config");
|
74
74
|
// Set range - 2G
|
75
75
|
uint8_t accel_config;
|
76
76
|
if (!this->read_byte(MPU6886_REGISTER_ACCEL_CONFIG, &accel_config)) {
|
@@ -91,7 +91,7 @@ void MPU6886Component::dump_config() {
|
|
91
91
|
ESP_LOGCONFIG(TAG, "MPU6886:");
|
92
92
|
LOG_I2C_DEVICE(this);
|
93
93
|
if (this->is_failed()) {
|
94
|
-
ESP_LOGE(TAG,
|
94
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
95
95
|
}
|
96
96
|
LOG_UPDATE_INTERVAL(this);
|
97
97
|
LOG_SENSOR(" ", "Acceleration X", this->accel_x_sensor_);
|
@@ -104,7 +104,7 @@ void MPU6886Component::dump_config() {
|
|
104
104
|
}
|
105
105
|
|
106
106
|
void MPU6886Component::update() {
|
107
|
-
ESP_LOGV(TAG, " Updating
|
107
|
+
ESP_LOGV(TAG, " Updating");
|
108
108
|
uint16_t raw_data[7];
|
109
109
|
if (!this->read_bytes_16(MPU6886_REGISTER_ACCEL_XOUT_H, raw_data, 7)) {
|
110
110
|
this->status_set_warning();
|