1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-05 21:02:20 +01:00
Commit Graph

37 Commits

Author SHA1 Message Date
J. Nick Koston
ffebd30033 [ruff] Enable SIM rules and fix code simplification violations (#9872) 2025-07-25 18:26:08 +12:00
J. Nick Koston
e7d819a656 Suppress spurious volatile and Python syntax warnings during builds (#9488) 2025-07-14 17:47:52 +10:00
Thomas Rupprecht
aeb4e63950 update minimal python version to 3.10 (#8850) 2025-05-22 13:21:43 +12:00
Thomas Rupprecht
4c8f5275f9 replace http with https (#8628) 2025-04-25 14:47:45 -05:00
Jesse Hills
e64709c37e [code-quality] Organise core imports (#7149) 2024-07-29 14:07:44 +12:00
Michael Bisbjerg
b2cec10601 Fix outdated filter string in platformio_api (#4587) 2023-03-19 19:11:18 +00:00
Jesse Hills
b184b01600 Remove a bunch of unnecessary pylint disabling (#4079) 2022-11-24 11:09:19 +13:00
Jesse Hills
85faecb2fd Add core config option to limit compile process count (#3952) 2022-10-27 12:17:21 +13:00
Jesse Hills
d220d41182 Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00
Jesse Hills
311a48c64e Bump platformio to 6.0.2 (#3566) 2022-06-21 11:53:51 +12:00
Otto Winter
1a6a063e04 Move default build path to .esphome directory (#2586) 2021-10-23 12:38:57 +02:00
Otto Winter
6db9d1122f Fix compiler warnings and update platformio line filter (#2607) 2021-10-22 16:52:43 +02:00
Otto Winter
8be4086224 Always upload using esptool (#2433) 2021-10-04 16:59:15 +02:00
Otto Winter
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
Otto Winter
272ceadbb0 Redo docker build system with buildkit+multi-stage and cache pio packages (#2338) 2021-09-20 09:07:38 +02:00
dependabot[bot]
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
Stefan Agner
d9f09a7523 Initial ESP32-C3-DevKitM-1 board support (#2062)
Co-authored-by: Stijn Tintel <stijn@linux-ipv6.be>
2021-07-26 11:10:56 +02: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
Guillermo Ruffino
c680b437f5 handle windows filenames (#1307) 2020-10-12 22:55:18 -03:00
dependabot[bot]
f46b3d15cd Bump platformio from 4.3.4 to 5.0.1 (#1275)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-09-16 12:38:33 +02:00
Tim Savage
aff4f1e9e2 Bugfix/1077 decode called on str fetching platformio stacktrace (#991)
* Remove decode from str result, add type annotations
2020-03-11 17:22:45 -07:00
Brandon Davidson
a4ab52918b Output from platformio click command does not need to be decoded (#953) 2020-03-11 17:16:05 -07: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
7a6df38515 Add ESP8266 core v2.6.2 (#905)
* Add ESP8266 core v2.6.2

* Upstream ESP8266 Wifi fixes

* Replace disable_interrupt with InterruptLock C++ class

* Update code to use InterruptLock

* Lint

* Update dht.cpp

* Improve InterruptLock docs, mark as ICACHE_RAM_ATTR

* Fixes
2019-12-04 19:30:10 +01:00
Otto Winter
16c2dc2aaf Fix stack trace decode for latest platformio (#830) 2019-11-02 21:19:15 +01:00
Otto Winter
28031cfa3e Add to ignore list 2019-10-19 16:17:20 +02:00
Otto Winter
80214640b1 Filter some debug lines from PlatformIO in output (#771)
* Filter some debug lines from PlatformIO in output

* Lint

* Strip trailing newline from esp-idf output

* Only create global std::string if on esp32
2019-10-19 14:04:14 +02:00
Otto Winter
af35c9258e Py3 Updates 2019-10-18 16:58:29 +02:00
Fabian Affolter
7a43231c43 Support for Python 3 (#702)
* Support for Python 3

* Add later Python releases

* Remove Python 3.6

* Re-enable Python 2.7

* Remove platformio-core zip archive

* Re-enable Python 2.7

* Fixes for python 3

Co-Authored-By: C W <fake-name@users.noreply.github.com>
2019-10-18 16:51:16 +02:00
Otto Winter
b78b28ea0e Fix platformio monkey patch (#768) 2019-10-18 15:33:30 +02:00
Otto Winter
947a6034e3 Update platformio patch for latest change
See also 8059e04499
2019-08-27 21:33:01 +02:00
Otto Winter
2712c44004 Update dependencies (#653)
* Update pio dependencies

* Platformio 4

* Fixes

* Update platformio_api.py

* Lint
2019-06-28 11:29:37 +02:00
Otto Winter
925b030718 Fix waveshare 7.5in model (#576)
* Fix waveshare 7.5in model

Fixes https://github.com/esphome/issues/issues/357

* Fix platformio travis errors
2019-05-30 22:27:51 +02:00
Otto Winter
61ba2e0f35 Add NTC and resistance sensor (#560)
* Add NTC and resistance sensor

Fixes https://github.com/esphome/feature-requests/issues/248

* Fix

* Fix platformio4 moved get_project_dir
2019-05-28 16:00:00 +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
067ec30c56 Add relative_url, streamer_mode, status_use_ping dashboard options (#461)
* Add relative_url, streamer_mode, status_use_ping dashboard options

Additionally Hass.io now stores all build files in /data, so that snapshots no longer get huge.

* Lint

* Lint

* Replace tabs with spaces
2019-03-03 16:50:06 +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