Commit Graph

174 Commits

Author SHA1 Message Date
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
Otto Winter 7964b724ed
Rewrite sun component calculations (#1661) 2021-04-07 12:16:36 +02:00
Jesse Hills e2e074a3fd
Fix bump script for double quotes 2021-03-22 20:12:11 +13:00
Otto Winter 5eeb110d74
Bundle platformio lib_deps in docker images (#1625) 2021-03-20 18:43:31 +01:00
Steve Baxter a77784a6da
Implement pulse_meter as an improvement on pulse_counter and pulse_width for meters (#1434) 2021-03-19 21:16:27 +13:00
Massimiliano Ravelli 28a72fa56b
Fixed component_tests config (#1608) 2021-03-12 19:58:43 -03:00
Guillermo Ruffino 5e5f8d5f9b
schema-dump-pins (#1596)
* schema dump idea

accept boolean or anything default

accept null also for full dicts

added some common validators

more simple validators

support multi_conf

better handle automations

updates

updates

handle lists

removed not needed class

move to own folder

generalized for automations lists, etc

updates

updates

clean up

clean up

fix automations

made comment optional

basic docs support

added more docs

fixes docs handling

updates

updates

fix components parent

updates

updates

updates

Fix inkplate 6 registration

updates

Disable logging for vscode add on

better handle buses

keep extended order as in CONFIGs

updates

updates

updates

disable comments

moved to scripts/build_jsonschema

added configurable decorators

path handling

fix handle list_schema

fixes and cleanup

add jschema_extractor to maybe

updates

lint

no schema in git

add generated loggers list

* lint

* support pin schema
2021-03-08 22:53:20 -03:00
Guillermo Ruffino 1e227e8051
Schema dump (#1564)
* schema dump idea

accept boolean or anything default

accept null also for full dicts

added some common validators

more simple validators

support multi_conf

better handle automations

updates

updates

handle lists

removed not needed class

move to own folder

generalized for automations lists, etc

updates

updates

clean up

clean up

fix automations

made comment optional

basic docs support

added more docs

fixes docs handling

updates

updates

fix components parent

updates

updates

updates

Fix inkplate 6 registration

updates

Disable logging for vscode add on

better handle buses

keep extended order as in CONFIGs

updates

updates

updates

disable comments

moved to scripts/build_jsonschema

added configurable decorators

path handling

fix handle list_schema

fixes and cleanup

add jschema_extractor to maybe

updates

lint

no schema in git

add generated loggers list

* lint
2021-03-07 21:05:08 -03: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 59cdc32970
Add rc522 (#1298)
* wip

* first working

* feat complete

* add CODEOWNERS

* renamed to spi, reset optional

* add test

* fix CODEOWNERS
2020-10-27 12:41:57 +13:00
Otto Winter ccb6fc3010
Bump docker base image to 2.6.0 (#1245) 2020-08-08 18:42:21 +02:00
Otto Winter f9fceb7ffc
Fix ci-custom.py const.py ordered check and improve code (#1222) 2020-07-29 18:19:48 +02:00
Otto Winter 52639a0a7c
Cleanup web server prometheus integration (#1192) 2020-07-27 12:07:05 +02:00
Jesse Hills 25ad33a377
Add @jesserockz to codeowners (#1202)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-26 14:33:16 +02:00
Otto Winter abc83f6cb0
Fix typo in bump-version script once again 2020-07-26 13:50:45 +02:00
Otto Winter f61a82a568
Fix bump-version string format 2020-07-26 10:16:54 +02:00
Otto Winter 1c3ed71d36
Fix bump-version script 2020-07-25 23:19:10 +02:00
Otto Winter bf3b678727
Update bump-version script 2020-07-25 19:26:30 +02:00
Otto Winter 4996967c79
Add CODEOWNERS mechanism (#1199) 2020-07-25 15:57:18 +02:00
Otto Winter 0fc8e8d483
Fix SN74HC595 doesn't use ESPHome HAL and add lint checks for it (#1188) 2020-07-25 14:22:56 +02:00
Otto Winter 0afa41d08a
Add bump version script (#1153) 2020-07-17 14:32:23 +02:00
Otto Winter 764eb960c6
Update build scripts 2020-07-15 01:37:30 +02:00
Otto Winter 412351fd1e
Use inclusive terminology (#1137) 2020-07-14 18:45:42 +02:00
Otto Winter cf703f6ac4
GH Actions Update (#1134) 2020-07-14 14:34:44 +02:00
Jesse Hills 6e30bacae3
Revert "Add PR labels based on files changed (#1127)" (#1128)
This reverts commit c296b4c348.
2020-07-12 18:19:02 -03:00
Jesse Hills c296b4c348
Add PR labels based on files changed (#1127)
* Add PR labels based on files changed

* Remove platform code
2020-07-12 14:08:44 -03:00
Jesse Hills 1923e0312b
Add github actions (#1125) 2020-07-11 23:38:29 -03:00
Guillermo Ruffino 7487ffcbcb add test4.yaml 2020-06-28 21:17:10 -03:00
Guillermo Ruffino 14e9375262
test disable no delay (#1026)
* test disable no delay

* removed set_nodelay code
2020-04-30 23:00:57 -03:00
Tim Savage c632b0e1d4
Unittests for esphome python code (#931) 2020-03-12 14:27:22 -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
Guillermo Ruffino 1814e4a46b Add climate dry fan (#845)
* add climate dry fan

* clang-format

* updates, add swing mode, add back compat with old ha

* revert client-config add swing

* sort const.py

* fix missing retur
2019-11-16 16:34:11 +01:00
Otto Winter 66aa02fc34
Move native API enums to new namespace (#825)
Fixes https://github.com/esphome/issues/issues/801
2019-11-02 19:35:45 +01:00
Pavel Golovin 91c9b11647 Fujitsu General climate new component (#677)
* new Fujitsu-General climate component

* Refactor out climate_ir

CC @glmnet

Refactored out climate_ir python files too.
Fixed invalid namespace name for climate_ir.

* Add namespace lint check

* Refactor Fujitsu Climate to climate_ir


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-25 11:32:31 +02:00
Otto Winter 8ff742d9ab
Implement more dump_configs (#791) 2019-10-23 14:43:41 +02:00
Otto Winter d63cd8b4cd
Add additional custom lint checks (#790) 2019-10-23 14:43:27 +02:00
Otto Winter b59cf6572b
Add lint check for integer constants (#775) 2019-10-19 22:31:32 +02:00