esphome 2025.5.2__py3-none-any.whl → 2025.6.0b2__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 +3 -0
- esphome/components/api/api_pb2.h +702 -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 +13 -10
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
- 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_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_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 +1 -1
- 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.0b2.dist-info}/METADATA +12 -11
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/RECORD +746 -692
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/WHEEL +1 -1
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.2.dist-info → esphome-2025.6.0b2.dist-info}/top_level.txt +0 -0
@@ -87,7 +87,7 @@ class RP2040Preferences : public ESPPreferences {
|
|
87
87
|
RP2040Preferences() : eeprom_sector_(&_EEPROM_start) {}
|
88
88
|
void setup() {
|
89
89
|
s_flash_storage = new uint8_t[RP2040_FLASH_STORAGE_SIZE]; // NOLINT
|
90
|
-
ESP_LOGVV(TAG, "Loading preferences from flash
|
90
|
+
ESP_LOGVV(TAG, "Loading preferences from flash");
|
91
91
|
memcpy(s_flash_storage, this->eeprom_sector_, RP2040_FLASH_STORAGE_SIZE);
|
92
92
|
}
|
93
93
|
|
@@ -114,7 +114,7 @@ class RP2040Preferences : public ESPPreferences {
|
|
114
114
|
if (s_prevent_write)
|
115
115
|
return false;
|
116
116
|
|
117
|
-
ESP_LOGD(TAG, "Saving
|
117
|
+
ESP_LOGD(TAG, "Saving");
|
118
118
|
|
119
119
|
{
|
120
120
|
InterruptLock lock;
|
@@ -129,7 +129,7 @@ class RP2040Preferences : public ESPPreferences {
|
|
129
129
|
}
|
130
130
|
|
131
131
|
bool reset() override {
|
132
|
-
ESP_LOGD(TAG, "
|
132
|
+
ESP_LOGD(TAG, "Erasing storage");
|
133
133
|
{
|
134
134
|
InterruptLock lock;
|
135
135
|
::rp2040.idleOtherCore();
|
@@ -40,7 +40,7 @@ void RP2040PIOLEDStripLightOutput::dma_write_complete_handler_() {
|
|
40
40
|
}
|
41
41
|
|
42
42
|
void RP2040PIOLEDStripLightOutput::setup() {
|
43
|
-
ESP_LOGCONFIG(TAG, "
|
43
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
44
44
|
|
45
45
|
size_t buffer_size = this->get_buffer_size_();
|
46
46
|
|
@@ -138,7 +138,7 @@ void RP2040PIOLEDStripLightOutput::setup() {
|
|
138
138
|
}
|
139
139
|
|
140
140
|
void RP2040PIOLEDStripLightOutput::write_state(light::LightState *state) {
|
141
|
-
ESP_LOGVV(TAG, "Writing state
|
141
|
+
ESP_LOGVV(TAG, "Writing state");
|
142
142
|
|
143
143
|
if (this->is_failed()) {
|
144
144
|
ESP_LOGW(TAG, "Light is in failed state, not writing state.");
|
@@ -199,12 +199,15 @@ light::ESPColorView RP2040PIOLEDStripLightOutput::get_view_internal(int32_t inde
|
|
199
199
|
}
|
200
200
|
|
201
201
|
void RP2040PIOLEDStripLightOutput::dump_config() {
|
202
|
-
ESP_LOGCONFIG(TAG,
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
202
|
+
ESP_LOGCONFIG(TAG,
|
203
|
+
"RP2040 PIO LED Strip Light Output:\n"
|
204
|
+
" Pin: GPIO%d\n"
|
205
|
+
" Number of LEDs: %d\n"
|
206
|
+
" RGBW: %s\n"
|
207
|
+
" RGB Order: %s\n"
|
208
|
+
" Max Refresh Rate: %f Hz",
|
209
|
+
this->pin_, this->num_leds_, YESNO(this->is_rgbw_), rgb_order_to_string(this->rgb_order_),
|
210
|
+
this->max_refresh_rate_);
|
208
211
|
}
|
209
212
|
|
210
213
|
float RP2040PIOLEDStripLightOutput::get_setup_priority() const { return setup_priority::HARDWARE; }
|
@@ -173,7 +173,7 @@ RGB_ORDERS = {
|
|
173
173
|
CHIPSET_TIMINGS = {
|
174
174
|
"WS2812": LEDStripTimings(20, 40, 46, 34),
|
175
175
|
"WS2812B": LEDStripTimings(23, 49, 46, 26),
|
176
|
-
"SK6812": LEDStripTimings(
|
176
|
+
"SK6812": LEDStripTimings(20, 54, 38, 38),
|
177
177
|
"SM16703": LEDStripTimings(17, 52, 52, 17),
|
178
178
|
}
|
179
179
|
|
@@ -27,15 +27,17 @@ inline double deg2rad(double degrees) {
|
|
27
27
|
}
|
28
28
|
|
29
29
|
void Rtttl::dump_config() {
|
30
|
-
ESP_LOGCONFIG(TAG,
|
31
|
-
|
30
|
+
ESP_LOGCONFIG(TAG,
|
31
|
+
"Rtttl:\n"
|
32
|
+
" Gain: %f",
|
33
|
+
this->gain_);
|
32
34
|
}
|
33
35
|
|
34
36
|
void Rtttl::play(std::string rtttl) {
|
35
37
|
if (this->state_ != State::STATE_STOPPED && this->state_ != State::STATE_STOPPING) {
|
36
38
|
int pos = this->rtttl_.find(':');
|
37
39
|
auto name = this->rtttl_.substr(0, pos);
|
38
|
-
ESP_LOGW(TAG, "
|
40
|
+
ESP_LOGW(TAG, "Already playing: %s", name.c_str());
|
39
41
|
return;
|
40
42
|
}
|
41
43
|
|
@@ -49,11 +51,11 @@ void Rtttl::play(std::string rtttl) {
|
|
49
51
|
uint8_t num;
|
50
52
|
|
51
53
|
// Get name
|
52
|
-
this->position_ = rtttl_.find(':');
|
54
|
+
this->position_ = this->rtttl_.find(':');
|
53
55
|
|
54
56
|
// it's somewhat documented to be up to 10 characters but let's be a bit flexible here
|
55
57
|
if (this->position_ == std::string::npos || this->position_ > 15) {
|
56
|
-
ESP_LOGE(TAG, "
|
58
|
+
ESP_LOGE(TAG, "Unable to determine name; missing ':'");
|
57
59
|
return;
|
58
60
|
}
|
59
61
|
|
@@ -203,7 +205,7 @@ void Rtttl::loop() {
|
|
203
205
|
if (this->output_ != nullptr && millis() - this->last_note_ < this->note_duration_)
|
204
206
|
return;
|
205
207
|
#endif
|
206
|
-
if (!this->rtttl_[position_]) {
|
208
|
+
if (!this->rtttl_[this->position_]) {
|
207
209
|
this->finish_();
|
208
210
|
return;
|
209
211
|
}
|
@@ -271,7 +273,7 @@ void Rtttl::loop() {
|
|
271
273
|
scale = this->default_octave_;
|
272
274
|
|
273
275
|
if (scale < 4 || scale > 7) {
|
274
|
-
ESP_LOGE(TAG, "Octave
|
276
|
+
ESP_LOGE(TAG, "Octave must be between 4 and 7 (it is %d)", scale);
|
275
277
|
this->finish_();
|
276
278
|
return;
|
277
279
|
}
|
@@ -281,7 +283,7 @@ void Rtttl::loop() {
|
|
281
283
|
if (note) {
|
282
284
|
auto note_index = (scale - 4) * 12 + note;
|
283
285
|
if (note_index < 0 || note_index >= (int) sizeof(NOTES)) {
|
284
|
-
ESP_LOGE(TAG, "Note out of
|
286
|
+
ESP_LOGE(TAG, "Note out of range (note: %d, scale: %d, index: %d, max: %d)", note, scale, note_index,
|
285
287
|
(int) sizeof(NOTES));
|
286
288
|
this->finish_();
|
287
289
|
return;
|
@@ -387,7 +389,7 @@ static const LogString *state_to_string(State state) {
|
|
387
389
|
void Rtttl::set_state_(State state) {
|
388
390
|
State old_state = this->state_;
|
389
391
|
this->state_ = state;
|
390
|
-
|
392
|
+
ESP_LOGV(TAG, "State changed from %s to %s", LOG_STR_ARG(state_to_string(old_state)),
|
391
393
|
LOG_STR_ARG(state_to_string(state)));
|
392
394
|
}
|
393
395
|
|
@@ -13,7 +13,7 @@ void SafeModeButton::set_safe_mode(SafeModeComponent *safe_mode_component) {
|
|
13
13
|
}
|
14
14
|
|
15
15
|
void SafeModeButton::press_action() {
|
16
|
-
ESP_LOGI(TAG, "Restarting
|
16
|
+
ESP_LOGI(TAG, "Restarting in safe mode");
|
17
17
|
this->safe_mode_component_->set_safe_mode_pending(true);
|
18
18
|
|
19
19
|
// Let MQTT settle a bit
|
@@ -16,17 +16,18 @@ static const char *const TAG = "safe_mode";
|
|
16
16
|
|
17
17
|
void SafeModeComponent::dump_config() {
|
18
18
|
ESP_LOGCONFIG(TAG, "Safe Mode:");
|
19
|
-
ESP_LOGCONFIG(TAG,
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
ESP_LOGCONFIG(TAG,
|
20
|
+
" Boot considered successful after %" PRIu32 " seconds\n"
|
21
|
+
" Invoke after %u boot attempts\n"
|
22
|
+
" Remain for %" PRIu32 " seconds",
|
23
|
+
this->safe_mode_boot_is_good_after_ / 1000, // because milliseconds
|
24
|
+
this->safe_mode_num_attempts_,
|
23
25
|
this->safe_mode_enable_time_ / 1000); // because milliseconds
|
24
26
|
|
25
27
|
if (this->safe_mode_rtc_value_ > 1 && this->safe_mode_rtc_value_ != SafeModeComponent::ENTER_SAFE_MODE_MAGIC) {
|
26
28
|
auto remaining_restarts = this->safe_mode_num_attempts_ - this->safe_mode_rtc_value_;
|
27
29
|
if (remaining_restarts) {
|
28
|
-
ESP_LOGW(TAG, "Last reset occurred too quickly;
|
29
|
-
remaining_restarts);
|
30
|
+
ESP_LOGW(TAG, "Last reset occurred too quickly; will be invoked in %" PRIu32 " restarts", remaining_restarts);
|
30
31
|
} else {
|
31
32
|
ESP_LOGW(TAG, "SAFE MODE IS ACTIVE");
|
32
33
|
}
|
@@ -48,7 +49,7 @@ void SafeModeComponent::set_safe_mode_pending(const bool &pending) {
|
|
48
49
|
uint32_t current_rtc = this->read_rtc_();
|
49
50
|
|
50
51
|
if (pending && current_rtc != SafeModeComponent::ENTER_SAFE_MODE_MAGIC) {
|
51
|
-
ESP_LOGI(TAG, "Device will enter
|
52
|
+
ESP_LOGI(TAG, "Device will enter on next boot");
|
52
53
|
this->write_rtc_(SafeModeComponent::ENTER_SAFE_MODE_MAGIC);
|
53
54
|
}
|
54
55
|
|
@@ -83,7 +84,7 @@ bool SafeModeComponent::should_enter_safe_mode(uint8_t num_attempts, uint32_t en
|
|
83
84
|
this->clean_rtc();
|
84
85
|
|
85
86
|
if (!is_manual_safe_mode) {
|
86
|
-
ESP_LOGE(TAG, "Boot loop detected. Proceeding
|
87
|
+
ESP_LOGE(TAG, "Boot loop detected. Proceeding");
|
87
88
|
}
|
88
89
|
|
89
90
|
this->status_set_error();
|
@@ -17,7 +17,7 @@ void SafeModeSwitch::write_state(bool state) {
|
|
17
17
|
this->publish_state(false);
|
18
18
|
|
19
19
|
if (state) {
|
20
|
-
ESP_LOGI(TAG, "Restarting
|
20
|
+
ESP_LOGI(TAG, "Restarting in safe mode");
|
21
21
|
this->safe_mode_component_->set_safe_mode_pending(true);
|
22
22
|
|
23
23
|
// Let MQTT settle a bit
|
@@ -26,7 +26,7 @@ static const uint16_t SCD30_CMD_TEMPERATURE_OFFSET = 0x5403;
|
|
26
26
|
static const uint16_t SCD30_CMD_SOFT_RESET = 0xD304;
|
27
27
|
|
28
28
|
void SCD30Component::setup() {
|
29
|
-
ESP_LOGCONFIG(TAG, "
|
29
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
30
30
|
|
31
31
|
#ifdef USE_ESP8266
|
32
32
|
Wire.setClockStretchLimit(150000);
|
@@ -122,16 +122,16 @@ void SCD30Component::dump_config() {
|
|
122
122
|
if (this->is_failed()) {
|
123
123
|
switch (this->error_code_) {
|
124
124
|
case COMMUNICATION_FAILED:
|
125
|
-
ESP_LOGW(TAG,
|
125
|
+
ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL);
|
126
126
|
break;
|
127
127
|
case MEASUREMENT_INIT_FAILED:
|
128
|
-
ESP_LOGW(TAG, "Measurement Initialization failed
|
128
|
+
ESP_LOGW(TAG, "Measurement Initialization failed");
|
129
129
|
break;
|
130
130
|
case FIRMWARE_IDENTIFICATION_FAILED:
|
131
131
|
ESP_LOGW(TAG, "Unable to read sensor firmware version");
|
132
132
|
break;
|
133
133
|
default:
|
134
|
-
ESP_LOGW(TAG, "Unknown setup error
|
134
|
+
ESP_LOGW(TAG, "Unknown setup error");
|
135
135
|
break;
|
136
136
|
}
|
137
137
|
}
|
@@ -140,10 +140,13 @@ void SCD30Component::dump_config() {
|
|
140
140
|
} else {
|
141
141
|
ESP_LOGCONFIG(TAG, " Altitude compensation: %dm", this->altitude_compensation_);
|
142
142
|
}
|
143
|
-
ESP_LOGCONFIG(TAG,
|
144
|
-
|
145
|
-
|
146
|
-
|
143
|
+
ESP_LOGCONFIG(TAG,
|
144
|
+
" Automatic self calibration: %s\n"
|
145
|
+
" Ambient pressure compensation: %dmBar\n"
|
146
|
+
" Temperature offset: %.2f °C\n"
|
147
|
+
" Update interval: %ds",
|
148
|
+
ONOFF(this->enable_asc_), this->ambient_pressure_compensation_, this->temperature_offset_,
|
149
|
+
this->update_interval_);
|
147
150
|
LOG_SENSOR(" ", "CO2", this->co2_sensor_);
|
148
151
|
LOG_SENSOR(" ", "Temperature", this->temperature_sensor_);
|
149
152
|
LOG_SENSOR(" ", "Humidity", this->humidity_sensor_);
|
@@ -27,7 +27,7 @@ static const uint16_t SCD41_ID = 0x1408;
|
|
27
27
|
static const uint16_t SCD40_ID = 0x440;
|
28
28
|
|
29
29
|
void SCD4XComponent::setup() {
|
30
|
-
ESP_LOGCONFIG(TAG, "
|
30
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
31
31
|
// the sensor needs 1000 ms to enter the idle state
|
32
32
|
this->set_timeout(1000, [this]() {
|
33
33
|
this->status_clear_error();
|
@@ -96,16 +96,16 @@ void SCD4XComponent::dump_config() {
|
|
96
96
|
if (this->is_failed()) {
|
97
97
|
switch (this->error_code_) {
|
98
98
|
case COMMUNICATION_FAILED:
|
99
|
-
ESP_LOGW(TAG,
|
99
|
+
ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL);
|
100
100
|
break;
|
101
101
|
case MEASUREMENT_INIT_FAILED:
|
102
|
-
ESP_LOGW(TAG, "Measurement Initialization failed
|
102
|
+
ESP_LOGW(TAG, "Measurement Initialization failed");
|
103
103
|
break;
|
104
104
|
case SERIAL_NUMBER_IDENTIFICATION_FAILED:
|
105
105
|
ESP_LOGW(TAG, "Unable to read sensor firmware version");
|
106
106
|
break;
|
107
107
|
default:
|
108
|
-
ESP_LOGW(TAG, "Unknown setup error
|
108
|
+
ESP_LOGW(TAG, "Unknown setup error");
|
109
109
|
break;
|
110
110
|
}
|
111
111
|
}
|
@@ -115,11 +115,15 @@ void SCD4XComponent::dump_config() {
|
|
115
115
|
this->ambient_pressure_source_->get_name().c_str());
|
116
116
|
} else {
|
117
117
|
if (this->ambient_pressure_compensation_) {
|
118
|
-
ESP_LOGCONFIG(TAG,
|
119
|
-
|
118
|
+
ESP_LOGCONFIG(TAG,
|
119
|
+
" Altitude compensation disabled\n"
|
120
|
+
" Ambient pressure compensation: %dmBar",
|
121
|
+
this->ambient_pressure_);
|
120
122
|
} else {
|
121
|
-
ESP_LOGCONFIG(TAG,
|
122
|
-
|
123
|
+
ESP_LOGCONFIG(TAG,
|
124
|
+
" Ambient pressure compensation disabled\n"
|
125
|
+
" Altitude compensation: %dm",
|
126
|
+
this->altitude_compensation_);
|
123
127
|
}
|
124
128
|
}
|
125
129
|
switch (this->measurement_mode_) {
|
@@ -8,16 +8,28 @@ from esphome.const import (
|
|
8
8
|
CONF_HEIGHT,
|
9
9
|
CONF_ID,
|
10
10
|
CONF_LAMBDA,
|
11
|
+
CONF_POSITION,
|
11
12
|
CONF_WIDTH,
|
13
|
+
CONF_X,
|
14
|
+
CONF_Y,
|
12
15
|
PLATFORM_HOST,
|
13
16
|
)
|
14
17
|
|
15
18
|
sdl_ns = cg.esphome_ns.namespace("sdl")
|
16
19
|
Sdl = sdl_ns.class_("Sdl", display.Display, cg.Component)
|
20
|
+
sdl_window_flags = cg.global_ns.enum("SDL_WindowFlags")
|
17
21
|
|
18
22
|
|
19
23
|
CONF_SDL_OPTIONS = "sdl_options"
|
20
24
|
CONF_SDL_ID = "sdl_id"
|
25
|
+
CONF_WINDOW_OPTIONS = "window_options"
|
26
|
+
WINDOW_OPTIONS = (
|
27
|
+
"borderless",
|
28
|
+
"always_on_top",
|
29
|
+
"fullscreen",
|
30
|
+
"skip_taskbar",
|
31
|
+
"resizable",
|
32
|
+
)
|
21
33
|
|
22
34
|
|
23
35
|
def get_sdl_options(value):
|
@@ -29,6 +41,10 @@ def get_sdl_options(value):
|
|
29
41
|
raise cv.Invalid("Unable to run sdl2-config - have you installed sdl2?") from e
|
30
42
|
|
31
43
|
|
44
|
+
def get_window_options():
|
45
|
+
return {cv.Optional(option, default=False): cv.boolean for option in WINDOW_OPTIONS}
|
46
|
+
|
47
|
+
|
32
48
|
CONFIG_SCHEMA = cv.All(
|
33
49
|
display.FULL_DISPLAY_SCHEMA.extend(
|
34
50
|
cv.Schema(
|
@@ -44,6 +60,17 @@ CONFIG_SCHEMA = cv.All(
|
|
44
60
|
}
|
45
61
|
),
|
46
62
|
),
|
63
|
+
cv.Optional(CONF_WINDOW_OPTIONS): cv.Schema(
|
64
|
+
{
|
65
|
+
cv.Optional(CONF_POSITION): cv.Schema(
|
66
|
+
{
|
67
|
+
cv.Required(CONF_X): cv.int_,
|
68
|
+
cv.Required(CONF_Y): cv.int_,
|
69
|
+
}
|
70
|
+
),
|
71
|
+
**get_window_options(),
|
72
|
+
}
|
73
|
+
),
|
47
74
|
}
|
48
75
|
)
|
49
76
|
),
|
@@ -65,6 +92,19 @@ async def to_code(config):
|
|
65
92
|
(width, height) = dimensions
|
66
93
|
cg.add(var.set_dimensions(width, height))
|
67
94
|
|
95
|
+
if window_options := config.get(CONF_WINDOW_OPTIONS):
|
96
|
+
create_flags = 0
|
97
|
+
for option in WINDOW_OPTIONS:
|
98
|
+
value = window_options.get(option, False)
|
99
|
+
if value:
|
100
|
+
create_flags = create_flags | getattr(
|
101
|
+
sdl_window_flags, "SDL_WINDOW_" + option.upper()
|
102
|
+
)
|
103
|
+
cg.add(var.set_window_options(create_flags))
|
104
|
+
|
105
|
+
if position := window_options.get(CONF_POSITION):
|
106
|
+
cg.add(var.set_position(position[CONF_X], position[CONF_Y]))
|
107
|
+
|
68
108
|
if lamb := config.get(CONF_LAMBDA):
|
69
109
|
lambda_ = await cg.process_lambda(
|
70
110
|
lamb, [(display.DisplayRef, "it")], return_type=cg.void
|
@@ -8,8 +8,8 @@ namespace sdl {
|
|
8
8
|
void Sdl::setup() {
|
9
9
|
ESP_LOGD(TAG, "Starting setup");
|
10
10
|
SDL_Init(SDL_INIT_VIDEO);
|
11
|
-
this->window_ = SDL_CreateWindow(App.get_name().c_str(),
|
12
|
-
this->
|
11
|
+
this->window_ = SDL_CreateWindow(App.get_name().c_str(), this->pos_x_, this->pos_y_, this->width_, this->height_,
|
12
|
+
this->window_options_);
|
13
13
|
this->renderer_ = SDL_CreateRenderer(this->window_, -1, SDL_RENDERER_SOFTWARE);
|
14
14
|
SDL_RenderSetLogicalSize(this->renderer_, this->width_, this->height_);
|
15
15
|
this->texture_ =
|
@@ -28,6 +28,11 @@ class Sdl : public display::Display {
|
|
28
28
|
this->width_ = width;
|
29
29
|
this->height_ = height;
|
30
30
|
}
|
31
|
+
void set_window_options(uint32_t window_options) { this->window_options_ = window_options; }
|
32
|
+
void set_position(uint16_t pos_x, uint16_t pos_y) {
|
33
|
+
this->pos_x_ = pos_x;
|
34
|
+
this->pos_y_ = pos_y;
|
35
|
+
}
|
31
36
|
int get_width() override { return this->width_; }
|
32
37
|
int get_height() override { return this->height_; }
|
33
38
|
float get_setup_priority() const override { return setup_priority::HARDWARE; }
|
@@ -49,6 +54,9 @@ class Sdl : public display::Display {
|
|
49
54
|
void redraw_(SDL_Rect &rect);
|
50
55
|
int width_{};
|
51
56
|
int height_{};
|
57
|
+
uint32_t window_options_{0};
|
58
|
+
int pos_x_{SDL_WINDOWPOS_UNDEFINED};
|
59
|
+
int pos_y_{SDL_WINDOWPOS_UNDEFINED};
|
52
60
|
SDL_Renderer *renderer_{};
|
53
61
|
SDL_Window *window_{};
|
54
62
|
SDL_Texture *texture_{};
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#include "sdm_meter.h"
|
2
2
|
#include "sdm_meter_registers.h"
|
3
|
+
#include "esphome/core/helpers.h"
|
3
4
|
#include "esphome/core/log.h"
|
4
5
|
|
5
6
|
namespace esphome {
|
@@ -84,8 +85,10 @@ void SDMMeter::on_modbus_data(const std::vector<uint8_t> &data) {
|
|
84
85
|
|
85
86
|
void SDMMeter::update() { this->send(MODBUS_CMD_READ_IN_REGISTERS, 0, MODBUS_REGISTER_COUNT); }
|
86
87
|
void SDMMeter::dump_config() {
|
87
|
-
ESP_LOGCONFIG(TAG,
|
88
|
-
|
88
|
+
ESP_LOGCONFIG(TAG,
|
89
|
+
"SDM Meter:\n"
|
90
|
+
" Address: 0x%02X",
|
91
|
+
this->address_);
|
89
92
|
for (uint8_t i = 0; i < 3; i++) {
|
90
93
|
auto phase = this->phases_[i];
|
91
94
|
if (!phase.setup)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#include "sdp3x.h"
|
2
|
-
#include "esphome/core/log.h"
|
3
2
|
#include "esphome/core/hal.h"
|
4
3
|
#include "esphome/core/helpers.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
5
|
|
6
6
|
namespace esphome {
|
7
7
|
namespace sdp3x {
|
@@ -17,31 +17,31 @@ static const uint16_t SDP3X_STOP_MEAS = 0x3FF9;
|
|
17
17
|
void SDP3XComponent::update() { this->read_pressure_(); }
|
18
18
|
|
19
19
|
void SDP3XComponent::setup() {
|
20
|
-
|
20
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
21
21
|
|
22
22
|
if (!this->write_command(SDP3X_STOP_MEAS)) {
|
23
|
-
ESP_LOGW(TAG, "Stop
|
23
|
+
ESP_LOGW(TAG, "Stop failed"); // This sometimes fails for no good reason
|
24
24
|
}
|
25
25
|
|
26
26
|
if (!this->write_command(SDP3X_SOFT_RESET)) {
|
27
|
-
ESP_LOGW(TAG, "Soft Reset
|
27
|
+
ESP_LOGW(TAG, "Soft Reset failed"); // This sometimes fails for no good reason
|
28
28
|
}
|
29
29
|
|
30
30
|
this->set_timeout(20, [this] {
|
31
31
|
if (!this->write_command(SDP3X_READ_ID1)) {
|
32
|
-
ESP_LOGE(TAG, "Read ID1
|
32
|
+
ESP_LOGE(TAG, "Read ID1 failed");
|
33
33
|
this->mark_failed();
|
34
34
|
return;
|
35
35
|
}
|
36
36
|
if (!this->write_command(SDP3X_READ_ID2)) {
|
37
|
-
ESP_LOGE(TAG, "Read ID2
|
37
|
+
ESP_LOGE(TAG, "Read ID2 failed");
|
38
38
|
this->mark_failed();
|
39
39
|
return;
|
40
40
|
}
|
41
41
|
|
42
42
|
uint16_t data[6];
|
43
43
|
if (!this->read_data(data, 6)) {
|
44
|
-
ESP_LOGE(TAG, "Read ID
|
44
|
+
ESP_LOGE(TAG, "Read ID failed");
|
45
45
|
this->mark_failed();
|
46
46
|
return;
|
47
47
|
}
|
@@ -79,18 +79,18 @@ void SDP3XComponent::setup() {
|
|
79
79
|
}
|
80
80
|
|
81
81
|
if (!this->write_command(measurement_mode_ == DP_AVG ? SDP3X_START_DP_AVG : SDP3X_START_MASS_FLOW_AVG)) {
|
82
|
-
ESP_LOGE(TAG, "Start Measurements
|
82
|
+
ESP_LOGE(TAG, "Start Measurements failed");
|
83
83
|
this->mark_failed();
|
84
84
|
return;
|
85
85
|
}
|
86
|
-
ESP_LOGCONFIG(TAG, "
|
86
|
+
ESP_LOGCONFIG(TAG, "started");
|
87
87
|
});
|
88
88
|
}
|
89
89
|
void SDP3XComponent::dump_config() {
|
90
90
|
LOG_SENSOR(" ", "SDP3X", this);
|
91
91
|
LOG_I2C_DEVICE(this);
|
92
92
|
if (this->is_failed()) {
|
93
|
-
ESP_LOGE(TAG, " Connection with
|
93
|
+
ESP_LOGE(TAG, " Connection with failed");
|
94
94
|
}
|
95
95
|
LOG_UPDATE_INTERVAL(this);
|
96
96
|
}
|
@@ -98,7 +98,7 @@ void SDP3XComponent::dump_config() {
|
|
98
98
|
void SDP3XComponent::read_pressure_() {
|
99
99
|
uint16_t data[3];
|
100
100
|
if (!this->read_data(data, 3)) {
|
101
|
-
ESP_LOGW(TAG, "Couldn't read
|
101
|
+
ESP_LOGW(TAG, "Couldn't read data");
|
102
102
|
this->status_set_warning();
|
103
103
|
return;
|
104
104
|
}
|
@@ -67,9 +67,11 @@ void SDS011Component::set_working_state(bool working_state) {
|
|
67
67
|
}
|
68
68
|
|
69
69
|
void SDS011Component::dump_config() {
|
70
|
-
ESP_LOGCONFIG(TAG,
|
71
|
-
|
72
|
-
|
70
|
+
ESP_LOGCONFIG(TAG,
|
71
|
+
"SDS011:\n"
|
72
|
+
" Update Interval: %u min\n"
|
73
|
+
" RX-only mode: %s",
|
74
|
+
this->update_interval_min_, ONOFF(this->rx_mode_only_));
|
73
75
|
LOG_SENSOR(" ", "PM2.5", this->pm_2_5_sensor_);
|
74
76
|
LOG_SENSOR(" ", "PM10.0", this->pm_10_0_sensor_);
|
75
77
|
this->check_uart_settings(9600);
|
@@ -180,9 +182,6 @@ void SDS011Component::parse_data_() {
|
|
180
182
|
}
|
181
183
|
}
|
182
184
|
|
183
|
-
uint16_t SDS011Component::get_16_bit_uint_(uint8_t start_index) const {
|
184
|
-
return (uint16_t(this->data_[start_index + 1]) << 8) | uint16_t(this->data_[start_index]);
|
185
|
-
}
|
186
185
|
void SDS011Component::set_update_interval_min(uint8_t update_interval_min) {
|
187
186
|
this->update_interval_min_ = update_interval_min;
|
188
187
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
3
|
#include "esphome/core/component.h"
|
4
|
+
#include "esphome/core/helpers.h"
|
4
5
|
#include "esphome/components/sensor/sensor.h"
|
5
6
|
#include "esphome/components/uart/uart.h"
|
6
7
|
|
@@ -32,7 +33,9 @@ class SDS011Component : public Component, public uart::UARTDevice {
|
|
32
33
|
uint8_t sds011_checksum_(const uint8_t *command_data, uint8_t length) const;
|
33
34
|
optional<bool> check_byte_() const;
|
34
35
|
void parse_data_();
|
35
|
-
uint16_t get_16_bit_uint_(uint8_t start_index) const
|
36
|
+
uint16_t get_16_bit_uint_(uint8_t start_index) const {
|
37
|
+
return encode_uint16(this->data_[start_index + 1], this->data_[start_index]);
|
38
|
+
}
|
36
39
|
|
37
40
|
sensor::Sensor *pm_2_5_sensor_{nullptr};
|
38
41
|
sensor::Sensor *pm_10_0_sensor_{nullptr};
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#include "seeed_mr24hpc1.h"
|
2
2
|
|
3
|
+
#include "esphome/core/helpers.h"
|
3
4
|
#include "esphome/core/log.h"
|
4
5
|
|
5
6
|
#include <utility>
|
@@ -61,7 +62,7 @@ void MR24HPC1Component::dump_config() {
|
|
61
62
|
|
62
63
|
// Initialisation functions
|
63
64
|
void MR24HPC1Component::setup() {
|
64
|
-
ESP_LOGCONFIG(TAG, "
|
65
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
65
66
|
this->check_uart_settings(115200);
|
66
67
|
|
67
68
|
if (this->custom_mode_number_ != nullptr) {
|
@@ -533,7 +534,7 @@ void MR24HPC1Component::r24_frame_parse_work_status_(uint8_t *data) {
|
|
533
534
|
this->custom_mode_number_->publish_state(0);
|
534
535
|
}
|
535
536
|
if (this->custom_mode_end_text_sensor_ != nullptr) {
|
536
|
-
this->custom_mode_end_text_sensor_->publish_state("Setup in progress
|
537
|
+
this->custom_mode_end_text_sensor_->publish_state("Setup in progress");
|
537
538
|
}
|
538
539
|
} else if (data[FRAME_COMMAND_WORD_INDEX] == 0x81) {
|
539
540
|
ESP_LOGD(TAG, "Reply: get radar init status 0x%02X", data[FRAME_DATA_INDEX]);
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#include "seeed_mr60fda2.h"
|
2
|
+
#include "esphome/core/helpers.h"
|
2
3
|
#include "esphome/core/log.h"
|
3
4
|
|
4
5
|
#include <cinttypes>
|
@@ -30,7 +31,7 @@ void MR60FDA2Component::dump_config() {
|
|
30
31
|
|
31
32
|
// Initialisation functions
|
32
33
|
void MR60FDA2Component::setup() {
|
33
|
-
ESP_LOGCONFIG(TAG, "
|
34
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
34
35
|
this->check_uart_settings(115200);
|
35
36
|
|
36
37
|
this->current_frame_locate_ = LOCATE_FRAME_HEADER;
|
@@ -335,7 +336,7 @@ void MR60FDA2Component::set_install_height(uint8_t index) {
|
|
335
336
|
|
336
337
|
void MR60FDA2Component::set_height_threshold(uint8_t index) {
|
337
338
|
uint8_t send_data[13] = {0x01, 0x00, 0x00, 0x00, 0x04, 0x0E, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00};
|
338
|
-
float_to_bytes(
|
339
|
+
float_to_bytes(HEIGHT_THRESHOLD[index], &send_data[8]);
|
339
340
|
send_data[12] = calculate_checksum(send_data + 8, 4);
|
340
341
|
this->write_array(send_data, 13);
|
341
342
|
ESP_LOGV(TAG, "SEND HEIGHT THRESHOLD: %s", format_hex_pretty(send_data, 13).c_str());
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#include "selec_meter.h"
|
2
2
|
#include "selec_meter_registers.h"
|
3
|
+
#include "esphome/core/helpers.h"
|
3
4
|
#include "esphome/core/log.h"
|
4
5
|
|
5
6
|
namespace esphome {
|
@@ -83,8 +84,10 @@ void SelecMeter::on_modbus_data(const std::vector<uint8_t> &data) {
|
|
83
84
|
|
84
85
|
void SelecMeter::update() { this->send(MODBUS_CMD_READ_IN_REGISTERS, 0, MODBUS_REGISTER_COUNT); }
|
85
86
|
void SelecMeter::dump_config() {
|
86
|
-
ESP_LOGCONFIG(TAG,
|
87
|
-
|
87
|
+
ESP_LOGCONFIG(TAG,
|
88
|
+
"SELEC Meter:\n"
|
89
|
+
" Address: 0x%02X",
|
90
|
+
this->address_);
|
88
91
|
LOG_SENSOR(" ", "Total Active Energy", this->total_active_energy_sensor_);
|
89
92
|
LOG_SENSOR(" ", "Import Active Energy", this->import_active_energy_sensor_);
|
90
93
|
LOG_SENSOR(" ", "Export Active Energy", this->export_active_energy_sensor_);
|