Commit graph

210 commits

Author SHA1 Message Date
Jesse Hills
76c5337987
Add support for time entities (#6399)
* Add time entities

* Add tests

* Add myself to datetime codeowners

* Fix publishing times with 0 values

* Log performing TimeCall

* Implement `on_time` trigger

* Rename var

* Fix initial value for time

* Add arg name for clarity

* Remove useless checks
2024-04-08 20:46:35 -05:00
Jesse Hills
02632f0cad
Fix NOLINT on inclusive-language check (#6464) 2024-04-03 15:16:38 +13:00
Jesse Hills
1148d41a66
Fix list-components when PR is not targeting dev (#6375) 2024-03-16 14:22:34 +13:00
RFDarter
1e96a19d09
Add datetime date entities (#6191)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-03-11 07:52:22 +13:00
Keith Burzinski
b5e633a2f3
Fix test_build_components for macOS sed (#6278) 2024-02-26 07:37:35 +13:00
dependabot[bot]
07c3ee75e5
Bump black from 23.12.1 to 24.2.0 (#6221)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-21 15:53:50 +13:00
Stephen Cox
4d8b5edb1c
Provide example devcontainer config for mdns and USB passthrough (#6094) 2024-02-21 10:49:59 +13:00
Fabian
c6f528583b
Proposal: Test yaml for each component (#5398)
* Test for each component.

* When possible use commandline substitution.

* Add wildcard support.

* end file with new line.

* Move component tests into subfolder.

* Add component test to pipeline.

* Remove trailing whitespace.

* add restore python step.

* Add `. venv/bin/activate` to pipeline.

* step `changed-components` needs `common` step.

* start `list-components-changed.py` different.

* iterate on pipeline stage `list-components`.

* Update `checkout` action.

* Rename test folder from `tests` to `_test`.

* validate file exists.

* Move component test folder.

* extend list-components to include child components.

* File does not end with a newline

* Handle empty list-components matrix.

* list-components also check for changes in tests folder.

* Improve `list-components.py`.

* `*` is a forbidden character for filenames on windows.

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2024-01-18 01:13:40 -06:00
NP v/d Spek
e39099137d
update script/setup so it works fine on windows (#6087) 2024-01-15 11:08:10 +09:00
Clyde Stubbs
a2e152ad12
clang-format and clang-tidy scripts: More robust algorithm to find correct executable (#6041)
* More robust algorithm to find correct executable

* Revise message wording

* Add clang-tidy and clang-format to requirements.txt.
Add to message explaining install process.

* Extracted get_binary to helpers.py. Use execptions for clean exit.

* Add parameter types

* clang-{tidy,format} in requirements_test.txt
clean up script exit

* Kill processes on ^C

* Move clang-tidy and clang-format into requirements_dev.txt
2024-01-02 23:00:52 -06:00
Jesse Hills
d2d0058386
Lint the script folder files (#5991) 2023-12-22 16:03:47 +09:00
Jesse Hills
1e77271858
Fix regex for 'byte' custom CI check (#5851) 2023-11-28 16:07:29 +13:00
Fabian
91f1aa05ad
Run all tests when local testing. (#5717) 2023-11-25 10:18:36 +11:00
Jimmy Hedman
cdcb25be8e
Make precommit checks happy (#5751) 2023-11-15 12:38:36 +13:00
Daniel Dunn
e80bd8ed3d
Add text component (#5336)
Co-authored-by: Maurits <maurits@vloop.nl>
Co-authored-by: mauritskorse <mauritskorse@gmail.com>
Co-authored-by: Daniel Dunn <dannydunn@eternityforest.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-10-25 22:00:32 +13:00
Guillermo Ruffino
5d5cc96017
fix build lang schema for spi and i2c (#5509) 2023-10-11 11:52:40 +13:00
Jimmy Hedman
c9a8911029
Prepare protobuf for ESP-IDF >= 5 (#5510) 2023-10-11 11:51:53 +13:00
Kuba Szczodrzyński
a9630ac847
Support for LibreTiny platform (RTL8710, BK7231 & other modules) (#3509)
Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
Co-authored-by: Sam Neirinck <git@samneirinck.com>
Co-authored-by: David Buezas <dbuezas@users.noreply.github.com>
Co-authored-by: Stroe Andrei Catalin <catalin2402@gmail.com>
Co-authored-by: Sam Neirinck <github@samneirinck.be>
Co-authored-by: Péter Sárközi <xmisterhu@gmail.com>
Co-authored-by: Hajo Noerenberg <hn@users.noreply.github.com>
2023-09-05 10:16:08 +12:00
dependabot[bot]
cd514b140e
Bump platformio from 6.1.7 to 6.1.9 (#5066)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-08-08 14:31:49 +12:00
Sergey Dudanov
cd72a2ed7e
Bump clang-tidy from 11 to 14 (#5160) 2023-07-31 07:44:56 +12:00
Dave T
899aa31df3
Mark repo as safe directory to git config (#5102) 2023-07-17 09:19:08 +12:00
dentra
7a551081ee
web server esp idf suppport (#3500)
* initial web_server_idf implementation

* initial web_server_idf implementation

* fix lint errors

* fix lint errors

* add captive_portal support

* fix lint errors

* fix lint errors

* add url decode

* Increase the max supported size of headers section in HTTP request

* add ota support

* add mulipart form data support (ota required)

* make linter happy

* make linter happy

* make linter happy

* fix review marks

* add DefaultHeaders support

* add DefaultHeaders support

* unify file names

* using std::isnan

* parse multipart requests only when ota enabled

* parse multipart requests only when ota enabled

* parse multipart requests only when ota enabled

* parse multipart requests only when ota enabled

* parse multipart requests only when ota enabled

* drop multipart request support

* drop multipart request support

* drop multipart request support

* OTA is disabled by default

* fail when OTA enabled on IDF framework

* changing file permissions to remove execute bit

* return back PGM_P and strncpy_P macro

* temp web_server fix to be compat with 2022.12

* fix config handling w/o web_server

* fix compilation with "local"

* fully remove all idf ota

* merge with esphome 2023.6

* add core/hal to web_server_base

* Update esphome/components/web_server_base/__init__.py

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

* Update __init__.py

* Update __init__.py

---------

Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-07-11 19:08:03 -05:00
Kamil Trzciński
677b2c6618
display: split DisplayBuffer and Display (#5001) 2023-07-05 14:33:26 -05:00
Jimmy Hedman
fe0404a084
Some tests wasn't running (locally) (#5050) 2023-07-05 10:33:46 +12:00
Guillermo Ruffino
2a2d20a7fc
support empty schemas and one platform components (#4999) 2023-06-26 09:38:36 +12:00
Jesse Hills
e8ce7048d8
Fix pypi release (#4983) 2023-06-21 16:36:54 +12:00
Jesse Hills
f7c0ec6595
proto generation updates (#4653) 2023-06-12 17:00:34 +12:00
guillempages
8a518f0def
Add transparency support to all image types (#4600) 2023-05-22 08:03:21 +12:00
Jesse Hills
c835b67bac
Add host target platform (#4783)
Co-authored-by: Otto winter <otto@otto-winter.com>
2023-05-10 11:38:18 +12:00
Guillermo Ruffino
3498aade85
update schema gen to 2023.4.0 (#4772) 2023-05-04 10:18:45 +12:00
Jesse Hills
57e909e790
Only pre-install libraries in docker images (#4766) 2023-05-01 15:57:57 +12:00
Jesse Hills
6476357596
Expand the platformio dep installer to also install platforms and tools (#4716) 2023-04-27 12:26:06 +12:00
Jesse Hills
99638190cb
VSCode / devcontainer updates (#4647) 2023-04-03 19:44:46 +00:00
github-actions[bot]
a014d853a4
Synchronise Device Classes from Home Assistant (#4633)
* Synchronise Device Classes from Home Assistant

* Remove count do the `DEVICE_CLASSES` list is also updated

* Format file

---------

Co-authored-by: esphomebot <esphome@nabucasa.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-29 02:47:00 +00:00
Oxan van Leeuwen
14e38f0469
Upgrade clang-format to v13 (#4535)
* Upgrade clang-format to v13

* Apply clang-format-13 formatting changes

* Format

* Format bme_680

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-20 03:38:41 +00:00
Adam Jacques
66eecd3675
NeoPixel - Add support for ESP32-S3 (#4435) 2023-02-19 13:38:27 +00:00
Oxan van Leeuwen
9aed758d1b
Automate syncing device classes with HA (#4438)
* Sync device classes with HA

* Rename blacklist
2023-02-16 00:28:12 +00:00
Jesse Hills
6ad9baa870
Add API for dashboard to get boards list (#4154) 2022-12-07 16:07:51 +13:00
Jesse Hills
eb664b99ba
preprocess out proto_enum_to_string if not needed (#4119) 2022-11-30 08:30:00 +13:00
Jesse Hills
56de8e5cc4
Always use generated api options from aioesphomeapi (#4116) 2022-11-29 16:14:45 +13:00
Guillermo Ruffino
c1f696c32a
fix display_menu recursive schema gen (#4045) 2022-11-21 21:43:01 -03:00
Jesse Hills
c2e198311c
Update esp32 arduino and platform versions (#3564) 2022-11-21 11:49:30 +13:00
Jesse Hills
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
André Klitzing
72cce391ab
Fix some typos found by codespell (#3598) 2022-06-27 18:02:46 -03:00
Guillermo Ruffino
f002a23d2d
Language schema 202204 (#3492) 2022-06-17 13:46:20 +12:00
Adrián Panella
b0bd9e0a34
protobuf: fix incomplete 64 bits implementation (#3341) 2022-04-04 08:38:44 +12:00
Guillermo Ruffino
05dc97099a
New vscode schema gen (#3336) 2022-04-03 19:30:22 +12:00
Otto Winter
34c9d8be50
Lint trailing whitespace (#3230) 2022-02-19 14:46:27 +01:00
Jesse Hills
40e06c9819
Raise minimum python version to 3.8 (#3176) 2022-02-10 09:55:11 +01:00
Jesse Hills
5c22065135
Change most references from hassio to ha-addon (#3178) 2022-02-09 23:46:20 +13:00
Keilin Bickar
21803607e7
Add new Lock core component (#2958)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-02-04 07:24:31 +13:00
Jesse Hills
ef832becf1
Create base touchscreen component and refactor ektf2232 (#3083)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2022-01-26 16:26:46 +13:00
Oxan van Leeuwen
2a84db7f85
Refactor fan platform to resemble climate/cover platforms (#2848)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Co-authored-by: rob-deutsch <robzyb+altgithub@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2022-01-23 22:21:54 +13:00
Oxan van Leeuwen
d8e719d1c4
Support clang-tidy for ESP32 variants (#3001) 2022-01-05 21:30:15 +01:00
Oxan van Leeuwen
ffea3597f4
Set correct include_dir in platformio.ini (#2999) 2022-01-04 21:59:34 +01:00
Oxan van Leeuwen
193d3e0206
Fix clang-tidy with multiple ESP32 toolchains installed (#2998) 2022-01-05 08:34:17 +13:00
Stefan Agner
72fa68849f
Don't use pyproject.toml for esphome build (#2980) 2022-01-03 22:11:28 +13:00
Oxan van Leeuwen
607601b3a4
Enable a bunch of clang-tidy checks (#2149) 2021-12-02 09:03:51 +13:00
Oxan van Leeuwen
c9190574a9
Fix CI check for Windows line endings (#2831) 2021-12-01 17:14:25 +13:00
Oxan van Leeuwen
ab027a6ae2
Fix too-broad matcher for custom CI script (#2829) 2021-11-30 09:35:52 +01:00
Jesse Hills
b5639a6472
Add support for button entities (#2824) 2021-11-30 08:00:51 +13:00
Oxan van Leeuwen
00965fe19e
Consistently format errors in CI scripts (#2762) 2021-11-26 09:54:11 +13:00
Jesse Hills
5ff7c8418c
Implement Improv via Serial component (#2423)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-11-11 08:55:45 +13:00
Otto Winter
8aa72f4c1e
Neopixelbus redo method definitions (#2616) 2021-11-11 07:35:31 +13:00
Oxan van Leeuwen
0e4f1ac40d
Fix default environment for clang-tidy (#2420)
* Drop unnecessary platformio call from script/lint-cpp

* Default environment for clang-tidy to esp32-tidy
2021-09-30 16:24:02 +02:00
Otto Winter
aec02afcdc
Fix clang-tidy header filter (#2385)
* Fix clang-tidy header filter

* Allow private members

* Fix clang-tidy detections

* Run clang-format

* Fix remaining detections

* Fix graph

* Run clang-format
2021-09-24 18:02:28 +02:00
Oxan van Leeuwen
637b55bfbf
Allow compilation against IDF from repository (#2355)
* Fix src_filter in platformio.ini after src_dir change

* Add -Wno-nonnull-compare to platformio.ini as well

* Create default sdkconfig for static analysis

* Add more compiler flags to clang ignore list

* Clean-up platformio.ini

* Remove unnecessary blank line

* Fix accidentally dropped library

* Don't gitignore sdkconfig.defaults

Co-authored-by: Otto winter <otto@otto-winter.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-09-21 17:12:17 +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
Oxan van Leeuwen
924df1e7de
Run clang-tidy against Arduino 3 (#2146)
* Add macros header with more usable Arduino version defines

* Change Arduino version checking to use our version defines

* Add missing ESP8266 check

* Rename Arduino version macro to ARDUINO_VERSION_CODE

* Upgrade clang-tidy to use Arduino 3

* Fix clang-tidy warnings

* Upgrade NeoPixelBus to upstream 2.6.7

* Use Arduino-version-appropriate API to set redirect flags

* Remove now unnecessary CLANG_TIDY ifdefs

* Add preprocessor hackery to avoid including pgmspace.h

* Bump base image to 4.1.1 and update lint

* Fix nfctag

* Fix make_unique ambiguous

* Fix ignore name

* Fix ambiguous v2

* Remove unused begin

* Cast time_t to prevent issues on platforms where time_t is 32bit

Co-authored-by: Otto winter <otto@otto-winter.com>
2021-09-13 18:55:04 +02:00
Oxan van Leeuwen
40c474cd83
Run clang-tidy against ESP32 (#2147)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-09-13 18:11:27 +02:00
Jesse Hills
cc52f37933
Revert "Dont dump legacy fields (#2241)" (#2259)
This reverts commit 97eba1eecc.
2021-09-09 09:29:08 +12:00
Otto Winter
f924e80f43
Socket component (#2250) 2021-09-08 15:41:42 +12:00
Jesse Hills
97eba1eecc
Dont dump legacy fields (#2241) 2021-09-06 08:36:55 +12:00
Jesse Hills
ff6bed54c6
Remove last_reset_type and convert all those sensors to TOTAL_INCREASING (#2233) 2021-09-06 08:30:47 +12:00
Guillermo Ruffino
37f322585e
Glmnet schema 202105 (#2220) 2021-08-31 06:48:19 +12:00
Otto Winter
854f4a8896
Format dev temp idedata (#2142) 2021-08-10 11:14:04 +02:00
Oxan van Leeuwen
bf5f846fc6
Refactor clang-tidy script to use actual compiler flags and includes (#2133)
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-08-09 22:43:18 +02:00
Oxan van Leeuwen
926bcc71ae
Only compile protobuf dumping when very verbose logging is enabled (#2139) 2021-08-09 22:32:06 +02:00
Jesse Hills
76991cdcc4
Add select entities and implement template select (#2067)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-08-02 20:00:51 +12:00
Oxan van Leeuwen
a3dcac62f9
Fix a bunch of typos (#2058)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-07-26 14:48:57 +02:00
Oxan van Leeuwen
3749c11f21
Fix clang-format script behaviour without -i + code cleanup (#2002)
Co-authored-by: Stefan Agner <stefan@agner.ch>
2021-07-26 09:54:32 +12:00
Otto Winter
cc7dbeada6
Refactor docker build system and workflows (#2023) 2021-07-15 21:30:04 +02:00
SenexCrenshaw
0651716b96
Nextion upload and sensors (#1464)
Co-authored-by: Senex Crenshaw <senexcrenshaw@gmail.com>
2021-07-15 12:51:15 +12:00
Jesse Hills
dd37a4e04c
Add Number entities (from Home Assistant) (#1971)
Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
2021-07-13 07:20:12 +12:00
Otto Winter
871c0ee2a5
Rework climate traits (#1941)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-21 21:17:01 +02:00
Jesse Hills
b8a7741c61
Update generation script to add const (#1945) 2021-06-21 21:27:35 +12:00
Stefan Agner
f9a31c1abb
Fix error print in script/helpers.py (#1935) 2021-06-18 13:49:25 +12:00
Otto Winter
424c34225f
Run script/setup in devcontainer instead of pip install (#1913) 2021-06-15 20:19:21 +12:00
dentra
c411043681
Adds support cpp to vscode (#1828)
Co-authored-by: Stefan Agner <stefan@agner.ch>
2021-06-15 10:45:22 +12:00
Stefan Agner
13fe9e83fa
Use Clang 11 (#1846) 2021-06-08 22:16:17 +02:00
Otto Winter
4711f36a1f
Bump base image to 3.4.0 (#1879) 2021-06-08 22:03:04 +02:00
Jesse Hills
a70a205ace
Improv - BLE WiFi provisioning (#1807)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-06-08 11:56:21 +12:00
Oxan van Leeuwen
33625e2dd3
CLI user experience improvements (#1805)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-08 11:14:12 +12:00
Jesse Hills
4ffa68b773
Merge branch 'master' into dev 2021-05-19 14:02:04 +12:00
Jesse Hills
9a7a205510
Generate protobuf code closer to formatted files (#1790) 2021-05-17 10:54:17 +12:00
Guillermo Ruffino
3d6dcc9eee
Add more json schema generation features (#1690)
* some enums

* extract enums, light effects remote_receiver etc

* more pins schema

* update to core changes
2021-05-14 20:35:39 -03:00
Jesse Hills
44562dbef1
Merge branch 'dev' into bump-1.18.0b1 2021-05-10 07:54:06 +12:00
Otto Winter
229bf719a2 Implement external custom components installing from YAML (#1630)
* Move components import loading to importlib MetaPathFinder and importlib.resources

* Add external_components component

* Fix

* Fix

* fix cv.url return

* fix validate shorthand git

* implement git refresh

* Use finders from sys.path_hooks instead of looking for __init__.py

* use github:// schema

* error handling

* add test

* fix handling git output

* revert file check handling

* fix test

* allow full component path be specified for local

* fix test

* fix path handling

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-05-07 15:02:17 -03:00