J. Nick Koston
03d6b36fe0
[gpio] Compile out interlock fields when unused ( #15111 )
2026-03-23 08:22:38 -10:00
J. Nick Koston
12ead0408a
[gpio] Use constexpr uint32_t timer ID for interlock timeout ( #15010 )
2026-03-20 15:00:56 -10:00
J. Nick Koston and Claude Opus 4.6
29501ef4f8
[core] Mark leaf Component subclasses as final ( #14833 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 15:13:34 -10:00
J. Nick Koston and Jesse Hills
6f7db2f5f7
[gpio] Optimize switch interlock with FixedVector ( #11448 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2025-10-21 11:35:34 -10:00
J. Nick Koston
b7ce8c116b
[core] Centralize component setup logging to reduce flash usage ( #9885 )
2025-07-25 19:27:03 +00:00
Keith Burzinski
0ce03ae26b
Streamline setup() logging (g, h, i) ( #8927 )
2025-05-29 06:55:02 +12:00
dependabot[bot]
4adda632bb
Bump ruff from 0.9.2 to 0.11.0 ( #8409 )
2025-03-20 09:51:23 -10:00
Samuel Sieb
30a2fc1273
fix switch initialization ( #4153 )
...
Co-authored-by: Samuel Sieb <samuel@sieb.net >
fixes https://github.com/esphome/issues/issues/3878
2022-12-06 23:25:19 +13:00
Javier Peletier
c55e01ff3f
FIX: Unnecessary flash writes by ModbusSwitch component ( #3648 )
2022-11-30 10:05:40 +13:00
Jesse Hills
9273e3775b
Add vector includes ( #4080 )
2022-11-24 13:12:55 +13:00
Jesse Hills
4d66fab360
Tidy up switch schemas ( #3754 )
2022-08-31 13:43:46 +12:00
Oxan van Leeuwen and Jesse Hills
80d03a631e
Force braces around multi-line statements ( #3094 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2022-01-25 08:56:36 +13: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
Oxan van Leeuwen and Otto winter
d594a6fcbc
Store strings only used for logging in flash ( #2274 )
...
Co-authored-by: Otto winter <otto@otto-winter.com >
2021-09-13 09:48:52 +02:00
Oxan van Leeuwen
f31e0532c4
Untangle core headers (part 1) ( #2276 )
2021-09-13 09:33:29 +02:00
Stefan Agner
501f88ca86
Avoid non-const globals and enable clang-tidy check ( #1892 )
2021-06-11 08:19:44 +12:00
Otto Winter
2376a2c941
Convert components to async-def syntax ( #1821 )
2021-05-24 10:58:29 +02:00
Franck Nijhof
0ce57e5a39
Light & Switch Inverted Restore mode ( #1810 )
2021-05-24 08:20:11 +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
f1e00f8c8e
Add GPIO Switch interlock wait time ( #777 )
...
* Add interlock wait time to gpio switch
Fixes https://github.com/esphome/issues/issues/753
* Format
* Fix
2019-10-20 18:10:14 +02:00
Otto Winter
72a80f559a
Use relative include, add check
2019-05-27 13:06:45 +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