esphome 2025.7.4__py3-none-any.whl → 2025.8.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.
Potentially problematic release.
This version of esphome might be problematic. Click here for more details.
- esphome/__main__.py +189 -82
- esphome/automation.py +2 -4
- esphome/build_gen/__init__.py +0 -0
- esphome/build_gen/platformio.py +102 -0
- esphome/components/a4988/a4988.cpp +0 -1
- esphome/components/absolute_humidity/absolute_humidity.cpp +0 -2
- esphome/components/absolute_humidity/sensor.py +2 -2
- esphome/components/adc/__init__.py +123 -85
- esphome/components/adc/adc_sensor.h +98 -35
- esphome/components/adc/adc_sensor_common.cpp +10 -4
- esphome/components/adc/adc_sensor_esp32.cpp +291 -123
- esphome/components/adc/adc_sensor_esp8266.cpp +1 -4
- esphome/components/adc/adc_sensor_libretiny.cpp +1 -2
- esphome/components/adc/adc_sensor_rp2040.cpp +1 -2
- esphome/components/adc/adc_sensor_zephyr.cpp +207 -0
- esphome/components/adc/sensor.py +61 -27
- esphome/components/adc128s102/adc128s102.cpp +1 -4
- esphome/components/ade7880/sensor.py +75 -49
- esphome/components/ads1115/ads1115.cpp +0 -1
- esphome/components/ads1118/ads1118.cpp +0 -1
- esphome/components/ags10/ags10.cpp +0 -4
- esphome/components/aht10/aht10.cpp +0 -4
- esphome/components/aic3204/aic3204.cpp +0 -2
- esphome/components/airthings_wave_plus/__init__.py +1 -1
- esphome/components/airthings_wave_plus/airthings_wave_plus.cpp +22 -4
- esphome/components/airthings_wave_plus/airthings_wave_plus.h +10 -1
- esphome/components/airthings_wave_plus/sensor.py +55 -28
- esphome/components/alarm_control_panel/__init__.py +4 -9
- esphome/components/am2315c/am2315c.cpp +0 -2
- esphome/components/am2320/am2320.cpp +0 -1
- esphome/components/animation/__init__.py +14 -11
- esphome/components/apds9306/apds9306.cpp +0 -4
- esphome/components/apds9960/apds9960.cpp +0 -1
- esphome/components/api/__init__.py +29 -4
- esphome/components/api/api_connection.cpp +378 -401
- esphome/components/api/api_connection.h +112 -56
- esphome/components/api/api_frame_helper.cpp +69 -896
- esphome/components/api/api_frame_helper.h +31 -126
- esphome/components/api/api_frame_helper_noise.cpp +583 -0
- esphome/components/api/api_frame_helper_noise.h +68 -0
- esphome/components/api/api_frame_helper_plaintext.cpp +290 -0
- esphome/components/api/api_frame_helper_plaintext.h +53 -0
- esphome/components/api/api_noise_context.h +2 -4
- esphome/components/api/api_pb2.cpp +1601 -1808
- esphome/components/api/api_pb2.h +367 -323
- esphome/components/api/api_pb2_dump.cpp +1137 -3466
- esphome/components/api/api_pb2_includes.h +34 -0
- esphome/components/api/api_pb2_service.cpp +94 -105
- esphome/components/api/api_pb2_service.h +27 -16
- esphome/components/api/api_server.cpp +18 -17
- esphome/components/api/api_server.h +8 -5
- esphome/components/api/client.py +16 -8
- esphome/components/api/custom_api_device.h +68 -14
- esphome/components/api/homeassistant_service.h +24 -19
- esphome/components/api/list_entities.cpp +3 -5
- esphome/components/api/list_entities.h +2 -4
- esphome/components/api/proto.cpp +3 -5
- esphome/components/api/proto.h +239 -274
- esphome/components/api/subscribe_state.cpp +2 -4
- esphome/components/api/subscribe_state.h +2 -4
- esphome/components/api/user_services.cpp +2 -4
- esphome/components/api/user_services.h +8 -8
- esphome/components/as3935/as3935.cpp +0 -2
- esphome/components/as3935_spi/as3935_spi.cpp +0 -2
- esphome/components/as5600/__init__.py +1 -1
- esphome/components/as5600/as5600.cpp +0 -2
- esphome/components/as5600/sensor/__init__.py +0 -1
- esphome/components/as7341/as7341.cpp +0 -1
- esphome/components/async_tcp/__init__.py +1 -1
- esphome/components/at581x/at581x.cpp +1 -1
- esphome/components/atm90e26/atm90e26.cpp +0 -1
- esphome/components/atm90e32/atm90e32.cpp +488 -118
- esphome/components/atm90e32/atm90e32.h +44 -5
- esphome/components/audio/audio.h +2 -2
- esphome/components/axs15231/touchscreen/axs15231_touchscreen.cpp +0 -2
- esphome/components/beken_spi_led_strip/led_strip.cpp +0 -2
- esphome/components/bh1750/bh1750.cpp +0 -1
- esphome/components/binary_sensor/__init__.py +14 -12
- esphome/components/ble_client/__init__.py +4 -7
- esphome/components/bluetooth_proxy/__init__.py +40 -3
- esphome/components/bluetooth_proxy/bluetooth_connection.cpp +387 -82
- esphome/components/bluetooth_proxy/bluetooth_connection.h +16 -5
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +102 -311
- esphome/components/bluetooth_proxy/bluetooth_proxy.h +30 -14
- esphome/components/bme280_base/bme280_base.cpp +15 -16
- esphome/components/bme680/bme680.cpp +2 -3
- esphome/components/bme680_bsec/bme680_bsec.cpp +0 -2
- esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +0 -2
- esphome/components/bmi160/bmi160.cpp +0 -1
- esphome/components/bmp085/bmp085.cpp +0 -1
- esphome/components/bmp280_base/bmp280_base.cpp +13 -14
- esphome/components/bmp3xx_base/bmp3xx_base.cpp +0 -1
- esphome/components/bmp581/bmp581.cpp +0 -2
- esphome/components/bp1658cj/bp1658cj.cpp +0 -1
- esphome/components/bp5758d/bp5758d.cpp +0 -1
- esphome/components/button/__init__.py +0 -1
- esphome/components/canbus/__init__.py +2 -3
- esphome/components/canbus/canbus.cpp +0 -1
- esphome/components/cap1188/cap1188.cpp +0 -2
- esphome/components/captive_portal/__init__.py +1 -1
- esphome/components/cd74hc4067/cd74hc4067.cpp +0 -2
- esphome/components/ch422g/ch422g.cpp +0 -1
- esphome/components/chsc6x/chsc6x_touchscreen.cpp +0 -3
- esphome/components/climate/__init__.py +0 -1
- esphome/components/climate/climate_traits.h +24 -0
- esphome/components/cm1106/cm1106.cpp +0 -1
- esphome/components/const/__init__.py +6 -0
- esphome/components/cover/__init__.py +0 -1
- esphome/components/cover/cover.cpp +9 -13
- esphome/components/cs5460a/cs5460a.cpp +0 -2
- esphome/components/cse7761/cse7761.cpp +0 -1
- esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +0 -2
- esphome/components/cst816/touchscreen/cst816_touchscreen.cpp +0 -2
- esphome/components/dac7678/dac7678_output.cpp +0 -2
- esphome/components/dallas_temp/dallas_temp.cpp +0 -1
- esphome/components/datetime/__init__.py +0 -2
- esphome/components/debug/__init__.py +15 -1
- esphome/components/debug/debug_zephyr.cpp +281 -0
- esphome/components/debug/sensor.py +2 -1
- esphome/components/deep_sleep/deep_sleep_component.cpp +0 -1
- esphome/components/deep_sleep/deep_sleep_esp32.cpp +20 -1
- esphome/components/dfrobot_sen0395/__init__.py +1 -2
- esphome/components/dht/dht.cpp +0 -1
- esphome/components/dht12/dht12.cpp +0 -1
- esphome/components/display/__init__.py +16 -3
- esphome/components/display_menu_base/__init__.py +1 -1
- esphome/components/dps310/dps310.cpp +0 -2
- esphome/components/ds1307/ds1307.cpp +0 -1
- esphome/components/ds2484/ds2484.cpp +0 -1
- esphome/components/duty_cycle/duty_cycle_sensor.cpp +0 -1
- esphome/components/ee895/ee895.cpp +0 -1
- esphome/components/ektf2232/touchscreen/ektf2232.cpp +0 -1
- esphome/components/emc2101/emc2101.cpp +0 -2
- esphome/components/ens160_base/ens160_base.cpp +0 -2
- esphome/components/ens210/ens210.cpp +0 -1
- esphome/components/es7210/es7210.cpp +0 -2
- esphome/components/es7243e/es7243e.cpp +0 -2
- esphome/components/es8156/es8156.cpp +0 -2
- esphome/components/es8311/es8311.cpp +0 -2
- esphome/components/es8388/es8388.cpp +0 -2
- esphome/components/esp32/__init__.py +199 -58
- esphome/components/esp32/boards.py +17 -0
- esphome/components/esp32/gpio.cpp +0 -1
- esphome/components/esp32/gpio.py +1 -2
- esphome/components/esp32/gpio_esp32_h2.py +2 -7
- esphome/components/esp32/gpio_esp32_p4.py +2 -7
- esphome/components/esp32/post_build.py.script +112 -61
- esphome/components/esp32_ble/__init__.py +40 -2
- esphome/components/esp32_ble/ble.cpp +12 -8
- esphome/components/esp32_ble/ble.h +18 -18
- esphome/components/esp32_ble/ble_advertising.cpp +5 -5
- esphome/components/esp32_ble/ble_advertising.h +7 -5
- esphome/components/esp32_ble/ble_event.h +2 -4
- esphome/components/esp32_ble/ble_scan_result.h +2 -4
- esphome/components/esp32_ble/ble_uuid.cpp +5 -5
- esphome/components/esp32_ble/ble_uuid.h +6 -5
- esphome/components/esp32_ble_beacon/__init__.py +4 -0
- esphome/components/esp32_ble_client/__init__.py +1 -1
- esphome/components/esp32_ble_client/ble_characteristic.cpp +4 -4
- esphome/components/esp32_ble_client/ble_characteristic.h +6 -4
- esphome/components/esp32_ble_client/ble_client_base.cpp +155 -104
- esphome/components/esp32_ble_client/ble_client_base.h +17 -6
- esphome/components/esp32_ble_client/ble_descriptor.h +6 -4
- esphome/components/esp32_ble_client/ble_service.cpp +4 -4
- esphome/components/esp32_ble_client/ble_service.h +6 -4
- esphome/components/esp32_ble_server/__init__.py +15 -12
- esphome/components/esp32_ble_tracker/__init__.py +79 -11
- esphome/components/esp32_ble_tracker/automation.h +4 -4
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +264 -261
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +103 -37
- esphome/components/esp32_camera/__init__.py +13 -1
- esphome/components/esp32_camera/esp32_camera.cpp +7 -2
- esphome/components/esp32_camera/esp32_camera.h +1 -0
- esphome/components/esp32_dac/esp32_dac.cpp +3 -19
- esphome/components/esp32_dac/esp32_dac.h +4 -8
- esphome/components/esp32_rmt_led_strip/led_strip.cpp +1 -6
- esphome/components/esp32_rmt_led_strip/light.py +1 -1
- esphome/components/esp32_touch/__init__.py +2 -3
- esphome/components/esp32_touch/esp32_touch.h +9 -6
- esphome/components/esp32_touch/esp32_touch_common.cpp +2 -0
- esphome/components/esp32_touch/esp32_touch_v1.cpp +7 -9
- esphome/components/esp32_touch/esp32_touch_v2.cpp +10 -6
- esphome/components/esp8266/__init__.py +3 -1
- esphome/components/esp8266_pwm/esp8266_pwm.cpp +0 -1
- esphome/components/esphome/ota/__init__.py +1 -2
- esphome/components/esphome/ota/ota_esphome.cpp +150 -77
- esphome/components/esphome/ota/ota_esphome.h +8 -1
- esphome/components/espnow/__init__.py +309 -0
- esphome/components/espnow/automation.h +175 -0
- esphome/components/espnow/espnow_component.cpp +468 -0
- esphome/components/espnow/espnow_component.h +183 -0
- esphome/components/espnow/espnow_err.h +19 -0
- esphome/components/espnow/espnow_packet.h +166 -0
- esphome/components/ethernet/__init__.py +7 -1
- esphome/components/ethernet/esp_eth_phy_jl1101.c +5 -0
- esphome/components/ethernet/ethernet_component.cpp +0 -1
- esphome/components/ethernet/ethernet_component.h +4 -0
- esphome/components/ethernet_info/ethernet_info_text_sensor.h +0 -3
- esphome/components/event/__init__.py +0 -1
- esphome/components/factory_reset/__init__.py +92 -0
- esphome/components/factory_reset/factory_reset.cpp +76 -0
- esphome/components/factory_reset/factory_reset.h +43 -0
- esphome/components/fan/__init__.py +0 -1
- esphome/components/fan/fan_traits.h +16 -0
- esphome/components/fastled_base/fastled_light.cpp +0 -1
- esphome/components/fastled_spi/light.py +1 -3
- esphome/components/fingerprint_grow/fingerprint_grow.cpp +0 -2
- esphome/components/font/__init__.py +9 -1
- esphome/components/fs3000/fs3000.cpp +0 -2
- esphome/components/ft5x06/touchscreen/ft5x06_touchscreen.cpp +0 -2
- esphome/components/ft63x6/ft63x6.cpp +0 -1
- esphome/components/gdk101/gdk101.cpp +0 -1
- esphome/components/gl_r01_i2c/gl_r01_i2c.cpp +0 -1
- esphome/components/gl_r01_i2c/sensor.py +1 -1
- esphome/components/gpio/one_wire/gpio_one_wire.cpp +0 -1
- esphome/components/gpio/switch/gpio_switch.cpp +0 -2
- esphome/components/gpio_expander/cached_gpio.h +24 -15
- esphome/components/gps/__init__.py +6 -2
- esphome/components/gps/gps.cpp +50 -49
- esphome/components/gps/gps.h +4 -8
- esphome/components/gps/time/gps_time.cpp +3 -9
- esphome/components/gps/time/gps_time.h +4 -7
- esphome/components/graph/__init__.py +1 -1
- esphome/components/grove_gas_mc_v2/grove_gas_mc_v2.cpp +0 -1
- esphome/components/grove_tb6612fng/grove_tb6612fng.cpp +0 -1
- esphome/components/gt911/touchscreen/gt911_touchscreen.cpp +21 -12
- esphome/components/gt911/touchscreen/gt911_touchscreen.h +26 -2
- esphome/components/haier/climate.py +5 -10
- esphome/components/haier/haier_base.cpp +0 -1
- esphome/components/hbridge/switch/hbridge_switch.cpp +0 -2
- esphome/components/hdc1080/hdc1080.cpp +0 -2
- esphome/components/heatpumpir/climate.py +2 -2
- esphome/components/hlw8012/hlw8012.cpp +0 -1
- esphome/components/hm3301/hm3301.cpp +0 -1
- esphome/components/hmc5883l/hmc5883l.cpp +0 -1
- esphome/components/homeassistant/__init__.py +1 -0
- esphome/components/homeassistant/number/__init__.py +1 -0
- esphome/components/homeassistant/number/homeassistant_number.cpp +11 -7
- esphome/components/homeassistant/switch/__init__.py +1 -0
- esphome/components/homeassistant/switch/homeassistant_switch.cpp +9 -5
- esphome/components/honeywellabp/honeywellabp.cpp +1 -4
- esphome/components/host/__init__.py +2 -0
- esphome/components/hte501/hte501.cpp +0 -1
- esphome/components/http_request/__init__.py +2 -3
- esphome/components/http_request/http_request_idf.cpp +2 -2
- esphome/components/htu21d/htu21d.cpp +0 -2
- esphome/components/htu31d/htu31d.cpp +0 -2
- esphome/components/hx711/hx711.cpp +0 -1
- esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +0 -1
- esphome/components/hydreon_rgxx/sensor.py +4 -5
- esphome/components/i2c/i2c_bus.h +1 -1
- esphome/components/i2c/i2c_bus_arduino.cpp +1 -2
- esphome/components/i2c/i2c_bus_esp_idf.cpp +192 -17
- esphome/components/i2c/i2c_bus_esp_idf.h +11 -1
- esphome/components/i2s_audio/__init__.py +6 -5
- esphome/components/i2s_audio/i2s_audio.cpp +0 -2
- esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp +1 -4
- esphome/components/i2s_audio/microphone/__init__.py +4 -6
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp +46 -19
- esphome/components/i2s_audio/microphone/i2s_audio_microphone.h +4 -3
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +273 -269
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +19 -34
- esphome/components/ili9xxx/display.py +4 -3
- esphome/components/ili9xxx/ili9xxx_display.cpp +0 -2
- esphome/components/image/__init__.py +123 -92
- esphome/components/improv_serial/__init__.py +7 -8
- esphome/components/ina219/ina219.cpp +0 -1
- esphome/components/ina226/ina226.cpp +0 -2
- esphome/components/ina260/ina260.cpp +0 -2
- esphome/components/ina2xx_base/__init__.py +2 -5
- esphome/components/ina2xx_base/ina2xx_base.cpp +0 -2
- esphome/components/ina3221/ina3221.cpp +0 -1
- esphome/components/internal_temperature/internal_temperature.cpp +0 -2
- esphome/components/interval/interval.h +5 -9
- esphome/components/json/__init__.py +1 -1
- esphome/components/kmeteriso/kmeteriso.cpp +0 -2
- esphome/components/lc709203f/lc709203f.cpp +0 -2
- esphome/components/lcd_gpio/display.py +1 -3
- esphome/components/lcd_gpio/gpio_lcd_display.cpp +0 -1
- esphome/components/lcd_pcf8574/pcf8574_display.cpp +0 -1
- esphome/components/ld2410/__init__.py +4 -6
- esphome/components/ld2410/binary_sensor.py +4 -0
- esphome/components/ld2410/ld2410.cpp +56 -100
- esphome/components/ld2410/ld2410.h +17 -15
- esphome/components/ld2410/sensor.py +24 -10
- esphome/components/ld2412/__init__.py +46 -0
- esphome/components/ld2412/binary_sensor.py +70 -0
- esphome/components/ld2412/button/__init__.py +74 -0
- esphome/components/ld2412/button/factory_reset_button.cpp +9 -0
- esphome/components/ld2412/button/factory_reset_button.h +18 -0
- esphome/components/ld2412/button/query_button.cpp +9 -0
- esphome/components/ld2412/button/query_button.h +18 -0
- esphome/components/ld2412/button/restart_button.cpp +9 -0
- esphome/components/ld2412/button/restart_button.h +18 -0
- esphome/components/ld2412/button/start_dynamic_background_correction_button.cpp +11 -0
- esphome/components/ld2412/button/start_dynamic_background_correction_button.h +18 -0
- esphome/components/ld2412/ld2412.cpp +861 -0
- esphome/components/ld2412/ld2412.h +141 -0
- esphome/components/ld2412/number/__init__.py +126 -0
- esphome/components/ld2412/number/gate_threshold_number.cpp +14 -0
- esphome/components/ld2412/number/gate_threshold_number.h +19 -0
- esphome/components/ld2412/number/light_threshold_number.cpp +12 -0
- esphome/components/ld2412/number/light_threshold_number.h +18 -0
- esphome/components/ld2412/number/max_distance_timeout_number.cpp +12 -0
- esphome/components/ld2412/number/max_distance_timeout_number.h +18 -0
- esphome/components/ld2412/select/__init__.py +82 -0
- esphome/components/ld2412/select/baud_rate_select.cpp +12 -0
- esphome/components/ld2412/select/baud_rate_select.h +18 -0
- esphome/components/ld2412/select/distance_resolution_select.cpp +12 -0
- esphome/components/ld2412/select/distance_resolution_select.h +18 -0
- esphome/components/ld2412/select/light_out_control_select.cpp +12 -0
- esphome/components/ld2412/select/light_out_control_select.h +18 -0
- esphome/components/ld2412/sensor.py +124 -0
- esphome/components/ld2412/switch/__init__.py +45 -0
- esphome/components/ld2412/switch/bluetooth_switch.cpp +12 -0
- esphome/components/ld2412/switch/bluetooth_switch.h +18 -0
- esphome/components/ld2412/switch/engineering_mode_switch.cpp +12 -0
- esphome/components/ld2412/switch/engineering_mode_switch.h +18 -0
- esphome/components/ld2412/text_sensor.py +34 -0
- esphome/components/ld2420/ld2420.cpp +0 -1
- esphome/components/ld2450/__init__.py +3 -4
- esphome/components/ld2450/binary_sensor.py +3 -0
- esphome/components/ld2450/ld2450.cpp +77 -165
- esphome/components/ld2450/ld2450.h +26 -54
- esphome/components/ld2450/sensor.py +120 -6
- esphome/components/ld2450/text_sensor.py +5 -4
- esphome/components/ld24xx/__init__.py +1 -0
- esphome/components/ld24xx/ld24xx.h +65 -0
- esphome/components/ledc/ledc_output.cpp +0 -1
- esphome/components/libretiny/__init__.py +2 -0
- esphome/components/light/__init__.py +0 -1
- esphome/components/light/effects.py +70 -45
- esphome/components/light/light_call.cpp +101 -66
- esphome/components/light/light_color_values.h +16 -11
- esphome/components/light/light_json_schema.cpp +46 -44
- esphome/components/light/light_state.cpp +8 -11
- esphome/components/light/light_traits.h +17 -0
- esphome/components/lightwaverf/lightwaverf.cpp +0 -2
- esphome/components/lilygo_t5_47/touchscreen/lilygo_t5_47_touchscreen.cpp +0 -1
- esphome/components/lock/__init__.py +0 -1
- esphome/components/logger/__init__.py +31 -9
- esphome/components/logger/logger.cpp +12 -7
- esphome/components/logger/logger.h +25 -14
- esphome/components/logger/logger_esp32.cpp +2 -7
- esphome/components/logger/logger_esp8266.cpp +2 -4
- esphome/components/logger/logger_host.cpp +2 -4
- esphome/components/logger/logger_libretiny.cpp +2 -4
- esphome/components/logger/logger_rp2040.cpp +2 -4
- esphome/components/logger/logger_zephyr.cpp +86 -0
- esphome/components/logger/select/logger_level_select.cpp +2 -4
- esphome/components/logger/select/logger_level_select.h +2 -4
- esphome/components/logger/task_log_buffer.cpp +2 -4
- esphome/components/logger/task_log_buffer.h +2 -4
- esphome/components/lps22/sensor.py +5 -5
- esphome/components/ltr390/ltr390.cpp +0 -2
- esphome/components/ltr501/ltr501.cpp +0 -1
- esphome/components/ltr_als_ps/ltr_als_ps.cpp +0 -1
- esphome/components/lvgl/__init__.py +14 -13
- esphome/components/lvgl/automation.py +2 -4
- esphome/components/lvgl/defines.py +0 -2
- esphome/components/lvgl/helpers.py +1 -1
- esphome/components/lvgl/lv_validation.py +7 -4
- esphome/components/lvgl/lvgl_esphome.cpp +2 -3
- esphome/components/lvgl/styles.py +2 -2
- esphome/components/lvgl/types.py +1 -1
- esphome/components/lvgl/widgets/__init__.py +2 -2
- esphome/components/lvgl/widgets/arc.py +14 -11
- esphome/components/lvgl/widgets/buttonmatrix.py +1 -1
- esphome/components/lvgl/widgets/qrcode.py +7 -7
- esphome/components/lvgl/widgets/spinner.py +6 -6
- esphome/components/lvgl/widgets/switch.py +2 -2
- esphome/components/lvgl/widgets/tabview.py +3 -3
- esphome/components/lvgl/widgets/tileview.py +15 -7
- esphome/components/m5stack_8angle/m5stack_8angle.cpp +0 -1
- esphome/components/matrix_keypad/__init__.py +4 -3
- esphome/components/max17043/max17043.cpp +0 -2
- esphome/components/max31855/max31855.cpp +1 -4
- esphome/components/max31856/max31856.cpp +0 -4
- esphome/components/max31865/max31865.cpp +0 -1
- esphome/components/max44009/max44009.cpp +0 -1
- esphome/components/max6675/max6675.cpp +1 -4
- esphome/components/max6956/max6956.cpp +0 -1
- esphome/components/max7219/max7219.cpp +0 -1
- esphome/components/max7219digit/display.py +1 -1
- esphome/components/max7219digit/max7219digit.cpp +0 -1
- esphome/components/max9611/max9611.cpp +0 -1
- esphome/components/mcp23008/__init__.py +1 -1
- esphome/components/mcp23008/mcp23008.cpp +0 -1
- esphome/components/mcp23016/mcp23016.cpp +0 -1
- esphome/components/mcp23017/__init__.py +1 -1
- esphome/components/mcp23017/mcp23017.cpp +0 -1
- esphome/components/mcp23s08/__init__.py +1 -1
- esphome/components/mcp23s08/mcp23s08.cpp +0 -1
- esphome/components/mcp23s17/__init__.py +1 -1
- esphome/components/mcp23s17/mcp23s17.cpp +0 -1
- esphome/components/mcp23x08_base/__init__.py +2 -0
- esphome/components/mcp23x08_base/mcp23x08_base.cpp +9 -7
- esphome/components/mcp23x08_base/mcp23x08_base.h +9 -4
- esphome/components/mcp23x17_base/__init__.py +2 -0
- esphome/components/mcp23x17_base/mcp23x17_base.cpp +20 -7
- esphome/components/mcp23x17_base/mcp23x17_base.h +9 -4
- esphome/components/mcp23xxx_base/__init__.py +11 -5
- esphome/components/mcp23xxx_base/mcp23xxx_base.cpp +15 -12
- esphome/components/mcp23xxx_base/mcp23xxx_base.h +8 -7
- esphome/components/mcp3008/mcp3008.cpp +1 -4
- esphome/components/mcp3204/mcp3204.cpp +1 -4
- esphome/components/mcp4461/mcp4461.cpp +0 -1
- esphome/components/mcp4725/mcp4725.cpp +0 -1
- esphome/components/mcp4728/mcp4728.cpp +0 -1
- esphome/components/mcp9600/mcp9600.cpp +0 -2
- esphome/components/mcp9808/mcp9808.cpp +0 -2
- esphome/components/mdns/__init__.py +3 -0
- esphome/components/mdns/mdns_component.cpp +2 -0
- esphome/components/mdns/mdns_component.h +4 -0
- esphome/components/media_player/__init__.py +40 -0
- esphome/components/media_player/automation.h +16 -0
- esphome/components/media_player/media_player.cpp +13 -0
- esphome/components/media_player/media_player.h +50 -3
- esphome/components/micro_wake_word/micro_wake_word.cpp +0 -3
- esphome/components/mics_4514/mics_4514.cpp +1 -6
- esphome/components/midea/ir_transmitter.h +4 -4
- esphome/components/mipi/__init__.py +416 -0
- esphome/components/mipi_dsi/__init__.py +5 -0
- esphome/components/mipi_dsi/display.py +233 -0
- esphome/components/mipi_dsi/mipi_dsi.cpp +379 -0
- esphome/components/mipi_dsi/mipi_dsi.h +123 -0
- esphome/components/mipi_dsi/models/__init__.py +0 -0
- esphome/components/mipi_dsi/models/guition.py +38 -0
- esphome/components/mipi_dsi/models/m5stack.py +57 -0
- esphome/components/mipi_dsi/models/waveshare.py +105 -0
- esphome/components/mipi_rgb/models/lilygo.py +0 -0
- esphome/components/mipi_spi/__init__.py +0 -9
- esphome/components/mipi_spi/display.py +220 -256
- esphome/components/mipi_spi/mipi_spi.cpp +1 -485
- esphome/components/mipi_spi/mipi_spi.h +556 -108
- esphome/components/mipi_spi/models/__init__.py +0 -65
- esphome/components/mipi_spi/models/adafruit.py +30 -0
- esphome/components/mipi_spi/models/amoled.py +41 -5
- esphome/components/mipi_spi/models/ili.py +5 -5
- esphome/components/mipi_spi/models/jc.py +1 -3
- esphome/components/mipi_spi/models/lilygo.py +1 -1
- esphome/components/mipi_spi/models/waveshare.py +16 -1
- esphome/components/mixer/speaker/__init__.py +4 -5
- esphome/components/mlx90393/sensor.py +7 -5
- esphome/components/mlx90393/sensor_mlx90393.cpp +0 -1
- esphome/components/mlx90614/mlx90614.cpp +0 -1
- esphome/components/mmc5603/mmc5603.cpp +0 -1
- esphome/components/mmc5983/mmc5983.cpp +0 -2
- esphome/components/mpl3115a2/mpl3115a2.cpp +0 -2
- esphome/components/mpr121/__init__.py +7 -6
- esphome/components/mpr121/mpr121.cpp +0 -1
- esphome/components/mpu6050/mpu6050.cpp +0 -1
- esphome/components/mpu6886/mpu6886.cpp +0 -1
- esphome/components/mqtt/__init__.py +1 -2
- esphome/components/mqtt/mqtt_button.cpp +1 -1
- esphome/components/mqtt/mqtt_client.cpp +0 -1
- esphome/components/mqtt/mqtt_component.cpp +8 -14
- esphome/components/mqtt/mqtt_component.h +0 -7
- esphome/components/mqtt/mqtt_sensor.cpp +0 -1
- esphome/components/mqtt/mqtt_sensor.h +0 -1
- esphome/components/mqtt/mqtt_text_sensor.cpp +0 -1
- esphome/components/mqtt/mqtt_text_sensor.h +0 -1
- esphome/components/ms5611/ms5611.cpp +0 -1
- esphome/components/ms8607/ms8607.cpp +0 -1
- esphome/components/msa3xx/msa3xx.cpp +0 -2
- esphome/components/my9231/my9231.cpp +0 -2
- esphome/components/nau7802/nau7802.cpp +0 -1
- esphome/components/neopixelbus/light.py +3 -0
- esphome/components/network/util.cpp +29 -0
- esphome/components/nextion/nextion.cpp +0 -1
- esphome/components/nfc/binary_sensor/{binary_sensor.cpp → nfc_binary_sensor.cpp} +1 -1
- esphome/components/npi19/npi19.cpp +0 -2
- esphome/components/nrf52/__init__.py +223 -0
- esphome/components/nrf52/boards.py +34 -0
- esphome/components/nrf52/const.py +18 -0
- esphome/components/nrf52/gpio.py +79 -0
- esphome/components/number/__init__.py +2 -1
- esphome/components/one_wire/__init__.py +1 -2
- esphome/components/one_wire/one_wire.cpp +0 -2
- esphome/components/one_wire/one_wire.h +0 -2
- esphome/components/opentherm/hub.cpp +0 -1
- esphome/components/opentherm/number/__init__.py +2 -2
- esphome/components/openthread/__init__.py +2 -3
- esphome/components/openthread/openthread.cpp +30 -13
- esphome/components/openthread/openthread.h +3 -0
- esphome/components/openthread/openthread_esp.cpp +3 -1
- esphome/components/opt3001/sensor.py +2 -6
- esphome/components/output/__init__.py +38 -0
- esphome/components/output/automation.h +24 -0
- esphome/components/output/switch/output_switch.cpp +0 -2
- esphome/components/packages/__init__.py +1 -2
- esphome/components/packet_transport/__init__.py +4 -3
- esphome/components/pca6416a/pca6416a.cpp +0 -1
- esphome/components/pca9554/pca9554.cpp +0 -1
- esphome/components/pca9685/pca9685_output.cpp +0 -2
- esphome/components/pcf85063/pcf85063.cpp +0 -1
- esphome/components/pcf8563/pcf8563.cpp +0 -1
- esphome/components/pcf8574/pcf8574.cpp +0 -1
- esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +0 -1
- esphome/components/pipsolar/sensor/__init__.py +1 -1
- esphome/components/pm2005/pm2005.cpp +0 -1
- esphome/components/pmsa003i/pmsa003i.cpp +0 -2
- esphome/components/pmwcs3/sensor.py +1 -2
- esphome/components/pn532/pn532.cpp +0 -2
- esphome/components/pn532_spi/pn532_spi.cpp +0 -2
- esphome/components/power_supply/power_supply.cpp +7 -10
- esphome/components/power_supply/power_supply.h +1 -1
- esphome/components/psram/__init__.py +2 -1
- esphome/components/pulse_counter/pulse_counter_sensor.cpp +0 -1
- esphome/components/pulse_counter/sensor.py +9 -6
- esphome/components/pylontech/pylontech.cpp +0 -1
- esphome/components/qmc5883l/qmc5883l.cpp +0 -1
- esphome/components/qmp6988/qmp6988.cpp +0 -2
- esphome/components/qspi_dbi/display.py +2 -3
- esphome/components/qspi_dbi/qspi_dbi.cpp +0 -2
- esphome/components/qwiic_pir/binary_sensor.py +2 -3
- esphome/components/qwiic_pir/qwiic_pir.cpp +0 -2
- esphome/components/rc522/rc522.cpp +9 -31
- esphome/components/rc522_spi/rc522_spi.cpp +0 -1
- esphome/components/remote_base/__init__.py +5 -6
- esphome/components/remote_receiver/remote_receiver_esp32.cpp +0 -1
- esphome/components/remote_receiver/remote_receiver_esp8266.cpp +0 -1
- esphome/components/remote_receiver/remote_receiver_libretiny.cpp +0 -1
- esphome/components/remote_transmitter/__init__.py +26 -0
- esphome/components/remote_transmitter/automation.h +18 -0
- esphome/components/remote_transmitter/remote_transmitter.h +2 -1
- esphome/components/remote_transmitter/remote_transmitter_esp32.cpp +0 -1
- esphome/components/remote_transmitter/remote_transmitter_esp8266.cpp +2 -0
- esphome/components/remote_transmitter/remote_transmitter_libretiny.cpp +2 -0
- esphome/components/resampler/speaker/__init__.py +4 -5
- esphome/components/rf_bridge/__init__.py +4 -8
- esphome/components/rotary_encoder/rotary_encoder.cpp +0 -2
- esphome/components/rp2040/__init__.py +3 -1
- esphome/components/rp2040_pio_led_strip/led_strip.cpp +0 -2
- esphome/components/rp2040_pio_led_strip/light.py +1 -2
- esphome/components/rp2040_pwm/rp2040_pwm.cpp +1 -5
- esphome/components/rpi_dpi_rgb/display.py +13 -15
- esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +0 -3
- esphome/components/runtime_stats/__init__.py +34 -0
- esphome/components/runtime_stats/runtime_stats.cpp +102 -0
- esphome/components/runtime_stats/runtime_stats.h +132 -0
- esphome/components/scd30/scd30.cpp +0 -2
- esphome/components/scd30/sensor.py +1 -2
- esphome/components/scd4x/scd4x.cpp +0 -1
- esphome/components/scd4x/sensor.py +1 -3
- esphome/components/sdl/display.py +3 -1
- esphome/components/sdl/sdl_esphome.cpp +0 -2
- esphome/components/sdp3x/sdp3x.cpp +0 -2
- esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +0 -2
- esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +0 -3
- esphome/components/select/__init__.py +2 -3
- esphome/components/select/select_traits.cpp +1 -1
- esphome/components/select/select_traits.h +1 -1
- esphome/components/sen0321/sen0321.cpp +0 -1
- esphome/components/sen5x/sen5x.cpp +0 -2
- esphome/components/sensor/__init__.py +36 -4
- esphome/components/sensor/filter.cpp +49 -10
- esphome/components/sensor/filter.h +22 -7
- esphome/components/sensor/sensor.cpp +0 -1
- esphome/components/sensor/sensor.h +0 -9
- esphome/components/sfa30/sfa30.cpp +0 -4
- esphome/components/sgp30/sgp30.cpp +0 -2
- esphome/components/sgp4x/sensor.py +1 -1
- esphome/components/sgp4x/sgp4x.cpp +0 -2
- esphome/components/shelly_dimmer/shelly_dimmer.cpp +0 -2
- esphome/components/sht3xd/sht3xd.cpp +0 -2
- esphome/components/sht4x/sht4x.cpp +0 -2
- esphome/components/shtcx/shtcx.cpp +0 -1
- esphome/components/sim800l/__init__.py +2 -4
- esphome/components/sm16716/sm16716.cpp +0 -1
- esphome/components/sm2135/sm2135.cpp +0 -1
- esphome/components/sm2235/sm2235.cpp +0 -1
- esphome/components/sm2335/sm2335.cpp +0 -1
- esphome/components/sn74hc165/sn74hc165.cpp +0 -1
- esphome/components/sn74hc595/sn74hc595.cpp +0 -1
- esphome/components/sntp/sntp_component.cpp +0 -1
- esphome/components/sound_level/sensor.py +1 -1
- esphome/components/speaker/media_player/__init__.py +21 -33
- esphome/components/speaker/media_player/audio_pipeline.cpp +4 -7
- esphome/components/spi/__init__.py +29 -13
- esphome/components/spi/spi.cpp +0 -2
- esphome/components/spi_device/spi_device.cpp +1 -4
- esphome/components/sprinkler/__init__.py +4 -4
- esphome/components/sps30/sps30.cpp +0 -1
- esphome/components/ssd1306_base/__init__.py +11 -11
- esphome/components/ssd1306_base/ssd1306_base.cpp +1 -1
- esphome/components/ssd1306_i2c/ssd1306_i2c.cpp +0 -1
- esphome/components/ssd1306_spi/ssd1306_spi.cpp +0 -1
- esphome/components/ssd1322_spi/ssd1322_spi.cpp +0 -1
- esphome/components/ssd1325_spi/ssd1325_spi.cpp +0 -1
- esphome/components/ssd1327_i2c/ssd1327_i2c.cpp +0 -1
- esphome/components/ssd1327_spi/ssd1327_spi.cpp +0 -1
- esphome/components/ssd1331_spi/ssd1331_spi.cpp +0 -1
- esphome/components/ssd1351_spi/ssd1351_spi.cpp +0 -1
- esphome/components/st7567_i2c/st7567_i2c.cpp +0 -1
- esphome/components/st7567_spi/st7567_spi.cpp +0 -1
- esphome/components/st7701s/display.py +10 -14
- esphome/components/st7701s/st7701s.cpp +0 -3
- esphome/components/st7735/st7735.cpp +0 -1
- esphome/components/st7789v/st7789v.cpp +0 -1
- esphome/components/st7920/st7920.cpp +0 -1
- esphome/components/status_led/light/status_led_light.cpp +0 -2
- esphome/components/status_led/status_led.cpp +0 -1
- esphome/components/stepper/__init__.py +2 -4
- esphome/components/sts3x/sts3x.cpp +0 -1
- esphome/components/substitutions/__init__.py +10 -16
- esphome/components/substitutions/jinja.py +24 -1
- esphome/components/sun/__init__.py +2 -3
- esphome/components/switch/__init__.py +31 -1
- esphome/components/switch/automation.h +24 -0
- esphome/components/switch/switch.cpp +8 -0
- esphome/components/switch/switch.h +8 -0
- esphome/components/sx126x/sx126x.cpp +0 -2
- esphome/components/sx127x/sx127x.cpp +0 -2
- esphome/components/sx1509/__init__.py +7 -5
- esphome/components/sx1509/output/sx1509_float_output.cpp +1 -1
- esphome/components/sx1509/sx1509.cpp +0 -2
- esphome/components/syslog/esphome_syslog.cpp +1 -1
- esphome/components/tc74/tc74.cpp +0 -1
- esphome/components/tca9548a/tca9548a.cpp +0 -1
- esphome/components/tca9555/tca9555.cpp +0 -1
- esphome/components/tcs34725/tcs34725.cpp +0 -1
- esphome/components/tee501/tee501.cpp +0 -1
- esphome/components/tem3200/tem3200.cpp +0 -2
- esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +0 -1
- esphome/components/template/cover/template_cover.cpp +0 -1
- esphome/components/template/select/template_select.cpp +0 -1
- esphome/components/template/text/template_text.cpp +0 -2
- esphome/components/template/valve/template_valve.cpp +0 -1
- esphome/components/text/__init__.py +0 -1
- esphome/components/text/text_traits.h +2 -0
- esphome/components/text_sensor/__init__.py +2 -1
- esphome/components/text_sensor/text_sensor.cpp +0 -2
- esphome/components/text_sensor/text_sensor.h +0 -8
- esphome/components/thermostat/climate.py +4 -4
- esphome/components/time/__init__.py +7 -4
- esphome/components/time/real_time_clock.cpp +16 -3
- esphome/components/tlc59208f/tlc59208f_output.cpp +0 -2
- esphome/components/tlc5947/tlc5947.cpp +0 -2
- esphome/components/tlc5971/tlc5971.cpp +0 -2
- esphome/components/tm1621/tm1621.cpp +0 -2
- esphome/components/tm1637/tm1637.cpp +0 -2
- esphome/components/tm1638/tm1638.cpp +0 -2
- esphome/components/tm1651/__init__.py +45 -48
- esphome/components/tm1651/tm1651.cpp +213 -47
- esphome/components/tm1651/tm1651.h +37 -32
- esphome/components/tmp117/tmp117.cpp +0 -2
- esphome/components/tsl2561/tsl2561.cpp +0 -1
- esphome/components/tsl2591/tsl2591.cpp +0 -1
- esphome/components/tt21100/touchscreen/tt21100.cpp +0 -2
- esphome/components/ttp229_bsf/ttp229_bsf.cpp +0 -1
- esphome/components/ttp229_lsf/ttp229_lsf.cpp +0 -1
- esphome/components/tuya/climate/__init__.py +9 -10
- esphome/components/tuya/number/__init__.py +8 -6
- esphome/components/tx20/tx20.cpp +0 -1
- esphome/components/uart/uart_component_esp32_arduino.cpp +0 -1
- esphome/components/uart/uart_component_esp8266.cpp +0 -1
- esphome/components/uart/uart_component_esp_idf.cpp +0 -2
- esphome/components/uart/uart_component_libretiny.cpp +0 -2
- esphome/components/uart/uart_component_rp2040.cpp +0 -2
- esphome/components/udp/__init__.py +1 -1
- esphome/components/ufire_ec/sensor.py +1 -2
- esphome/components/ufire_ec/ufire_ec.cpp +0 -2
- esphome/components/ufire_ise/sensor.py +1 -2
- esphome/components/ufire_ise/ufire_ise.cpp +0 -2
- esphome/components/ultrasonic/ultrasonic_sensor.cpp +0 -1
- esphome/components/update/__init__.py +0 -1
- esphome/components/uptime/sensor/uptime_seconds_sensor.cpp +0 -1
- esphome/components/uptime/sensor/uptime_seconds_sensor.h +0 -2
- esphome/components/usb_host/usb_host_client.cpp +0 -1
- esphome/components/usb_host/usb_host_component.cpp +0 -1
- esphome/components/valve/__init__.py +0 -1
- esphome/components/veml3235/veml3235.cpp +0 -3
- esphome/components/veml7700/veml7700.cpp +0 -2
- esphome/components/version/version_text_sensor.cpp +0 -1
- esphome/components/version/version_text_sensor.h +0 -1
- esphome/components/vl53l0x/vl53l0x_sensor.cpp +0 -4
- esphome/components/voice_assistant/voice_assistant.cpp +9 -8
- esphome/components/web_server/__init__.py +13 -0
- esphome/components/web_server/web_server.cpp +187 -352
- esphome/components/web_server/web_server.h +61 -1
- esphome/components/web_server_base/__init__.py +1 -1
- esphome/components/web_server_base/web_server_base.cpp +2 -0
- esphome/components/web_server_base/web_server_base.h +6 -0
- esphome/components/web_server_idf/web_server_idf.cpp +10 -8
- esphome/components/web_server_idf/web_server_idf.h +2 -0
- esphome/components/weikai_i2c/weikai_i2c.cpp +1 -2
- esphome/components/weikai_spi/weikai_spi.cpp +1 -1
- esphome/components/wifi/__init__.py +8 -43
- esphome/components/wifi/wifi_component.cpp +100 -36
- esphome/components/wifi/wifi_component.h +5 -1
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +30 -0
- esphome/components/wifi/wifi_component_esp_idf.cpp +30 -0
- esphome/components/wifi_info/wifi_info_text_sensor.h +0 -6
- esphome/components/wifi_signal/wifi_signal_sensor.h +0 -1
- esphome/components/wireguard/wireguard.cpp +0 -2
- esphome/components/x9c/x9c.cpp +0 -2
- esphome/components/xgzp68xx/xgzp68xx.cpp +0 -1
- esphome/components/xl9535/xl9535.cpp +0 -2
- esphome/components/zephyr/__init__.py +252 -0
- esphome/components/zephyr/const.py +16 -0
- esphome/components/zephyr/core.cpp +90 -0
- esphome/components/zephyr/gpio.cpp +120 -0
- esphome/components/zephyr/gpio.h +38 -0
- esphome/components/zephyr/pre_build.py.script +4 -0
- esphome/components/zephyr/preferences.cpp +156 -0
- esphome/components/zephyr/preferences.h +13 -0
- esphome/config.py +38 -16
- esphome/config_helpers.py +1 -2
- esphome/config_validation.py +8 -15
- esphome/const.py +26 -1
- esphome/core/__init__.py +88 -51
- esphome/core/application.cpp +75 -21
- esphome/core/application.h +106 -171
- esphome/core/color.h +10 -0
- esphome/core/component.cpp +41 -25
- esphome/core/component.h +9 -6
- esphome/core/component_iterator.cpp +61 -261
- esphome/core/component_iterator.h +15 -0
- esphome/core/config.py +26 -11
- esphome/core/defines.h +40 -2
- esphome/core/entity_base.h +18 -0
- esphome/core/entity_helpers.py +41 -6
- esphome/core/helpers.cpp +8 -15
- esphome/core/helpers.h +60 -6
- esphome/core/lock_free_queue.h +1 -1
- esphome/core/scheduler.cpp +277 -74
- esphome/core/scheduler.h +89 -27
- esphome/cpp_generator.py +2 -6
- esphome/cpp_helpers.py +1 -1
- esphome/dashboard/dashboard.py +2 -3
- esphome/dashboard/dns.py +2 -8
- esphome/dashboard/web_server.py +34 -19
- esphome/espota2.py +1 -4
- esphome/git.py +3 -1
- esphome/helpers.py +23 -4
- esphome/log.py +3 -1
- esphome/mqtt.py +3 -5
- esphome/platformio_api.py +7 -4
- esphome/types.py +12 -0
- esphome/util.py +20 -8
- esphome/voluptuous_schema.py +4 -3
- esphome/vscode.py +1 -2
- esphome/wizard.py +1 -4
- esphome/writer.py +5 -107
- esphome/yaml_util.py +7 -5
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/METADATA +12 -13
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/RECORD +753 -673
- esphome/components/mipi_spi/models/commands.py +0 -82
- /esphome/components/nfc/binary_sensor/{binary_sensor.h → nfc_binary_sensor.h} +0 -0
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/WHEEL +0 -0
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.7.4.dist-info → esphome-2025.8.0b1.dist-info}/top_level.txt +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
from esphome.components.spi import TYPE_OCTAL, TYPE_QUAD, TYPE_SINGLE
|
|
2
|
-
import esphome.config_validation as cv
|
|
3
|
-
from esphome.const import CONF_HEIGHT, CONF_OFFSET_HEIGHT, CONF_OFFSET_WIDTH, CONF_WIDTH
|
|
4
|
-
|
|
5
|
-
from .. import CONF_NATIVE_HEIGHT, CONF_NATIVE_WIDTH
|
|
6
|
-
|
|
7
|
-
MADCTL_MY = 0x80 # Bit 7 Bottom to top
|
|
8
|
-
MADCTL_MX = 0x40 # Bit 6 Right to left
|
|
9
|
-
MADCTL_MV = 0x20 # Bit 5 Reverse Mode
|
|
10
|
-
MADCTL_ML = 0x10 # Bit 4 LCD refresh Bottom to top
|
|
11
|
-
MADCTL_RGB = 0x00 # Bit 3 Red-Green-Blue pixel order
|
|
12
|
-
MADCTL_BGR = 0x08 # Bit 3 Blue-Green-Red pixel order
|
|
13
|
-
MADCTL_MH = 0x04 # Bit 2 LCD refresh right to left
|
|
14
|
-
|
|
15
|
-
# These bits are used instead of the above bits on some chips, where using MX and MY results in incorrect
|
|
16
|
-
# partial updates.
|
|
17
|
-
MADCTL_XFLIP = 0x02 # Mirror the display horizontally
|
|
18
|
-
MADCTL_YFLIP = 0x01 # Mirror the display vertically
|
|
19
|
-
|
|
20
|
-
DELAY_FLAG = 0xFFF # Special flag to indicate a delay
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def delay(ms):
|
|
24
|
-
return DELAY_FLAG, ms
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class DriverChip:
|
|
28
|
-
models = {}
|
|
29
|
-
|
|
30
|
-
def __init__(
|
|
31
|
-
self,
|
|
32
|
-
name: str,
|
|
33
|
-
modes=(TYPE_SINGLE, TYPE_QUAD, TYPE_OCTAL),
|
|
34
|
-
initsequence=None,
|
|
35
|
-
**defaults,
|
|
36
|
-
):
|
|
37
|
-
name = name.upper()
|
|
38
|
-
self.name = name
|
|
39
|
-
self.modes = modes
|
|
40
|
-
self.initsequence = initsequence
|
|
41
|
-
self.defaults = defaults
|
|
42
|
-
DriverChip.models[name] = self
|
|
43
|
-
|
|
44
|
-
def extend(self, name, **kwargs):
|
|
45
|
-
defaults = self.defaults.copy()
|
|
46
|
-
if (
|
|
47
|
-
CONF_WIDTH in defaults
|
|
48
|
-
and CONF_OFFSET_WIDTH in kwargs
|
|
49
|
-
and CONF_NATIVE_WIDTH not in defaults
|
|
50
|
-
):
|
|
51
|
-
defaults[CONF_NATIVE_WIDTH] = defaults[CONF_WIDTH]
|
|
52
|
-
if (
|
|
53
|
-
CONF_HEIGHT in defaults
|
|
54
|
-
and CONF_OFFSET_HEIGHT in kwargs
|
|
55
|
-
and CONF_NATIVE_HEIGHT not in defaults
|
|
56
|
-
):
|
|
57
|
-
defaults[CONF_NATIVE_HEIGHT] = defaults[CONF_HEIGHT]
|
|
58
|
-
defaults.update(kwargs)
|
|
59
|
-
return DriverChip(name, self.modes, initsequence=self.initsequence, **defaults)
|
|
60
|
-
|
|
61
|
-
def get_default(self, key, fallback=False):
|
|
62
|
-
return self.defaults.get(key, fallback)
|
|
63
|
-
|
|
64
|
-
def option(self, name, fallback=False):
|
|
65
|
-
return cv.Optional(name, default=self.get_default(name, fallback))
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from .ili import ST7789V
|
|
2
|
+
|
|
3
|
+
ST7789V.extend(
|
|
4
|
+
"ADAFRUIT-FUNHOUSE",
|
|
5
|
+
height=240,
|
|
6
|
+
width=240,
|
|
7
|
+
offset_height=0,
|
|
8
|
+
offset_width=0,
|
|
9
|
+
cs_pin=40,
|
|
10
|
+
dc_pin=39,
|
|
11
|
+
reset_pin=41,
|
|
12
|
+
invert_colors=True,
|
|
13
|
+
mirror_x=True,
|
|
14
|
+
mirror_y=True,
|
|
15
|
+
data_rate="80MHz",
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
ST7789V.extend(
|
|
19
|
+
"ADAFRUIT-S2-TFT-FEATHER",
|
|
20
|
+
height=240,
|
|
21
|
+
width=135,
|
|
22
|
+
offset_height=52,
|
|
23
|
+
offset_width=40,
|
|
24
|
+
cs_pin=7,
|
|
25
|
+
dc_pin=39,
|
|
26
|
+
reset_pin=40,
|
|
27
|
+
invert_colors=True,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
models = {}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
from esphome.components.mipi import (
|
|
2
|
+
MIPI,
|
|
3
|
+
MODE_RGB,
|
|
4
|
+
NORON,
|
|
5
|
+
PAGESEL,
|
|
6
|
+
PIXFMT,
|
|
7
|
+
SLPOUT,
|
|
8
|
+
SPIMODESEL,
|
|
9
|
+
SWIRE1,
|
|
10
|
+
SWIRE2,
|
|
11
|
+
TEON,
|
|
12
|
+
WCE,
|
|
13
|
+
WRAM,
|
|
14
|
+
WRCTRLD,
|
|
15
|
+
DriverChip,
|
|
16
|
+
delay,
|
|
17
|
+
)
|
|
1
18
|
from esphome.components.spi import TYPE_QUAD
|
|
2
19
|
|
|
3
|
-
from .. import MODE_RGB
|
|
4
|
-
from . import DriverChip, delay
|
|
5
|
-
from .commands import MIPI, NORON, PAGESEL, PIXFMT, SLPOUT, SWIRE1, SWIRE2, TEON, WRAM
|
|
6
|
-
|
|
7
20
|
DriverChip(
|
|
8
21
|
"T-DISPLAY-S3-AMOLED",
|
|
9
22
|
width=240,
|
|
@@ -67,6 +80,29 @@ RM690B0 = DriverChip(
|
|
|
67
80
|
),
|
|
68
81
|
)
|
|
69
82
|
|
|
70
|
-
T4_S3_AMOLED = RM690B0.extend(
|
|
83
|
+
T4_S3_AMOLED = RM690B0.extend(
|
|
84
|
+
"T4-S3",
|
|
85
|
+
width=450,
|
|
86
|
+
offset_width=16,
|
|
87
|
+
cs_pin=11,
|
|
88
|
+
reset_pin=13,
|
|
89
|
+
enable_pin=9,
|
|
90
|
+
bus_mode=TYPE_QUAD,
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
CO5300 = DriverChip(
|
|
94
|
+
"CO5300",
|
|
95
|
+
brightness=0xD0,
|
|
96
|
+
color_order=MODE_RGB,
|
|
97
|
+
bus_mode=TYPE_QUAD,
|
|
98
|
+
initsequence=(
|
|
99
|
+
(SLPOUT,), # Requires early SLPOUT
|
|
100
|
+
(PAGESEL, 0x00),
|
|
101
|
+
(SPIMODESEL, 0x80),
|
|
102
|
+
(WRCTRLD, 0x20),
|
|
103
|
+
(WCE, 0x00),
|
|
104
|
+
),
|
|
105
|
+
)
|
|
106
|
+
|
|
71
107
|
|
|
72
108
|
models = {}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
from esphome.components.
|
|
2
|
-
|
|
3
|
-
from .. import MODE_RGB
|
|
4
|
-
from . import DriverChip, delay
|
|
5
|
-
from .commands import (
|
|
1
|
+
from esphome.components.mipi import (
|
|
6
2
|
ADJCTL3,
|
|
7
3
|
CSCON,
|
|
8
4
|
DFUNCTR,
|
|
@@ -18,6 +14,7 @@ from .commands import (
|
|
|
18
14
|
IFCTR,
|
|
19
15
|
IFMODE,
|
|
20
16
|
INVCTR,
|
|
17
|
+
MODE_RGB,
|
|
21
18
|
NORON,
|
|
22
19
|
PWCTR1,
|
|
23
20
|
PWCTR2,
|
|
@@ -32,7 +29,10 @@ from .commands import (
|
|
|
32
29
|
VMCTR1,
|
|
33
30
|
VMCTR2,
|
|
34
31
|
VSCRSADD,
|
|
32
|
+
DriverChip,
|
|
33
|
+
delay,
|
|
35
34
|
)
|
|
35
|
+
from esphome.components.spi import TYPE_OCTAL
|
|
36
36
|
|
|
37
37
|
DriverChip(
|
|
38
38
|
"M5CORE",
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
from esphome.components.mipi import MODE_RGB, DriverChip
|
|
1
2
|
from esphome.components.spi import TYPE_QUAD
|
|
2
3
|
import esphome.config_validation as cv
|
|
3
4
|
from esphome.const import CONF_IGNORE_STRAPPING_WARNING, CONF_NUMBER
|
|
4
5
|
|
|
5
|
-
from .. import MODE_RGB
|
|
6
|
-
from . import DriverChip
|
|
7
|
-
|
|
8
6
|
AXS15231 = DriverChip(
|
|
9
7
|
"AXS15231",
|
|
10
8
|
draw_rounding=8,
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
from . import DriverChip
|
|
1
|
+
from esphome.components.mipi import DriverChip
|
|
2
|
+
import esphome.config_validation as cv
|
|
3
|
+
|
|
4
|
+
from .amoled import CO5300
|
|
2
5
|
from .ili import ILI9488_A
|
|
3
6
|
|
|
4
7
|
DriverChip(
|
|
@@ -128,6 +131,7 @@ DriverChip(
|
|
|
128
131
|
|
|
129
132
|
ILI9488_A.extend(
|
|
130
133
|
"PICO-RESTOUCH-LCD-3.5",
|
|
134
|
+
swap_xy=cv.UNDEFINED,
|
|
131
135
|
spi_16=True,
|
|
132
136
|
pixel_mode="16bit",
|
|
133
137
|
mirror_x=True,
|
|
@@ -137,3 +141,14 @@ ILI9488_A.extend(
|
|
|
137
141
|
data_rate="20MHz",
|
|
138
142
|
invert_colors=True,
|
|
139
143
|
)
|
|
144
|
+
|
|
145
|
+
CO5300.extend(
|
|
146
|
+
"WAVESHARE-ESP32-S3-TOUCH-AMOLED-1.75",
|
|
147
|
+
width=466,
|
|
148
|
+
height=466,
|
|
149
|
+
pixel_mode="16bit",
|
|
150
|
+
offset_height=0,
|
|
151
|
+
offset_width=6,
|
|
152
|
+
cs_pin=12,
|
|
153
|
+
reset_pin=39,
|
|
154
|
+
)
|
|
@@ -124,11 +124,10 @@ async def to_code(config):
|
|
|
124
124
|
|
|
125
125
|
if task_stack_in_psram := config.get(CONF_TASK_STACK_IN_PSRAM):
|
|
126
126
|
cg.add(var.set_task_stack_in_psram(task_stack_in_psram))
|
|
127
|
-
if task_stack_in_psram:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
)
|
|
127
|
+
if task_stack_in_psram and config[CONF_TASK_STACK_IN_PSRAM]:
|
|
128
|
+
esp32.add_idf_sdkconfig_option(
|
|
129
|
+
"CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY", True
|
|
130
|
+
)
|
|
132
131
|
|
|
133
132
|
for speaker_config in config[CONF_SOURCE_SPEAKERS]:
|
|
134
133
|
source_speaker = cg.new_Pvariable(speaker_config[CONF_ID])
|
|
@@ -63,11 +63,13 @@ def _validate(config):
|
|
|
63
63
|
raise cv.Invalid(
|
|
64
64
|
f"{axis}: {CONF_RESOLUTION} cannot be {res} with {CONF_TEMPERATURE_COMPENSATION} enabled"
|
|
65
65
|
)
|
|
66
|
-
if config[CONF_HALLCONF] == 0xC
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
if config[CONF_HALLCONF] == 0xC and (
|
|
67
|
+
config[CONF_OVERSAMPLING],
|
|
68
|
+
config[CONF_FILTER],
|
|
69
|
+
) in [(0, 0), (1, 0), (0, 1)]:
|
|
70
|
+
raise cv.Invalid(
|
|
71
|
+
f"{CONF_OVERSAMPLING}=={config[CONF_OVERSAMPLING]} and {CONF_FILTER}=={config[CONF_FILTER]} not allowed with {CONF_HALLCONF}=={config[CONF_HALLCONF]:#02x}"
|
|
72
|
+
)
|
|
71
73
|
return config
|
|
72
74
|
|
|
73
75
|
|
|
@@ -103,7 +103,6 @@ bool MLX90393Cls::apply_all_settings_() {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
void MLX90393Cls::setup() {
|
|
106
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
107
106
|
// note the two arguments A0 and A1 which are used to construct an i2c address
|
|
108
107
|
// we can hard-code these because we never actually use the constructed address
|
|
109
108
|
// see the transceive function above, which uses the address from I2CComponent
|
|
@@ -28,7 +28,6 @@ static const uint8_t MLX90614_ID4 = 0x3F;
|
|
|
28
28
|
static const char *const TAG = "mlx90614";
|
|
29
29
|
|
|
30
30
|
void MLX90614Component::setup() {
|
|
31
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
32
31
|
if (!this->write_emissivity_()) {
|
|
33
32
|
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
|
|
34
33
|
this->mark_failed();
|
|
@@ -31,7 +31,6 @@ static const uint8_t MMC56X3_CTRL2_REG = 0x1D;
|
|
|
31
31
|
static const uint8_t MMC5603_ODR_REG = 0x1A;
|
|
32
32
|
|
|
33
33
|
void MMC5603Component::setup() {
|
|
34
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
35
34
|
uint8_t id = 0;
|
|
36
35
|
if (!this->read_byte(MMC56X3_PRODUCT_ID, &id)) {
|
|
37
36
|
this->error_code_ = COMMUNICATION_FAILED;
|
|
@@ -9,8 +9,6 @@ namespace mpl3115a2 {
|
|
|
9
9
|
static const char *const TAG = "mpl3115a2";
|
|
10
10
|
|
|
11
11
|
void MPL3115A2Component::setup() {
|
|
12
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
13
|
-
|
|
14
12
|
uint8_t whoami = 0xFF;
|
|
15
13
|
if (!this->read_byte(MPL3115A2_WHOAMI, &whoami, false)) {
|
|
16
14
|
this->error_code_ = COMMUNICATION_FAILED;
|
|
@@ -56,12 +56,13 @@ def _final_validate(config):
|
|
|
56
56
|
for binary_sensor in binary_sensors:
|
|
57
57
|
if binary_sensor.get(CONF_MPR121_ID) == config[CONF_ID]:
|
|
58
58
|
max_touch_channel = max(max_touch_channel, binary_sensor[CONF_CHANNEL])
|
|
59
|
-
if
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
if (
|
|
60
|
+
max_touch_channel_in_config := config.get(CONF_MAX_TOUCH_CHANNEL)
|
|
61
|
+
) and max_touch_channel != max_touch_channel_in_config:
|
|
62
|
+
raise cv.Invalid(
|
|
63
|
+
"Max touch channel must equal the highest binary sensor channel or be removed for auto calculation",
|
|
64
|
+
path=[CONF_MAX_TOUCH_CHANNEL],
|
|
65
|
+
)
|
|
65
66
|
path = fconf.get_path_for_id(config[CONF_ID])[:-1]
|
|
66
67
|
this_config = fconf.get_config_for_path(path)
|
|
67
68
|
this_config[CONF_MAX_TOUCH_CHANNEL] = max_touch_channel
|
|
@@ -21,7 +21,6 @@ const uint8_t MPU6050_BIT_TEMPERATURE_DISABLED = 3;
|
|
|
21
21
|
const float GRAVITY_EARTH = 9.80665f;
|
|
22
22
|
|
|
23
23
|
void MPU6050Component::setup() {
|
|
24
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
25
24
|
uint8_t who_am_i;
|
|
26
25
|
if (!this->read_byte(MPU6050_REGISTER_WHO_AM_I, &who_am_i) ||
|
|
27
26
|
(who_am_i != 0x68 && who_am_i != 0x70 && who_am_i != 0x98)) {
|
|
@@ -26,7 +26,6 @@ const float TEMPERATURE_SENSITIVITY = 326.8;
|
|
|
26
26
|
const float TEMPERATURE_OFFSET = 25.0;
|
|
27
27
|
|
|
28
28
|
void MPU6886Component::setup() {
|
|
29
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
30
29
|
uint8_t who_am_i;
|
|
31
30
|
if (!this->read_byte(MPU6886_REGISTER_WHO_AM_I, &who_am_i) || who_am_i != MPU6886_WHO_AM_I_IDENTIFIER) {
|
|
32
31
|
this->mark_failed();
|
|
@@ -312,14 +312,13 @@ CONFIG_SCHEMA = cv.All(
|
|
|
312
312
|
def exp_mqtt_message(config):
|
|
313
313
|
if config is None:
|
|
314
314
|
return cg.optional(cg.TemplateArguments(MQTTMessage))
|
|
315
|
-
|
|
315
|
+
return cg.StructInitializer(
|
|
316
316
|
MQTTMessage,
|
|
317
317
|
("topic", config[CONF_TOPIC]),
|
|
318
318
|
("payload", config.get(CONF_PAYLOAD, "")),
|
|
319
319
|
("qos", config[CONF_QOS]),
|
|
320
320
|
("retain", config[CONF_RETAIN]),
|
|
321
321
|
)
|
|
322
|
-
return exp
|
|
323
322
|
|
|
324
323
|
|
|
325
324
|
@coroutine_with_priority(40.0)
|
|
@@ -27,7 +27,7 @@ void MQTTButtonComponent::setup() {
|
|
|
27
27
|
}
|
|
28
28
|
void MQTTButtonComponent::dump_config() {
|
|
29
29
|
ESP_LOGCONFIG(TAG, "MQTT Button '%s': ", this->button_->get_name().c_str());
|
|
30
|
-
LOG_MQTT_COMPONENT(
|
|
30
|
+
LOG_MQTT_COMPONENT(false, true);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
void MQTTButtonComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
|
@@ -34,7 +34,6 @@ MQTTClientComponent::MQTTClientComponent() {
|
|
|
34
34
|
|
|
35
35
|
// Connection
|
|
36
36
|
void MQTTClientComponent::setup() {
|
|
37
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
38
37
|
this->mqtt_backend_.set_on_message(
|
|
39
38
|
[this](const char *topic, const char *payload, size_t len, size_t index, size_t total) {
|
|
40
39
|
if (index == 0)
|
|
@@ -129,21 +129,16 @@ bool MQTTComponent::send_discovery_() {
|
|
|
129
129
|
root[MQTT_PAYLOAD_NOT_AVAILABLE] = this->availability_->payload_not_available;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
std::string unique_id = this->unique_id();
|
|
133
132
|
const MQTTDiscoveryInfo &discovery_info = global_mqtt_client->get_discovery_info();
|
|
134
|
-
if (
|
|
135
|
-
|
|
133
|
+
if (discovery_info.unique_id_generator == MQTT_MAC_ADDRESS_UNIQUE_ID_GENERATOR) {
|
|
134
|
+
char friendly_name_hash[9];
|
|
135
|
+
sprintf(friendly_name_hash, "%08" PRIx32, fnv1_hash(this->friendly_name()));
|
|
136
|
+
friendly_name_hash[8] = 0; // ensure the hash-string ends with null
|
|
137
|
+
root[MQTT_UNIQUE_ID] = get_mac_address() + "-" + this->component_type() + "-" + friendly_name_hash;
|
|
136
138
|
} else {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
friendly_name_hash[8] = 0; // ensure the hash-string ends with null
|
|
141
|
-
root[MQTT_UNIQUE_ID] = get_mac_address() + "-" + this->component_type() + "-" + friendly_name_hash;
|
|
142
|
-
} else {
|
|
143
|
-
// default to almost-unique ID. It's a hack but the only way to get that
|
|
144
|
-
// gorgeous device registry view.
|
|
145
|
-
root[MQTT_UNIQUE_ID] = "ESP" + this->component_type() + this->get_default_object_id_();
|
|
146
|
-
}
|
|
139
|
+
// default to almost-unique ID. It's a hack but the only way to get that
|
|
140
|
+
// gorgeous device registry view.
|
|
141
|
+
root[MQTT_UNIQUE_ID] = "ESP" + this->component_type() + this->get_default_object_id_();
|
|
147
142
|
}
|
|
148
143
|
|
|
149
144
|
const std::string &node_name = App.get_name();
|
|
@@ -286,7 +281,6 @@ void MQTTComponent::call_dump_config() {
|
|
|
286
281
|
this->dump_config();
|
|
287
282
|
}
|
|
288
283
|
void MQTTComponent::schedule_resend_state() { this->resend_state_ = true; }
|
|
289
|
-
std::string MQTTComponent::unique_id() { return ""; }
|
|
290
284
|
bool MQTTComponent::is_connected_() const { return global_mqtt_client->is_connected(); }
|
|
291
285
|
|
|
292
286
|
// Pull these properties from EntityBase if not overridden
|
|
@@ -164,13 +164,6 @@ class MQTTComponent : public Component {
|
|
|
164
164
|
*/
|
|
165
165
|
virtual const EntityBase *get_entity() const = 0;
|
|
166
166
|
|
|
167
|
-
/** A unique ID for this MQTT component, empty for no unique id. See unique ID requirements:
|
|
168
|
-
* https://developers.home-assistant.io/docs/en/entity_registry_index.html#unique-id-requirements
|
|
169
|
-
*
|
|
170
|
-
* @return The unique id as a string.
|
|
171
|
-
*/
|
|
172
|
-
virtual std::string unique_id();
|
|
173
|
-
|
|
174
167
|
/// Get the friendly name of this MQTT component.
|
|
175
168
|
virtual std::string friendly_name() const;
|
|
176
169
|
|
|
@@ -76,7 +76,6 @@ bool MQTTSensorComponent::publish_state(float value) {
|
|
|
76
76
|
int8_t accuracy = this->sensor_->get_accuracy_decimals();
|
|
77
77
|
return this->publish(this->get_state_topic_(), value_accuracy_to_string(value, accuracy));
|
|
78
78
|
}
|
|
79
|
-
std::string MQTTSensorComponent::unique_id() { return this->sensor_->unique_id(); }
|
|
80
79
|
|
|
81
80
|
} // namespace mqtt
|
|
82
81
|
} // namespace esphome
|
|
@@ -46,7 +46,6 @@ class MQTTSensorComponent : public mqtt::MQTTComponent {
|
|
|
46
46
|
/// Override for MQTTComponent, returns "sensor".
|
|
47
47
|
std::string component_type() const override;
|
|
48
48
|
const EntityBase *get_entity() const override;
|
|
49
|
-
std::string unique_id() override;
|
|
50
49
|
|
|
51
50
|
sensor::Sensor *sensor_;
|
|
52
51
|
optional<uint32_t> expire_after_; // Override the expire after advertised to Home Assistant
|
|
@@ -40,7 +40,6 @@ bool MQTTTextSensor::send_initial_state() {
|
|
|
40
40
|
}
|
|
41
41
|
std::string MQTTTextSensor::component_type() const { return "sensor"; }
|
|
42
42
|
const EntityBase *MQTTTextSensor::get_entity() const { return this->sensor_; }
|
|
43
|
-
std::string MQTTTextSensor::unique_id() { return this->sensor_->unique_id(); }
|
|
44
43
|
|
|
45
44
|
} // namespace mqtt
|
|
46
45
|
} // namespace esphome
|
|
@@ -15,7 +15,6 @@ static const uint8_t MS5611_CMD_CONV_D2 = 0x50;
|
|
|
15
15
|
static const uint8_t MS5611_CMD_READ_PROM = 0xA2;
|
|
16
16
|
|
|
17
17
|
void MS5611Component::setup() {
|
|
18
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
19
18
|
if (!this->write_bytes(MS5611_CMD_RESET, nullptr, 0)) {
|
|
20
19
|
this->mark_failed();
|
|
21
20
|
return;
|
|
@@ -67,7 +67,6 @@ static uint8_t crc4(uint16_t *buffer, size_t length);
|
|
|
67
67
|
static uint8_t hsensor_crc_check(uint16_t value);
|
|
68
68
|
|
|
69
69
|
void MS8607Component::setup() {
|
|
70
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
71
70
|
this->error_code_ = ErrorCode::NONE;
|
|
72
71
|
this->setup_status_ = SetupStatus::NEEDS_RESET;
|
|
73
72
|
|
|
@@ -118,8 +118,6 @@ const char *orientation_xy_to_string(OrientationXY orientation) {
|
|
|
118
118
|
const char *orientation_z_to_string(bool orientation) { return orientation ? "Downwards looking" : "Upwards looking"; }
|
|
119
119
|
|
|
120
120
|
void MSA3xxComponent::setup() {
|
|
121
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
122
|
-
|
|
123
121
|
uint8_t part_id{0xff};
|
|
124
122
|
if (!this->read_byte(static_cast<uint8_t>(RegisterMap::PART_ID), &part_id) || (part_id != MSA_3XX_PART_ID)) {
|
|
125
123
|
ESP_LOGE(TAG, "Part ID is wrong or missing. Got 0x%02X", part_id);
|
|
@@ -28,7 +28,6 @@ static const uint8_t MY9231_CMD_SCATTER_APDM = 0x0 << 0;
|
|
|
28
28
|
static const uint8_t MY9231_CMD_SCATTER_PWM = 0x1 << 0;
|
|
29
29
|
|
|
30
30
|
void MY9231OutputComponent::setup() {
|
|
31
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
32
31
|
this->pin_di_->setup();
|
|
33
32
|
this->pin_di_->digital_write(false);
|
|
34
33
|
this->pin_dcki_->setup();
|
|
@@ -57,7 +56,6 @@ void MY9231OutputComponent::setup() {
|
|
|
57
56
|
this->send_dcki_pulses_(32 * this->num_chips_);
|
|
58
57
|
this->init_chips_(command);
|
|
59
58
|
}
|
|
60
|
-
ESP_LOGV(TAG, " Chips initialized.");
|
|
61
59
|
}
|
|
62
60
|
void MY9231OutputComponent::dump_config() {
|
|
63
61
|
ESP_LOGCONFIG(TAG, "MY9231:");
|
|
@@ -52,7 +52,6 @@ static const uint8_t POWER_PGA_CAP_EN = 0x80;
|
|
|
52
52
|
static const uint8_t DEVICE_REV = 0x1F;
|
|
53
53
|
|
|
54
54
|
void NAU7802Sensor::setup() {
|
|
55
|
-
ESP_LOGCONFIG(TAG, "Running setup for '%s'", this->name_.c_str());
|
|
56
55
|
i2c::I2CRegister pu_ctrl = this->reg(PU_CTRL_REG);
|
|
57
56
|
uint8_t rev;
|
|
58
57
|
|
|
@@ -225,6 +225,9 @@ async def to_code(config):
|
|
|
225
225
|
# https://github.com/Makuna/NeoPixelBus/blob/master/library.json
|
|
226
226
|
# Version Listed Here: https://registry.platformio.org/libraries/makuna/NeoPixelBus/versions
|
|
227
227
|
if CORE.is_esp32:
|
|
228
|
+
# disable built in rgb support as it uses the new RMT drivers and will
|
|
229
|
+
# conflict with NeoPixelBus which uses the legacy drivers
|
|
230
|
+
cg.add_build_flag("-DESP32_ARDUINO_NO_RGB_BUILTIN")
|
|
228
231
|
cg.add_library("makuna/NeoPixelBus", "2.8.0")
|
|
229
232
|
else:
|
|
230
233
|
cg.add_library("makuna/NeoPixelBus", "2.7.3")
|
|
@@ -13,15 +13,27 @@
|
|
|
13
13
|
#include "esphome/components/openthread/openthread.h"
|
|
14
14
|
#endif
|
|
15
15
|
|
|
16
|
+
#ifdef USE_MODEM
|
|
17
|
+
#include "esphome/components/modem/modem_component.h"
|
|
18
|
+
#endif
|
|
19
|
+
|
|
16
20
|
namespace esphome {
|
|
17
21
|
namespace network {
|
|
18
22
|
|
|
23
|
+
// The order of the components is important: WiFi should come after any possible main interfaces (it may be used as
|
|
24
|
+
// an AP that use a previous interface for NAT).
|
|
25
|
+
|
|
19
26
|
bool is_connected() {
|
|
20
27
|
#ifdef USE_ETHERNET
|
|
21
28
|
if (ethernet::global_eth_component != nullptr && ethernet::global_eth_component->is_connected())
|
|
22
29
|
return true;
|
|
23
30
|
#endif
|
|
24
31
|
|
|
32
|
+
#ifdef USE_MODEM
|
|
33
|
+
if (modem::global_modem_component != nullptr)
|
|
34
|
+
return modem::global_modem_component->is_connected();
|
|
35
|
+
#endif
|
|
36
|
+
|
|
25
37
|
#ifdef USE_WIFI
|
|
26
38
|
if (wifi::global_wifi_component != nullptr)
|
|
27
39
|
return wifi::global_wifi_component->is_connected();
|
|
@@ -39,6 +51,11 @@ bool is_connected() {
|
|
|
39
51
|
}
|
|
40
52
|
|
|
41
53
|
bool is_disabled() {
|
|
54
|
+
#ifdef USE_MODEM
|
|
55
|
+
if (modem::global_modem_component != nullptr)
|
|
56
|
+
return modem::global_modem_component->is_disabled();
|
|
57
|
+
#endif
|
|
58
|
+
|
|
42
59
|
#ifdef USE_WIFI
|
|
43
60
|
if (wifi::global_wifi_component != nullptr)
|
|
44
61
|
return wifi::global_wifi_component->is_disabled();
|
|
@@ -51,6 +68,12 @@ network::IPAddresses get_ip_addresses() {
|
|
|
51
68
|
if (ethernet::global_eth_component != nullptr)
|
|
52
69
|
return ethernet::global_eth_component->get_ip_addresses();
|
|
53
70
|
#endif
|
|
71
|
+
|
|
72
|
+
#ifdef USE_MODEM
|
|
73
|
+
if (modem::global_modem_component != nullptr)
|
|
74
|
+
return modem::global_modem_component->get_ip_addresses();
|
|
75
|
+
#endif
|
|
76
|
+
|
|
54
77
|
#ifdef USE_WIFI
|
|
55
78
|
if (wifi::global_wifi_component != nullptr)
|
|
56
79
|
return wifi::global_wifi_component->get_ip_addresses();
|
|
@@ -67,6 +90,12 @@ std::string get_use_address() {
|
|
|
67
90
|
if (ethernet::global_eth_component != nullptr)
|
|
68
91
|
return ethernet::global_eth_component->get_use_address();
|
|
69
92
|
#endif
|
|
93
|
+
|
|
94
|
+
#ifdef USE_MODEM
|
|
95
|
+
if (modem::global_modem_component != nullptr)
|
|
96
|
+
return modem::global_modem_component->get_use_address();
|
|
97
|
+
#endif
|
|
98
|
+
|
|
70
99
|
#ifdef USE_WIFI
|
|
71
100
|
if (wifi::global_wifi_component != nullptr)
|
|
72
101
|
return wifi::global_wifi_component->get_use_address();
|
|
@@ -11,8 +11,6 @@ static const char *const TAG = "npi19";
|
|
|
11
11
|
static const uint8_t READ_COMMAND = 0xAC;
|
|
12
12
|
|
|
13
13
|
void NPI19Component::setup() {
|
|
14
|
-
ESP_LOGCONFIG(TAG, "Running setup");
|
|
15
|
-
|
|
16
14
|
uint16_t raw_temperature(0);
|
|
17
15
|
uint16_t raw_pressure(0);
|
|
18
16
|
i2c::ErrorCode err = this->read_(raw_temperature, raw_pressure);
|