Commit Graph
100 Commits
Author SHA1 Message Date
Otto WinterandGitHub 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 WinterandGitHub be5330b6ae Simplify coroutine syntax (#503)
* Simplify coroutine syntax

* More

* Lint

* Fix

* More

* Lint
2019-04-09 14:30:12 +02:00
Otto Winter e90829eef2 Lint 2019-04-08 22:27:47 +02:00
Otto Winter dc4c1bc225 Use more lazy imports
Speeds up esphome invocation a lot
2019-04-08 22:19:21 +02:00
Otto WinterandGitHub a14d12b0c1 Add 'at' time trigger (#493)
## Description:


**Related issue (if applicable):** fixes <link to issue>

**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here>
**Pull request in [esphome-core](https://github.com/esphome/esphome-core) with C++ framework changes (if applicable):** esphome/esphome-core#<esphome-core 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-08 21:57:25 +02:00
Otto WinterandGitHub 526a414743 Add climate support (#502)
## Description:


**Related issue (if applicable):** fixes <link to issue>

**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here>
**Pull request in [esphome-core](https://github.com/esphome/esphome-core) with C++ framework changes (if applicable):** esphome/esphome-core#<esphome-core 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-08 21:30:21 +02:00
Otto WinterandGitHub 7fd5634a51 Add cover position/tilt support (#496)
* Add climate support

* Fixes

* Updates

* Updates

* Add ota

* Remove climate changes

* Lint
2019-04-08 18:08:58 +02:00
Otto WinterandGitHub 0272048899 Upgrade docker base image to 1.4.3 (#499) 2019-03-31 12:25:44 +02:00
Otto WinterandGitHub 5b0d30bc09 Fix text sensor MQTT settings (#495)
Fixes https://github.com/esphome/issues/issues/170
2019-03-31 11:04:57 +02:00
Otto WinterandGitHub 5859d4b01f Fix dashboard wizard unicode (#494)
* Fix dashboard wizard unicode

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

* Fix password md5
2019-03-31 11:04:41 +02:00
Otto WinterandGitHub 1dab1314ff Upgrade ESPAsyncTCP to 1.2.0 (#497) 2019-03-30 15:47:12 +01:00
Otto WinterandGitHub 1f7e1daa73 ESP8266 SDK 2.3.0 compat (#490) 2019-03-24 18:05:13 +01:00
Otto Winter 67c56ab97b Merge branch 'master' into dev 2019-03-20 13:23:17 +01:00
Otto Winter 6ccab2bef9 Bump version to v1.12.1 2019-03-20 13:11:55 +01:00
Otto Winter 475aa4879c Fix IPAddress in validate (#488)
Fixes https://github.com/esphome/issues/issues/141
2019-03-20 13:11:48 +01:00
Otto Winter 4452473735 Fix filter_out: nan filer (#486)
* Fix filter_out nan filter

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

* Add test
2019-03-20 13:11:48 +01:00
Otto WinterandGitHub e0a556e987 Fix IPAddress in validate (#488)
Fixes https://github.com/esphome/issues/issues/141
2019-03-20 13:10:16 +01:00
Otto WinterandGitHub de51bdda5b Fix filter_out: nan filer (#486)
* Fix filter_out nan filter

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

* Add test
2019-03-18 15:07:20 +01:00
Otto Winter 477311dac6 Merge branch 'master' into dev 2019-03-17 21:21:33 +01:00
Otto Winter 948adfd28c Bump version to v1.12.0 2019-03-17 21:12:17 +01:00
Otto Winter aebbd7673b Bump version to v1.12.0b4 2019-03-17 20:46:35 +01:00
Otto Winter 3baaf6b7c4 Update Hassio base image to 1.4.1 (#484)
* Update Hassio base image to 1.4.1

* Fix rotary encoder typo

Fixes https://github.com/esphome/issues/issues/136
2019-03-17 20:46:32 +01:00
Otto WinterandGitHub 7ad2d86929 Update Hassio base image to 1.4.1 (#484)
* Update Hassio base image to 1.4.1

* Fix rotary encoder typo

Fixes https://github.com/esphome/issues/issues/136
2019-03-17 20:41:07 +01:00
Otto Winter 4a14221e2b Bump version to v1.12.0b3 2019-03-17 16:06:00 +01:00
Otto Winter 114ebf9fe1 More changes for 1.12 (#483)
* Print error when ESP32 BLE tracker used together with beacon

* Update

* Enable PSRAM

* Fix test
2019-03-17 16:05:55 +01:00
Otto WinterandGitHub 0d7bb1286a More changes for 1.12 (#483)
* Print error when ESP32 BLE tracker used together with beacon

* Update

* Enable PSRAM

* Fix test
2019-03-17 16:04:49 +01:00
Otto Winter 92a4ee5652 Bump version to v1.12.0b2 2019-03-16 22:27:51 +01:00
Otto Winter 9fea094b4e Changes for 1.12 (#482)
* Update setup scripts

* Add delete action, remove Hass config command

* Update esphome.js

* Lint
2019-03-16 22:27:45 +01:00
Otto WinterandGitHub d332e491ad Changes for 1.12 (#482)
* Update setup scripts

* Add delete action, remove Hass config command

* Update esphome.js

* Lint
2019-03-16 22:24:26 +01:00
Otto Winter 0ccfe33427 Bump version to v1.13.0-dev 2019-03-13 19:07:02 +01:00
Otto Winter 596c334fcb Bump version to v1.12.0b1 2019-03-13 18:58:54 +01:00
Otto Winter ca4450858f Add auto-issue closer 2019-03-13 18:30:45 +01:00
Otto WinterandGitHub f3ec83fe31 Add ESP32 Camera (#475)
* Add ESP32 Camera

* Fixes

* Updates

* Fix substitutions not working for non-ASCII

* Update docker base image to 1.3.0
2019-03-13 16:40:09 +01:00
Otto Winter 289acade1e vol.Schema -> cv.Schema 2019-03-05 15:06:38 +01:00
Otto Winter a99f99779a Use double quotes for wizard
Fixes https://github.com/esphome/issues/issues/81
2019-03-05 14:14:38 +01:00
Otto WinterandGitHub 5c14ca030a Add Wifi info text sensor (#473)
* Add WiFi Info text sensor

* Lint

* Fix register

* Add newline at end of file
2019-03-05 14:05:51 +01:00
Otto WinterandGitHub 0fc6a027a7 Add copy output platform (#472) 2019-03-05 13:54:33 +01:00
Otto WinterandGitHub 3c0d97ef69 Add connected condition (#474)
* Add WiFi/MQTT/API connected condition

* Add tests

* Fix namespace

* Update api.py
2019-03-05 13:54:14 +01:00
Otto Winter 5b4f98d414 Revert "Remove piolibdeps cache"
This reverts commit e009f21a72.
2019-03-05 13:53:09 +01:00
Otto WinterandGitHub 7ebfcd3807 Add for to binary sensor conditions (#471) 2019-03-05 13:51:53 +01:00
Otto WinterandGitHub 3ef0634dd2 Upgrade ESP32 core to 1.0.1 (#470)
* Upgrade ESP32 core to 1.0.1

Ref https://github.com/espressif/arduino-esp32/issues/2540

* Undo remove

* Add i2c debugging

* Lint
2019-03-05 13:44:51 +01:00
Otto Winter 0928c9739f Fix build 2019-03-05 13:44:38 +01:00
Otto Winter e009f21a72 Remove piolibdeps cache
We cannot cache esphome-core
2019-03-05 13:28:18 +01:00
Otto Winter 606c412616 Cache travis folders 2019-03-05 13:27:38 +01:00
Otto WinterandGitHub 975b5127d6 Allow Arduino Core 2.5.0 for ESP8266 (#469) 2019-03-05 13:25:59 +01:00
Otto Winter 60c9ffef30 Fix build 2019-03-03 19:29:10 +01:00
Otto WinterandGitHub 99861259d7 Add MCP23017 (#466)
* Add MCP23017

* Add test
2019-03-03 16:51:55 +01:00
Otto WinterandGitHub 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 WinterandGitHub 5a102c2ab7 Rewrite interrupt components (#464)
* Rewrite intterupt components

* Fix test
2019-03-03 16:47:10 +01:00
Otto WinterandGitHub 4b017e2096 Add WiFi/MQTT/API connected condition (#465)
* Add WiFi/MQTT/API connected condition

* Add tests

* Fix namespace
2019-03-03 16:45:56 +01:00
Otto Winter 8495ce96a3 Lint
tornado got updated, broke pylint
2019-03-03 16:43:51 +01:00
Otto Winter c123f0091d Upgrade pylint on python 3 to fix travis 2019-02-28 10:33:22 +01:00
Otto WinterandGitHub 7c65d44976 Add rotary encoder min/max value (#463) 2019-02-28 10:17:38 +01:00
Otto WinterandGitHub 5b8d12a80c Enable i2c scanning by default (#462) 2019-02-28 10:16:19 +01:00
Otto WinterandGitHub 3951a2b22a Fix os.symlink on Windows (#460) 2019-02-28 10:15:57 +01:00
Otto Winter 69a74a30e8 Lint 2019-02-28 10:14:28 +01:00
Otto Winter f3ee5b55e9 Add warning if esphome-core dev used without esphome dev 2019-02-28 10:11:05 +01:00
Otto Winter f6cc9f7caa Merge branch 'master' into dev 2019-02-26 23:12:06 +01:00
Otto Winter a5d0ecdb13 Bump version to v1.11.2 2019-02-26 23:04:22 +01:00
Otto Winter 71cbc9cfb0 Fix mDNS library added only with OTA (#451) 2019-02-26 23:04:20 +01:00
Otto Winter 88625c656d Remove automatic update check (#457)
* Remove automatic update check

* Lint
2019-02-26 23:04:19 +01:00
Otto Winter 971b15ac67 Allow non-pullup pins for dallas (#456) 2019-02-26 23:04:19 +01:00
Otto Winter a4edcc48ca Lint 2019-02-26 19:46:58 +01:00
Otto WinterandGitHub 1778dd4df9 Add linear calibration sensor filter (#454)
* Add linear calibrate filter

* Remove filter_nan

* Add test
2019-02-26 19:38:39 +01:00
Otto WinterandGitHub 311e837196 Add native API user-defined services (#453) 2019-02-26 19:38:28 +01:00
Otto WinterandGitHub 3b00cfd6c4 Convert automation engine to use variadic templates (#452) 2019-02-26 19:28:11 +01:00
Otto WinterandGitHub 1c7ca4bc6f Recommend similar keys for spelling errors (#458)
* Recommend similar keys for spelling errors

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

* Fixes

* Fix
2019-02-26 19:22:33 +01:00
Otto WinterandGitHub 808ee19180 Fix mDNS library added only with OTA (#451) 2019-02-26 18:34:47 +01:00
Otto WinterandGitHub c2a0c22bd9 Automatically hide secrets in validation (#455)
* Hide secrets in validation

* Lint
2019-02-26 18:32:20 +01:00
Otto WinterandGitHub e785ad5401 Remove automatic update check (#457)
* Remove automatic update check

* Lint
2019-02-26 18:31:40 +01:00
Otto WinterandGitHub bacddc3673 Add restore state from flash option (#459) 2019-02-26 16:55:37 +01:00
Otto WinterandGitHub 7dd0dabaf5 Allow non-pullup pins for dallas (#456) 2019-02-26 16:39:20 +01:00
Otto Winter 2e5fd7e90d Merge branch 'master' into dev 2019-02-23 20:25:28 +01:00
Otto Winter 407c46cb03 Bump version to v1.11.1 2019-02-23 20:13:49 +01:00
Otto Winter 12ce448f2d Merge branch 'master' into dev 2019-02-22 22:06:36 +01:00
Otto Winter 340530566c Bump version to v1.11.0 2019-02-22 21:59:06 +01:00
Otto Winter f4a55eafd7 Merge branch 'beta' 2019-02-22 21:46:48 +01:00
Otto Winter fc8f270a9f Improve dashboard setup wizard (#450) 2019-02-22 21:20:27 +01:00
Otto WinterandGitHub e7ce8f7a13 Improve dashboard setup wizard (#450) 2019-02-22 21:18:56 +01:00
Otto Winter 3d1cce2a29 Add report_position test
Fixes https://github.com/esphome/issues/issues/46
2019-02-22 17:43:30 +01:00
Otto Winter 6be47488a4 Bump version to v1.11.0b3 2019-02-21 18:35:04 +01:00
Otto Winter 5b94bb894e Allow use of arduino core v2.5.0 on ESP8266 (#446)
* Allow use of arduino core v2.5.0 on ESP8266

It's very unstable, but you can try if you want

* Fix
2019-02-21 18:35:01 +01:00
Otto Winter 26aa399bea Allow i2c on non-pullup pins (#447) 2019-02-21 18:35:00 +01:00
Otto WinterandGitHub af0c213024 Allow use of arduino core v2.5.0 on ESP8266 (#446)
* Allow use of arduino core v2.5.0 on ESP8266

It's very unstable, but you can try if you want

* Fix
2019-02-21 18:16:00 +01:00
Otto WinterandGitHub 88e036ddb2 Allow i2c on non-pullup pins (#447) 2019-02-21 18:15:45 +01:00
Otto Winter 8012de3ba4 Revert "Merge remote-tracking branch 'origin/master' into dev"
This reverts commit 52750d933b, reversing
changes made to 7e7a85abfd.
2019-02-20 13:21:49 +01:00
Otto Winter e2b1d5438d Bump version to v1.11.0b2 2019-02-20 12:50:28 +01:00
Otto Winter fe66f93a01 Fix MQTT log topic level (#445) 2019-02-20 12:50:24 +01:00
Otto Winter fe54700687 Fix custom components not registered (#441) 2019-02-20 12:50:24 +01:00
Otto WinterandGitHub f0c0131ed1 Fix MQTT log topic level (#445) 2019-02-20 12:38:09 +01:00
Otto Winter 52750d933b Merge remote-tracking branch 'origin/master' into dev 2019-02-20 12:22:43 +01:00
Otto Winter 0bdcce609f Re-remove aarch64
Tried it again and platformio doesn't work
2019-02-19 15:03:59 +01:00
Otto WinterandGitHub 6b702f8014 Fix custom components not registered (#441) 2019-02-18 14:59:35 +01:00
Otto Winter 078ab26fd2 Bump dev version to 1.12.0-dev 2019-02-18 12:10:05 +01:00
Otto Winter efe81e0856 Bump version to v1.11.0b1 2019-02-17 20:23:20 +01:00
Otto WinterandGitHub 41d637affe Add wait_until action (#440) 2019-02-17 19:27:33 +01:00
Otto Winter 34ca5d6d8a Update base image to 1.2.1 2019-02-17 15:54:15 +01:00
Otto WinterandGitHub f311a1bb30 Add display page abstraction (#435) 2019-02-17 00:35:23 +01:00
Otto WinterandGitHub 7a450ed41c Add hidden option to wifi networks (#436) 2019-02-16 16:49:27 +01:00
Otto WinterandGitHub 944f0169cb Add light partition platform (#434) 2019-02-16 16:47:23 +01:00