Commit graph

2849 commits

Author SHA1 Message Date
Otto Winter
a8e3521f3c
web_server call setup_controller (#899) 2020-06-05 12:52:05 +02:00
Guillermo Ruffino
84accb6df6
fix climate_ir on receive optional (#897)
* fix climate on receive optional

* add climate tests
2020-06-05 12:52:04 +02:00
warpzone
8421570b18
fix the problem of missing part of advertising packet when activ… (#868)
* fix the problem of missing part of advertising packet when active scan is enabled.

* fix for ci-suggest-changes
2020-06-05 12:52:04 +02:00
rradar
d1f4c2ab57
BH1750 Measurement time (#997)
* BH1750 Measurement time

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

* lint

* add test

Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-05-28 23:10:34 -03:00
Adrian Cuzman
7e4d12f880
added energy reading for pzem004 (#1022) 2020-05-28 19:54:00 -03:00
igg
ecd65003d4
Added support for ssd1327 (#985)
Co-authored-by: Ilya Goldberg <iggie@mac.com>
2020-05-28 19:11:25 -03:00
gitolicious
fed37b48a1
Explicitly set language to English (#1073) 2020-05-26 19:47:35 -03:00
Alexander Pohl
3fba3a5e2e
Add support for additional Xiaomi BLE sensors (#1027) (#1027) 2020-05-26 19:33:28 -03:00
declanshanaghy
e64246f642
Adding support for MAX31856 Thermocouple Temperature Sensor (feature #700) (#1039) 2020-05-24 19:33:59 -03:00
0hax
fb2b7ade41
Uart improvments (#1024)
* uart: Add support for specifying the number of bits and parity.

ESP8266SwSerial doesn't really check parity but just read the parity bit
and ignore it when receiving data.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: support begin and end methods.

A component may need to reset uart buffer/status by using begin() and
end() methods. This is useful for example when a component needs to be
sure it is not reading garbage from previously received data over uart.
For end() methods with software serial, disabling interrupt is
currently impossible because of a bug in esp8266 Core:
https://github.com/esp8266/Arduino/issues/6049

Signed-off-by: 0hax <0hax@protonmail.com>

* esphal: add support for detaching an interrupt.

That's needed when a component needs to enable/disable interrupt on a
gpio.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: rename CONF_NR_BITS to CONF_DATA_BITS_NUMBER.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: use static const uint32_t instead of #define.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: use an enum to handle parity.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: split between esp32 and esp8266.

Signed-off-by: 0hax <0hax@protonmail.com>

* uart: check_uart_settings for parity and number of data bits.

Signed-off-by: 0hax <0hax@protonmail.com>

* name param data_bits

* add new params to test

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-05-24 18:59:07 -03:00
Oskar Napieraj
4de44a99eb
Add support for ESP32 DAC (#1071)
* Add support for ESP32 onboard DAC

* Newlines

* Tests
2020-05-24 00:06:55 -03:00
krahabb
021055f0b8
Added auto discovery and setup to Dallas Platform (#1028)
* Added auto discovery and setup to Dallas Platform

* Added auto discovery and setup to Dallas Platform

* Added auto discovery and setup to Dallas Platform

* Added auto discovery and setup to Dallas Platform

* Added auto discovery and setup to Dallas Platform
2020-05-23 21:52:29 -03:00
Jozef Zuzelka
153aadadae
Ble scanner (#976)
* Added ble_scanner component

* ble_scanner: time.h changed to ctime

* ble_scanner: Test added.

* ble_scanner: fixed code formatting.

* Removed duplicate binary sensor tests from test2 and test3 to decrease memory requirements.

* Removed another duplicate test from test2.yaml and moved stepper test to yaml3.yaml to reduce memory requirements of test2.yaml.

* Reverted the last stepper test change

* Moved some sensor tests from test2.yaml to test3.yaml to save memory.

* Moved ruuvitag back to test2.yaml as it requires component esp32_ble_tracker.

* removed apds9960 as it is duplicated

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-05-19 21:13:50 -03:00
Robin Smidsrød
7df72ddb96
dht: Fix sensor reading from DHT22 (#926)
* dht: Fix sensor reading from DHT22 (#239)

Looking at the datasheet for DHT22, it claims to need a delay of 18ms, not
800us. Change to use the same delay as DHT11. Tested working with NodeMCUv3
and DHT22 sensor with board with built-in resistor.

* dht: Add model DHT22_TYPE2 with 2ms delay instead of 0.8ms

The model DHT22_TYPE2 is exactly the same as DHT22, but uses a different
delay.

* dht: Fix bogus negative temperature reading on DHT22_TYPE2

The workaround for negative numbers associated with DHT22s can be skipped
on these sensors.
2020-05-18 20:24:13 -03:00
nepozs
1d9ce2afc5
Update tm1637.cpp (#1044)
* Update tm1637.cpp

Defined degree symbol.

* remove fixed array size

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-05-18 20:10:03 -03:00
Jim Persson
53986279d7
Fix fan oscillation trait not being used (#1048) 2020-05-18 19:14:20 -03:00
Jesse Hills
26d6738abb
Allow tm1637 to use pins from IO expanders (#1058)
* Allow tm1637 to use pins from IO expanders

* Add test for io expander pins
2020-05-18 19:13:29 -03:00
sredfern
7fa5cab8e3
Extending Support to 5.83in Waveshare eink B/W displays (#1009)
* Extending Support to 5.83in Waveshare eink B/W displays

* Fixed lint issues
2020-05-01 21:30:52 -03:00
buxtronix
4f2e2fa297
Some max7219 updates. (#1021)
* Some max7219 updates. Disable test mode on startup and allow dynamic brightness

* fix formatting
2020-05-01 20:05:09 -03:00
Team Super Panda
0473c4c79f
Update __init__.py (#1020) 2020-05-01 18:53:41 -03:00
Nikolay Vasilchuk
8b92456ded
http_request ESP32 insecure requests fix (#1041)
* Fixed #1175

* CI

Co-authored-by: Nikolay Vasilchuk <nikolay.vasilchuk@corp.mail.ru>
2020-04-30 23:05:11 -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
puuu
d49ee47018
esp32 remote: make RMT memory blocks configureable (#1002) 2020-04-30 22:59:51 -03:00
Niklas Wagner
39b35b79ba
Make initial run variable available to addressable_lambda (#1035)
* Make initial run variable available to addressable_lambda

* Fix linting

* Remove if clause
2020-04-28 19:24:06 -03:00
C W
a2a83c5004
Fix missing yield in uart causing watchdog timer resets in esp32 when blocking waiting on serial responses. (#1016) 2020-04-28 12:22:33 -03:00
puuu
ba1222eae4
Bluetooth advertising automation (#995)
* esp32_ble_tracker: introduce UUID comparison function

* ble_presence, ble_rssi: use new UUID comparison function

* esp32_ble_tracker: introduce automation on BLE advertising

* test2.yaml: remove deep_sleep due to firmware size restrictions
2020-04-27 20:57:02 -03:00
Guillermo Ruffino
31ae337931
add lights on off triggers (#1037)
* add lights on off triggers

* add test
2020-04-25 15:39:34 -03:00
ukewea
bab0ba9c0f
Change buffer sending process for waveshare_epaper (2.70in) (#1031)
* Change buffer sending process for waveshare_epaper (2.70in)

The current way ESPhome sending buffer to WaveshareEPaper2P7In does not show the expected content on the display, this commit is changing the data transferring process so the content is showing as expected.

The process is adapted from the demo code provided by Waveshare, manufacturer of the E-paper display.

* Fix linting eror
2020-04-25 11:00:52 -03:00
Derek Hageman
c9e224e999
SHTC3: Wake up the sensor during setup (#993)
Since we put the sensor to sleep when not measuring, make sure to wake
it up during setup.  It does not respond to any other I2C commands
(including reset) while asleep, so if we've done a soft reboot while
it was sleeping then setup() would fail since it wouldn't respond to
anything.
2020-04-24 22:10:41 -03:00
Guillermo Ruffino
6123cb7c69
add mac address to wifi info (#1030)
* add mac address to wifi info

* add test

* lint
2020-04-24 20:58:32 -03:00
Guillermo Ruffino
8040e3cf95
Climate whirlpool (#1029)
* wip

* transmitter ready

* climate.whirlpool receiver implemented (#971)

* receiver implemented

* Support for two models of temp ranges

* temperature type and lint

* more lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>

* add test

* not mess line endings

Co-authored-by: mmanza <40872469+mmanza@users.noreply.github.com>
2020-04-21 22:53:14 -03:00
Tim Savage
d447548893
Tests for CPP Code generation and some Python3 improvements (#961)
* Basic pytest configuration

* Added unit_test script that triggers pytest

* Changed "fixtures" to fixture_path

This is consistent with pytest's tmp_path

* Initial unit tests for esphome.helpers

* Disabled coverage reporting for esphome/components.

Focus initial unittest efforts on the core code.

* Migrated some ip_address to hypothesis

* Added a hypothesis MAC address strategy

* Initial tests for core

* Added hypothesis to requirements

* Added tests for core classes

TestTimePeriod
Lambda
ID
DocumentLocation
DocumentRange
Define
Library

* Updated test config so package root is discovered

* Setup fixtures and inital tests for pins

* Added tests for validate GPIO

* Added tests for pin type

* Added initial config_validation tests

* Added more tests for config_validation

* Added comparison unit tests

* Added repr to core.TimePeriod. Simplified identifying faults in tests

* Fixed inverted gt/lt tests

* Some tests for Espcore

* Updated syntax for Python3

* Removed usage of kwarg that isn't required

* Started writing test cases

* Started writing test cases for cpp_generator

* Additional docs and more Python3 releated improvements

* More test cases for cpp_generator.

* Fixed linter errors

* Add codegen tests to ensure file API remains stable

* Add test cases for cpp_helpers
2020-04-19 21:05:58 -03:00
puuu
65f4d30fd0
Daikin climate receiver support (#1001)
* climate.daikin: implement remote receive

* climate.daikin: fix temperature value in special modes

* climate.daikin: tweak timing to fit better to ir-remote signal
2020-04-16 18:57:58 -03:00
Alex Reid
c1dfed5c08
feat: Add support for MCP23016 IO Expander (#1012)
* feat: Add support for MCP23016 IO extander

* fix: Fix style
2020-04-12 16:07:10 -03:00
Otto Winter
835079ad43
Add AC Dimmer support (#880)
* Add AC Dimmer support

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

* fixes

basically missed the output pin setup and in the switching was switching true true true :P

* Format

* Enable ESP32

* Also setup ZC pin

* Support multiple dimmers sharing ZC pin

* Fix ESP32

* Lint

* off gate on zc detect

* tests pins validation

* Climate Mitsubishi (#725)

* add climate

* Mitsubishi updates

* refactor mitsubishi to use climate_ir

* lint

* fix: only decode when not str already (#923)

Signed-off-by: wilmardo <info@wilmardenouden.nl>

* fix climate-ir bad merge (#935)

* fix climate-ir bad merge

* add mitshubishi test

* http_request: fix memory allocation (#916)

* http_request version fix (#917)

* PID Climate (#885)

* PID Climate

* Add sensor for debugging PID output value

* Add dump_config, use percent

* Add more observable values

* Update

* Set target temperature

* Add autotuner

* Add algorithm explanation

* Add autotuner action, update controller

* Add simulator

* Format

* Change defaults

* Updates

* Use b''.decode() instead of str(b'') (#941)

Handling of request arguments in WizardRequestHandler is not decoding
bytes and rather just doing a str conversion resulting in a value of
"b''" being supplied to the wizard code.

* Adding the espressif 2.6.3 (#944)

* extract and use current version of python 3 (#938)

* Inverted output in neopixelbus (#895)

* Added inverted output

* Added support for inverted output in neopixelbus

* Update esphome/components/neopixelbus/light.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Update light.py

* corrected lint errors

Co-authored-by: Otto Winter <otto@otto-winter.com>

* Added degree symbol for MAX7219 7-segment display. (#764)

The ascii char to use it is "~" (0x7E).

Disclaimer: I didn't test this yet.

* Fix dump/tx of 64 bit codes (#940)

* Fix dump/tx of 64 bit codes

* fixed source format

* Update hdc1080.cpp (#887)

* Update hdc1080.cpp

increase waittime, to fix reading errors

* Fix: Update HDC1080.cpp

i fixed the my change on write_bytes

* add tcl112 support for dry, fan and swing (#939)

* Fix SGP30 incorrect baseline reading/writing (#936)

* Split the SGP30 baseline into 2 values

- According to the SGP30 datasheet, each eCO2 and TVOC baseline is a 2-byte value (MSB first)
- The current implementation ignores the MSB of each of the value
- Update the schema to allow 2 different baseline values (optional, but both need to be specified for the baseline to apply)

* Make both eCO2 and TVOC required if the optional baseline is defined

* Make dump_config() looks better

* Add register_*_effect to allow registering custom effects (#947)

This allows to register custom effect from user components,
allowing for bigger composability of source.

* Bugfix/normalize core comparisons (and Python 3 update fixes) (#952)

* Correct implementation of comparisons to be Pythonic

If a comparison cannot be made return NotImplemented, this allows the
Python interpreter to try other comparisons (eg __ieq__) and either
return False (in the case of __eq__) or raise a TypeError
exception (eg in the case of __lt__).

* Python 3 updates

* Add a more helpful message in exception if platform is not defined

* Added a basic pre-commit check

* Add transmit pioneer (#922)

* Added pioneer_protocol to support transmit_pioneer

* Display tm1637 (#946)

* add TM1637 support

* Support a further variant of Xiaomi CGG1 (#930)

* Daikin climate ir component (#964)

* Daikin ARC43XXX IR remote controller support

* Format and lint fixes

* Check temperature values against allowed min/max

* fix tm1637 missing __init__.py (#975)

* Add AC Dimmer support

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

* fixes

basically missed the output pin setup and in the switching was switching true true true :P

* Format

* Enable ESP32

* Also setup ZC pin

* Support multiple dimmers sharing ZC pin

* Fix ESP32

* Lint

* off gate on zc detect

* tests pins validation

* fix esp8266 many dimmers, changed timing

* Increased value resolution, added min power

* use min_power from base class

* fix min_power. add init with half cycle

* added method for trailing pulse, trailing and leading

* fix method name. try filter invalid falling pulse

* renamed to ac_dimmer

* fix ESP32 not configuring zero cross twice

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
Co-authored-by: Wilmar den Ouden <wilmardo@users.noreply.github.com>
Co-authored-by: Nikolay Vasilchuk <Anonym.tsk@gmail.com>
Co-authored-by: Tim Savage <tim@savage.company>
Co-authored-by: Vc <37367415+Valcob@users.noreply.github.com>
Co-authored-by: gitolicious <mrjchn@gmail.com>
Co-authored-by: voibit <krestean@gmail.com>
Co-authored-by: Luar Roji <cyberplant@users.noreply.github.com>
Co-authored-by: András Bíró <1202136+andrasbiro@users.noreply.github.com>
Co-authored-by: dmkif <dmkif@users.noreply.github.com>
Co-authored-by: Panuruj Khambanonda (PK) <pk@panurujk.com>
Co-authored-by: Kamil Trzciński <ayufan@ayufan.eu>
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
Co-authored-by: Mario <4376789+mario-tux@users.noreply.github.com>
Co-authored-by: Héctor Giménez <hector.fwbz@gmail.com>
2020-04-10 00:07:18 -03:00
Andrew Zaborowski
17fd9d5107
web_server: Add cover calls to REST API (#999)
Add the GET and POST handler for cover components.  Also add covers to
the index page although the Open/Close buttons that are shown for covers
will need a few lines added to webserver-v1.js, without them they don't
do anything.
2020-04-09 11:12:42 -03:00
kroimon
8613c02d5c
Add constant_brightness property to CWWW/RGBWW lights (#1007)
Fixes https://github.com/esphome/feature-requests/issues/460

Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-04-08 09:31:23 -03:00
Evgeny
dea6675c21
Add HM3301 laser dust detection sensor (#963)
* Add HM3301 laser dust detection sensor

* Fixed after lint

* Fixed after lint

* added status clear warning
2020-04-06 14:11:41 -03:00
Guillermo Ruffino
79248e8b74
fix servo bug restoring state and starting servo detached (#1008) 2020-04-05 13:42:43 -03:00
Bartłomiej Biernacki
4620ad6124
Support for pcd8544 (nokia 5110 and 3310) screen (#973)
* First version of working compontent for pc8544 screen

* Fixed lint errors

* Fixed lint errors #2
2020-04-04 18:23:23 -03:00
Abílio Costa
25cdbacecc
wifi: retry connection if the connection is not valid (#994) 2020-03-30 10:32:48 -07:00
Germain Masse
4ec636c08f
Add AHT10 sensor (#949) 2020-03-21 15:31:07 -03:00
John
4cb30a22ac
Corrections to default register values of ATM90E32 component (#982)
* Corrections to default register values of ATM90E32 component
2020-03-13 10:27:19 -07:00
Nicholas Peters
714d28a61a
Add TMP117 component (#992)
* Create TMP117 sensor component
2020-03-12 14:25:00 -07:00
Pavel
c60989a7be
pzemac total energy support (#933)
* add energy support in pzemac sensor

Co-authored-by: Sergio Mayoral Martinez <sergiomayoralmartinez@gmail.com>
Co-authored-by: t151602 <sergio.mayoralmartinez@telefonica.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-03-12 13:37:57 -07:00
Derek Hageman
11b727fdf7
SCD30 fixes and improvements (#962)
* SCD30 improvements
2020-03-11 17:39:40 -07:00
escoand
a1dfd355f7
add on_rc_switch trigger (#983) 2020-03-11 17:36:34 -07:00
Guillermo Ruffino
fcb2cc2471
add time cover assumed_state option (#979) 2020-03-11 17:35:01 -07:00
Quinn Hosler
177617e6e3
Rgbww color fix (#967)
* RGBWW color vs white and brightness adjustments
2020-03-11 17:33:20 -07:00
Nikolay Vasilchuk
e0b4226930
http_request http fix (#980)
Co-authored-by: Nikolay Vasilchuk <nikolay.vasilchuk@corp.mail.ru>
2020-03-11 17:27:05 -07:00
sekkr1
426e6a1b46
Fixed iBeacon struct and major and minor parsing (#987)
Co-authored-by: sekkr1 <dekel.reches@pm.me>
2020-03-11 17:25:54 -07:00
buxtronix
66083c5e97
Add support for Tuya ceiling fan controllers (#989)
* Add support for Tuya ceiling fan controllers
2020-03-11 17:24:05 -07:00
Niklas Wagner
3c68348868
Fix OTA updates getting killed by task_wdt (#959) 2020-03-11 17:20:27 -07:00
Thomas Klingbeil
7f2a6e7403
Add support for TTGO epaper boards with B73 revision (#928)
* Add support for TTGO epaper boards with B73 revision
2020-03-11 17:19:01 -07:00
Paul Nicholls
11069085e3
Fix esphome/issues#947 - RGBW(W) white brightness (#925) 2020-03-11 17:17:29 -07:00
Brandon Davidson
854d735ab3
Allow custom lights to be addressable (#954) 2020-03-11 17:16:33 -07:00
Erwin Kooi
eb895d2095
Added equal symbol for MAX7219 7-segment display (#986) 2020-03-02 19:56:25 -03:00
Elkropac
67cbaabd99
Webserver - include css, js in index (#932)
* add new config options

* init variables in code

* load css and js in python

* update print inside webserver

* fix indentation

* fix indentation

* indentation fix

* fix condition in init

* use cv.file_ instead of cv.string

* do not import EsphomeError

* support embedding js and css at the same time as defined in url

* handle css as separate page

* handle js as separate page

* fix copy and paste error
2020-02-20 09:05:10 -03:00
Evgeny
4402a6eb4c
Add TM1651 simple level, turn on, turn off actions (#920)
* Add TM1651 simple level action

* fixed brightness validation

* Updated lib, fixed import

* Added turn_on, turn_off actions

* Fixed after lint
2020-02-15 20:52:20 -03:00
puuu
1d136ab0df MQTT climate features (#913)
* mqtt_climate: add action support

* mqtt_climate: add fan and swing mode support

* mqtt_climate: reduce length of discovery payload by using abbreviations

https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/mqtt/abbreviations.py
2020-02-09 13:20:56 +01:00
Jelle Raaijmakers
7721049ed7
BME280: fix typos, use forced mode constant (#974)
* Fix typo in BME280 chip ID error message

* Use BME280 forced mode constant instead of literal
2020-02-08 14:10:07 -03:00
Andrzej
e6f21873c3 sim800l: Add support of roaming-registered SIM cards (#977)
* Add support of roaming-registered cards

* Change or to ||
2020-02-08 14:03:24 -03:00
Guillermo Ruffino
499903bd3d
fix tm1637 missing __init__.py (#975) 2020-02-04 22:35:41 -03:00
Héctor Giménez
2d0d794a9d Daikin climate ir component (#964)
* Daikin ARC43XXX IR remote controller support

* Format and lint fixes

* Check temperature values against allowed min/max
2020-01-22 19:38:04 -03:00
Mario
a55787f40c Support a further variant of Xiaomi CGG1 (#930) 2020-01-14 10:34:49 +01:00
Guillermo Ruffino
990a4d4774 Display tm1637 (#946)
* add TM1637 support
2020-01-13 14:44:55 -08:00
Keith Burzinski
6a60f01753 Add transmit pioneer (#922)
* Added pioneer_protocol to support transmit_pioneer
2020-01-13 14:39:17 -08:00
Kamil Trzciński
3b689ef39c Add register_*_effect to allow registering custom effects (#947)
This allows to register custom effect from user components,
allowing for bigger composability of source.
2020-01-12 17:08:48 +01:00
Panuruj Khambanonda (PK)
170d52e0db Fix SGP30 incorrect baseline reading/writing (#936)
* Split the SGP30 baseline into 2 values

- According to the SGP30 datasheet, each eCO2 and TVOC baseline is a 2-byte value (MSB first)
- The current implementation ignores the MSB of each of the value
- Update the schema to allow 2 different baseline values (optional, but both need to be specified for the baseline to apply)

* Make both eCO2 and TVOC required if the optional baseline is defined

* Make dump_config() looks better
2020-01-12 16:42:18 +01:00
Guillermo Ruffino
92d93d658c add tcl112 support for dry, fan and swing (#939) 2020-01-12 16:39:23 +01:00
dmkif
d7a2816c58 Update hdc1080.cpp (#887)
* Update hdc1080.cpp

increase waittime, to fix reading errors

* Fix: Update HDC1080.cpp

i fixed the my change on write_bytes
2020-01-12 16:38:40 +01:00
András Bíró
a30d2f291c Fix dump/tx of 64 bit codes (#940)
* Fix dump/tx of 64 bit codes

* fixed source format
2020-01-12 16:25:32 +01:00
Luar Roji
d33a158585 Added degree symbol for MAX7219 7-segment display. (#764)
The ascii char to use it is "~" (0x7E).

Disclaimer: I didn't test this yet.
2020-01-12 15:18:30 +01:00
voibit
e21dbc4b60 Inverted output in neopixelbus (#895)
* Added inverted output

* Added support for inverted output in neopixelbus

* Update esphome/components/neopixelbus/light.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Update light.py

* corrected lint errors

Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-01-12 15:16:25 +01:00
Otto Winter
a6d31f05ee
PID Climate (#885)
* PID Climate

* Add sensor for debugging PID output value

* Add dump_config, use percent

* Add more observable values

* Update

* Set target temperature

* Add autotuner

* Add algorithm explanation

* Add autotuner action, update controller

* Add simulator

* Format

* Change defaults

* Updates
2020-01-04 12:43:11 +01:00
Nikolay Vasilchuk
05f9dede70 http_request version fix (#917) 2019-12-31 12:40:20 +01:00
Nikolay Vasilchuk
7c870556c6 http_request: fix memory allocation (#916) 2019-12-31 12:40:13 +01:00
Guillermo Ruffino
420c860424
fix climate-ir bad merge (#935)
* fix climate-ir bad merge

* add mitshubishi test
2019-12-31 00:20:11 -03:00
Guillermo Ruffino
eea78531a1
Climate Mitsubishi (#725)
* add climate

* Mitsubishi updates

* refactor mitsubishi to use climate_ir

* lint
2019-12-30 22:02:55 -03:00
Andrew Zaborowski
c8ccb06f11 ct_clamp: Check sample() return value is not NaN (#921)
Don't try to update CT clamp's state with NaN values returned from the
underlaying sensor.  A single IO error in the sensor code will cause a
NaN to be returned and if we use that in CTClampSensor's floating point
maths both sample_sum_ and offset_ will become NaN and from there every
future calculation will use the NaN offset_ and return NaN too.
2019-12-17 12:08:37 +01:00
Jesse Hills
f5b7cc81d8 Add RFBridge component (#896)
* Add RFBridge component

* Fix format issues

* Rename methods

* More formatting

* Fix line length

* Apply suggestions from code review

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Check uart settings on dump

* Make receiving local to the loop

* FIx code order and schema

* Add rf_bridge to test file

* Apply suggestions from code review

Co-Authored-By: Otto Winter <otto@otto-winter.com>
2019-12-10 11:09:35 +01: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
adamgreg
b5714cd70f ESP32 GPIOs 33 to 38 can be used for deep sleep wakeup (#911) 2019-12-07 17:19:27 +01:00
Nick Whyte
74aca2137b Add duty cycle output component (#894)
* Add duty cycle output component

* cleanup + tests

* format

* duty_cycle -> slow_pwm

* .

* clang-format

* ESP_LOGD -> ESPLOGVV

Co-Authored-By: Otto Winter <otto@otto-winter.com>
2019-12-07 17:15:04 +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
bba6d6897d
Update dependencies (#906)
PyYAML 5.1.2 -> 5.2 https://github.com/yaml/pyyaml/blob/master/CHANGES
flake8 3.6.0 -> 3.7.9 https://github.com/PyCQA/flake8/tree/master/docs/source/release-notes
paho-mqtt 1.4.0 -> 1.5.0 https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt
platformio 4.0.3 -> 4.1.0 https://github.com/platformio/platformio-core/releases
protobuf 3.10.0 -> 3.11.1 https://github.com/protocolbuffers/protobuf/releases
pylint 2.3.0 -> 2.4.4 http://pylint.pycqa.org/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-4
2019-12-04 17:13:34 +01:00
Otto Winter
33c08812cc
Update ESP32 BLE ADV parse to match BLE spec (#904)
* Update ESP32 BLE ADV parse to match BLE spec

* Update xiaomi

* Update ruuvi

* Format

* Update esp32_ble_tracker.cpp

* Fix log

* Format

* Update xiaomi_ble.cpp
2019-12-04 17:12:26 +01:00
Otto Winter
f68a3a9334
Disable default wait_time for rc_switch (#900)
See also 82625a3080 (commitcomment-36092052)
2019-12-04 16:48:08 +01:00
Otto Winter
064589934c
Ignore ESP32 Camera unknown framesizes (#901)
Fixes https://github.com/esphome/issues/issues/866
2019-12-04 16:04:46 +01:00
Otto Winter
e9e92afc9e
Optimize application loop speed (#860)
* Optimize application loop speed

* Also check call_loop

* Remove duplicate code

* Fixes
2019-12-04 16:03:37 +01:00
Otto Winter
e86f2e993f
Pulse counter validate not both disabled (#902) 2019-12-04 15:59:27 +01:00
Otto Winter
d26cd85306
web_server call setup_controller (#899) 2019-12-04 15:59:08 +01:00
Evgeny
31d964c16a Add TM1561 support (#893)
* Add TM1561 support

* Fixed after clang-tidy

* Fixed after clang-tidy

* Fixed after clang-tidy, updated lib_deps

* Fixed after clang-tidy, updated formatting

* Added actions, removed from display domain

* Protected methods naming

* float casting

* float casting
2019-12-04 13:11:53 +01:00
Nad
7f895abc24 Add support for Sensirion SPS30 Particulate Matter sensors (#891)
* Add support for Sensirion SPS30 Particulate Matter sensors

* Remove blocking of the main thread on initialization;
Improve wording on the debug messages;
Add robustness in re-initialization of reconnected or replaced sensors;

* Fix code formatting;


Co-authored-by: Nad <valordk@github>
2019-12-04 12:34:10 +01:00
Guillermo Ruffino
0f406c38eb
fix climate_ir on receive optional (#897)
* fix climate on receive optional

* add climate tests
2019-12-03 11:50:06 -03:00
Andrej Komelj
6433da13a3 Add B/W support for Waveshare 2.90in (B) screen (#889)
* Add B/W support for Waveshare 2.90in (B) screen

* Fix for() loop source code formatting
2019-12-03 14:18:05 +01:00
Tim P
fa1adfd934 Add QMC5883L Sensor + Improvements to HMC5883L (#671)
* Add QMC5883L and Updated HMC5883L

* add tests

* changed to oversampling

* fix pylint

* fix private method

* typo fix

* fix protected method

* Clean up code and PR recomendations

* fix tests

* remote file

* fix qmc oversampling unit

* Remove hmc5883l config logging

Either the units are converted to the user values like 1x, 8x oversampling or not printed at all. Printing the machine-value of these is only confusing users.

* Changes for validate_enum

Move stuff that can be done beforehand out of the bound function, use text_type for py2/3 compatability.

* Remove unused constant

* Remove duplicate tests

* Repeat remove config print

* remove changes to test2 since bin is to large

* Add comment to HMC5583L


Co-authored-by: Timothy Purchas <timothy@TPF.local>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-11-26 18:43:11 +01:00
DAVe3283
36ffef083b Fix MAX31865 edge case. (#882)
In a heavy EMI environment, reading the current config from the MAX31865 can
fail, such as switching from a 4-wire sensor to a 3-wire sensor. This causes
the temperature value to be off wildly, but still technically valid, so it
doesn't get reported as a sensor failure.

Since we know what configuration we want, rather than send it to the MAX31865
on setup and ask for it over and over (propagating any error as we write it
back), instead store the base configuration and work from that to change modes.
This not only avoids propagating any error, it also saves a lot of unnecessary
reads from the MAX31865.
2019-11-26 18:31:33 +01:00
Daniel Kucera
fe89dcdc08 added idle action for climate (#859)
* added idle

* more clear state description

* Also add drying/fan

Putting it in this PR because it will be put in the same aioesphomeapi release anyway.

* Update bang_bang for idle action


Co-authored-by: root <root@mail.danman.eu>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-11-26 17:56:04 +01:00
KristopherMackowiak
be36eef939 fix: template cover add position action (#877)
* Update const.py

* Update __init__.py

* Update template_cover.cpp

* Update __init__.py

* Update test3.yaml

* formatting code

* formatting code 2

* removed position lambda

* Update test3.yaml

* Update __init__.py
2019-11-21 17:57:27 -03:00
John
6a0268b852 fix chip_temperature for atm90e32 component (#865)
* Added more data to atm90e32 component

* ignore

* correction

* Delete 6chan_energy_meter.yaml

* PR request changes

* repository test branch

* Update setup.py

* Update const.py

* delete test yaml

* fix chip_temperature_sensor

This was throwing an error if chip_temperature was used. It needed to be changed from temp to temperature.

* default

* Update test1.yaml
2019-11-20 17:47:34 +01:00
Airy André
b7b23ffdb2 Decode DHT11 decimal part (#861)
* Decode DHT11 decimal part

* Fix comment

* Fix comment

* Handle negative temp for some DHT11  - code from the DHT12 component

* Don't use the fractional part if the checksum is the 2 bytes one
2019-11-20 17:00:32 +01:00
warpzone
ad76709d00 fix the problem of missing part of advertising packet when activ… (#868)
* fix the problem of missing part of advertising packet when active scan is enabled.

* fix for ci-suggest-changes
2019-11-20 16:54:25 +01:00
Otto Winter
a055de48e4
Change ESP8266 default wifi output power (#862)
See also https://github.com/esphome/issues/issues/455
2019-11-17 23:34:01 +01:00
Otto Winter
37b8d665fe
Revert ESP32 BLE Tracker defaults (#863)
Fixes https://github.com/esphome/issues/issues/824
Fixes https://github.com/esphome/issues/issues/851
2019-11-17 23:34:01 +01:00
Otto Winter
e41a9875e3
Improve WiFi disconnect messages (#857)
* Improve WiFi disconnect messages

* Fix

* Update wifi_component_esp32.cpp
2019-11-17 23:34:01 +01:00
Brandon Davidson
c5c42c4338
Tuya: Fix init sequence and handle wifi test command (#820)
* Handle WiFi test command

Also rename commands to match Tuya protocol docs

* Fix init sequence and product info check

* Fix clang-format suggestions

* Additional changes based on code review

* Fix temp command buffer scope

* Let the interval timer fire the first heatbeat

* Fix init steps; add logging

* Lint

* Remove setup_priority override

* Add delay to dump_config

* Refactor dump sequence

* Fix verbose logging

* Fix lints

* Don't bother suppressing duplicate config dumps

* nolint


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-11-17 23:34:00 +01:00
Brandon Davidson
531428b8b0
Fix logger uart conflict check (#858)
* Fix logger uart conflict check

* Fix class for check func

* Fix syntax

Hope lint is OK with moving the end of the conditional outside the #IFDEF

* Move end of conditional inside ifdef and remove extra whitespace

* Simplify

clang-format did not like the ifdefs and was reformatting in a way that killed clang-tidy.

Simple solution is to use logger's hw_serial as source of truth

Also simplifies the code - uart doesn't need to know what the logger uart settings mean
2019-11-17 23:34:00 +01:00
Samuel Sieb
51d39862b1
add position reporting to the template cover (#821)
* add position reporting to the template cover

* remove duplicate import

* use config flag instead


Co-authored-by: Samuel Sieb <samuel@sieb.net>
2019-11-17 23:33:21 +01:00
Otto Winter
6297395018
Fix PZEM004T v2 (#846)
Fixes https://github.com/esphome/issues/issues/817
2019-11-17 23:33:20 +01:00
Otto Winter
a5b49dbfa6
Adjust some units (#852)
* Adjust some units

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

* Lint
2019-11-17 23:33:12 +01:00
Otto Winter
7c0d777173
Check DHT sensor exists before publishing (#850)
Fixes https://github.com/esphome/issues/issues/841
2019-11-17 23:31:36 +01:00
Otto Winter
74878276fc
Web server CORS headers (#840)
* Add CORS header to web server

* Refactor

* Cleanup

See also https://github.com/esphome/issues/issues/806
2019-11-17 23:31:35 +01:00
Otto Winter
226e3b1dad
Fix sensor force_update native API (#847)
Fixes https://github.com/esphome/issues/issues/842
2019-11-17 23:31:35 +01:00
Otto Winter
7752794fc5
Fix neopixelbus missing method pins (#848)
Fixes https://github.com/esphome/issues/issues/839
2019-11-17 23:31:35 +01:00
Otto Winter
b3094d6a53
Add missing state attribute (#851)
* Add api missing_state attribute

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

Adds a new property for missing state, so that HA can now when a sensor does not have a state yet.

* Update api.proto
2019-11-17 23:31:35 +01:00
Otto Winter
e3640e710f
Add wifi output_power setting (#853)
* Add wifi output_power setting

See also:
 - https://github.com/esphome/feature-requests/issues/471#issuecomment-552350467
 - https://github.com/esp8266/Arduino/issues/6366
 - https://github.com/esp8266/Arduino/issues/6471
 - 849f8cf920/code/espurna/config/general.h (L593-L599)
 - https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/network/esp_wifi.html#_CPPv425esp_wifi_set_max_tx_power6int8_t

* Lint
2019-11-17 23:31:35 +01:00
Guillermo Ruffino
2ef64b55c5
fix missing checks of is_playing condition (#844) 2019-11-17 23:31:34 +01:00
Otto Winter
7f6672bb37
Fix calculations for negative sun declination (#839)
Fixes https://github.com/esphome/issues/issues/793

Also adds a clampd function that operates with doubles, not floats
2019-11-17 23:31:34 +01:00
Otto Winter
1b35855e68
Update platformio libraries (#837)
* Update platformio libraries

* Lint
2019-11-17 23:31:34 +01:00
Otto Winter
1e1837000d
Fix homeassistant.service schema lambda (#833)
* Fix homeassistant.service schema lambda

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

* Improve

* Fix
2019-11-17 23:31:34 +01:00
Otto Winter
e2d5257632
Fix ESP32 rotary encoder (#834)
* Fix ESP32 rotary encoder

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

* Update rotary_encoder.cpp

* Lint
2019-11-17 23:31:34 +01:00
Otto Winter
387c75793b
WiFi AP apply manual ip settings (#836) 2019-11-17 23:31:33 +01:00
Otto Winter
4f3a74d08a
ESP8266 remove default opmode check (#835) 2019-11-17 23:31:33 +01:00
Otto Winter
072cd5b83e
Change ESP8266 default wifi output power (#862)
See also https://github.com/esphome/issues/issues/455
2019-11-17 23:28:43 +01:00
Otto Winter
cfd42ea162
Revert ESP32 BLE Tracker defaults (#863)
Fixes https://github.com/esphome/issues/issues/824
Fixes https://github.com/esphome/issues/issues/851
2019-11-17 23:28:30 +01:00
Otto Winter
5becaebdda
Improve WiFi disconnect messages (#857)
* Improve WiFi disconnect messages

* Fix

* Update wifi_component_esp32.cpp
2019-11-17 23:25:04 +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
Brandon Davidson
4f8f59f705 Tuya: Fix init sequence and handle wifi test command (#820)
* Handle WiFi test command

Also rename commands to match Tuya protocol docs

* Fix init sequence and product info check

* Fix clang-format suggestions

* Additional changes based on code review

* Fix temp command buffer scope

* Let the interval timer fire the first heatbeat

* Fix init steps; add logging

* Lint

* Remove setup_priority override

* Add delay to dump_config

* Refactor dump sequence

* Fix verbose logging

* Fix lints

* Don't bother suppressing duplicate config dumps

* nolint


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-11-14 13:43:44 +01:00
Brandon Davidson
aca306d120 Fix logger uart conflict check (#858)
* Fix logger uart conflict check

* Fix class for check func

* Fix syntax

Hope lint is OK with moving the end of the conditional outside the #IFDEF

* Move end of conditional inside ifdef and remove extra whitespace

* Simplify

clang-format did not like the ifdefs and was reformatting in a way that killed clang-tidy.

Simple solution is to use logger's hw_serial as source of truth

Also simplifies the code - uart doesn't need to know what the logger uart settings mean
2019-11-14 13:36:55 +01:00
Mark
092bca0d63 Atm90e32 pf fix (#841)
* correct set_pf_sensor to set_power_factor_senor

* remove junk files added in error

* correct sensors.yaml reference to set_reactive_power

* Fixes
2019-11-13 08:49:59 +01:00
Otto Winter
a386bb476f
Fix output_power log strings, lint 2019-11-12 22:26:35 +01:00
Samuel Sieb
39a520f552 add position reporting to the template cover (#821)
* add position reporting to the template cover

* remove duplicate import

* use config flag instead


Co-authored-by: Samuel Sieb <samuel@sieb.net>
2019-11-12 22:24:13 +01:00
Otto Winter
8677d47777
Fix PZEM004T v2 (#846)
Fixes https://github.com/esphome/issues/issues/817
2019-11-12 21:44:20 +01:00
Otto Winter
4f1a28d460
Adjust some units (#852)
* Adjust some units

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

* Lint
2019-11-12 19:04:39 +01:00
Otto Winter
7b142525b4
Check DHT sensor exists before publishing (#850)
Fixes https://github.com/esphome/issues/issues/841
2019-11-12 19:04:11 +01:00
Otto Winter
7d4f279206
Web server CORS headers (#840)
* Add CORS header to web server

* Refactor

* Cleanup

See also https://github.com/esphome/issues/issues/806
2019-11-12 19:03:59 +01:00
Otto Winter
51233e1931
Fix sensor force_update native API (#847)
Fixes https://github.com/esphome/issues/issues/842
2019-11-12 19:01:36 +01:00
Otto Winter
907c14aa98
Fix neopixelbus missing method pins (#848)
Fixes https://github.com/esphome/issues/issues/839
2019-11-12 18:59:23 +01:00
Otto Winter
fb055750df
Add missing state attribute (#851)
* Add api missing_state attribute

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

Adds a new property for missing state, so that HA can now when a sensor does not have a state yet.

* Update api.proto
2019-11-12 18:58:26 +01:00
Otto Winter
fad05d5a2e
Add wifi output_power setting (#853)
* Add wifi output_power setting

See also:
 - https://github.com/esphome/feature-requests/issues/471#issuecomment-552350467
 - https://github.com/esp8266/Arduino/issues/6366
 - https://github.com/esp8266/Arduino/issues/6471
 - 849f8cf920/code/espurna/config/general.h (L593-L599)
 - https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/network/esp_wifi.html#_CPPv425esp_wifi_set_max_tx_power6int8_t

* Lint
2019-11-12 17:39:27 +01:00
Guillermo Ruffino
367ae906c3
fix missing checks of is_playing condition (#844) 2019-11-11 23:50:06 -03:00
Nikolay Vasilchuk
f8d98ac494 http_request component (#719)
* It works

* Template doesn't work

* Template fix

* CA Certificate untested

* ESP32 done

* URL validation

* Lint fix

* Lint fix (2)

* Lint fix (<3)

* Support unsecure requests with framework >=2.5.0

* Removed fingerprint, payload renamed to body

* Removed add_extra

* Review

* Review

* New HTTP methods

* Check recommended version

* Removed dead code

* Small improvement

* Small improvement

* CONF_METHOD from const

* JSON support

* New JSON syntax

* Templatable headers

* verify_ssl param

* verify_ssl param (fix)

* Lint

* nolint

* JSON string_strict

* Two json syntax

* Lambda url fix validation

* CI fix

* CI fix
2019-11-09 18:37:52 +01:00
Alexander Leisentritt
3e8fd48dc0 implemented ruuvi_ble and ruuvitag with RAWv1 and RAWv2 protocol (#810)
* implemented ruuvi_ble and ruuvitag with RAWv1 protocol

fixes esphome/feature-requests#313

* lint

* updated data calculations

* cpp lint

* use string directly in message

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* add RAWv2 protocol support

* fix ICON_SIGNAL

* typo

* calculation correction and cleaning

* c++ lint

* added acceleration and fixed typo

* removed remote_receiver to reduce firmware size

remote_receiver also in test1.yaml
2019-11-07 22:10:09 +01:00
Otto Winter
003326f2eb
Fix calculations for negative sun declination (#839)
Fixes https://github.com/esphome/issues/issues/793

Also adds a clampd function that operates with doubles, not floats
2019-11-06 22:49:38 +01:00
Sergio
a919b015b4 Add support for INA226 Current/Power Monitor (#801)
* Add support for INA226 Current/Power Monitor

* fix lint errors

* fix narrowing conversion

* Remove useless code


Co-authored-by: Sergio Muñoz <sergio@iMac-de-Sergio.local>
2019-11-06 13:59:00 +01:00
DAVe3283
f94e9b6b1e Add MAX31865 sensor support, fix MAX31855 sensor (#832)
* Add MAX31865 sensor support, fix MAX31855 sensor.

# MAX31865

Added support for the MAX31865 RTD-to-Digital Converter to measure PT100 and
similar RTDs. Verified with an Adafruit unit (product ID: 3328) and a PT100
probe.

# MAX31855

This was setup for incorrect SPI clock polarity and phase, and would return bad
data due to a race condition measuring on the wrong edge (verified with Saleae
Logic scope). Selecting the correct configuration fixes that problem.

Re-wrote the decode off the datasheet to handle error states better (sends NaN
as an update on failure to read temperature, which shows the value as Unknown
in Home Assistant).

Added the *optional* ability to monitor the internal high-precision temperature
sensor, which can be nice in some applications.

* Tests for MAX31855/MAX38165.

* Update style to match project rules.

Also fix CONF_REFERENCE_RESISTANCE and CONF_REFERENCE_TEMPERATURE being defined
multiple places. Missed this when I added them to const.py.

* Update style to match project rules.

Pylint line limit 101/100 ("missed it by that much").
Also apparently I can't read and patched the wrong line in max31855.cpp.

* Minor string/style cleanup.

There was a copy-paste leftover in max31855.cpp and max31865/sensor.py had
unnecessary whitespace.

* Improve MAX31865 fault detection and logging.

Log levels are more in-line with the documented descriptions.

Fault detection code is improved. A transient fault between reads is still
reported, but now only faults *during* a read cause the sensor to fail and
return NAN ("unknown" in Home Assistant).

* Update style to match project rules.

I just now realized the .clang-format and pylintrc files are included. D'oh!

* MAX31855 & MAX31865 code style alignment.

@OttoWinter caught some style mismatches, updated to match project better.

* Fix a lost '\' in max31865/sensor.py.
2019-11-06 13:56:43 +01:00
Otto Winter
1ed8e63d59
Remove useless code
See also https://github.com/esphome/esphome/pull/801/files#r342813117
2019-11-05 22:45:31 +01:00
Otto Winter
d97bc95798
Update platformio libraries (#837)
* Update platformio libraries

* Lint
2019-11-05 22:28:19 +01:00
Otto Winter
5c56f15c67
Fix homeassistant.service schema lambda (#833)
* Fix homeassistant.service schema lambda

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

* Improve

* Fix
2019-11-05 22:27:35 +01:00
Otto Winter
3fdb68cba8
Fix ESP32 rotary encoder (#834)
* Fix ESP32 rotary encoder

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

* Update rotary_encoder.cpp

* Lint
2019-11-05 22:26:06 +01:00
Otto Winter
85c46becdf
WiFi AP apply manual ip settings (#836) 2019-11-05 22:11:15 +01:00
Otto Winter
0cbd373817
ESP8266 remove default opmode check (#835) 2019-11-05 21:56:35 +01:00
Otto Winter
0db37bb55c
Fix weird ESP8266 wifi crashes (#831)
* Try fix ESP8266 weird crashes

* Only call disconnect if STA is active
2019-11-03 00:20:25 +01:00
Otto Winter
8027facb39
Fix weird ESP8266 wifi crashes (#831)
* Try fix ESP8266 weird crashes

* Only call disconnect if STA is active
2019-11-03 00:19:57 +01:00
Otto Winter
a59cde91ad
Add servo missing restore option to codegen (#829)
See also https://github.com/esphome/issues/issues/609
2019-11-02 20:59:56 +01:00
Otto Winter
1f243ae37e
Remove PCF8574 input_pullup mode and cleanup (#828)
Fixes https://github.com/esphome/issues/issues/755
Closes https://github.com/esphome/esphome/pull/822
Fixes https://github.com/esphome/issues/issues/667
Closes https://github.com/esphome/esphome/pull/808

Co-Authored-By: Amish Vishwakarma <amishv@users.noreply.github.com>
Co-Authored-By: S-Przybylski <s-przybylski@users.noreply.github.com>
2019-11-02 20:59:56 +01:00
Otto Winter
2d70422a6f
Move native API enums to new namespace (#825)
Fixes https://github.com/esphome/issues/issues/801
2019-11-02 20:59:55 +01:00
Alexander Leisentritt
7adaeacd0b
refactored xiaomi ble data parsing (#823) 2019-11-02 20:59:55 +01:00
Otto Winter
dc2279b74f
Add servo missing restore option to codegen (#829)
See also https://github.com/esphome/issues/issues/609
2019-11-02 20:56:42 +01:00
Otto Winter
75275c4e93
Remove PCF8574 input_pullup mode and cleanup (#828)
Fixes https://github.com/esphome/issues/issues/755
Closes https://github.com/esphome/esphome/pull/822
Fixes https://github.com/esphome/issues/issues/667
Closes https://github.com/esphome/esphome/pull/808

Co-Authored-By: Amish Vishwakarma <amishv@users.noreply.github.com>
Co-Authored-By: S-Przybylski <s-przybylski@users.noreply.github.com>
2019-11-02 20:31:39 +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
Alexander Leisentritt
90f909d2ea refactored xiaomi ble data parsing (#823) 2019-11-02 18:55:10 +01:00
Otto Winter
70faeb2fa8
Fix some binary_sensor not having an initial state (#819)
Fixes https://github.com/home-assistant/home-assistant/issues/28384
2019-10-31 23:46:10 +01:00
Otto Winter
469c0db981
Fix fan oscillating (#818)
Fixes https://github.com/esphome/issues/issues/783
2019-10-31 23:46:09 +01:00
Otto Winter
09d1846261
Print update interval for pulse counter (#816) 2019-10-31 23:46:09 +01:00
Otto Winter
82a30558e1
Fix web server transition length truncated (#807)
Fixes https://github.com/esphome/issues/issues/772
2019-10-31 23:46:08 +01:00
Otto Winter
847fe5adca
Fix modbus register (#806)
Fixes https://github.com/esphome/feature-requests/issues/49#issuecomment-546555289

Co-Authored-By: tsunglung <tsunglung@users.noreply.github.com>
2019-10-31 23:46:08 +01:00
Otto Winter
775b51c6a1
AS3935 Use normal pin polling for IRQ (#805)
* AS3935 Use normal pin polling for IRQ

See also https://github.com/esphome/feature-requests/issues/452

* Fix tests
2019-10-31 23:46:08 +01:00
Otto Winter
e0ad5a9009
Add Tuya message for no datapoints (#804)
See also https://github.com/esphome/feature-requests/issues/352#issuecomment-546579206
2019-10-31 23:46:07 +01:00
Otto Winter
1bf01a9081
Warn when UART and logger operating on same bus (#803) 2019-10-31 23:46:07 +01:00
Pavel Golovin
6ae59bb43d
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-31 23:46:07 +01:00
Otto Winter
adf2a463fd
Fix some binary_sensor not having an initial state (#819)
Fixes https://github.com/home-assistant/home-assistant/issues/28384
2019-10-31 21:03:57 +01:00
Otto Winter
80aaf66963
Fix fan oscillating (#818)
Fixes https://github.com/esphome/issues/issues/783
2019-10-31 20:31:58 +01:00
Otto Winter
742c21506c
Print update interval for pulse counter (#816) 2019-10-31 20:09:23 +01:00
Lumpusz
69fd3e8937 service uuid based ble tracking (#800)
* service uuid based ble tracking

* code review fixes

* fix import, format

* fix indentation

* reformat
2019-10-31 15:34:19 +01:00
Otto Winter
08148c5830
Fix web server transition length truncated (#807)
Fixes https://github.com/esphome/issues/issues/772
2019-10-27 12:30:48 +01:00
Otto Winter
969bdb06ce
Fix modbus register (#806)
Fixes https://github.com/esphome/feature-requests/issues/49#issuecomment-546555289

Co-Authored-By: tsunglung <tsunglung@users.noreply.github.com>
2019-10-27 12:30:36 +01:00
Otto Winter
b0bb692af4
AS3935 Use normal pin polling for IRQ (#805)
* AS3935 Use normal pin polling for IRQ

See also https://github.com/esphome/feature-requests/issues/452

* Fix tests
2019-10-27 12:30:19 +01:00
Otto Winter
7bf6fd316f
Add Tuya message for no datapoints (#804)
See also https://github.com/esphome/feature-requests/issues/352#issuecomment-546579206
2019-10-27 12:28:01 +01:00
Otto Winter
c1f5e04d6c
Warn when UART and logger operating on same bus (#803) 2019-10-27 12:27:46 +01:00
John
5a67e72389 Added more power data to the atm90e32 component (#799)
* Added more data to atm90e32 component

* ignore

* correction

* Delete 6chan_energy_meter.yaml

* Update sensor.py

fixed indents

* Update atm90e32.h

* Update esphome/components/atm90e32/sensor.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* PR request changes

* repository test branch

* Update setup.py

* Update const.py

* backslash

* comma!

* delete test yaml

* corrected chip temp

* change to signed int for get_pf_ functions

* Update atm90e32.h

formatting

* adjusted function & variable names

* Update atm90e32.h

formatting

* Update sensor.py

Import CONF_POWER_FACTOR from const.py

* travis formatting

* Update esphome/components/atm90e32/sensor.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Update esphome/components/atm90e32/atm90e32.h

Co-Authored-By: Otto Winter <otto@otto-winter.com>
2019-10-27 12:05:13 +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
6b3c7b0854
Fix scheduler first execution (#798)
* Fix scheduler first execution not immediately

* Also update sensor filters
2019-10-24 22:02:29 +02:00
Otto Winter
681dcb51da
Fix MQTT not showing logs with Python 3 (#797)
* Fix MQTT logging for Python 3

* Also fix captive portal PACKED
2019-10-24 22:02:29 +02:00
Chris Debenham
576d5021fd
Add missing include - fixes missing GPIOPin definition (#794) 2019-10-24 22:02:29 +02:00
Otto Winter
6cd76f00ac
Implement more dump_configs (#791) 2019-10-24 22:02:29 +02:00
Otto Winter
6f63a62a8d
Add lint check for integer constants (#775) 2019-10-24 22:02:23 +02:00
Otto Winter
8867a0fcfb
Add additional custom lint checks (#790) 2019-10-24 21:59:24 +02:00
Otto Winter
d62ef35860
Fix scheduler first execution (#798)
* Fix scheduler first execution not immediately

* Also update sensor filters
2019-10-24 21:24:57 +02:00
Otto Winter
59c5956f93
Fix MQTT not showing logs with Python 3 (#797)
* Fix MQTT logging for Python 3

* Also fix captive portal PACKED
2019-10-24 20:11:17 +02:00
Nikolay Vasilchuk
e4f055597c Logger on_message trigger (#729)
* on_message

* Lint fix

* Lint fix (2)

* Lint fix (<3)

* Replace cg.int_ with int

* Revert

* Removed strdup


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-24 14:19:33 +02:00
Chris Debenham
4c49beb3c7 Add missing include - fixes missing GPIOPin definition (#794) 2019-10-24 14:13:50 +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
c27fd0f01a
Fix modbus CRC calculation (#789)
* Fix modbus CRC calculation

Fixes https://github.com/esphome/feature-requests/issues/49#issuecomment-545045776

* Fix
2019-10-22 23:01:51 +02:00
Nils Schulte
17da9fddc3
web_server_base AUTO_LOAD includes ASYNC_TCP (#788)
* web_server_base AUTO_LOAD includes ASYNC_TCP

fix AUTO_LOAD of web_server_base to include ASYNC_TCP

* Remove from dependencies


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-22 23:01:51 +02:00
Otto Winter
31aa3c55ca
Fix ledc can't find bit_depth (#786)
Fixes https://github.com/esphome/issues/issues/759
2019-10-22 23:01:51 +02:00
Otto Winter
bd216c5c63
Add sensor force_update option (#783)
* Add sensor force_update option

* Add test
2019-10-22 23:01:50 +02:00
amishv
31ff76427c
Implementation of LCD Clear (#781)
* Implementation of LCD Clear

* Implementation of LCD Clear

* Implementation of LCD Clear

* Implementation of LCD Clear
2019-10-22 23:01:50 +02:00
Otto Winter
3f0503c296
Fix modbus CRC calculation (#789)
* Fix modbus CRC calculation

Fixes https://github.com/esphome/feature-requests/issues/49#issuecomment-545045776

* Fix
2019-10-22 22:56:34 +02:00
Nils Schulte
9fb60b8015 web_server_base AUTO_LOAD includes ASYNC_TCP (#788)
* web_server_base AUTO_LOAD includes ASYNC_TCP

fix AUTO_LOAD of web_server_base to include ASYNC_TCP

* Remove from dependencies


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-21 23:05:50 +02:00
Otto Winter
1177b856a0
Fix ledc can't find bit_depth (#786)
Fixes https://github.com/esphome/issues/issues/759
2019-10-21 22:55:27 +02:00
Otto Winter
ae8700447e
Add sensor force_update option (#783)
* Add sensor force_update option

* Add test
2019-10-21 15:46:39 +02:00
amishv
d64a4ef2b4 Implementation of LCD Clear (#781)
* Implementation of LCD Clear

* Implementation of LCD Clear

* Implementation of LCD Clear

* Implementation of LCD Clear
2019-10-21 12:43:28 +02:00
Otto Winter
872b468415
Lint 2019-10-20 19:31:00 +02:00
Otto Winter
9f022a7433
Tuya Set gamma correction and transition length defaults
See also https://github.com/esphome/esphome-docs/pull/353/files#r336751499
2019-10-20 19:31:00 +02:00
Otto Winter
48f52db1d9
Update AsyncMQTTClient/ESPAsyncWebServer (#779) 2019-10-20 19:29:48 +02:00
Otto Winter
d2c7afeef0
Add PZEM004T/PZEMAC/PZEMDC Support (#587)
* Add PZEM004T Support

* Don't flush as much

* Update pzem004t.cpp

* Add generalized modbus

* Add PZEMAC

* Add PZEMDC

* Fix file modes

* Lint

* Fix

* Fix

* Add check_uart_settings
2019-10-20 19:29:48 +02:00
Otto Winter
644aec791e
Add GPIO Switch interlock wait time (#777)
* Add interlock wait time to gpio switch

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

* Format

* Fix
2019-10-20 19:29:48 +02:00
Otto Winter
b70a0325c5
Vl53l0x (#644)
* VL530LX

* VL53L0X

* Updates

* License

* Lint
2019-10-20 19:29:47 +02:00
Otto Winter
268387f829
Add script.wait action (#778)
Fixes https://github.com/esphome/feature-requests/issues/416, fixes https://github.com/esphome/issues/issues/572
2019-10-20 19:29:47 +02:00
Samuel Sieb
b975caef1e
Add new component for Tuya dimmers (#743)
* Add new component for Tuya dimmers

* Update code

* Class naming

* Log output

* Fixes

* Lint

* Format

* Fix test

* log setting datapoint values

* remove in_setup_ and fix datapoint handling


Co-authored-by: Samuel Sieb <samuel@sieb.net>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-20 19:29:47 +02:00
Guillermo Ruffino
54fe1c7d55
Add dfplayer mini component (#655)
* Add dfplayer mini component

* receiving some data

* implemented many actions

* lint

* undo homeassistant_time.h

* Update esphome/components/dfplayer/__init__.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Update esphome/components/dfplayer/dfplayer.cpp

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* add set device. fixes

* lint

* Fixes and sync with docs

* add test

* lint

* lint

* lint
2019-10-20 19:29:47 +02:00
Nad
89c1274d56
Add support for STS3x Temperature sensors (#669)
* Add support for Sensirion STS3x Temperature sensors

* Removed humidty reading from STS3x sensor

* Fixed line error and operand error

* Fixed syntax

* Add test snippet for STS3x sensor

* Clean up

* #550 Proactive fix for STS3x component reporting WARNING status and reinitialzing similar to SHT3xd

* Flattened config.

* Fixed missing temperature unit

* Code formatting

* Added marking for future commands

* Cleanup

* Removed whitespace

* Cleanup

* Cleanup
2019-10-20 19:29:47 +02:00
Nad
f9ca3f1c27
Add support for SHTCx Temperature sensors (#676)
* Add support for Sensirion STS3x Temperature sensors

* Removed humidty reading from STS3x sensor

* Fixed line error and operand error

* Fixed syntax

* Add test snippet for STS3x sensor

* Clean up

* Add support for Sensirion SHTC1 and SHTC3 Temperature sensors

* Fixed the test

* Fix lint issues

* Update esphome/components/shtcx/shtcx.cpp

Good point.

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Refactored device type identification and logging

* Refactoring and cleanup

* Remove sts3x


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-20 19:29:46 +02:00
Nad
26dbc30279
Add support for SGP30 eCO2 and TVOC sensors (#679)
* Add support for SGP30 eCO2 and TVOC sensors

* Added test for SGP30

* Lint issues fixed

* Lint fixes

* Fixed light lengths

* Cleanup

* Add support for Sensirion SCD30 CO2 sensors

* Fixed few lint issues

* Lint fixes

* Fixed line ending for lint

* Cleanup

* Refactored float conversion

* Refactor unnecessary return

* Refactoring and cleanup

* Updated uptime_sensor_ referencing and simplified checking on availability of copensation

* Temperature and Humidity source moved to a separate compensation block; Dependency for Uptime sensor removed.

* Both humidity_source and temperature_source are now mandatory if the compensation block is defined;

* Clean up

* Cleanup

* Cleanup in search of perfection

* Use correct comment style


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-20 19:29:46 +02:00
Evan Coleman
4bee316425
Add SSD1325 Display Component (#736)
* add ssd1325 component

* fix i2c

* remove ssd1325 i2c

* add test

* set max contrast

* No macros - see styleguide

* Remove invalid function

* Formatting


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-20 19:29:46 +02:00
Otto Winter
1e22b1e959
Update AsyncMQTTClient/ESPAsyncWebServer (#779) 2019-10-20 19:24:34 +02:00
Otto Winter
e077ad56bd
Add PZEM004T/PZEMAC/PZEMDC Support (#587)
* Add PZEM004T Support

* Don't flush as much

* Update pzem004t.cpp

* Add generalized modbus

* Add PZEMAC

* Add PZEMDC

* Fix file modes

* Lint

* Fix

* Fix

* Add check_uart_settings
2019-10-20 19:24:20 +02:00
Otto Winter
f1e00f8c8e
Add GPIO Switch interlock wait time (#777)
* Add interlock wait time to gpio switch

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

* Format

* Fix
2019-10-20 18:10:14 +02:00
Otto Winter
9a152e588e
Vl53l0x (#644)
* VL530LX

* VL53L0X

* Updates

* License

* Lint
2019-10-20 17:56:57 +02:00
Otto Winter
16f42a3d03
Add script.wait action (#778)
Fixes https://github.com/esphome/feature-requests/issues/416, fixes https://github.com/esphome/issues/issues/572
2019-10-20 16:15:30 +02:00
Otto Winter
b59cf6572b
Add lint check for integer constants (#775) 2019-10-19 22:31:32 +02:00
Otto Winter
4fa11dfa68
Lint 2019-10-19 21:59:55 +02:00
Otto Winter
352bdd9fb5
Tuya Set gamma correction and transition length defaults
See also https://github.com/esphome/esphome-docs/pull/353/files#r336751499
2019-10-19 21:50:39 +02:00
Samuel Sieb
96ff9a162c Add new component for Tuya dimmers (#743)
* Add new component for Tuya dimmers

* Update code

* Class naming

* Log output

* Fixes

* Lint

* Format

* Fix test

* log setting datapoint values

* remove in_setup_ and fix datapoint handling


Co-authored-by: Samuel Sieb <samuel@sieb.net>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-19 21:47:24 +02:00
Guillermo Ruffino
af15a4e710 Add dfplayer mini component (#655)
* Add dfplayer mini component

* receiving some data

* implemented many actions

* lint

* undo homeassistant_time.h

* Update esphome/components/dfplayer/__init__.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Update esphome/components/dfplayer/dfplayer.cpp

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* add set device. fixes

* lint

* Fixes and sync with docs

* add test

* lint

* lint

* lint
2019-10-19 21:37:05 +02:00
Nad
18426b71e4 Add support for STS3x Temperature sensors (#669)
* Add support for Sensirion STS3x Temperature sensors

* Removed humidty reading from STS3x sensor

* Fixed line error and operand error

* Fixed syntax

* Add test snippet for STS3x sensor

* Clean up

* #550 Proactive fix for STS3x component reporting WARNING status and reinitialzing similar to SHT3xd

* Flattened config.

* Fixed missing temperature unit

* Code formatting

* Added marking for future commands

* Cleanup

* Removed whitespace

* Cleanup

* Cleanup
2019-10-19 21:31:37 +02:00
Nad
7063aa6009 Add support for SHTCx Temperature sensors (#676)
* Add support for Sensirion STS3x Temperature sensors

* Removed humidty reading from STS3x sensor

* Fixed line error and operand error

* Fixed syntax

* Add test snippet for STS3x sensor

* Clean up

* Add support for Sensirion SHTC1 and SHTC3 Temperature sensors

* Fixed the test

* Fix lint issues

* Update esphome/components/shtcx/shtcx.cpp

Good point.

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Refactored device type identification and logging

* Refactoring and cleanup

* Remove sts3x


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-19 21:31:27 +02:00
Nad
286ca07cc8 Add support for SGP30 eCO2 and TVOC sensors (#679)
* Add support for SGP30 eCO2 and TVOC sensors

* Added test for SGP30

* Lint issues fixed

* Lint fixes

* Fixed light lengths

* Cleanup

* Add support for Sensirion SCD30 CO2 sensors

* Fixed few lint issues

* Lint fixes

* Fixed line ending for lint

* Cleanup

* Refactored float conversion

* Refactor unnecessary return

* Refactoring and cleanup

* Updated uptime_sensor_ referencing and simplified checking on availability of copensation

* Temperature and Humidity source moved to a separate compensation block; Dependency for Uptime sensor removed.

* Both humidity_source and temperature_source are now mandatory if the compensation block is defined;

* Clean up

* Cleanup

* Cleanup in search of perfection

* Use correct comment style


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-19 21:21:07 +02:00
Evan Coleman
58b6311821 Add SSD1325 Display Component (#736)
* add ssd1325 component

* fix i2c

* remove ssd1325 i2c

* add test

* set max contrast

* No macros - see styleguide

* Remove invalid function

* Formatting


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-19 20:44:43 +02:00
Otto Winter
62d4b29662
Format 2019-10-19 17:48:30 +02:00
Otto Winter
0759140dc2
Format 2019-10-19 17:38:48 +02:00
Otto Winter
869775ec7a
Fix compile warning in SCD30 2019-10-19 16:17:01 +02:00
Otto Winter
783b179af7
Fix TinyGPSPlus having name conflict 2019-10-19 16:16:49 +02:00
Otto Winter
9f4b666ef0
ESP32 Upgrade AsyncTCP to 1.1.1 (#773) 2019-10-19 14:15:22 +02:00
Otto Winter
4310c14497
Add BLE scan parameters (#769)
* Add BLE parameters

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

* Fix
2019-10-18 18:15:53 +02:00
Otto Winter
aebb6d2fcc
Revert "Fix filter_out bug"
This reverts commit 1ade7bcb2d.
2019-10-18 17:30:44 +02:00
Otto Winter
1bf55c130b
Format 2019-10-18 16:43:37 +02:00
Otto Winter
95a74a7f19
Addressable light transition (#750)
* Improve addressable light transition behavior

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

* Improve addressable flicker effect

See also https://github.com/esphome/feature-requests/issues/348

* Update addressable_light_effect.h

* Refactor

* Format

* Prevent divide by zero

* Fixes
2019-10-18 16:27:36 +02:00
Otto Winter
1ade7bcb2d
Fix filter_out bug 2019-10-18 14:58:06 +02:00
Otto Winter
21bbafb63d
Captive portal fixes (#766)
* Enable MDNS logs comment

* Work around ESP8266 mDNS broken for AP

See also https://github.com/esp8266/Arduino/issues/6114

* Enable captive_portal in AP-only mode

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

* Make ESP32 connecting faster

See also https://github.com/espressif/arduino-esp32/pull/2989

* Format
2019-10-18 14:46:44 +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
68d0d045c0
Add LEDC set_frequency action (#754)
* Add LEDC set_frequency

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

* Fix log

* Fixes

* Format

* Update test1.yaml

* Update test1.yaml

* Fix
2019-10-18 11:22:08 +02:00
Marcel van der Veldt
72d6471ab8 add support for climate action (#720)
* add support for climate action:

Following hass implementation of climate, action represents the current action the climate device is perfoming, e.g. cooling or heating

fix bang_bang climate:

make sure that the thresholds are always respected.
fixes the issue where the component would just keep on heating, regardless of the temperature range

* Updates

- Use dedicated enum for action (otherwise it gets confusing because "auto" is not a valid action)
- Add field to tell HA that action is supported
- Revert semantic changes in bang_bang

* Conditional print


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-18 10:39:14 +02:00
Otto Winter
22aecdfc6f
Use higher default baudrate for USB upload (#761)
See also https://github.com/espressif/esptool/issues/435
2019-10-18 10:23:06 +02:00
Otto Winter
ee0b6e835f
Sensor filter_out rounded (#765)
Fixes https://github.com/esphome/issues/issues/741
2019-10-18 10:22:29 +02:00
Guillermo Ruffino
8292024306 add tcl112 receiver (#762) 2019-10-18 09:22:55 +02:00
nicuh
ea762b7295 Fix remote_transmitter type_a encoding (#742)
Co-authored-by: Nicu Hodos <nicu@hodos.ro>
2019-10-18 09:05:37 +02:00
Nikolay Vasilchuk
d51c0f13c0 SenseAir S8 CO2 sensor support (#705)
* Компилится

* Tests

* Checksum calculation

* Read status
2019-10-17 21:37:24 +02:00
Otto Winter
6ceb975a3a
calibrate_linear check not all from values same (#714)
Fixes https://github.com/esphome/issues/issues/524
2019-10-17 21:35:59 +02:00
Otto Winter
9a40d6ef50
Integration sensor use double precision (#715)
Fixes https://github.com/esphome/issues/issues/534

Kept the RTC value as a float in order not to introduce a breaking preferences change.
2019-10-17 21:35:31 +02:00
Otto Winter
32195f77d9
Fix dallas not unknown (#716)
* Fix dallas not sending unknown on disconnected sensor

* Deep sleep
2019-10-17 21:34:58 +02:00
Guillermo Ruffino
578e5a0d7a Base climate ir (#726)
* add ClimateIR

* update climate ir

* update class comment

* lint

* moved to climate_ir

* fix include path

* use climateir

* updates

* update include path

* lint

* fixed variable assigned to itself
2019-10-17 21:01:02 +02:00
Lazar Obradovic
1242f43769 BME280: Increase sensor timeout (#727)
I'm facing some occasional timeouts when reading BME280. 
Looking at Adafruit driver (that this code is based on), I see that base math is using 1.25ms, increased by 2.3*oversampliing + 0.575 for each value being read. 
I've added 1.5ms as baseline, to be on the same safe.
2019-10-17 20:58:59 +02:00
Thomas Klingbeil
3bb6430495 Add support for TTGO ePaper module (#730)
* Add support for TTGO ePaper module

Use 2.13in-ttgo as type. Only different LUTs were needed, everything else is the same.

relates to issue #233.

* fix styling errors

* styling fixes


Co-authored-by: null <mandy.klingbeil@student.hpi.uni-potsdam.de>
2019-10-17 20:55:27 +02:00
Otto Winter
aae633277f
Fix strobe/flicker effect not using selected value (#749)
Fixes https://github.com/esphome/issues/issues/562
2019-10-17 19:15:02 +02:00
Otto Winter
996c50e8f2
Add rotary_encoder.set_value action (#747)
* Add rotary_encoder.set_value action

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

* Fix
2019-10-17 19:14:52 +02:00
Otto Winter
95c883ae9b
Fix MCP23017 setup priority (#751)
Fixes https://github.com/esphome/issues/issues/535
2019-10-17 19:14:25 +02:00
Otto Winter
78c1adafcd
Make UART flush function consistent (#748)
See also 78be9d2937
2019-10-17 16:54:38 +02:00
Otto Winter
e15071228e
Fix addressable light fade to black function (#752)
Fixes https://github.com/esphome/issues/issues/517
2019-10-17 16:53:55 +02:00
Guillermo Ruffino
428684bc1e Brightness ssd1306 (#723)
* added brightness for oled display ssd1306

* lint


Co-authored-by: waiet <vlado.rusnak23@gmail.com>
2019-10-17 16:36:11 +02:00
TomFahey
81b7653c9c Add mcp23008 support (#649)
* Add support for mcp23008 8-port io expander

* add-mcp23008-support

* Revert "add-mcp23008-support"

This reverts commit b4bc7785b1.

* Fixed spacing typo

* removed extra space in mcp23008.cpp, line 23

* Fixed trailing whitespace issue

* Added mcp23008 component

* Added component mcp23008

* Edited typo in test/test1.ymal

Removed additional ' in line 1337

* Another typo
2019-10-17 16:18:41 +02:00
Alexander Leisentritt
45736707bd fix CGG1 log message (#757) 2019-10-17 14:02:41 +02:00
Alexander Leisentritt
cdfbe5b523 refactored xiaomi sensors (#755)
* refactored xiaomi sensors

* fix lint

* fixed and added tests

* fix namespace

* LYWSD02 has no battery level

* fixed enum

* fix

* fix case

* fix spaces in empty line...

* inform users of old sensors about the change
2019-10-16 13:29:56 +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
amishv
9c30f4cc68 Fix for PCF8574 output chattering at the start/reboot (#744)
* Fix for PCF8574 output chattering at the start/reboot

* Fix for PCF8574 output chattering at the start/reboot

* Fix for PCF8574 output chattering at the start/reboot


Co-authored-by: Amish Vishwakarma <vishwakarma.amish@gmai.com>
2019-10-15 21:31:52 +02:00
Otto Winter
23f99908db
Apply HDC1080 patch from @Hsxsky
See also 105ac63d62
2019-10-15 20:53:59 +02:00
Sergio Mayoral Martínez
e30512931b Add Xiaomi Cleargrass Temperature and Humidity Sensor (#735)
* Add Xiaomi Cleargrass Temperature and Humidity Sensor

* fix CI Travis

* fix CI Travis 2

* Improve device detection (more accurate)


Co-authored-by: t151602 <sergio.mayoralmartinez@telefonica.com>
2019-10-14 13:25:08 +02:00
Otto Winter
e207c6ad84
Fix ct_clamp update
Fixes https://github.com/esphome/issues/issues/684
2019-10-14 12:06:23 +02:00
Levente Tamas
9d7f76773d Add support for TI TLC59208F (#718)
* Add support for TI TLC59208F

The chip is a 8-BIT FM+ I2C BUS LED DRIVER with
8 open-drain output channels.

Its features include:
- 256 linear levels
- group dimming
- group blinking
- 64 slave addresses
- customizable sub addresses and all call address
- output update on stop or on ACK
- 3.3V or 5V supply with 5V tolerant IO
- no glitch startup
- 50mA / output continuous current up to 17V

* Convert macro to uint8_t

Variables had to be renamed, clang-format would protest against
mixed case in global variable name.

* Change gen-call reset to use the correct i2c bus
2019-10-14 11:30:41 +02:00
Michiel van Turnhout
5f2808ec2f support for the sx1509 i2c device (#651)
* added ANALOG_OUTPUT as first functionality

* added gpio

* seperated the code for different functions

* fixed code

* Revert "fixed code"

This reverts commit 0c6eacb225.

* add timings for breathe and blink

* made the sx1509_float_output am output component

* add keypad

* implementation for sx1509 keypad

* keypad code cleanup and first device tests

* debounce

* keypad working now.

* update for timings.
does not compile yet

* added all options for breathe and blink
fixed var namings

* blink and breath still not ok

* fixed ms for timings

* sync with repo

* fixed issue with gpio pin output

* code cleanup

* lint

* more lint

* remove log from header

* Update esphome/components/sx1509/__init__.py

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* review

* feedback

* fixed review issues
did some extended testing with mqtt spy

* code cleanup (comments)

* fixed row col swap for binarysensor_keypad

* flake and lint

* travis

* travis

* travis

* Update esphome/components/sx1509/sx1509.cpp

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* review

* separated platforms

* code cleanup

* travis relative paths in python

* remove blink/breathe
code cleanup

* cpp lint

* feedback

* travis

* lint line to long

* check keypad settings to be valid

* clang

* keypad config

* text

* Remove wrong .gitignore from .gitignore

* Remove .pio folder from .gitignore (merge)

* Formatting

* Formatting

* Add i2c log in dump_config

* Remove unused variables

* Disable static for header files

We don't need internal linkage

* Use consistent member default argument style

* Run clang-format


Co-authored-by: null <m.vanturnhout@exxellence.nl>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-14 11:27:50 +02:00
Nad
0eadda77b0 Improve SHT3xD reconnect handling (#675)
* Add support for Sensirion STS3x Temperature sensors

* Removed humidty reading from STS3x sensor

* Fixed line error and operand error

* Fixed syntax

* Add test snippet for STS3x sensor

* Clean up

* #550 Fix STH3x component reporting WARNING status and reinitialzing the sensor upon reconnecting.

* #550 Fix lint issues

* Delete __init__.py

* Delete sensor.py

* Delete sts3x.cpp

* Delete sts3x.h

* Delete test1.yaml

* Revert "Delete test1.yaml"

This reverts commit 33e69fb703.

* Removed leaked STS3x changes from test
2019-10-13 17:46:21 +02:00
Nikolay Vasilchuk
b2388b6fe7 Basic Auth for web_server component (#674)
* Basic auth

* Test

* Linter fix

* Make username/password strict strings

Reason: passwords only consisting of digits (012345) will be silently converted (to "12345")


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-10-13 14:27:44 +02:00
Otto Winter
38dfab11b4
Fix dev branch 2019-10-13 13:51:34 +02:00
Otto Winter
fa351cd37c
Cleanup AS3935 2019-10-12 17:03:01 +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
Abílio Costa
4d31ad3bdc Allow 64 bit codes and add nexa remote support. (#662)
* add nexa remote support.

This is inspired by: https://github.com/sui77/rc-switch/pull/124
As described there: "The remotes sold in ClasOhlson in scandinavia have
a slightly longer sync sequence(added a skip pulse field in the
protocol) and a 64 bit code word. Part of the code gets lost but that
seems to be OK until support for 64 bit codes is added."

* add default value to ctor

* allow 64bit codes

* lint

* make vars 64 bits
2019-10-12 14:42:27 +02:00
Guillermo Ruffino
f4f1164b94
fixes samsung ir (#738)
fixes https://github.com/esphome/issues/issues/691
2019-09-28 10:26:48 -03:00
C W
bd0be41064 Fix https://github.com/esphome/issues/issues/658 (#724)
* Fix https://github.com/esphome/issues/issues/658

* Update to gross code style.
2019-09-10 23:37:33 -03:00
Guillermo Ruffino
4118a289a6
Add coolix receiver (#645)
* add coolix receiver

a

* lint - added comments

* Lint

* target temp neve be nan
2019-09-08 22:14:39 -03:00
Otto Winter
fd1dc24ac6
Also accept invalid spelling from Updater
Fixes https://github.com/esphome/issues/issues/564 partly.

At least the error message will now be a better one.
2019-09-01 11:42:37 +02:00
Otto Winter
be1e4c0a1d
Fix nextion display_picture argument order
Fixes https://github.com/esphome/issues/issues/613
2019-08-31 21:14:33 +02:00
Otto Winter
c2028f7378
DHT publish NAN on invalid reading
Fixes https://github.com/esphome/issues/issues/590
2019-08-31 21:14:10 +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
Otto Winter
23ff8178a0
Merge branch 'dev' of https://github.com/esphome/esphome into dev 2019-08-31 20:23:35 +02:00
Otto Winter
93cfee8026
Fix strobe effect
Fixes https://github.com/esphome/issues/issues/620
2019-08-31 20:23:06 +02:00
Guillermo Ruffino
b6920025b2 Fixes sim800l (#678)
* Fix receive message quickly

* fix case

* lint
2019-08-31 19:45:34 +02:00
Nad
4c03cebef3 Add support for Sensirion SCD30 CO2 sensors (#712)
* Add support for Sensirion SCD30 CO2 sensors

* Fixed few lint issues

* Lint fixes

* Fixed line ending for lint

* Cleanup

* Refactored float conversion

* Refactor unnecessary return


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-08-31 19:24:37 +02:00
Guillermo Ruffino
244c4be8cc fix integration sensor (#711)
* fix integration sensor

* revert rtc_.save conditional
2019-08-31 18:45:06 +02:00
Guillermo Ruffino
9b28c732c6
fix wifi info (#709)
* fix wifi info

* lint time based cover
2019-08-29 21:34:29 -03:00
Robert Kiss
f9b3e61c0f Add delayed_on_off binary_sensor filter (#700)
* add delayed_on_off binary_sensor filter

* fix formatting

* remove unwanted file modification

* add newline to fix linter error
2019-08-29 16:09:37 +02:00
Guillermo Ruffino
83a92f03fc add time based cover, has built in endstop (#665)
* add has built in endstop

* rewrite as proposed

* Update esphome/components/time_based/time_based_cover.h

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* lint

* Re trigger stop_operation if stop called

* allow se triggering open/close command if safe

* using COVER_OPEN/CLOSE constants
2019-08-29 16:07:41 +02:00
Otto Winter
2c995cf145
Fix GPS time source. (#704)
* Change ESP32 default power_save_mode to light

* Update
2019-08-27 22:11:50 +02:00
junnikokuki
65d08beaa4 add xiaomi BLE Thermometer lywsd02 model support (#664)
* add xiaomi BLE Thermometer lywsd02 model support

* remove battery level

* Update sensor.py

to pass the lint test
https://github.com/esphome/esphome/pull/664

* fix trailing space


Co-authored-by: Guoxue <gx@m15.cn>
Co-authored-by: mr G1K <mr@g1k.ru>
2019-08-27 21:06:39 +02:00
Otto Winter
9770bc371b
Remove duplicate TAG value 2019-08-27 20:27:56 +02:00
Otto Winter
22f9f75914
Remove ESP32 uart pin entries
See also 655327a8b1
2019-08-27 20:13:50 +02:00
Otto Winter
54c9dd4173
Fix WiFi Info dump_config change
Fixes https://github.com/esphome/esphome/pull/698#discussion_r318212018
2019-08-27 20:07:48 +02:00
Jasper van der Neut - Stulen
0fc267dfc7 Implement median filter (#697)
Add median filter to sensors component
2019-08-27 10:39:04 -07:00
Nikolay Vasilchuk
c5db457700 MH-Z19 calibration support (#683)
* Allow configuration to enable or disable automatic baseline calibration on boot
* Add actions to enable or disable automatic baseline calibration
* Add action to calibrate zero point
2019-08-27 10:33:25 -07:00
Pauline Middelink
15a7d2ef75 The display component should not be handling update_interval, (#693)
as that is already done when registering the component.
2019-08-27 10:30:13 -07:00
Pauline Middelink
071272a27f Fix mqtt_text_sensor to honor unique_id when set. (#698)
* Fix mqtt_text_sensor to honor unique_id when set.
* Remove setting of unique_id in json tree, as the mqtt_component already does this, and in fact overrides what we do here.
* Add unqiue_id() and dump_config() to the wifi_info sensors.
2019-08-27 10:28:50 -07:00
Jack Wozny
655327a8b1 Corrected ESP32 hardware UART pins (#701)
The UART pins for Serial1 and Serial2 on the ESP32 were reversed.
2019-08-27 10:19:55 -07:00
Brandon Davidson
a0b3d861fe
Remove double publish_state in ultrasonic sensor (#696)
Fixes https://github.com/esphome/issues/issues/589
2019-08-19 12:13:48 -07:00
Guillermo Ruffino
5c9755ecc1 fix missing schedule call (#690) 2019-08-11 12:30:47 +02:00
Otto Winter
11e88019c2
Fix travis 2019-07-28 15:40:31 +02:00
Felix Eckhofer
a783637a7a Restore sending "None" effect type (#667)
This is a regression from 369d175694.
2019-07-21 13:11:34 +02:00
Otto Winter
7210ad7ed9
Change ESP32 default power_save_mode to light (#661) 2019-07-03 20:42:55 +02:00
Otto Winter
1876c21e3e
WiFi networks priority (#658)
* WiFi networks priority

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

* Print priority
2019-07-03 20:42:46 +02:00
Otto Winter
6516a6ff7e
Fix LG nbits 2019-07-03 17:16:46 +02:00
Otto Winter
85195436c1
Work around pytz tzname bug
Fixes https://github.com/esphome/issues/issues/445
2019-07-03 17:13:40 +02:00
Thomas Eckerstorfer
c6512013bb added tx20 wind speed sensor (#275)
* 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


Co-authored-by: Thomas <thomas.eckerstorfer@mic-cust.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-07-03 16:42:32 +02:00
Nikolay Vasilchuk
762f1b1fc9 ZyAura CO2 / Temperature / Humidity Sensor (#656)
* ZyAura sensors support

* Validation

* Small refactoring

* Some checks

* Small fix

* Use floats, not double

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* uint32_t now

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* A constant for bits in a byte just over-complicates the source code

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Review fixes

* Review fixes

* Review fixes

* Review fixes

* Review fixes

* Review fixes

* Review fixes

* Review fixes

* Travis fixes

* Travis fixes

* Travis fixes
2019-07-03 16:33:18 +02:00
Otto Winter
13522c8f19
WIP: ESP8266 work on connection issues (#648)
* Erase all flash for USB uploads on ESP8266s

Previously, only erased "write regions".

Downside: Config for other FWs like tasmota could be affected

Upside: Potentially fixes some ESP8266 connection issues

Related: https://github.com/esphome/issues/issues/455#issuecomment-503524479

* Clear WiFi settings for ESP8266

Clears wifi settings from retained storage on ESP8266 (if set).

Unsure if this is the actual issue, but it won't cause problems either.

* Update wifi_component_esp8266.cpp

* Revert erase chip for testing

* Improve wait_time calculation
2019-07-02 13:03:11 +02:00
Otto Winter
d2938e82db
Add calibrate_polynomial sensor filter (#642)
* Add calibrate_polynomial sensor filter

* Fix

* Lint

* Format
2019-07-02 13:02:55 +02:00
Otto Winter
f95d4ca106
CT Clamp ADS1115 Improvements (#647)
Fixes https://github.com/esphome/issues/issues/457
2019-07-02 13:02:46 +02:00
Otto Winter
341c99b4fa
Better DHT error reporting 2019-07-01 11:10:03 +02:00
Otto Winter
83095e8989
Fix climate MQTT HA interop
Fixes https://github.com/esphome/issues/issues/494
2019-07-01 11:09:44 +02:00
Otto Winter
840f599631
Dallas improve warnings 2019-06-30 09:14:16 +02:00
Otto Winter
8dee5c5fe8
Adjust default reboot timeouts 2019-06-30 09:12:48 +02:00
Otto Winter
b2e6d222cd
Remove unnecessary update_interval from schemas 2019-06-28 11:30:15 +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
82625a3080
Fix remote_transmitter wait time unit (#654)
Fixes https://github.com/esphome/issues/issues/485
2019-06-26 21:48:00 +02:00
mtl010957
49f9ad66db Adding ignore bits to narrow compare of received codes (#650)
* Adding bitmask to narrow compare of received codes
Updated test to add mask configuration

* Lint

* Handle bitmask as ignore characters per review comment

* Fixed test to cover ignore bits

* Lint

* Eliminate separate set_mask method per review comment
2019-06-26 21:47:34 +02:00
mtl010957
0dfab4d93c Fixed rc_switch dump off by one bit (#652)
* Fixed rc_switch dump off by one bit

* Proper fix per review comments
2019-06-26 21:42:49 +02:00
rnauber
5cd7f23065 Provide the lights current color to the addressable_lambda_effect. (#646)
* Provide the lights current color to the addressable_lambda_effect.

* Fix formatting

* More formatting

* Change the call signature of the lambda

* lint


Co-authored-by: olg <x>
2019-06-19 11:33:14 +02:00
mtl010957
27453afa4e Template tilt cover (#577)
* Enabling tilt control in the template cover
Added test
Add tilt option to publish action

* Added CONF_TILT to alidation schema per comment

* Removed default for CONF_TILT
2019-06-18 19:42:36 +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
Guillermo Ruffino
fc465d6d93 SMS Sender / Receiver (#522)
* add sim800l

* Increse SoftwareSerial Buffer Size

* use auto id on action

* lint

* lint

* add to test3.yaml

* lint


Co-authored-by: Guillermo Ruffino <guillermo.ruffino@pampatech.net>
2019-06-17 20:13:52 +02:00
Otto Winter
904a0b26ea
Make logger string memory usage more efficient (#641)
* Make logger string storing more efficient

* Lint
2019-06-16 19:14:24 +02:00
rnauber
c13f132399 Add set_threshold and get_value methods to ESP32TouchBinarySensor. (#631)
* Add set_threshold and get_value methods to ESP32TouchBinarySensor and add a test.

* esp32_touch_binary_adaptive: fix formatting

* Remove superfluous static from testcase

* Revert "Remove superfluous static from testcase"

This reverts commit 5a6a111aa8.

* Move into header file

* Update esp32_touch.h


Co-authored-by: olg <x>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-06-16 19:14:13 +02:00
Andrew Thompson
db968bc6b0 Atmel M90E32AS Energy Metering IC. Found in CircuitSetup 2chan and 6chan energy meterss (#629)
* Atmel M90E32AS Energy Metering IC. Found in CircuitSetup 2can and 6chan energy meters

* fix style bugs

* Update esphome/components/atm90e32/atm90e32.cpp

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Properly put atm90e32_reg in namespace

* Use phase grouped config like ina3221

* Log why the component is marked failed, did not read back our register value

* 32bit register reads are 2s compliment

* Fix atm90e32 option name in test

* clang-format changes from travis-ci

* use new protected method names

* Whitespace changes to please Travis

* Update esphome/components/atm90e32/atm90e32.cpp

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* Fix up type change for val_h/val_l

* Remove conditions around values with defaults

* Rename constants to match their value

* Remove 2's complement check


Co-authored-by: Andrew Thompson <andrew@whosonlocation.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-06-16 12:00:15 +02:00
Guillermo Ruffino
7abe8875bd Fix home assistant binary sensor initial state (#632)
* Fix home assistant binary sensor initial state

* Fix send state log message

* fix new_state local name

* lint

* Trigger


Co-authored-by: Guillermo Ruffino <guillermo.ruffino@pampatech.net>
2019-06-15 18:02:17 +02:00
Mario Di Raimondo
dc9f304d94 Add Yashima climate component (#634) 2019-06-15 18:00:55 +02:00
Otto Winter
a09bd80636
Re-add CustomMQTTDevice class (#640)
* Re-add CustomMQTTDevice class

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

* Fix
2019-06-14 12:53:38 +02:00
Otto Winter
237ecb3adf
Fix remote_receiver raw binary sensor (#639)
* Fix remote_receiver raw binary sensor

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

* Lint
2019-06-14 12:53:27 +02:00
Otto Winter
97f2becc9e
Fix globals.set (#635)
* Fix globals.set

* Update __init__.py
2019-06-14 12:40:14 +02:00
Otto Winter
f4160c363b
Fix russia timezone detection (#637)
Fixes https://github.com/esphome/issues/issues/378#issuecomment-500219634
2019-06-14 12:35:14 +02:00
Otto Winter
4fee9cc039
Fix ESP32 RCSwitch Dump Stack Smash Protection (#636)
Fixes https://github.com/esphome/issues/issues/366
2019-06-14 12:34:45 +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
8db6f3129c
Fix scheduler 2019-06-09 13:19:57 +02:00
Otto Winter
75630a36f8
Add HW SPI support (#623)
* Add HW SPI support

* Update spi.cpp

* Lint

* ESP32 Compile Fix
2019-06-08 17:45:55 +02:00
Otto Winter
d2be58ba31
Work around ESP32 core WiFi Bug (#627)
* Work around ESP32 WiFi Bug

* Lint
2019-06-08 16:47:27 +02:00
Otto Winter
bbeb0461c4
Work around ESP32 BLE issue (#626) 2019-06-08 16:47:04 +02:00
Otto Winter
14fd08e225
Fix status binary sensor for MQTT (#628)
Fixes https://github.com/esphome/issues/issues/417
2019-06-08 16:44:25 +02:00
Otto Winter
4fe0c95ccb
Allow id() syntax for custom code (#621)
* Allow id() syntax for custom code

* Lint
2019-06-07 14:26:17 +02:00
Otto Winter
726b0e73d9
Add more efficient SPI implementation (#622)
* Add more efficient SPI implementation

* Lint

* Add 200KHZ

* Updates

* Fix write_byte

* Update from datasheet

* Shift clock

* Fix calculation
2019-06-07 14:25:57 +02:00
Brandon Davidson
88ccd60a08 Allow setting the initial mode of HLW8012 sensors (#611)
* Allow setting the initial mode of hlw8012 sensors

* Changes as per code review
2019-06-06 22:44:52 +02:00
Otto Winter
e6c16e9981
Fix sun default elevation (#620) 2019-06-06 15:12:40 +02:00
Otto Winter
1bd408937a
Fix integration sensor, add test (#619)
* Fix integration sensor, add test

* Fix

* Fix
2019-06-06 15:06:02 +02:00
Otto Winter
76fe2e4871
Fix remote_receiver always shows sony (#617)
Fixes https://github.com/esphome/issues/issues/383#issuecomment-498370572
2019-06-06 13:15:37 +02:00
Otto Winter
16ae46e958
Template Cover don't auto-set current_operation (#612)
Fixes https://github.com/esphome/issues/issues/408
2019-06-06 13:13:56 +02:00
Otto Winter
73eea154d5
DHT22 ignore invalid values (#614)
Fixes https://github.com/esphome/issues/issues/397
2019-06-06 13:13:28 +02:00
Major Péter
970838ed09 Scan length for AddressableScanEffect (#608)
* Added scan_length to AddressableScanEffect (allow more than one LED)

* Added check for scan length being longer than addressable light

* Added config option 'scan_length' to AddressableScanEffect (default: 1)

* Renamed scan_length to scan_width, removed erroneous length check

* Fixed indentation issue in addressable_light_effect.h

Co-Authored-By: Otto Winter <otto@otto-winter.com>
2019-06-04 12:11:59 +02:00
Attila Darazs
30a542e763 Add backlight handling for lcd_pcf8574 (#573)
* Add backlight handling for lcd_pcf8574

Switch the backlight on or off by calling id(mydisplay).backlight()
or id(mydisplay).no_backlight() in lamda functions (assuming mydisplay
is the custom id for the LCD).

* Use abstract method


Co-authored-by: Attila Darazs <attila@darazs.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-06-03 19:36:00 +02:00
Otto Winter
ebe64e24f1
Move ESPHome version define (#607)
* Move ESPHome version define

* Lint
2019-06-03 16:07:15 +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
fe24745815
Fix ADS1115 calculation (#606)
Fixes https://github.com/esphome/issues/issues/393
2019-06-03 14:31:01 +02:00
Otto Winter
734cc989de
Fix hx711 (#602)
* Fix HX711

* Use signed value

* Update hx711.cpp
2019-06-03 09:41:13 +02:00
Otto Winter
2642750466
Fix color wipe effect (#599) 2019-06-03 09:05:20 +02:00
Otto Winter
ec9cc72320
Allow old remote_transmitter repeat schema (#601)
Fixes https://github.com/esphome/issues/issues/389
2019-06-02 15:27:32 +02:00
Otto Winter
291d4be772
Fix medium fan speed (#595) 2019-06-01 22:00:09 +02:00
Otto Winter
52584ec2be
Fix flicker light effect turning itself off (#594)
Fixes https://github.com/esphome/issues/issues/382
2019-06-01 21:59:59 +02:00
Otto Winter
3bc08e5222
Fix remote_receiver binary_sensor (#592)
Fixes https://github.com/esphome/issues/issues/369
2019-06-01 13:22:28 +02:00
Otto Winter
672f8d1719
Fix timezone detection (#586)
* Fix timezone detection

* Update __init__.py
2019-06-01 12:03:43 +02:00
Otto Winter
420c8b49e2
Fix scripts circular dependency (#591)
Fixes https://github.com/esphome/issues/issues/370
2019-06-01 12:00:10 +02:00
Otto Winter
f921997ee6
Fix addressable effects (#590) 2019-06-01 12:00:00 +02:00
Otto Winter
2617e5092b
SM16716 support (#541) 2019-05-31 15:05:37 +02:00
Otto Winter
d41ddf380c
Fix i2c setup priority (#585)
Fixes https://github.com/esphome/issues/issues/314
2019-05-31 13:40:12 +02:00
Otto Winter
a72c3ea9d7
Fix light partition (#584)
* Fix light partition

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

* Lint
2019-05-31 13:38:56 +02:00
Otto Winter
8be733efee
Fix MQTT on_message trigger (#583)
Fixes https://github.com/esphome/issues/issues/363
Fixes https://github.com/esphome/issues/issues/364
2019-05-31 11:17:46 +02:00
Otto Winter
3012fee013
Fix Rotary Encoder (#580)
Fixes https://github.com/esphome/issues/issues/360
2019-05-31 10:37:40 +02:00
Otto Winter
01db114724
Fix MQTT client_id changed (#579)
Fixes https://github.com/esphome/issues/issues/323
2019-05-31 10:37:10 +02:00
Otto Winter
e05688d639
Fix remote_receiver binary_sensor schema (#578)
Fixes https://github.com/esphome/issues/issues/353#issuecomment-497491863
2019-05-31 10:36:23 +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
3e6ae4afda
Fix Sun Trigger (#572)
* Fix Sun Trigger

* Fix cwww lights
2019-05-30 20:01:58 +02:00
Otto Winter
1ce257c721
Register light conditions (#570) 2019-05-30 13:12:12 +02:00
Jesse Hills
8dd971b25e Correctly set warm white variables (#569) 2019-05-30 09:33:47 +02:00
Otto Winter
31ddd3f668
Add uart.write action (#567)
* Add uart.write action

* Lint
2019-05-29 19:32:18 +02:00
Otto Winter
02d34a0238
Fix TSL2561 invalid default (#566)
Ref https://github.com/esphome/issues/issues/352#issuecomment-496883794
2019-05-29 13:17:01 +02:00
Jesse Hills
3089ffa8e7 Add CT Clamp component (#559)
* Add CT Clamp component

* Update lint

* Some more fixes

* Make updates to work as an analog sensor consumer

* Remove unused imports
Update lint suggestions

* Move setup_priority to header

* Remove unused calibration value

* Remove Unique ID

- Will be auto generated

* Update to use loop and not slow down main loop


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-05-29 11:15:08 +02:00
Otto Winter
667ed94e29
Fix NTC steinhart-hart issue 2019-05-28 22:27:39 +02:00
Otto Winter
2decb8115c
Fix CWWW/RGBWW lights (#562) 2019-05-28 20:44:27 +02:00
Michiel van Turnhout
9d26c16471 Binary sensor map implementation (#551)
* add binary_sensor_map c code

* add python file

* fixed python and C++ code for new framework

* renamed add_sensor to add_channel

* travis

* Updates

- Use struct for channels_ array - heap allocation is not really necessary here.
- any_active can also be written as mask != 0
- Update setup priority to DATA
- Use shorter TAG (name is already long; not important)
- Quotes around name
- Add icon to sensor
- Use new cv.typed_schema
- Change CONF_CHANNEL to CONF_BINARY_SENSOR - makes it clearer that this option accepts a binary sensor (and not for example an int)
- Add test


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-05-28 20:41:10 +02:00
Michiel van Turnhout
5893506528 Mpr121 added debounce and thresholds config (#558)
* fixed code issues from previous PR

* travis line to long

* travis

* more travis

* Update esphome/components/mpr121/mpr121.h

Co-Authored-By: Otto Winter <otto@otto-winter.com>

* fixed issues

* fixed issues

* fixes remove duplicate line
remove threshold settings

* fixed touch release thresholds mixup
2019-05-28 20:39:20 +02:00
Otto Winter
df0d33c3cd
Waveshare enter deep sleep mode on shutdown (#561)
Fixes https://github.com/esphome/issues/issues/307

Only enters deep sleep mode when node turns off - not between updates because entering+exiting deep sleep takes some time (could be added later)
2019-05-28 20:22:50 +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
Guillermo Ruffino
85513476ce Add coolix climate ❄ 🔥 (#521)
* Lint

* add coolix climate ❄ 🔥

* Fixes

* Reviewed

* Fix for dev

ClimateDevice was renamed to Climate

* Remove stale method

* Lint

* Initialize target temperature, avoid NAN value

* Use clamp and round value

* Set to verbose message

Not really relevant to the user

* Remove constructor

Name is now set in climate.register_climate - saves integrations from having to declare a constructor

* Fix, add test


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-05-27 21:09:16 +02:00
Guillermo Ruffino
e62443933c Add TCL112 climate (#523)
* Add TCL112 climate

* fix default mode

* Updates

* Update

* Update climate.py

My mistake :(


Co-authored-by: Otto Winter <otto@otto-winter.com>
2019-05-27 20:17:12 +02:00
Teemu Mikkonen
3b48aa5911 Support for AM2320 temperature and humidity sensor (#554)
Support for AM2320 temperature and humidity sensor

Co-authored-by: Mikkonen Teemu <teemu.mikkonen@iki.fi>
2019-05-27 20:00:32 +02:00
Otto Winter
b7daee533a
Lint 2019-05-27 20:00:00 +02:00
Otto Winter
7a14ab825e
Add examples to Nextion page (#548)
* Update nextion.h

* Added more examples

* Update nextion.h

* Update nextion.h

* Update nextion.h
2019-05-27 19:36:17 +02:00
Otto Winter
4323ca88c3
Add test for automation light effect 2019-05-27 19:35:36 +02:00
Otto Winter
4bc3067725
Add light restore mode
I don't want users to rely on setup priority.

Ref https://github.com/esphome/esphome-docs/pull/248
2019-05-27 19:22:16 +02:00
Otto Winter
28f2a7f99c
Update nextion.h 2019-05-27 19:12:43 +02:00
Brandon Davidson
72218171b3 Don't fall back to the global availability topic if it is empty (#553)
Fixes esphome/issues#320
2019-05-27 17:21:01 +02:00
Otto Winter
0d9f5ef363
Update nextion.h 2019-05-27 16:51:01 +02:00
Otto Winter
7b5c4359c6
Update nextion.h 2019-05-27 15:39:01 +02:00
Otto Winter
72a80f559a
Use relative include, add check 2019-05-27 13:06:45 +02:00
Otto Winter
510e53de70
Add core version 2.5.2 2019-05-26 10:31:29 +02:00
Otto Winter
d8963ea25a
Fix Switch Condition
Fixes https://github.com/esphome/issues/issues/322
2019-05-26 10:31:12 +02:00
Otto Winter
df50b95e5a
Fix LEDC missing frequency/bit_depth
Fixes https://github.com/esphome/issues/issues/338#issuecomment-495810954
2019-05-25 09:02:18 +02:00
Otto Winter
422754ed63
Lint 2019-05-24 17:20:06 +02:00
Otto Winter
aa7389432e
Fixes 2019-05-24 16:34:01 +02:00
Otto Winter
bd45f6bd8e
Register components properly 2019-05-24 16:20:28 +02:00
Otto Winter
999c1a5357
Warn if not registered properly 2019-05-21 12:23:38 +02:00
Otto Winter
a323679771
Revert upgrade ESP8266 core
Binary size increased by 30kb
2019-05-16 18:34:51 +02:00
Marcus Kempe
8c73558165 Bme680 pressure value fix (#550)
* Add heater bit masks

* Fix erroneous pressure value for BME680

* Revert "Add heater bit masks"

This reverts commit c7629f106c.
2019-05-15 20:57:29 +02:00
Otto Winter
ed61c1dd58
Update docker base image 2019-05-15 14:41:11 +02:00
Otto Winter
8be444a25e
Moar Custom platforms 2019-05-15 10:55:35 +02:00
Otto Winter
6306d44955
CCS811 env_data 2019-05-14 11:40:35 +02:00
Aalian Khan
6fff2e5957
Added more examples 2019-05-13 21:24:45 -04:00
Aalian Khan
a1b6a91642
Update nextion.h 2019-05-13 14:51:21 -04:00
Otto Winter
60d67e5428
remote updates 2019-05-13 20:45:22 +02:00
Otto Winter
5bb963fa82
TTP229 BSF support (#547)
* TTP229 BSF support

* MULTI_CONF
2019-05-13 13:11:10 +02:00
Otto Winter
83fa51a580
GPS time source (#543)
* GSP Time

* GPS Time

* Lint

* Multi conf
2019-05-13 13:11:02 +02:00
Otto Winter
0281914507
CCS811 support (#536)
* CCS811

* Move define, add test

* Remove sun artifact

* Lint

* Lint
2019-05-13 13:06:14 +02:00
Otto Winter
9231b80aa9
MULTI_CONF 2019-05-13 13:05:30 +02:00
Otto Winter
3e044db9f1
Merge branch 'dev' into ttp229-bsf 2019-05-13 13:01:08 +02:00
puuu
b7afb8c887 Make Climate component work over mqtt (#535)
* Fix climate component over MQTT

* Use climate_mode_to_string() in send_discovery()

* remove superfluous mqtt binding
2019-05-13 11:51:22 +02:00
Otto Winter
02c9ada876
Update __init__.py 2019-05-13 09:47:49 +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
f1a0e5a313
Sun support (#531)
* Sun

* Add sun support

* Lint

* Updates

* Fix elevation

* Lint

* Update mqtt_climate.cpp
2019-05-11 12:31:00 +02:00
Otto Winter
e373620393
Use int_range validator (#542)
* Use int_range validator

Just keeping code clean.

* Lint
2019-05-11 11:40:29 +02:00
Otto Winter
23dcfe5075
Revert HLW8012 to use pulse counter (#537) 2019-05-10 22:13:43 +02:00
Otto Winter
953d7f6193
Check lambdas for return statement (#539) 2019-05-10 22:13:17 +02:00
Otto Winter
1d6dd3aa5e
TTP229 BSF support 2019-05-10 21:44:02 +02:00
Otto Winter
9dd9e523ed
Fix ADC VCC
Fixes https://github.com/esphome/issues/issues/289

Was a linker problem, the macro needs to be defined in global C++ scope (no namespace, not in extern "C" block)
2019-05-10 15:02:59 +02:00
ffabi
66cbfca99c Changed also the datatype of temperatur values to be able to get corr… (#532)
Co-authored-by: Fabian <git@ffabi.com>
2019-05-10 13:49:30 +02:00
puuu
b0e6b48c50 Allow rx_only mode of sds011 component (#534)
fixes the following error if rx_only was defined and update_interval
was not present:

Failed config

sensor.sds011: [source sds011.yaml:62]

  update_interval has no effect in rx_only mode. Please remove it.
2019-05-10 13:48:50 +02:00
puuu
bb1937ab88 Fix compilation of my9231 component (#533)
missing definition of GPIOPin:

In file included from src/esphome/components/my9231/my9231.cpp:1:0:
src/esphome/components/my9231/my9231.h:13:19: error: 'GPIOPin' has not been declared
void set_pin_di(GPIOPin *pin_di) { pin_di_ = pin_di; }
^
src/esphome/components/my9231/my9231.h:14:21: error: 'GPIOPin' has not been declared
void set_pin_dcki(GPIOPin *pin_dcki) { pin_dcki_ = pin_dcki; }
^
src/esphome/components/my9231/my9231.h:51:3: error: 'GPIOPin' does not name a type
GPIOPin *pin_di_;
^
src/esphome/components/my9231/my9231.h:52:3: error: 'GPIOPin' does not name a type
GPIOPin *pin_dcki_;
^
2019-05-10 13:48:38 +02:00
Otto Winter
3372ddc63d
Lint more filetypes 2019-05-08 15:26:44 +02:00
Otto Winter
3fe9c20188
Format 2019-05-08 14:56:54 +02:00
Otto Winter
95428b4cfe
Lint 2019-05-08 11:40:45 +02:00
Otto Winter
968ff4b619
Fixes 2019-05-08 11:31:06 +02:00
Otto Winter
667457989e
Merge pull request #528 from emwap/patch-2
Further fix of custom_sensor codegen
2019-05-08 10:55:05 +02:00
Otto Winter
bedf1b7483
Fix fastled clockless not loading fastled base
Ref https://github.com/esphome/issues/issues/268
2019-05-08 10:45:44 +02:00
Otto Winter
53c182ad37
Fix native API services not registered
Fixes https://github.com/esphome/issues/issues/290
2019-05-08 10:37:13 +02:00
Otto Winter
ce45c81069
Add longer MAX6675 delay 2019-05-08 10:35:07 +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
Anders Persson
64541e0e35
Further fix of custom_sensor codegen 2019-05-07 23:30:19 +02:00
Anders Persson
ebb5fadba1 Fix custom_sensor codegen (#526) 2019-05-07 21:39:13 +02:00
mtl010957
c569d022ec Fix MQTT Not Working in dev branch (#527)
* Fix MQTT not working

* Fix minor typo causing compile error
2019-05-07 21:19:30 +02:00
Otto Winter
595dfe7e24
Addressable updates 2019-04-25 10:36:55 +02:00
Otto Winter
766f6c045d
Updates 2019-04-24 23:49:02 +02:00
Otto Winter
0a0713f0e2
Fixes 2019-04-24 18:11:46 +02:00
Otto Winter
5e5b9f2205
Hass.io Ingress (#519)
* Hass.io ingress

* Update

* Remove global vars

* Fix

* Fixes

* Fixes

* Upgrade base image to 1.5.1

* Lint
2019-04-24 17:08:05 +02:00
Otto Winter
e6ff3c287d
Update addressable_light_effect.h 2019-04-24 14:31:51 +02:00
Otto Winter
295585379e
Auto-set LEDC channel
Fixes https://github.com/esphome/issues/issues/258
2019-04-24 14:30:09 +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
Otto Winter
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
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 Winter
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 Winter
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
Michiel van Turnhout
cb9f36a153 TTP229-LSF i2c device support (#489)
* setting up non i2c ttp229

* add component

* fixed const and multiconf

* fixed issues with i2c address (it is fixed for this device
renamed component and platform to ttp229_lsf => i2c device. There is
another ttp229_bsf device that uses a proprietary bus protocol

* max channels is 0 to 15

* folow up on code review

* fixed Component ttf229_lsf
2019-03-31 19:00:39 +02:00
Otto Winter
5b0d30bc09
Fix text sensor MQTT settings (#495)
Fixes https://github.com/esphome/issues/issues/170
2019-03-31 11:04:57 +02:00
Otto Winter
1dab1314ff
Upgrade ESPAsyncTCP to 1.2.0 (#497) 2019-03-30 15:47:12 +01:00
puuu
386cd4f35f Allow gamma correction in light partition (#485) 2019-03-18 14:55:57 +01:00
Otto Winter
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
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
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
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
puuu
23df5d8af7 Support SDS011 component. (#467)
* Support SDS011 component.

* improve if condition

* Check update interval is multiple of minute

* do not allow update intervals longer than 30 min

* fix sensor schema name

* remove query_mode

* Warn if rx_only mode used together with update interval

* Allow update intervals below 1min

Messed that up before, as the docs say update intervals below 1min are allowed

* Use update interval in minutes

* use set_update_interval_min() to set update interval
2019-03-06 12:39:52 +01:00
Otto Winter
289acade1e
vol.Schema -> cv.Schema 2019-03-05 15:06:38 +01:00
Otto Winter
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 Winter
0fc6a027a7
Add copy output platform (#472) 2019-03-05 13:54:33 +01:00
Otto Winter
7ebfcd3807
Add for to binary sensor conditions (#471) 2019-03-05 13:51:53 +01:00
Otto Winter
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
60c9ffef30
Fix build 2019-03-03 19:29:10 +01:00
Otto Winter
99861259d7
Add MCP23017 (#466)
* Add MCP23017

* Add test
2019-03-03 16:51:55 +01:00
Otto Winter
5a102c2ab7
Rewrite interrupt components (#464)
* Rewrite intterupt components

* Fix test
2019-03-03 16:47:10 +01:00
Otto Winter
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
Marco
55caf4f648 Update ads1115.py (#468)
GAIN setting is pointing to the wrong value
2019-03-01 16:43:51 +01:00
Otto Winter
7c65d44976
Add rotary encoder min/max value (#463) 2019-02-28 10:17:38 +01:00
Otto Winter
5b8d12a80c
Enable i2c scanning by default (#462) 2019-02-28 10:16:19 +01:00
Otto Winter
69a74a30e8
Lint 2019-02-28 10:14:28 +01:00
Otto Winter
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 Winter
311e837196
Add native API user-defined services (#453) 2019-02-26 19:38:28 +01:00
Otto Winter
3b00cfd6c4
Convert automation engine to use variadic templates (#452) 2019-02-26 19:28:11 +01:00
Otto Winter
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
mtl010957
38e7b597d6 Add handling for min power output setting (#448)
* Add handling for min power output setting

* Fix line length error
2019-02-26 18:35:45 +01:00
Otto Winter
808ee19180
Fix mDNS library added only with OTA (#451) 2019-02-26 18:34:47 +01:00
Otto Winter
7dd0dabaf5
Allow non-pullup pins for dallas (#456) 2019-02-26 16:39:20 +01:00
Michiel van Turnhout
92f8b043ce Add MPR121 Capacitive Touch Sensor (#449)
* module mpr121

* added mpr121 sensor and binary sensor

* added tests

* removed CONF_CHANNELS, it is not supported in the esphome-code mpr121
code

* changed namespace for mpr121 to binary_sensor

* Update esphome/components/binary_sensor/mpr121.py

Co-Authored-By: mvturnho <qris.online@gmail.com>

* fixed class names

* fix lint errors
2019-02-24 21:48:28 +01:00
Otto Winter
88e036ddb2
Allow i2c on non-pullup pins (#447) 2019-02-21 18:15:45 +01:00
Otto Winter
f0c0131ed1
Fix MQTT log topic level (#445) 2019-02-20 12:38:09 +01:00
Otto Winter
6b702f8014
Fix custom components not registered (#441) 2019-02-18 14:59:35 +01:00
Otto Winter
f311a1bb30
Add display page abstraction (#435) 2019-02-17 00:35:23 +01:00
Otto Winter
7a450ed41c
Add hidden option to wifi networks (#436) 2019-02-16 16:49:27 +01:00
Otto Winter
944f0169cb
Add light partition platform (#434) 2019-02-16 16:47:23 +01:00
Otto Winter
4da0e0c223
Add text_sensor.template.publish action (#433)
* Add text_sensor.template.publish action

* Fix

* Add test
2019-02-16 16:47:05 +01:00
Otto Winter
52c0b45f41
Add RC5 IR code support (#432) 2019-02-16 15:30:59 +01:00
Otto Winter
fcef3be5c7
Template lambda is optional 2019-02-16 13:12:49 +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