mirror of
https://github.com/esphome/esphome.git
synced 2024-11-29 12:55:46 +01:00
7b45498de6
* Implement http_request component for esp-idf * Fix ifdefs * Lint * clang * Set else to fail with error message * Use unique_ptr * Fix * Tidy up casting, explicit HttpResponse lifetime (#3265) Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com> * Remove unique_ptr wrapper * Fix * Use reference * Add duration code into new split files * Add config for tx/rx buffer on idf * Fix * Try reserve response data with rx buffer size * Update http_request.h * Move client cleanup to be earlier * Move capture_response to bool on struct and remove global * Fix returns * Change quotes to brackets * Rework http request * Remove http request from old test yamls * Update component tests * Validate md5 length when hardcoded string * Linting * Add duration_ms to container * More lint * const * Remove default arguments and add helper functions for get and post * Add virtual destructor to HttpContainer * Undo const HEADER_KEYS * 🤦 * Update esphome/components/http_request/ota/ota_http_request.cpp Co-authored-by: Keith Burzinski <kbx81x@gmail.com> * Update esphome/components/http_request/ota/ota_http_request.cpp Co-authored-by: Keith Burzinski <kbx81x@gmail.com> * lint * Move header keys inline * Add missing WatchdogManagers * CAPS * Fix "follow redirects" string in config dump * IDF 5+ fix --------- Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com> Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com> Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
76 lines
1.8 KiB
YAML
76 lines
1.8 KiB
YAML
substitutions:
|
|
verify_ssl: "true"
|
|
|
|
wifi:
|
|
ssid: MySSID
|
|
password: password1
|
|
|
|
esphome:
|
|
on_boot:
|
|
then:
|
|
- http_request.get:
|
|
url: https://esphome.io
|
|
headers:
|
|
Content-Type: application/json
|
|
on_response:
|
|
then:
|
|
- logger.log:
|
|
format: "Response status: %d, Duration: %u ms"
|
|
args:
|
|
- response->status_code
|
|
- response->duration_ms
|
|
- http_request.post:
|
|
url: https://esphome.io
|
|
headers:
|
|
Content-Type: application/json
|
|
json:
|
|
key: value
|
|
- http_request.send:
|
|
method: PUT
|
|
url: https://esphome.io
|
|
headers:
|
|
Content-Type: application/json
|
|
body: "Some data"
|
|
|
|
http_request:
|
|
useragent: esphome/tagreader
|
|
timeout: 10s
|
|
verify_ssl: ${verify_ssl}
|
|
|
|
ota:
|
|
- platform: http_request
|
|
on_begin:
|
|
then:
|
|
- logger.log: "OTA start"
|
|
on_progress:
|
|
then:
|
|
- logger.log:
|
|
format: "OTA progress %0.1f%%"
|
|
args: ["x"]
|
|
on_end:
|
|
then:
|
|
- logger.log: "OTA end"
|
|
on_error:
|
|
then:
|
|
- logger.log:
|
|
format: "OTA update error %d"
|
|
args: ["x"]
|
|
on_state_change:
|
|
then:
|
|
lambda: 'ESP_LOGD("ota", "State %d", state);'
|
|
|
|
button:
|
|
- platform: template
|
|
name: Firmware update
|
|
on_press:
|
|
then:
|
|
- ota.http_request.flash:
|
|
md5_url: http://my.ha.net:8123/local/esphome/firmware.md5
|
|
url: http://my.ha.net:8123/local/esphome/firmware.bin
|
|
|
|
- ota.http_request.flash:
|
|
md5: 0123456789abcdef0123456789abcdef
|
|
url: http://my.ha.net:8123/local/esphome/firmware.bin
|
|
|
|
- logger.log: "This message should be not displayed (reboot)"
|