esphome 2024.7.2__py3-none-any.whl → 2024.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +15 -81
- esphome/automation.py +1 -1
- esphome/codegen.py +53 -53
- esphome/components/ade7953/sensor.py +1 -1
- esphome/components/ade7953_spi/ade7953_spi.cpp +1 -1
- esphome/components/airthings_wave_plus/airthings_wave_plus.cpp +5 -2
- esphome/components/airthings_wave_plus/airthings_wave_plus.h +2 -0
- esphome/components/airthings_wave_plus/sensor.py +12 -0
- esphome/components/alarm_control_panel/__init__.py +75 -66
- esphome/components/apds9306/__init__.py +4 -0
- esphome/components/apds9306/apds9306.cpp +151 -0
- esphome/components/apds9306/apds9306.h +66 -0
- esphome/components/apds9306/sensor.py +95 -0
- esphome/components/api/__init__.py +80 -52
- esphome/components/api/api_connection.cpp +14 -1
- esphome/components/api/api_pb2.cpp +33 -4
- esphome/components/api/api_pb2.h +8 -1
- esphome/components/api/api_server.cpp +10 -0
- esphome/components/api/api_server.h +3 -0
- esphome/components/atm90e32/__init__.py +7 -0
- esphome/components/atm90e32/atm90e32.cpp +68 -16
- esphome/components/atm90e32/atm90e32.h +20 -7
- esphome/components/atm90e32/atm90e32_reg.h +2 -0
- esphome/components/atm90e32/button/__init__.py +43 -0
- esphome/components/atm90e32/button/atm90e32_button.cpp +20 -0
- esphome/components/atm90e32/button/atm90e32_button.h +27 -0
- esphome/components/atm90e32/sensor.py +15 -11
- esphome/components/bedjet/bedjet_codec.h +1 -1
- esphome/components/binary/light/binary_light_output.h +3 -2
- esphome/components/binary_sensor/__init__.py +5 -5
- esphome/components/ble_client/__init__.py +3 -3
- esphome/components/ble_client/output/__init__.py +1 -1
- esphome/components/ble_client/sensor/__init__.py +4 -3
- esphome/components/ble_client/switch/__init__.py +2 -1
- esphome/components/ble_client/text_sensor/__init__.py +4 -3
- esphome/components/ble_presence/binary_sensor.py +3 -3
- esphome/components/ble_rssi/sensor.py +2 -2
- esphome/components/ble_scanner/text_sensor.py +1 -1
- esphome/components/bluetooth_proxy/__init__.py +3 -3
- esphome/components/bme68x_bsec2/__init__.py +196 -0
- esphome/components/bme68x_bsec2/bme68x_bsec2.cpp +523 -0
- esphome/components/bme68x_bsec2/bme68x_bsec2.h +163 -0
- esphome/components/bme68x_bsec2/sensor.py +130 -0
- esphome/components/bme68x_bsec2/text_sensor.py +33 -0
- esphome/components/bme68x_bsec2_i2c/__init__.py +28 -0
- esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.cpp +53 -0
- esphome/components/bme68x_bsec2_i2c/bme68x_bsec2_i2c.h +28 -0
- esphome/components/bmp3xx/sensor.py +1 -1
- esphome/components/button/__init__.py +4 -4
- esphome/components/climate/__init__.py +5 -5
- esphome/components/climate/climate.h +1 -1
- esphome/components/cover/__init__.py +8 -8
- esphome/components/cst226/touchscreen/cst226_touchscreen.cpp +11 -7
- esphome/components/cst226/touchscreen/cst226_touchscreen.h +1 -1
- esphome/components/datetime/__init__.py +11 -13
- esphome/components/demo/demo_sensor.h +3 -2
- esphome/components/display/display.cpp +31 -0
- esphome/components/display/display.h +3 -0
- esphome/components/display_menu_base/__init__.py +14 -13
- esphome/components/ens160/sensor.py +1 -1
- esphome/components/esp32/__init__.py +22 -10
- esphome/components/esp32/boards.py +1 -1
- esphome/components/esp32/gpio.py +12 -13
- esphome/components/esp32/gpio_esp32.py +1 -2
- esphome/components/esp32/gpio_esp32_c2.py +1 -2
- esphome/components/esp32/gpio_esp32_c3.py +1 -5
- esphome/components/esp32/gpio_esp32_c6.py +1 -2
- esphome/components/esp32/gpio_esp32_h2.py +1 -2
- esphome/components/esp32/gpio_esp32_s2.py +1 -2
- esphome/components/esp32/gpio_esp32_s3.py +1 -6
- esphome/components/esp32_ble/__init__.py +20 -3
- esphome/components/esp32_ble/ble.cpp +9 -1
- esphome/components/esp32_ble/ble.h +9 -0
- esphome/components/esp32_ble/ble_advertising.cpp +42 -9
- esphome/components/esp32_ble/ble_advertising.h +21 -1
- esphome/components/esp32_ble_beacon/__init__.py +17 -7
- esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp +45 -113
- esphome/components/esp32_ble_beacon/esp32_ble_beacon.h +17 -19
- esphome/components/esp32_ble_client/__init__.py +0 -1
- esphome/components/esp32_ble_server/__init__.py +2 -3
- esphome/components/esp32_ble_tracker/__init__.py +2 -2
- esphome/components/esp32_improv/__init__.py +2 -4
- esphome/components/ethernet/__init__.py +17 -17
- esphome/components/ethernet_info/text_sensor.py +2 -2
- esphome/components/event/__init__.py +5 -5
- esphome/components/fan/__init__.py +14 -14
- esphome/components/fan/fan.cpp +2 -2
- esphome/components/fingerprint_grow/fingerprint_grow.cpp +1 -1
- esphome/components/fingerprint_grow/fingerprint_grow.h +1 -1
- esphome/components/graphical_display_menu/__init__.py +11 -8
- esphome/components/haier/haier_base.h +2 -2
- esphome/components/homeassistant/__init__.py +8 -1
- esphome/components/homeassistant/number/__init__.py +33 -0
- esphome/components/homeassistant/number/homeassistant_number.cpp +100 -0
- esphome/components/homeassistant/number/homeassistant_number.h +31 -0
- esphome/components/homeassistant/switch/__init__.py +30 -0
- esphome/components/homeassistant/switch/homeassistant_switch.cpp +59 -0
- esphome/components/homeassistant/switch/homeassistant_switch.h +22 -0
- esphome/components/host/__init__.py +3 -7
- esphome/components/http_request/__init__.py +12 -1
- esphome/components/http_request/http_request_arduino.cpp +2 -2
- esphome/components/http_request/http_request_idf.cpp +11 -2
- esphome/components/http_request/http_request_idf.h +10 -0
- esphome/components/http_request/ota/ota_http_request.cpp +1 -1
- esphome/components/http_request/update/http_request_update.cpp +2 -2
- esphome/components/http_request/update/http_request_update.h +2 -1
- esphome/components/hx711/hx711.cpp +10 -1
- esphome/components/hydreon_rgxx/hydreon_rgxx.cpp +1 -1
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +11 -2
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.h +2 -0
- esphome/components/ili9xxx/ili9xxx_defines.h +3 -1
- esphome/components/ili9xxx/ili9xxx_display.cpp +9 -22
- esphome/components/ili9xxx/ili9xxx_display.h +5 -7
- esphome/components/ili9xxx/ili9xxx_init.h +4 -4
- esphome/components/improv_base/__init__.py +2 -3
- esphome/components/improv_serial/__init__.py +4 -10
- esphome/components/improv_serial/improv_serial_component.cpp +4 -0
- esphome/components/jsn_sr04t/jsn_sr04t.cpp +18 -1
- esphome/components/jsn_sr04t/jsn_sr04t.h +7 -1
- esphome/components/jsn_sr04t/sensor.py +13 -0
- esphome/components/kalman_combinator/sensor.py +1 -1
- esphome/components/light/__init__.py +16 -15
- esphome/components/light/addressable_light_effect.h +12 -8
- esphome/components/light/automation.h +16 -1
- esphome/components/light/automation.py +21 -0
- esphome/components/light/base_light_effects.h +5 -5
- esphome/components/light/esp_color_correction.h +8 -8
- esphome/components/light/types.py +7 -0
- esphome/components/lock/__init__.py +3 -3
- esphome/components/logger/__init__.py +15 -18
- esphome/components/lvgl/__init__.py +346 -0
- esphome/components/lvgl/automation.py +226 -0
- esphome/components/lvgl/binary_sensor/__init__.py +43 -0
- esphome/components/lvgl/defines.py +508 -0
- esphome/components/lvgl/encoders.py +77 -0
- esphome/components/lvgl/font.cpp +76 -0
- esphome/components/lvgl/helpers.py +49 -0
- esphome/components/lvgl/light/__init__.py +32 -0
- esphome/components/lvgl/light/lvgl_light.h +48 -0
- esphome/components/lvgl/lv_validation.py +303 -0
- esphome/components/lvgl/lvcode.py +349 -0
- esphome/components/lvgl/lvgl_esphome.cpp +407 -0
- esphome/components/lvgl/lvgl_esphome.h +274 -0
- esphome/components/lvgl/lvgl_hal.h +21 -0
- esphome/components/lvgl/number/__init__.py +66 -0
- esphome/components/lvgl/number/lvgl_number.h +34 -0
- esphome/components/lvgl/schemas.py +436 -0
- esphome/components/lvgl/select/__init__.py +55 -0
- esphome/components/lvgl/select/lvgl_select.h +62 -0
- esphome/components/lvgl/sensor/__init__.py +47 -0
- esphome/components/lvgl/styles.py +58 -0
- esphome/components/lvgl/switch/__init__.py +56 -0
- esphome/components/lvgl/switch/lvgl_switch.h +34 -0
- esphome/components/lvgl/text/__init__.py +50 -0
- esphome/components/lvgl/text/lvgl_text.h +34 -0
- esphome/components/lvgl/text_sensor/__init__.py +42 -0
- esphome/components/lvgl/touchscreens.py +45 -0
- esphome/components/lvgl/trigger.py +74 -0
- esphome/components/lvgl/types.py +191 -0
- esphome/components/lvgl/widgets/__init__.py +419 -0
- esphome/components/lvgl/widgets/animimg.py +117 -0
- esphome/components/lvgl/widgets/arc.py +78 -0
- esphome/components/lvgl/widgets/button.py +20 -0
- esphome/components/lvgl/widgets/buttonmatrix.py +275 -0
- esphome/components/lvgl/widgets/checkbox.py +27 -0
- esphome/components/lvgl/widgets/dropdown.py +76 -0
- esphome/components/lvgl/widgets/img.py +85 -0
- esphome/components/lvgl/widgets/keyboard.py +49 -0
- esphome/components/lvgl/widgets/label.py +42 -0
- esphome/components/lvgl/widgets/led.py +29 -0
- esphome/components/lvgl/widgets/line.py +50 -0
- esphome/components/lvgl/widgets/lv_bar.py +55 -0
- esphome/components/lvgl/widgets/meter.py +302 -0
- esphome/components/lvgl/widgets/msgbox.py +134 -0
- esphome/components/lvgl/widgets/obj.py +28 -0
- esphome/components/lvgl/widgets/page.py +113 -0
- esphome/components/lvgl/widgets/roller.py +77 -0
- esphome/components/lvgl/widgets/slider.py +63 -0
- esphome/components/lvgl/widgets/spinbox.py +178 -0
- esphome/components/lvgl/widgets/spinner.py +43 -0
- esphome/components/lvgl/widgets/switch.py +20 -0
- esphome/components/lvgl/widgets/tabview.py +114 -0
- esphome/components/lvgl/widgets/textarea.py +66 -0
- esphome/components/lvgl/widgets/tileview.py +128 -0
- esphome/components/m5stack_8angle/__init__.py +33 -0
- esphome/components/m5stack_8angle/binary_sensor/__init__.py +30 -0
- esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.cpp +17 -0
- esphome/components/m5stack_8angle/binary_sensor/m5stack_8angle_binary_sensor.h +19 -0
- esphome/components/m5stack_8angle/light/__init__.py +31 -0
- esphome/components/m5stack_8angle/light/m5stack_8angle_light.cpp +45 -0
- esphome/components/m5stack_8angle/light/m5stack_8angle_light.h +37 -0
- esphome/components/m5stack_8angle/m5stack_8angle.cpp +74 -0
- esphome/components/m5stack_8angle/m5stack_8angle.h +34 -0
- esphome/components/m5stack_8angle/sensor/__init__.py +66 -0
- esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.cpp +24 -0
- esphome/components/m5stack_8angle/sensor/m5stack_8angle_sensor.h +27 -0
- esphome/components/matrix_keypad/matrix_keypad.cpp +2 -0
- esphome/components/max31856/sensor.py +5 -5
- esphome/components/media_player/__init__.py +3 -5
- esphome/components/media_player/automation.h +31 -27
- esphome/components/micro_wake_word/__init__.py +20 -25
- esphome/components/micro_wake_word/streaming_model.cpp +6 -4
- esphome/components/microphone/microphone.h +4 -1
- esphome/components/mitsubishi/mitsubishi.cpp +7 -1
- esphome/components/modbus_controller/__init__.py +26 -2
- esphome/components/modbus_controller/automation.h +19 -0
- esphome/components/modbus_controller/const.py +1 -0
- esphome/components/modbus_controller/modbus_controller.cpp +8 -0
- esphome/components/modbus_controller/modbus_controller.h +3 -0
- esphome/components/mqtt/__init__.py +20 -9
- esphome/components/mqtt/mqtt_alarm_control_panel.cpp +128 -0
- esphome/components/mqtt/mqtt_alarm_control_panel.h +39 -0
- esphome/components/mqtt/mqtt_backend.h +3 -1
- esphome/components/mqtt/mqtt_backend_esp32.cpp +4 -1
- esphome/components/mqtt/mqtt_backend_esp32.h +3 -1
- esphome/components/mqtt/mqtt_backend_esp8266.h +3 -1
- esphome/components/mqtt/mqtt_backend_libretiny.h +3 -1
- esphome/components/mqtt/mqtt_client.cpp +16 -3
- esphome/components/mqtt/mqtt_client.h +5 -1
- esphome/components/mqtt/mqtt_component.cpp +32 -4
- esphome/components/mqtt/mqtt_const.h +2 -0
- esphome/components/network/__init__.py +15 -12
- esphome/components/network/ip_address.h +3 -0
- esphome/components/network/util.cpp +2 -1
- esphome/components/network/util.h +3 -1
- esphome/components/nextion/base_component.py +5 -8
- esphome/components/number/__init__.py +7 -8
- esphome/components/online_image/__init__.py +167 -0
- esphome/components/online_image/image_decoder.cpp +44 -0
- esphome/components/online_image/image_decoder.h +112 -0
- esphome/components/online_image/online_image.cpp +283 -0
- esphome/components/online_image/online_image.h +195 -0
- esphome/components/online_image/png_image.cpp +68 -0
- esphome/components/online_image/png_image.h +33 -0
- esphome/components/ota/__init__.py +8 -4
- esphome/components/pid/pid_climate.h +2 -0
- esphome/components/pmwcs3/pmwcs3.cpp +31 -30
- esphome/components/remote_base/pronto_protocol.cpp +0 -3
- esphome/components/remote_transmitter/remote_transmitter.h +1 -1
- esphome/components/rgbct/rgbct_light_output.h +3 -2
- esphome/components/rgbw/rgbw_light_output.h +3 -2
- esphome/components/rgbww/rgbww_light_output.h +3 -2
- esphome/components/rp2040_pio_led_strip/led_strip.cpp +31 -5
- esphome/components/rp2040_pio_led_strip/led_strip.h +5 -0
- esphome/components/rtttl/rtttl.cpp +108 -21
- esphome/components/rtttl/rtttl.h +15 -6
- esphome/components/select/__init__.py +7 -7
- esphome/components/sensor/__init__.py +29 -10
- esphome/components/sensor/filter.cpp +8 -0
- esphome/components/sensor/filter.h +9 -0
- esphome/components/sml/sml_parser.cpp +48 -22
- esphome/components/socket/socket.cpp +11 -14
- esphome/components/speaker/__init__.py +14 -5
- esphome/components/speaker/automation.h +10 -0
- esphome/components/speaker/speaker.h +9 -0
- esphome/components/spi/spi.cpp +0 -6
- esphome/components/spi/spi.h +2 -19
- esphome/components/spi_led_strip/spi_led_strip.h +5 -4
- esphome/components/sprinkler/sprinkler.cpp +2 -2
- esphome/components/sprinkler/sprinkler.h +1 -1
- esphome/components/switch/__init__.py +3 -3
- esphome/components/text/__init__.py +5 -5
- esphome/components/text_sensor/__init__.py +7 -7
- esphome/components/time/__init__.py +8 -8
- esphome/components/touchscreen/binary_sensor/__init__.py +24 -10
- esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.cpp +3 -2
- esphome/components/touchscreen/binary_sensor/touchscreen_binary_sensor.h +4 -2
- esphome/components/uart/uart_component_host.cpp +6 -2
- esphome/components/update/__init__.py +33 -15
- esphome/components/update/automation.h +23 -0
- esphome/components/update/update_entity.h +3 -1
- esphome/components/valve/__init__.py +3 -3
- esphome/components/voice_assistant/__init__.py +7 -8
- esphome/components/wake_on_lan/wake_on_lan.cpp +2 -0
- esphome/components/wake_on_lan/wake_on_lan.h +3 -1
- esphome/components/watchdog/__init__.py +1 -0
- esphome/components/{http_request → watchdog}/watchdog.cpp +0 -2
- esphome/components/{http_request → watchdog}/watchdog.h +0 -2
- esphome/components/waveshare_epaper/waveshare_epaper.cpp +5 -5
- esphome/components/web_server/server_index_v3.h +3615 -3603
- esphome/components/web_server/web_server.cpp +0 -209
- esphome/components/web_server/web_server.h +1 -1
- esphome/components/web_server/web_server_v1.cpp +217 -0
- esphome/components/web_server_base/web_server_base.h +1 -0
- esphome/components/wifi/__init__.py +15 -14
- esphome/components/wifi/wifi_component.cpp +2 -0
- esphome/components/wifi/wifi_component.h +7 -1
- esphome/components/wifi/wifi_component_esp32_arduino.cpp +5 -2
- esphome/components/wifi/wifi_component_esp8266.cpp +2 -0
- esphome/components/wifi/wifi_component_esp_idf.cpp +43 -7
- esphome/components/wifi/wifi_component_libretiny.cpp +2 -0
- esphome/components/wifi/wifi_component_pico_w.cpp +2 -0
- esphome/components/wifi/wpa2_eap.py +6 -7
- esphome/components/wifi_info/text_sensor.py +3 -3
- esphome/components/wifi_info/wifi_info_text_sensor.cpp +2 -0
- esphome/components/wifi_info/wifi_info_text_sensor.h +2 -0
- esphome/components/wifi_signal/sensor.py +1 -1
- esphome/components/wifi_signal/wifi_signal_sensor.cpp +2 -0
- esphome/components/wifi_signal/wifi_signal_sensor.h +2 -1
- esphome/components/xiaomi_ble/xiaomi_ble.cpp +20 -3
- esphome/components/xiaomi_ble/xiaomi_ble.h +1 -0
- esphome/components/xiaomi_lywsd02mmc/__init__.py +0 -0
- esphome/components/xiaomi_lywsd02mmc/sensor.py +77 -0
- esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +73 -0
- esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.h +37 -0
- esphome/config.py +17 -19
- esphome/config_validation.py +55 -23
- esphome/const.py +25 -9
- esphome/core/__init__.py +17 -14
- esphome/core/application.h +42 -21
- esphome/core/automation.h +5 -3
- esphome/core/base_automation.h +3 -2
- esphome/core/bytebuffer.cpp +134 -0
- esphome/core/bytebuffer.h +96 -0
- esphome/core/color.h +24 -16
- esphome/core/config.py +3 -3
- esphome/core/defines.h +14 -1
- esphome/core/entity_base.h +2 -2
- esphome/core/entity_helpers.py +1 -2
- esphome/core/gpio.h +0 -18
- esphome/core/helpers.h +1 -1
- esphome/core/optional.h +15 -16
- esphome/coroutine.py +1 -1
- esphome/cpp_generator.py +1 -1
- esphome/cpp_helpers.py +3 -5
- esphome/dashboard/core.py +3 -3
- esphome/dashboard/dashboard.py +3 -3
- esphome/dashboard/entries.py +1 -1
- esphome/dashboard/util/file.py +1 -1
- esphome/dashboard/web_server.py +3 -3
- esphome/external_files.py +5 -3
- esphome/final_validate.py +2 -2
- esphome/git.py +4 -4
- esphome/helpers.py +5 -5
- esphome/loader.py +15 -10
- esphome/mqtt.py +4 -8
- esphome/pins.py +6 -6
- esphome/platformio_api.py +5 -5
- esphome/storage_json.py +2 -1
- esphome/types.py +1 -1
- esphome/util.py +2 -3
- esphome/voluptuous_schema.py +1 -0
- esphome/vscode.py +5 -4
- esphome/wizard.py +1 -1
- esphome/writer.py +7 -7
- esphome/yaml_util.py +3 -3
- esphome/zeroconf.py +1 -1
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/METADATA +3 -3
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/RECORD +353 -247
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/LICENSE +0 -0
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/WHEEL +0 -0
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/entry_points.txt +0 -0
- {esphome-2024.7.2.dist-info → esphome-2024.8.0.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,11 @@
|
|
1
1
|
from esphome import automation
|
2
|
+
import esphome.codegen as cg
|
2
3
|
from esphome.components import mqtt, web_server
|
3
4
|
import esphome.config_validation as cv
|
4
|
-
import esphome.codegen as cg
|
5
5
|
from esphome.const import (
|
6
6
|
CONF_DEVICE_CLASS,
|
7
7
|
CONF_ENTITY_CATEGORY,
|
8
|
+
CONF_FORCE_UPDATE,
|
8
9
|
CONF_ID,
|
9
10
|
CONF_MQTT_ID,
|
10
11
|
CONF_WEB_SERVER_ID,
|
@@ -23,8 +24,12 @@ UpdateEntity = update_ns.class_("UpdateEntity", cg.EntityBase)
|
|
23
24
|
|
24
25
|
UpdateInfo = update_ns.struct("UpdateInfo")
|
25
26
|
|
26
|
-
PerformAction = update_ns.class_(
|
27
|
-
|
27
|
+
PerformAction = update_ns.class_(
|
28
|
+
"PerformAction", automation.Action, cg.Parented.template(UpdateEntity)
|
29
|
+
)
|
30
|
+
IsAvailableCondition = update_ns.class_(
|
31
|
+
"IsAvailableCondition", automation.Condition, cg.Parented.template(UpdateEntity)
|
32
|
+
)
|
28
33
|
|
29
34
|
DEVICE_CLASSES = [
|
30
35
|
DEVICE_CLASS_EMPTY,
|
@@ -92,24 +97,37 @@ async def to_code(config):
|
|
92
97
|
cg.add_global(update_ns.using)
|
93
98
|
|
94
99
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
100
|
+
@automation.register_action(
|
101
|
+
"update.perform",
|
102
|
+
PerformAction,
|
103
|
+
automation.maybe_simple_id(
|
104
|
+
{
|
105
|
+
cv.GenerateID(): cv.use_id(UpdateEntity),
|
106
|
+
cv.Optional(CONF_FORCE_UPDATE, default=False): cv.templatable(cv.boolean),
|
107
|
+
}
|
108
|
+
),
|
99
109
|
)
|
100
|
-
|
101
|
-
|
102
|
-
@automation.register_action("update.perform", PerformAction, UPDATE_AUTOMATION_SCHEMA)
|
103
110
|
async def update_perform_action_to_code(config, action_id, template_arg, args):
|
104
|
-
|
105
|
-
|
111
|
+
var = cg.new_Pvariable(action_id, template_arg)
|
112
|
+
await cg.register_parented(var, config[CONF_ID])
|
113
|
+
|
114
|
+
force = await cg.templatable(config[CONF_FORCE_UPDATE], args, cg.bool_)
|
115
|
+
cg.add(var.set_force(force))
|
116
|
+
return var
|
106
117
|
|
107
118
|
|
108
119
|
@automation.register_condition(
|
109
|
-
"update.is_available",
|
120
|
+
"update.is_available",
|
121
|
+
IsAvailableCondition,
|
122
|
+
automation.maybe_simple_id(
|
123
|
+
{
|
124
|
+
cv.GenerateID(): cv.use_id(UpdateEntity),
|
125
|
+
}
|
126
|
+
),
|
110
127
|
)
|
111
128
|
async def update_is_available_condition_to_code(
|
112
129
|
config, condition_id, template_arg, args
|
113
130
|
):
|
114
|
-
|
115
|
-
|
131
|
+
var = cg.new_Pvariable(condition_id, template_arg)
|
132
|
+
await cg.register_parented(var, config[CONF_ID])
|
133
|
+
return var
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#pragma once
|
2
|
+
|
3
|
+
#include "update_entity.h"
|
4
|
+
|
5
|
+
#include "esphome/core/automation.h"
|
6
|
+
|
7
|
+
namespace esphome {
|
8
|
+
namespace update {
|
9
|
+
|
10
|
+
template<typename... Ts> class PerformAction : public Action<Ts...>, public Parented<UpdateEntity> {
|
11
|
+
TEMPLATABLE_VALUE(bool, force)
|
12
|
+
|
13
|
+
public:
|
14
|
+
void play(Ts... x) override { this->parent_->perform(this->force_.value(x...)); }
|
15
|
+
};
|
16
|
+
|
17
|
+
template<typename... Ts> class IsAvailableCondition : public Condition<Ts...>, public Parented<UpdateEntity> {
|
18
|
+
public:
|
19
|
+
bool check(Ts... x) override { return this->parent_->state == UPDATE_STATE_AVAILABLE; }
|
20
|
+
};
|
21
|
+
|
22
|
+
} // namespace update
|
23
|
+
} // namespace esphome
|
@@ -32,7 +32,9 @@ class UpdateEntity : public EntityBase, public EntityBase_DeviceClass {
|
|
32
32
|
|
33
33
|
void publish_state();
|
34
34
|
|
35
|
-
|
35
|
+
void perform() { this->perform(false); }
|
36
|
+
virtual void perform(bool force) = 0;
|
37
|
+
virtual void check() = 0;
|
36
38
|
|
37
39
|
const UpdateInfo &update_info = update_info_;
|
38
40
|
const UpdateState &state = state_;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import esphome.codegen as cg
|
2
|
-
import esphome.config_validation as cv
|
3
1
|
from esphome import automation
|
4
|
-
from esphome.automation import
|
2
|
+
from esphome.automation import Condition, maybe_simple_id
|
3
|
+
import esphome.codegen as cg
|
5
4
|
from esphome.components import mqtt, web_server
|
5
|
+
import esphome.config_validation as cv
|
6
6
|
from esphome.const import (
|
7
7
|
CONF_DEVICE_CLASS,
|
8
8
|
CONF_ID,
|
@@ -1,18 +1,18 @@
|
|
1
|
-
|
1
|
+
from esphome import automation
|
2
|
+
from esphome.automation import register_action, register_condition
|
2
3
|
import esphome.codegen as cg
|
3
|
-
|
4
|
+
from esphome.components import media_player, microphone, speaker
|
5
|
+
import esphome.config_validation as cv
|
4
6
|
from esphome.const import (
|
5
7
|
CONF_ID,
|
6
|
-
CONF_MICROPHONE,
|
7
|
-
CONF_SPEAKER,
|
8
8
|
CONF_MEDIA_PLAYER,
|
9
|
+
CONF_MICROPHONE,
|
9
10
|
CONF_ON_CLIENT_CONNECTED,
|
10
11
|
CONF_ON_CLIENT_DISCONNECTED,
|
12
|
+
CONF_ON_ERROR,
|
11
13
|
CONF_ON_IDLE,
|
14
|
+
CONF_SPEAKER,
|
12
15
|
)
|
13
|
-
from esphome import automation
|
14
|
-
from esphome.automation import register_action, register_condition
|
15
|
-
from esphome.components import microphone, speaker, media_player
|
16
16
|
|
17
17
|
AUTO_LOAD = ["socket"]
|
18
18
|
DEPENDENCIES = ["api", "microphone"]
|
@@ -20,7 +20,6 @@ DEPENDENCIES = ["api", "microphone"]
|
|
20
20
|
CODEOWNERS = ["@jesserockz"]
|
21
21
|
|
22
22
|
CONF_ON_END = "on_end"
|
23
|
-
CONF_ON_ERROR = "on_error"
|
24
23
|
CONF_ON_INTENT_END = "on_intent_end"
|
25
24
|
CONF_ON_INTENT_START = "on_intent_start"
|
26
25
|
CONF_ON_LISTENING = "on_listening"
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#include "wake_on_lan.h"
|
2
|
+
#ifdef USE_NETWORK
|
2
3
|
#include "esphome/core/log.h"
|
3
4
|
#include "esphome/components/network/ip_address.h"
|
4
5
|
#include "esphome/components/network/util.h"
|
@@ -85,3 +86,4 @@ void WakeOnLanButton::setup() {
|
|
85
86
|
|
86
87
|
} // namespace wake_on_lan
|
87
88
|
} // namespace esphome
|
89
|
+
#endif
|
@@ -1,5 +1,6 @@
|
|
1
1
|
#pragma once
|
2
|
-
|
2
|
+
#include "esphome/core/defines.h"
|
3
|
+
#ifdef USE_NETWORK
|
3
4
|
#include "esphome/components/button/button.h"
|
4
5
|
#include "esphome/core/component.h"
|
5
6
|
#if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS)
|
@@ -32,3 +33,4 @@ class WakeOnLanButton : public button::Button, public Component {
|
|
32
33
|
|
33
34
|
} // namespace wake_on_lan
|
34
35
|
} // namespace esphome
|
36
|
+
#endif
|
@@ -0,0 +1 @@
|
|
1
|
+
CODEOWNERS = ["@oarcher"]
|
@@ -15,7 +15,6 @@
|
|
15
15
|
#endif
|
16
16
|
|
17
17
|
namespace esphome {
|
18
|
-
namespace http_request {
|
19
18
|
namespace watchdog {
|
20
19
|
|
21
20
|
static const char *const TAG = "http_request.watchdog";
|
@@ -72,5 +71,4 @@ uint32_t WatchdogManager::get_timeout_() {
|
|
72
71
|
}
|
73
72
|
|
74
73
|
} // namespace watchdog
|
75
|
-
} // namespace http_request
|
76
74
|
} // namespace esphome
|
@@ -5,7 +5,6 @@
|
|
5
5
|
#include <cstdint>
|
6
6
|
|
7
7
|
namespace esphome {
|
8
|
-
namespace http_request {
|
9
8
|
namespace watchdog {
|
10
9
|
|
11
10
|
class WatchdogManager {
|
@@ -22,5 +21,4 @@ class WatchdogManager {
|
|
22
21
|
};
|
23
22
|
|
24
23
|
} // namespace watchdog
|
25
|
-
} // namespace http_request
|
26
24
|
} // namespace esphome
|
@@ -480,7 +480,7 @@ void HOT WaveshareEPaperTypeA::display() {
|
|
480
480
|
this->start_data_();
|
481
481
|
switch (this->model_) {
|
482
482
|
case TTGO_EPAPER_2_13_IN_B1: { // block needed because of variable initializations
|
483
|
-
int16_t wb = ((this->
|
483
|
+
int16_t wb = ((this->get_width_controller()) >> 3);
|
484
484
|
for (int i = 0; i < this->get_height_internal(); i++) {
|
485
485
|
for (int j = 0; j < wb; j++) {
|
486
486
|
int idx = j + (this->get_height_internal() - 1 - i) * wb;
|
@@ -766,7 +766,7 @@ void WaveshareEPaper2P7InV2::initialize() {
|
|
766
766
|
// XRAM_START_AND_END_POSITION
|
767
767
|
this->command(0x44);
|
768
768
|
this->data(0x00);
|
769
|
-
this->data(((
|
769
|
+
this->data(((this->get_width_controller() - 1) >> 3) & 0xFF);
|
770
770
|
// YRAM_START_AND_END_POSITION
|
771
771
|
this->command(0x45);
|
772
772
|
this->data(0x00);
|
@@ -928,8 +928,8 @@ void HOT WaveshareEPaper2P7InB::display() {
|
|
928
928
|
|
929
929
|
// TCON_RESOLUTION
|
930
930
|
this->command(0x61);
|
931
|
-
this->data(this->
|
932
|
-
this->data(this->
|
931
|
+
this->data(this->get_width_controller() >> 8);
|
932
|
+
this->data(this->get_width_controller() & 0xff); // 176
|
933
933
|
this->data(this->get_height_internal() >> 8);
|
934
934
|
this->data(this->get_height_internal() & 0xff); // 264
|
935
935
|
|
@@ -994,7 +994,7 @@ void WaveshareEPaper2P7InBV2::initialize() {
|
|
994
994
|
// self.SetWindows(0, 0, self.width-1, self.height-1)
|
995
995
|
// SetWindows(self, Xstart, Ystart, Xend, Yend):
|
996
996
|
|
997
|
-
uint32_t xend = this->
|
997
|
+
uint32_t xend = this->get_width_controller() - 1;
|
998
998
|
uint32_t yend = this->get_height_internal() - 1;
|
999
999
|
this->command(0x44);
|
1000
1000
|
this->data(0x00);
|