J. Nick Koston
b178f74e5d
[core] Save the validated config cache on the first upload or logs run ( #18367 )
2026-08-14 18:45:23 -07:00
J. Nick Koston
524b278811
[core] Defer stdlib imports out of the upload and logs fast path ( #18105 )
2026-08-05 19:09:00 -05:00
J. Nick Koston
d344fd74d1
[core] Read the esp32 variant for esptool without importing the esp32 package ( #18067 )
2026-08-04 19:47:07 +00:00
J. Nick Koston
1b3891866c
[core] Parse stored framework versions without importing the validation stack ( #18045 )
2026-08-03 20:59:38 -05:00
Jesse Hills and Jonathan Swoboda
cdd334284e
[rp2] Rename rp2040 platform to rp2 ( #17145 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-07-07 08:20:24 +12:00
tomaszduda23 and Jonathan Swoboda
690e8c3fb9
[nrf52] add upload for native build ( #17100 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-06-27 15:50:28 -04:00
Jesse Hills
d0e3e98d55
[dashboard] Remove legacy web dashboard ( #17124 )
2026-06-22 09:33:27 +12:00
Jonathan Swoboda
74a1ff9fc7
[esp32][core] Restore ESP-IDF version on logs/upload fast path and clean build on framework change ( #16770 )
2026-06-04 09:46:01 +12:00
J. Nick Koston
f0202155b3
[core] Persist esphome.area in StorageJSON ( #16710 )
2026-05-30 00:09:07 -05:00
J. Nick Koston
3cc875c40b
[core] Enable ruff BLE (flake8-blind-except) lint family ( #16659 )
2026-05-27 20:09:57 +12:00
J. Nick Koston
96816e2491
[core] Enable ruff DTZ (flake8-datetimez) lint family ( #16660 )
2026-05-26 15:29:38 -05:00
Jonathan Swoboda
e0076cb1a8
[core] Persist & restore CORE.toolchain through StorageJSON ( #16531 )
2026-05-21 10:37:46 -05:00
J. Nick Koston
47eb2adbf2
[core] Fix KeyError: 'esp32' on upload when validated-config cache is used ( #16457 )
2026-05-15 10:29:15 -07:00
J. Nick Koston
0e4922a340
[core] Cache validated config to skip re-validation on upload/logs ( #16381 )
2026-05-13 22:14:19 +12:00
J. Nick Koston and Copilot Autofix powered by AI
b5eb444015
[dashboard] Stabilize device-builder dashboard backend's API surface ( #16206 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-03 20:01:51 -05:00
9ea3643b74
[core] os.path -> Path ( #10654 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2025-09-19 12:59:48 +00:00
Clyde Stubbs
4d044d4ac9
[config] Clean build on ESP-IDF when component/platform combos change ( #9028 )
2025-06-09 08:39:02 +10:00
Jesse Hills
d9e23fdb5c
[dashboard] Rename trash/delete to archive ( #8357 )
2025-03-03 15:24:05 +13:00
Jesse Hills
ca5c73d170
Support ignoring discovered devices from the dashboard ( #7665 )
2024-10-25 07:55:14 +13:00
Jesse Hills
ca8e45cf4c
[core] Only clean build files with esp-idf ( #7388 )
2024-09-02 19:11:21 +12:00
Jesse Hills
e64709c37e
[code-quality] Organise core imports ( #7149 )
2024-07-29 14:07:44 +12:00
J. Nick Koston
2aaee81313
Refactor StorageJSON to keep loaded_integrations a set until its converted to JSON ( #5793 )
...
* Refactor StorageJSON to keep loaded_integrations a set until its converted to a dict
after #5792 we will be checking loaded_integrations often. ESPHome
core keep uses a set, but it would get converted to a list when
passed through StorageJSON. Keep it a set until its needed to
be read/write to JSON so we do not have to linear searches on it
since they have a time complexity of O(n) vs O(1)
* legacy
2023-11-19 22:31:00 -05:00
Jesse Hills
fe81bcc003
Use /data directory for .esphome folder when running as HA add-on ( #5374 )
2023-09-12 09:26:48 +12:00
Markus and Jesse Hills
c5a45645a6
allow to use MQTT for discovery of IPs if mDNS is no option ( #3887 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2023-05-17 16:29:56 +12:00
Jesse Hills
c301ae3645
Add friendly_name to device ( #4296 )
2023-01-17 10:28:09 +13:00
Jesse Hills
b184b01600
Remove a bunch of unnecessary pylint disabling ( #4079 )
2022-11-24 11:09:19 +13:00
Jesse Hills and Paulus Schoutsen
6153bcc6ad
Initial Support for RP2040 platform ( #3284 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com >
2022-10-20 16:50:39 +13:00
Jesse Hills
d220d41182
Bump python min to 3.9 ( #3871 )
2022-10-05 20:09:27 +13:00
Jesse Hills
68b3fd6b8f
Store platform as uppercase ( #3251 )
2022-02-22 13:54:23 +13:00
Otto Winter
debcaf6fb7
Add ESP32C3 and ESP32S2 support to dashboard ( #3152 )
...
* Add ESP32C3 and ESP32S2 support to dashboard
* Format
* Fix tests
2022-02-19 15:47:50 +01:00
Alex Iribarren
0d3e6b2c4c
Expose web_server port via the API ( #2467 )
2021-10-28 11:46:55 +13:00
Otto Winter
8be4086224
Always upload using esptool ( #2433 )
2021-10-04 16:59:15 +02:00
Otto Winter and Jesse Hills
ac0d921413
ESP-IDF support and generic target platforms ( #2303 )
...
* Socket refactor and SSL
* esp-idf temp
* Fixes
* Echo component and noise
* Add noise API transport support
* Updates
* ESP-IDF
* Complete
* Fixes
* Fixes
* Versions update
* New i2c APIs
* Complete i2c refactor
* SPI migration
* Revert ESP Preferences migration, too complex for now
* OTA support
* Remove echo again
* Remove ssl again
* GPIOFlags updates
* Rename esphal and ICACHE_RAM_ATTR
* Make ESP32 arduino compilable again
* Fix GPIO flags
* Complete pin registry refactor and fixes
* Fixes to make test1 compile
* Remove sdkconfig file
* Ignore sdkconfig file
* Fixes in reviewing
* Make test2 compile
* Make test4 compile
* Make test5 compile
* Run clang-format
* Fix lint errors
* Use esp-idf APIs instead of btStart
* Another round of fixes
* Start implementing ESP8266
* Make test3 compile
* Guard esp8266 code
* Lint
* Reformat
* Fixes
* Fixes v2
* more fixes
* ESP-IDF tidy target
* Convert ARDUINO_ARCH_ESPxx
* Update WiFiSignalSensor
* Update time ifdefs
* OTA needs millis from hal
* RestartSwitch needs delay from hal
* ESP-IDF Uart
* Fix OTA blank password
* Allow setting sdkconfig
* Fix idf partitions and allow setting sdkconfig from yaml
* Re-add read/write compat APIs and fix esp8266 uart
* Fix esp8266 store log strings in flash
* Fix ESP32 arduino preferences not initialized
* Update ifdefs
* Change how sdkconfig change is detected
* Add checks to ci-custom and fix them
* Run clang-format
* Add esp-idf clang-tidy target and fix errors
* Fixes from clang-tidy idf round 2
* Fixes from compiling tests with esp-idf
* Run clang-format
* Switch test5.yaml to esp-idf
* Implement ESP8266 Preferences
* Lint
* Re-do PIO package version selection a bit
* Fix arduinoespressif32 package version
* Fix unit tests
* Lint
* Lint fixes
* Fix readv/writev not defined
* Fix graphing component
* Re-add all old options from core/config.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2021-09-20 11:47:51 +02:00
dependabot[bot] and Otto winter
dbb195691b
Bump pylint from 2.10.2 to 2.11.1 ( #2334 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com >
2021-09-19 19:22:28 +02:00
Otto Winter
2419bc3678
Improve config final validation ( #1917 )
2021-06-18 07:54:14 +12:00
Guillermo Ruffino
69879920eb
add-black ( #1593 )
...
* Add black
Update pre commit
Update pre commit
add empty line
* Format with black
2021-03-07 16:03:16 -03:00
Otto Winter
056c72d50d
Drop Python 2 Support ( #793 )
...
* Remove Python 2 support
* Remove u-strings
* Remove docker symlinks
* Remove from travis
* Update requirements
* Upgrade flake8/pylint
* Fixes
* Manual
* Run pyupgrade
* Lint
* Remove base_int
* Fix
* Update platformio_api.py
* Update component.cpp
2019-12-07 18:28:55 +01:00
Otto Winter
bba6d6897d
Update dependencies ( #906 )
...
PyYAML 5.1.2 -> 5.2 https://github.com/yaml/pyyaml/blob/master/CHANGES
flake8 3.6.0 -> 3.7.9 https://github.com/PyCQA/flake8/tree/master/docs/source/release-notes
paho-mqtt 1.4.0 -> 1.5.0 https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt
platformio 4.0.3 -> 4.1.0 https://github.com/platformio/platformio-core/releases
protobuf 3.10.0 -> 3.11.1 https://github.com/protocolbuffers/protobuf/releases
pylint 2.3.0 -> 2.4.4 http://pylint.pycqa.org/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-4
2019-12-04 17:13:34 +01:00
Otto Winter
be6b4ee47f
Fix wizard mkdir ( #824 )
...
* Fix CLI wizard mkdir_p with empty path
Fixes https://github.com/esphome/issues/issues/796
* Cleanup
* Lint
2019-11-02 19:35:37 +01:00
Otto Winter
bb2582717f
Make file generation saving atomic ( #792 )
...
* Make file generation saving atomic
* Lint
* Python 2 Compat
* Fix
* Handle file not found error
2019-10-24 21:53:42 +02:00
Otto Winter
28454ea4cd
Fix dashboard setup for python 3
2019-10-19 15:48:57 +02:00
Nikolay Vasilchuk
be91cfb261
Device description in dashboard ( #707 )
...
* Description
* Review fixes
* Test
* Label
* Description renamed to comment
2019-10-14 11:27:07 +02:00
gitolicious and Otto Winter
f39d459555
added link from dashboard to web server, if configured ( #556 )
...
* added link from dashboard to web server, if configured
* linter fixes
* simplified integration lookup
* included loaded_integration in storage json
* included loaded_integration in storage json
* fixed loaded_integrations
plus linter changes
* fixed comment: List
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* return empty list
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* convert to list
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* default to empty list on missing loaded_integrations
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* None check no longer needed
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* None check no longer needed
Co-Authored-By: Otto Winter <otto@otto-winter.com >
* removed newline
2019-05-28 10:19:17 +02:00
Otto Winter
8e75980ebd
Cleanup dashboard JS ( #491 )
...
* Cleanup dashboard JS
* Add vscode
* Save start_mark/end_mark
* Updates
* Updates
* Remove need for cv.nameable
It's a bit hacky but removes so much bloat from integrations
* Add enum helper
* Document APIs, and Improvements
* Fixes
* Fixes
* Update PULL_REQUEST_TEMPLATE.md
* Updates
* Updates
* Updates
2019-04-22 21:56:30 +02:00
Otto Winter
6682c43dfa
🏗 Merge C++ into python codebase ( #504 )
...
## Description:
Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97
Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍
Progress:
- Core support (file copy etc): 80%
- Base Abstractions (light, switch): ~50%
- Integrations: ~10%
- Working? Yes, (but only with ported components).
Other refactors:
- Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`)
- Rework coroutine syntax
- Move from `component/platform.py` to `domain/component.py` structure as with HA
- Move all defaults out of C++ and into config validation.
- Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration.
- Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit.
Future work:
- Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block
- Enable loading from `custom_components` folder.
**Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97
**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs ) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here>
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Tests have been added to verify that the new code works (under `tests/` folder).
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs ).
2019-04-17 12:06:00 +02:00
Otto Winter
d332e491ad
Changes for 1.12 ( #482 )
...
* Update setup scripts
* Add delete action, remove Hass config command
* Update esphome.js
* Lint
2019-03-16 22:24:26 +01:00
Otto Winter
e785ad5401
Remove automatic update check ( #457 )
...
* Remove automatic update check
* Lint
2019-02-26 18:31:40 +01:00
Otto Winter
3d9301a0f7
Rename esphomeyaml to esphome ( #426 )
...
* Rename
* Update
* Add migration
* Fix
* Fix dashboard
* Change test
* Fixes
* Code cleanup
* Fix import order
* Update
* Automate docker builds
* Shellcheck
2019-02-13 16:54:02 +01:00