esphome 2025.5.1__py3-none-any.whl → 2025.6.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +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 +712 -358
- esphome/components/api/api_connection.h +343 -284
- esphome/components/api/api_frame_helper.cpp +349 -344
- esphome/components/api/api_frame_helper.h +121 -94
- esphome/components/api/api_pb2.cpp +2 -0
- esphome/components/api/api_pb2.h +637 -1
- 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 -2
- 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 +4 -3
- 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 +16 -14
- esphome/components/bme280_base/bme280_base.cpp +3 -3
- 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/debug/debug_component.cpp +1 -5
- 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 +88 -20
- 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 +11 -9
- esphome/components/esp32_ble/ble_uuid.h +1 -1
- 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 +6 -2
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +12 -9
- 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/gpio.cpp +10 -1
- 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 +4 -2
- 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 +54 -64
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +4 -0
- 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 +2 -1
- 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 +9 -5
- esphome/components/logger/logger.h +4 -4
- 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 +2 -2
- 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 +2 -3
- 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 +58 -61
- esphome/components/nextion/nextion_upload_idf.cpp +69 -72
- esphome/components/nextion/sensor/nextion_sensor.cpp +4 -4
- esphome/components/nextion/switch/nextion_switch.cpp +2 -2
- esphome/components/nextion/text_sensor/nextion_textsensor.cpp +2 -2
- 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/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/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/gpio.cpp +26 -9
- 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/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.h +9 -5
- 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 +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 +38 -12
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +3 -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_sensor/__init__.py +1 -0
- 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/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/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/utils.cpp +1 -1
- esphome/components/web_server_idf/web_server_idf.cpp +1 -1
- esphome/components/weikai/__init__.py +2 -0
- esphome/components/weikai/weikai.cpp +23 -21
- 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 +188 -5
- esphome/core/application.h +110 -0
- esphome/core/component.h +13 -0
- esphome/core/config.py +12 -0
- esphome/core/defines.h +10 -2
- esphome/core/hal.h +5 -0
- esphome/core/helpers.cpp +1 -1
- esphome/core/helpers.h +4 -4
- 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/writer.py +5 -3
- esphome/yaml_util.py +6 -1
- esphome/zeroconf.py +1 -1
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/METADATA +12 -11
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/RECORD +720 -667
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/WHEEL +1 -1
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.1.dist-info → esphome-2025.6.0b1.dist-info}/top_level.txt +0 -0
@@ -39,7 +39,7 @@ void BluetoothProxy::send_bluetooth_scanner_state_(esp32_ble_tracker::ScannerSta
|
|
39
39
|
resp.state = static_cast<api::enums::BluetoothScannerState>(state);
|
40
40
|
resp.mode = this->parent_->get_scan_active() ? api::enums::BluetoothScannerMode::BLUETOOTH_SCANNER_MODE_ACTIVE
|
41
41
|
: api::enums::BluetoothScannerMode::BLUETOOTH_SCANNER_MODE_PASSIVE;
|
42
|
-
this->api_connection_->
|
42
|
+
this->api_connection_->send_message(resp);
|
43
43
|
}
|
44
44
|
|
45
45
|
bool BluetoothProxy::parse_device(const esp32_ble_tracker::ESPBTDevice &device) {
|
@@ -103,7 +103,7 @@ void BluetoothProxy::flush_pending_advertisements() {
|
|
103
103
|
|
104
104
|
api::BluetoothLERawAdvertisementsResponse resp;
|
105
105
|
resp.advertisements.swap(batch_buffer);
|
106
|
-
this->api_connection_->
|
106
|
+
this->api_connection_->send_message(resp);
|
107
107
|
}
|
108
108
|
|
109
109
|
void BluetoothProxy::send_api_packet_(const esp32_ble_tracker::ESPBTDevice &device) {
|
@@ -141,14 +141,16 @@ void BluetoothProxy::send_api_packet_(const esp32_ble_tracker::ESPBTDevice &devi
|
|
141
141
|
manufacturer_data.data.assign(data.data.begin(), data.data.end());
|
142
142
|
}
|
143
143
|
|
144
|
-
this->api_connection_->
|
144
|
+
this->api_connection_->send_message(resp);
|
145
145
|
}
|
146
146
|
|
147
147
|
void BluetoothProxy::dump_config() {
|
148
148
|
ESP_LOGCONFIG(TAG, "Bluetooth Proxy:");
|
149
|
-
ESP_LOGCONFIG(TAG,
|
150
|
-
|
151
|
-
|
149
|
+
ESP_LOGCONFIG(TAG,
|
150
|
+
" Active: %s\n"
|
151
|
+
" Connections: %d\n"
|
152
|
+
" Raw advertisements: %s",
|
153
|
+
YESNO(this->active_), this->connections_.size(), YESNO(this->raw_advertisements_));
|
152
154
|
}
|
153
155
|
|
154
156
|
int BluetoothProxy::get_bluetooth_connections_free() {
|
@@ -300,7 +302,7 @@ void BluetoothProxy::loop() {
|
|
300
302
|
service_resp.characteristics.push_back(std::move(characteristic_resp));
|
301
303
|
}
|
302
304
|
resp.services.push_back(std::move(service_resp));
|
303
|
-
this->api_connection_->
|
305
|
+
this->api_connection_->send_message(resp);
|
304
306
|
}
|
305
307
|
}
|
306
308
|
}
|
@@ -453,7 +455,7 @@ void BluetoothProxy::bluetooth_device_request(const api::BluetoothDeviceRequest
|
|
453
455
|
call.success = ret == ESP_OK;
|
454
456
|
call.error = ret;
|
455
457
|
|
456
|
-
this->api_connection_->
|
458
|
+
this->api_connection_->send_message(call);
|
457
459
|
|
458
460
|
break;
|
459
461
|
}
|
@@ -577,7 +579,7 @@ void BluetoothProxy::send_device_connection(uint64_t address, bool connected, ui
|
|
577
579
|
call.connected = connected;
|
578
580
|
call.mtu = mtu;
|
579
581
|
call.error = error;
|
580
|
-
this->api_connection_->
|
582
|
+
this->api_connection_->send_message(call);
|
581
583
|
}
|
582
584
|
void BluetoothProxy::send_connections_free() {
|
583
585
|
if (this->api_connection_ == nullptr)
|
@@ -590,7 +592,7 @@ void BluetoothProxy::send_connections_free() {
|
|
590
592
|
call.allocated.push_back(connection->address_);
|
591
593
|
}
|
592
594
|
}
|
593
|
-
this->api_connection_->
|
595
|
+
this->api_connection_->send_message(call);
|
594
596
|
}
|
595
597
|
|
596
598
|
void BluetoothProxy::send_gatt_services_done(uint64_t address) {
|
@@ -598,7 +600,7 @@ void BluetoothProxy::send_gatt_services_done(uint64_t address) {
|
|
598
600
|
return;
|
599
601
|
api::BluetoothGATTGetServicesDoneResponse call;
|
600
602
|
call.address = address;
|
601
|
-
this->api_connection_->
|
603
|
+
this->api_connection_->send_message(call);
|
602
604
|
}
|
603
605
|
|
604
606
|
void BluetoothProxy::send_gatt_error(uint64_t address, uint16_t handle, esp_err_t error) {
|
@@ -608,7 +610,7 @@ void BluetoothProxy::send_gatt_error(uint64_t address, uint16_t handle, esp_err_
|
|
608
610
|
call.address = address;
|
609
611
|
call.handle = handle;
|
610
612
|
call.error = error;
|
611
|
-
this->api_connection_->
|
613
|
+
this->api_connection_->send_message(call);
|
612
614
|
}
|
613
615
|
|
614
616
|
void BluetoothProxy::send_device_pairing(uint64_t address, bool paired, esp_err_t error) {
|
@@ -617,7 +619,7 @@ void BluetoothProxy::send_device_pairing(uint64_t address, bool paired, esp_err_
|
|
617
619
|
call.paired = paired;
|
618
620
|
call.error = error;
|
619
621
|
|
620
|
-
this->api_connection_->
|
622
|
+
this->api_connection_->send_message(call);
|
621
623
|
}
|
622
624
|
|
623
625
|
void BluetoothProxy::send_device_unpairing(uint64_t address, bool success, esp_err_t error) {
|
@@ -626,7 +628,7 @@ void BluetoothProxy::send_device_unpairing(uint64_t address, bool success, esp_e
|
|
626
628
|
call.success = success;
|
627
629
|
call.error = error;
|
628
630
|
|
629
|
-
this->api_connection_->
|
631
|
+
this->api_connection_->send_message(call);
|
630
632
|
}
|
631
633
|
|
632
634
|
void BluetoothProxy::bluetooth_scanner_set_mode(bool active) {
|
@@ -88,7 +88,7 @@ const char *oversampling_to_str(BME280Oversampling oversampling) { // NOLINT
|
|
88
88
|
}
|
89
89
|
|
90
90
|
void BME280Component::setup() {
|
91
|
-
ESP_LOGCONFIG(TAG, "
|
91
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
92
92
|
uint8_t chip_id = 0;
|
93
93
|
|
94
94
|
// Mark as not failed before initializing. Some devices will turn off sensors to save on batteries
|
@@ -182,7 +182,7 @@ void BME280Component::dump_config() {
|
|
182
182
|
ESP_LOGCONFIG(TAG, "BME280:");
|
183
183
|
switch (this->error_code_) {
|
184
184
|
case COMMUNICATION_FAILED:
|
185
|
-
ESP_LOGE(TAG,
|
185
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
186
186
|
break;
|
187
187
|
case WRONG_CHIP_ID:
|
188
188
|
ESP_LOGE(TAG, "BME280 has wrong chip ID! Is it a BME280?");
|
@@ -207,7 +207,7 @@ inline uint8_t oversampling_to_time(BME280Oversampling over_sampling) { return (
|
|
207
207
|
|
208
208
|
void BME280Component::update() {
|
209
209
|
// Enable sensor
|
210
|
-
ESP_LOGV(TAG, "Sending conversion request
|
210
|
+
ESP_LOGV(TAG, "Sending conversion request");
|
211
211
|
uint8_t meas_value = 0;
|
212
212
|
meas_value |= (this->temperature_oversampling_ & 0b111) << 5;
|
213
213
|
meas_value |= (this->pressure_oversampling_ & 0b111) << 2;
|
@@ -71,7 +71,7 @@ static const char *iir_filter_to_str(BME680IIRFilter filter) {
|
|
71
71
|
}
|
72
72
|
|
73
73
|
void BME680Component::setup() {
|
74
|
-
ESP_LOGCONFIG(TAG, "
|
74
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
75
75
|
uint8_t chip_id;
|
76
76
|
if (!this->read_byte(BME680_REGISTER_CHIPID, &chip_id) || chip_id != 0x61) {
|
77
77
|
this->mark_failed();
|
@@ -215,7 +215,7 @@ void BME680Component::dump_config() {
|
|
215
215
|
ESP_LOGCONFIG(TAG, "BME680:");
|
216
216
|
LOG_I2C_DEVICE(this);
|
217
217
|
if (this->is_failed()) {
|
218
|
-
ESP_LOGE(TAG,
|
218
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
219
219
|
}
|
220
220
|
ESP_LOGCONFIG(TAG, " IIR Filter: %s", iir_filter_to_str(this->iir_filter_));
|
221
221
|
LOG_UPDATE_INTERVAL(this);
|
@@ -307,7 +307,7 @@ void BME680Component::read_data_() {
|
|
307
307
|
this->humidity_sensor_->publish_state(NAN);
|
308
308
|
if (this->gas_resistance_sensor_ != nullptr)
|
309
309
|
this->gas_resistance_sensor_->publish_state(NAN);
|
310
|
-
ESP_LOGW(TAG,
|
310
|
+
ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL);
|
311
311
|
this->status_set_warning();
|
312
312
|
return;
|
313
313
|
}
|
@@ -13,7 +13,7 @@ from esphome.const import (
|
|
13
13
|
CONF_PRESSURE,
|
14
14
|
CONF_TEMPERATURE,
|
15
15
|
DEVICE_CLASS_HUMIDITY,
|
16
|
-
|
16
|
+
DEVICE_CLASS_ATMOSPHERIC_PRESSURE,
|
17
17
|
DEVICE_CLASS_TEMPERATURE,
|
18
18
|
ICON_GAS_CYLINDER,
|
19
19
|
STATE_CLASS_MEASUREMENT,
|
@@ -71,7 +71,7 @@ CONFIG_SCHEMA = (
|
|
71
71
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
72
72
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
73
73
|
accuracy_decimals=1,
|
74
|
-
device_class=
|
74
|
+
device_class=DEVICE_CLASS_ATMOSPHERIC_PRESSURE,
|
75
75
|
state_class=STATE_CLASS_MEASUREMENT,
|
76
76
|
).extend(
|
77
77
|
{
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#include "bme680_bsec.h"
|
2
|
-
#include "esphome/core/log.h"
|
3
2
|
#include "esphome/core/helpers.h"
|
3
|
+
#include "esphome/core/log.h"
|
4
4
|
#include <string>
|
5
5
|
|
6
6
|
namespace esphome {
|
@@ -15,7 +15,7 @@ std::vector<BME680BSECComponent *>
|
|
15
15
|
uint8_t BME680BSECComponent::work_buffer_[BSEC_MAX_WORKBUFFER_SIZE] = {0};
|
16
16
|
|
17
17
|
void BME680BSECComponent::setup() {
|
18
|
-
ESP_LOGCONFIG(TAG, "
|
18
|
+
ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->device_id_.c_str());
|
19
19
|
|
20
20
|
uint8_t new_idx = BME680BSECComponent::instances.size();
|
21
21
|
BME680BSECComponent::instances.push_back(this);
|
@@ -159,11 +159,15 @@ void BME680BSECComponent::dump_config() {
|
|
159
159
|
this->bme680_status_);
|
160
160
|
}
|
161
161
|
|
162
|
-
ESP_LOGCONFIG(TAG,
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
162
|
+
ESP_LOGCONFIG(TAG,
|
163
|
+
" Temperature Offset: %.2f\n"
|
164
|
+
" IAQ Mode: %s\n"
|
165
|
+
" Supply Voltage: %sV\n"
|
166
|
+
" Sample Rate: %s\n"
|
167
|
+
" State Save Interval: %ims",
|
168
|
+
this->temperature_offset_, this->iaq_mode_ == IAQ_MODE_STATIC ? "Static" : "Mobile",
|
169
|
+
this->supply_voltage_ == SUPPLY_VOLTAGE_3V3 ? "3.3" : "1.8",
|
170
|
+
BME680_BSEC_SAMPLE_RATE_LOG(this->sample_rate_), this->state_save_interval_ms_);
|
167
171
|
|
168
172
|
LOG_SENSOR(" ", "Temperature", this->temperature_sensor_);
|
169
173
|
ESP_LOGCONFIG(TAG, " Sample Rate: %s", BME680_BSEC_SAMPLE_RATE_LOG(this->temperature_sample_rate_));
|
@@ -15,6 +15,8 @@ from esphome.const import (
|
|
15
15
|
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
16
16
|
ICON_GAS_CYLINDER,
|
17
17
|
ICON_GAUGE,
|
18
|
+
ICON_THERMOMETER,
|
19
|
+
ICON_WATER_PERCENT,
|
18
20
|
STATE_CLASS_MEASUREMENT,
|
19
21
|
UNIT_CELSIUS,
|
20
22
|
UNIT_HECTOPASCAL,
|
@@ -27,11 +29,11 @@ from . import CONF_BME680_BSEC_ID, SAMPLE_RATE_OPTIONS, BME680BSECComponent
|
|
27
29
|
|
28
30
|
DEPENDENCIES = ["bme680_bsec"]
|
29
31
|
|
30
|
-
CONF_IAQ = "iaq"
|
31
|
-
CONF_CO2_EQUIVALENT = "co2_equivalent"
|
32
32
|
CONF_BREATH_VOC_EQUIVALENT = "breath_voc_equivalent"
|
33
|
-
|
33
|
+
CONF_CO2_EQUIVALENT = "co2_equivalent"
|
34
|
+
CONF_IAQ = "iaq"
|
34
35
|
ICON_ACCURACY = "mdi:checkbox-marked-circle-outline"
|
36
|
+
UNIT_IAQ = "IAQ"
|
35
37
|
|
36
38
|
TYPES = [
|
37
39
|
CONF_TEMPERATURE,
|
@@ -49,6 +51,7 @@ CONFIG_SCHEMA = cv.Schema(
|
|
49
51
|
cv.GenerateID(CONF_BME680_BSEC_ID): cv.use_id(BME680BSECComponent),
|
50
52
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
51
53
|
unit_of_measurement=UNIT_CELSIUS,
|
54
|
+
icon=ICON_THERMOMETER,
|
52
55
|
accuracy_decimals=1,
|
53
56
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
54
57
|
state_class=STATE_CLASS_MEASUREMENT,
|
@@ -65,6 +68,7 @@ CONFIG_SCHEMA = cv.Schema(
|
|
65
68
|
),
|
66
69
|
cv.Optional(CONF_HUMIDITY): sensor.sensor_schema(
|
67
70
|
unit_of_measurement=UNIT_PERCENT,
|
71
|
+
icon=ICON_WATER_PERCENT,
|
68
72
|
accuracy_decimals=1,
|
69
73
|
device_class=DEVICE_CLASS_HUMIDITY,
|
70
74
|
state_class=STATE_CLASS_MEASUREMENT,
|
@@ -16,7 +16,7 @@ CODEOWNERS = ["@neffs", "@kbx81"]
|
|
16
16
|
|
17
17
|
DOMAIN = "bme68x_bsec2"
|
18
18
|
|
19
|
-
BSEC2_LIBRARY_VERSION = "
|
19
|
+
BSEC2_LIBRARY_VERSION = "1.10.2610"
|
20
20
|
|
21
21
|
CONF_ALGORITHM_OUTPUT = "algorithm_output"
|
22
22
|
CONF_BME68X_BSEC2_ID = "bme68x_bsec2_id"
|
@@ -145,7 +145,6 @@ CONFIG_SCHEMA_BASE = (
|
|
145
145
|
): cv.positive_time_period_minutes,
|
146
146
|
},
|
147
147
|
)
|
148
|
-
.add_extra(cv.only_with_arduino)
|
149
148
|
.add_extra(validate_bme68x)
|
150
149
|
.add_extra(download_bme68x_blob)
|
151
150
|
)
|
@@ -179,11 +178,13 @@ async def to_code_base(config):
|
|
179
178
|
bsec2_arr = cg.progmem_array(config[CONF_RAW_DATA_ID], rhs)
|
180
179
|
cg.add(var.set_bsec2_configuration(bsec2_arr, len(rhs)))
|
181
180
|
|
182
|
-
# Although this component does not use SPI, the BSEC2 library requires the SPI library
|
183
|
-
|
181
|
+
# Although this component does not use SPI, the BSEC2 Arduino library requires the SPI library
|
182
|
+
if core.CORE.using_arduino:
|
183
|
+
cg.add_library("SPI", None)
|
184
184
|
cg.add_library(
|
185
185
|
"BME68x Sensor library",
|
186
|
-
"1.
|
186
|
+
"1.3.40408",
|
187
|
+
"https://github.com/boschsensortec/Bosch-BME68x-Library",
|
187
188
|
)
|
188
189
|
cg.add_library(
|
189
190
|
"BSEC2 Software Library",
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#include "esphome/core/defines.h"
|
2
|
+
#include "esphome/core/hal.h"
|
2
3
|
#include "esphome/core/helpers.h"
|
3
4
|
#include "esphome/core/log.h"
|
4
5
|
|
@@ -20,7 +21,7 @@ static const char *const TAG = "bme68x_bsec2.sensor";
|
|
20
21
|
static const std::string IAQ_ACCURACY_STATES[4] = {"Stabilizing", "Uncertain", "Calibrating", "Calibrated"};
|
21
22
|
|
22
23
|
void BME68xBSEC2Component::setup() {
|
23
|
-
ESP_LOGCONFIG(TAG, "
|
24
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
24
25
|
|
25
26
|
this->bsec_status_ = bsec_init_m(&this->bsec_instance_);
|
26
27
|
if (this->bsec_status_ != BSEC_OK) {
|
@@ -57,13 +58,13 @@ void BME68xBSEC2Component::setup() {
|
|
57
58
|
}
|
58
59
|
|
59
60
|
void BME68xBSEC2Component::dump_config() {
|
60
|
-
ESP_LOGCONFIG(TAG,
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
61
|
+
ESP_LOGCONFIG(TAG,
|
62
|
+
"BME68X via BSEC2:\n"
|
63
|
+
" BSEC2 version: %d.%d.%d.%d\n"
|
64
|
+
" BSEC2 configuration blob:\n"
|
65
|
+
" Configured: %s",
|
66
|
+
this->version_.major, this->version_.minor, this->version_.major_bugfix, this->version_.minor_bugfix,
|
67
|
+
YESNO(this->bsec2_blob_configured_));
|
67
68
|
if (this->bsec2_configuration_ != nullptr && this->bsec2_configuration_length_) {
|
68
69
|
ESP_LOGCONFIG(TAG, " Size: %" PRIu32, this->bsec2_configuration_length_);
|
69
70
|
}
|
@@ -76,11 +77,14 @@ void BME68xBSEC2Component::dump_config() {
|
|
76
77
|
if (this->algorithm_output_ != ALGORITHM_OUTPUT_IAQ) {
|
77
78
|
ESP_LOGCONFIG(TAG, " Algorithm output: %s", BME68X_BSEC2_ALGORITHM_OUTPUT_LOG(this->algorithm_output_));
|
78
79
|
}
|
79
|
-
ESP_LOGCONFIG(TAG,
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
80
|
+
ESP_LOGCONFIG(TAG,
|
81
|
+
" Operating age: %s\n"
|
82
|
+
" Sample rate: %s\n"
|
83
|
+
" Voltage: %s\n"
|
84
|
+
" State save interval: %ims\n"
|
85
|
+
" Temperature offset: %.2f",
|
86
|
+
BME68X_BSEC2_OPERATING_AGE_LOG(this->operating_age_), BME68X_BSEC2_SAMPLE_RATE_LOG(this->sample_rate_),
|
87
|
+
BME68X_BSEC2_VOLTAGE_LOG(this->voltage_), this->state_save_interval_ms_, this->temperature_offset_);
|
84
88
|
|
85
89
|
#ifdef USE_SENSOR
|
86
90
|
LOG_SENSOR(" ", "Temperature", this->temperature_sensor_);
|
@@ -9,8 +9,10 @@ from esphome.const import (
|
|
9
9
|
CONF_SAMPLE_RATE,
|
10
10
|
CONF_TEMPERATURE,
|
11
11
|
DEVICE_CLASS_ATMOSPHERIC_PRESSURE,
|
12
|
+
DEVICE_CLASS_CARBON_DIOXIDE,
|
12
13
|
DEVICE_CLASS_HUMIDITY,
|
13
14
|
DEVICE_CLASS_TEMPERATURE,
|
15
|
+
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
14
16
|
ICON_GAS_CYLINDER,
|
15
17
|
ICON_GAUGE,
|
16
18
|
ICON_THERMOMETER,
|
@@ -32,7 +34,6 @@ CONF_CO2_EQUIVALENT = "co2_equivalent"
|
|
32
34
|
CONF_IAQ = "iaq"
|
33
35
|
CONF_IAQ_STATIC = "iaq_static"
|
34
36
|
ICON_ACCURACY = "mdi:checkbox-marked-circle-outline"
|
35
|
-
ICON_TEST_TUBE = "mdi:test-tube"
|
36
37
|
UNIT_IAQ = "IAQ"
|
37
38
|
|
38
39
|
TYPES = [
|
@@ -61,7 +62,6 @@ CONFIG_SCHEMA = cv.Schema(
|
|
61
62
|
),
|
62
63
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
63
64
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
64
|
-
icon=ICON_GAUGE,
|
65
65
|
accuracy_decimals=1,
|
66
66
|
device_class=DEVICE_CLASS_ATMOSPHERIC_PRESSURE,
|
67
67
|
state_class=STATE_CLASS_MEASUREMENT,
|
@@ -102,14 +102,14 @@ CONFIG_SCHEMA = cv.Schema(
|
|
102
102
|
),
|
103
103
|
cv.Optional(CONF_CO2_EQUIVALENT): sensor.sensor_schema(
|
104
104
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
105
|
-
icon=ICON_TEST_TUBE,
|
106
105
|
accuracy_decimals=1,
|
106
|
+
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
107
107
|
state_class=STATE_CLASS_MEASUREMENT,
|
108
108
|
),
|
109
109
|
cv.Optional(CONF_BREATH_VOC_EQUIVALENT): sensor.sensor_schema(
|
110
110
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
111
|
-
icon=ICON_TEST_TUBE,
|
112
111
|
accuracy_decimals=1,
|
112
|
+
device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
113
113
|
state_class=STATE_CLASS_MEASUREMENT,
|
114
114
|
),
|
115
115
|
}
|
@@ -119,44 +119,44 @@ const float GRAVITY_EARTH = 9.80665f;
|
|
119
119
|
void BMI160Component::internal_setup_(int stage) {
|
120
120
|
switch (stage) {
|
121
121
|
case 0:
|
122
|
-
ESP_LOGCONFIG(TAG, "
|
122
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
123
123
|
uint8_t chipid;
|
124
124
|
if (!this->read_byte(BMI160_REGISTER_CHIPID, &chipid) || (chipid != 0b11010001)) {
|
125
125
|
this->mark_failed();
|
126
126
|
return;
|
127
127
|
}
|
128
128
|
|
129
|
-
ESP_LOGV(TAG, " Bringing accelerometer out of sleep
|
129
|
+
ESP_LOGV(TAG, " Bringing accelerometer out of sleep");
|
130
130
|
if (!this->write_byte(BMI160_REGISTER_CMD, (uint8_t) Cmd::ACCL_SET_PMU_MODE | (uint8_t) AcclPmuMode::NORMAL)) {
|
131
131
|
this->mark_failed();
|
132
132
|
return;
|
133
133
|
}
|
134
|
-
ESP_LOGV(TAG, " Waiting for accelerometer to wake up
|
134
|
+
ESP_LOGV(TAG, " Waiting for accelerometer to wake up");
|
135
135
|
// need to wait (max delay in datasheet) because we can't send commands while another is in progress
|
136
136
|
// min 5ms, 10ms
|
137
137
|
this->set_timeout(10, [this]() { this->internal_setup_(1); });
|
138
138
|
break;
|
139
139
|
|
140
140
|
case 1:
|
141
|
-
ESP_LOGV(TAG, " Bringing gyroscope out of sleep
|
141
|
+
ESP_LOGV(TAG, " Bringing gyroscope out of sleep");
|
142
142
|
if (!this->write_byte(BMI160_REGISTER_CMD, (uint8_t) Cmd::GYRO_SET_PMU_MODE | (uint8_t) GyroPmuMode::NORMAL)) {
|
143
143
|
this->mark_failed();
|
144
144
|
return;
|
145
145
|
}
|
146
|
-
ESP_LOGV(TAG, " Waiting for gyroscope to wake up
|
146
|
+
ESP_LOGV(TAG, " Waiting for gyroscope to wake up");
|
147
147
|
// wait between 51 & 81ms, doing 100 to be safe
|
148
148
|
this->set_timeout(10, [this]() { this->internal_setup_(2); });
|
149
149
|
break;
|
150
150
|
|
151
151
|
case 2:
|
152
|
-
ESP_LOGV(TAG, " Setting up Gyro Config
|
152
|
+
ESP_LOGV(TAG, " Setting up Gyro Config");
|
153
153
|
uint8_t gyro_config = (uint8_t) GyroBandwidth::OSR4 | (uint8_t) GyroOuputDataRate::HZ_25;
|
154
154
|
ESP_LOGV(TAG, " Output gyro_config: 0b" BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(gyro_config));
|
155
155
|
if (!this->write_byte(BMI160_REGISTER_GYRO_CONFIG, gyro_config)) {
|
156
156
|
this->mark_failed();
|
157
157
|
return;
|
158
158
|
}
|
159
|
-
ESP_LOGV(TAG, " Setting up Gyro Range
|
159
|
+
ESP_LOGV(TAG, " Setting up Gyro Range");
|
160
160
|
uint8_t gyro_range = (uint8_t) GyroRange::RANGE_2000_DPS;
|
161
161
|
ESP_LOGV(TAG, " Output gyro_range: 0b" BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(gyro_range));
|
162
162
|
if (!this->write_byte(BMI160_REGISTER_GYRO_RANGE, gyro_range)) {
|
@@ -164,7 +164,7 @@ void BMI160Component::internal_setup_(int stage) {
|
|
164
164
|
return;
|
165
165
|
}
|
166
166
|
|
167
|
-
ESP_LOGV(TAG, " Setting up Accel Config
|
167
|
+
ESP_LOGV(TAG, " Setting up Accel Config");
|
168
168
|
uint8_t accel_config =
|
169
169
|
(uint8_t) AcclFilterMode::PERF | (uint8_t) AcclBandwidth::RES_AVG16 | (uint8_t) AccelOutputDataRate::HZ_25;
|
170
170
|
ESP_LOGV(TAG, " Output accel_config: 0b" BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(accel_config));
|
@@ -172,7 +172,7 @@ void BMI160Component::internal_setup_(int stage) {
|
|
172
172
|
this->mark_failed();
|
173
173
|
return;
|
174
174
|
}
|
175
|
-
ESP_LOGV(TAG, " Setting up Accel Range
|
175
|
+
ESP_LOGV(TAG, " Setting up Accel Range");
|
176
176
|
uint8_t accel_range = (uint8_t) AccelRange::RANGE_16G;
|
177
177
|
ESP_LOGV(TAG, " Output accel_range: 0b" BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(accel_range));
|
178
178
|
if (!this->write_byte(BMI160_REGISTER_ACCEL_RANGE, accel_range)) {
|
@@ -189,7 +189,7 @@ void BMI160Component::dump_config() {
|
|
189
189
|
ESP_LOGCONFIG(TAG, "BMI160:");
|
190
190
|
LOG_I2C_DEVICE(this);
|
191
191
|
if (this->is_failed()) {
|
192
|
-
ESP_LOGE(TAG,
|
192
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
193
193
|
}
|
194
194
|
LOG_UPDATE_INTERVAL(this);
|
195
195
|
LOG_SENSOR(" ", "Acceleration X", this->accel_x_sensor_);
|
@@ -219,7 +219,7 @@ void BMI160Component::update() {
|
|
219
219
|
return;
|
220
220
|
}
|
221
221
|
|
222
|
-
ESP_LOGV(TAG, " Updating BMI160
|
222
|
+
ESP_LOGV(TAG, " Updating BMI160");
|
223
223
|
int16_t data[6];
|
224
224
|
if (this->read_le_int16_(BMI160_REGISTER_DATA_GYRO_X_LSB, data, 6) != i2c::ERROR_OK) {
|
225
225
|
this->status_set_warning();
|
@@ -20,7 +20,7 @@ void BMP085Component::update() {
|
|
20
20
|
this->set_timeout("temperature", 5, [this]() { this->read_temperature_(); });
|
21
21
|
}
|
22
22
|
void BMP085Component::setup() {
|
23
|
-
ESP_LOGCONFIG(TAG, "
|
23
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
24
24
|
uint8_t data[22];
|
25
25
|
if (!this->read_bytes(BMP085_REGISTER_AC1_H, data, 22)) {
|
26
26
|
this->mark_failed();
|
@@ -129,7 +129,7 @@ void BMP085Component::read_pressure_() {
|
|
129
129
|
this->status_clear_warning();
|
130
130
|
}
|
131
131
|
bool BMP085Component::set_mode_(uint8_t mode) {
|
132
|
-
ESP_LOGV(TAG, "Setting mode to 0x%02X
|
132
|
+
ESP_LOGV(TAG, "Setting mode to 0x%02X", mode);
|
133
133
|
return this->write_byte(BMP085_REGISTER_CONTROL, mode);
|
134
134
|
}
|
135
135
|
float BMP085Component::get_setup_priority() const { return setup_priority::DATA; }
|
@@ -57,7 +57,7 @@ static const char *iir_filter_to_str(BMP280IIRFilter filter) {
|
|
57
57
|
}
|
58
58
|
|
59
59
|
void BMP280Component::setup() {
|
60
|
-
ESP_LOGCONFIG(TAG, "
|
60
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
61
61
|
uint8_t chip_id = 0;
|
62
62
|
|
63
63
|
// Read the chip id twice, to work around a bug where the first read is 0.
|
@@ -132,7 +132,7 @@ void BMP280Component::dump_config() {
|
|
132
132
|
ESP_LOGCONFIG(TAG, "BMP280:");
|
133
133
|
switch (this->error_code_) {
|
134
134
|
case COMMUNICATION_FAILED:
|
135
|
-
ESP_LOGE(TAG,
|
135
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
136
136
|
break;
|
137
137
|
case WRONG_CHIP_ID:
|
138
138
|
ESP_LOGE(TAG, "BMP280 has wrong chip ID! Is it a BME280?");
|
@@ -155,7 +155,7 @@ inline uint8_t oversampling_to_time(BMP280Oversampling over_sampling) { return (
|
|
155
155
|
|
156
156
|
void BMP280Component::update() {
|
157
157
|
// Enable sensor
|
158
|
-
ESP_LOGV(TAG, "Sending conversion request
|
158
|
+
ESP_LOGV(TAG, "Sending conversion request");
|
159
159
|
uint8_t meas_value = 0;
|
160
160
|
meas_value |= (this->temperature_oversampling_ & 0b111) << 5;
|
161
161
|
meas_value |= (this->pressure_oversampling_ & 0b111) << 2;
|
@@ -70,10 +70,10 @@ static const LogString *iir_filter_to_str(IIRFilter filter) {
|
|
70
70
|
|
71
71
|
void BMP3XXComponent::setup() {
|
72
72
|
this->error_code_ = NONE;
|
73
|
-
ESP_LOGCONFIG(TAG, "
|
73
|
+
ESP_LOGCONFIG(TAG, "Running setup");
|
74
74
|
// Call the Device base class "initialise" function
|
75
75
|
if (!reset()) {
|
76
|
-
ESP_LOGE(TAG, "Failed to reset
|
76
|
+
ESP_LOGE(TAG, "Failed to reset");
|
77
77
|
this->error_code_ = ERROR_SENSOR_RESET;
|
78
78
|
this->mark_failed();
|
79
79
|
}
|
@@ -148,25 +148,25 @@ void BMP3XXComponent::setup() {
|
|
148
148
|
}
|
149
149
|
|
150
150
|
void BMP3XXComponent::dump_config() {
|
151
|
-
ESP_LOGCONFIG(TAG,
|
152
|
-
|
151
|
+
ESP_LOGCONFIG(TAG,
|
152
|
+
"BMP3XX:\n"
|
153
|
+
" Type: %s (0x%X)",
|
154
|
+
LOG_STR_ARG(chip_type_to_str(this->chip_id_.reg)), this->chip_id_.reg);
|
153
155
|
switch (this->error_code_) {
|
154
156
|
case NONE:
|
155
157
|
break;
|
156
158
|
case ERROR_COMMUNICATION_FAILED:
|
157
|
-
ESP_LOGE(TAG,
|
159
|
+
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
158
160
|
break;
|
159
161
|
case ERROR_WRONG_CHIP_ID:
|
160
|
-
ESP_LOGE(
|
161
|
-
|
162
|
-
"BMP3XX has wrong chip ID (reported id: 0x%X) - please check if you are really using a BMP 388 or BMP 390",
|
163
|
-
this->chip_id_.reg);
|
162
|
+
ESP_LOGE(TAG, "Wrong chip ID (reported id: 0x%X) - please check if you are really using a BMP 388 or BMP 390",
|
163
|
+
this->chip_id_.reg);
|
164
164
|
break;
|
165
165
|
case ERROR_SENSOR_RESET:
|
166
|
-
ESP_LOGE(TAG, "
|
166
|
+
ESP_LOGE(TAG, "Failed to reset");
|
167
167
|
break;
|
168
168
|
default:
|
169
|
-
ESP_LOGE(TAG, "
|
169
|
+
ESP_LOGE(TAG, "Error code %d", (int) this->error_code_);
|
170
170
|
break;
|
171
171
|
}
|
172
172
|
ESP_LOGCONFIG(TAG, " IIR Filter: %s", LOG_STR_ARG(iir_filter_to_str(this->iir_filter_)));
|
@@ -186,7 +186,7 @@ inline uint8_t oversampling_to_time(Oversampling over_sampling) { return (1 << u
|
|
186
186
|
|
187
187
|
void BMP3XXComponent::update() {
|
188
188
|
// Enable sensor
|
189
|
-
ESP_LOGV(TAG, "Sending conversion request
|
189
|
+
ESP_LOGV(TAG, "Sending conversion request");
|
190
190
|
float meas_time = 1.0f;
|
191
191
|
// Ref: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmp390-ds002.pdf 3.9.2
|
192
192
|
meas_time += 2.02f * oversampling_to_time(this->temperature_oversampling_) + 0.163f;
|
@@ -296,7 +296,7 @@ bool BMP3XXComponent::get_pressure(float &pressure) {
|
|
296
296
|
bool BMP3XXComponent::get_measurements(float &temperature, float &pressure) {
|
297
297
|
// Check if a measurement is ready
|
298
298
|
if (!data_ready()) {
|
299
|
-
ESP_LOGD(TAG, "
|
299
|
+
ESP_LOGD(TAG, "Get measurement - data not ready skipping update");
|
300
300
|
return false;
|
301
301
|
}
|
302
302
|
|