Commit Graph

174 Commits

Author SHA1 Message Date
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
Otto Winter c3aa834d80
Fork some base libraries (#758)
* Fork some base libraries

* Update ESPAsyncWebServer
2019-10-18 14:46:09 +02:00
Otto Winter cdb9c59662
Add ADE7953 Support (#593)
* Add ADE795 support

* Lint

* Fix

* Fix, add test
2019-10-16 13:19:41 +02:00
Thomas Eckerstorfer 68e7e5a51c AS3935 Lightning sensor (#666)
* added tx20 wind speed sensor

* added test

* fixed lint errors

* fixed more lint errors

* updated tx20

* updated tx20 sensor

* updated to new structure and removed static variables

* removed content from __init__.py

* fixing lint errors

* resolved issues from review

* added as3935 sensor

* updated as3935 with more settings

* update

* support for i2c + spi updated

* added tests and various fixes

* added tx20 wind speed sensor

* fixed lint errors

* fixed more lint errors

* updated tx20

* updated tx20 sensor

* updated to new structure and removed static variables

* removed content from __init__.py

* fixing lint errors

* resolved issues from review

* added as3935 sensor

* updated as3935 with more settings

* update

* support for i2c + spi updated

* added tests and various fixes

* updated tests

* fixed style issues

* Remove debug line

* Update log levels

* Reformat

* Auto-convert to int


Co-authored-by: Thomas <thomas.eckerstorfer@mic-cust.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-12 15:03:35 +02:00
Otto Winter 4b0f203049
Use unique enum names for native API
Fixes https://github.com/esphome/issues/issues/617
2019-08-31 21:13:41 +02:00
Nikolay Vasilchuk d27291b997 License for Material Design Icons (#708) 2019-08-29 15:42:31 +02:00
Nikolay Vasilchuk 15b87af8ed Local Material Icons (#703)
Remove external dependence on fonts.googleapis.com by vendoring MDI fonts and CSS.
2019-08-27 10:10:44 -07:00
Alex Mekkering 718c494013 Support voluptuous 0.11.7 / fix cpp-lint
* Support voluptuous 0.11.7 ( Fixes esphome/issues#580 )
* Fix travis target Cpp-Lint for platformio 4
2019-08-19 11:37:17 -07: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 369d175694
Create Protobuf Plugin for automatically generating native API stubs (#633)
* Create Protobuf Plugin for automatically generating native API stubs

* Format

* Delete api.proto

* Cleanup, use no_delay conditionally

* Updates

* Update

* Lint

* Lint

* Fixes

* Camera

* CustomAPIDevice

* Fix negative VarInt, Add User-defined services arrays

* Home Assistant Event

* Fixes

* Update custom_api_device.h
2019-06-18 19:31:22 +02:00
Otto Winter 36f47ade70
Add Captive Portal (#624)
* WIP: Captive Portal

* Updates

* Updates

* Lint

* Fixes
2019-06-09 17:03:51 +02:00
Otto Winter c53483a3b2
ESP8266 connect fixes (#605)
* ESP8266 Connection Fixes

* Update client.py

* Update mqtt_client.cpp

* Update mqtt_client.cpp

* Fix ping

* Async dump config

* Update base image to 1.7.0

* Update helpers.py

* Updates

* Update Dockerfile.lint
2019-06-03 15:21:36 +02:00
Otto Winter a23ebead68
Update gitlab CI script, add cpp lint 2019-05-28 10:23:15 +02:00
Otto Winter 72a80f559a
Use relative include, add check 2019-05-27 13:06:45 +02:00
Otto Winter 422754ed63
Lint 2019-05-24 17:20:06 +02:00
Otto Winter 60d67e5428
remote updates 2019-05-13 20:45:22 +02:00
Otto Winter f811b1157c
Updates for 1.13 (#546)
* Update CI matcher

* Check Executable bit

* Quicklint

* Updates

* Allow pm1.0 and pm10.0 for PMS5003ST

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

* PowerSupplyRequester

* Lint

* Include debug data in generated main.cpp

* Updates

* Auto-select bit_depth

* Updates
2019-05-12 23:04:36 +02:00
Otto Winter 797aadaf26
Update CI linter (#544)
* Update CI matcher

* Check Executable bit
2019-05-11 15:12:30 +02:00
Otto Winter 7bab279c6a
Auto-Generate esphome.h (#538) 2019-05-10 22:13:26 +02:00
Otto Winter 3372ddc63d
Lint more filetypes 2019-05-08 15:26:44 +02:00
Otto Winter 968ff4b619
Fixes 2019-05-08 11:31:06 +02:00
Otto Winter 1ee85295f2
Lint 2019-05-08 10:17:08 +02:00
Otto Winter 521c080989
Updates 2019-05-08 09:58:03 +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