Commit graph

1358 commits

Author SHA1 Message Date
Franck Nijhof
11fb54c74e
Add support for Sensor state class (#1835)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-03 13:49:56 +12:00
Stefan Rado
913ac8b7e8
Support raw datapoints for tuya components (#1669) 2021-06-03 13:10:29 +12:00
foxsam21
2b9350ce76
Added vol +/- control to dfplayer (#1856)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-03 10:12:23 +12:00
Trevor North
c5c24c1989
Tuya improvements (#1491)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-02 21:31:56 +12:00
Ryan Mounce
c3938d04f3
Support Tuya light color temperature control (#1412)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-02 09:32:16 +12:00
David Kiliani
f968713be8
Add optional lambda to BLESensor for raw data parsing (#1851)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-01 21:46:54 +12:00
Jesse Hills
7b11284008
Fix ble client esp_gatt_if comparison (#1852) 2021-06-01 21:12:41 +12:00
zaluthar
f39c0d52ee
Added support for Xiaomi CGDK2 (#1451)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-01 20:26:38 +12:00
buxtronix
a3756a9600
Copy missing BLE client characteristic read data (#1818)
Co-authored-by: Ben Buxton <bb@cactii.net>
2021-06-01 19:56:05 +12:00
0hax
afa436fe8f
teleinfo: use text_sensor and sensor. (#1403)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-06-01 13:32:09 +12:00
Roberto Wagner
48b5ea9e59
Update fingerprint count after enroll (#1811) 2021-06-01 12:22:09 +12:00
Maurice Makaay
56974153f1
I2c raw cmds with multiplexer (#1817)
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
2021-06-01 10:36:25 +12:00
Jesse Hills
9a2cd71571
Don't check uart settings for modbus (#1850) 2021-06-01 09:57:03 +12:00
Stefan Agner
d1c6368283
Use built-in validation for altitude (#1831)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-01 07:40:57 +12:00
Adrián Panella
5c3268b8d4
Rf Bridge: add bucket sniffing and beep functionality (#1819)
Co-authored-by: Otto winter <otto@otto-winter.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-06-01 07:24:22 +12:00
Oxan van Leeuwen
25af5ab7c6
Drop 128x160 ESP-32 camera resolution (#1813) 2021-05-31 22:27:41 +12:00
Andrew Zaborowski
4d586b1446
Add CS5460A power-meter component (#1474)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-31 16:07:33 +12:00
polyfaces
bb759d52c8
Add support for SDMXXX energy meters (#1260)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-31 16:05:49 +12:00
testbughub
9a2cf05c5f
Added bottom segment to digit 9 (#1847) 2021-05-30 20:54:26 -03:00
Guillermo Ruffino
c79d700d03
Add validate to components (#1631)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-31 10:06:45 +12:00
Guillermo Ruffino
387f249363
fix dallas pin validation (#1692) 2021-05-28 13:15:52 +12:00
Otto Winter
e3c27a483c
Update sensor device classes from HA (#1825) 2021-05-24 21:45:51 +02:00
Otto Winter
a33bb32874
Convert components to async-def syntax (#1823)
* Convert components to async-def syntax

* Remove stray @coroutine

* Manual part

* Convert complexer components code to async-def

* Manual cleanup

* More manual cleanup
2021-05-24 21:45:31 +02:00
Otto Winter
2376a2c941
Convert components to async-def syntax (#1821) 2021-05-24 10:58:29 +02:00
Jim Bauwens
b11d5f6799
Allow segments in a light partition to be reversed (#1484)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-24 08:57:48 +12:00
Stanislav Meduna
072dce340e
Add the on_page_change display trigger (#1687)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-24 08:56:04 +12:00
Trevor North
cccb1a2c9e
BME680 BSEC: Allow sample rate overrides for T/P/H sensors (#1710) 2021-05-24 08:27:19 +12:00
Stanislav Meduna
063d9c47a4
Refactor font creation to save stack (#1707) 2021-05-24 08:24:54 +12:00
Franck Nijhof
0ce57e5a39
Light & Switch Inverted Restore mode (#1810) 2021-05-24 08:20:11 +12:00
Otto Winter
aebad04c0b
Convert core components to async-def coroutine syntax (#1658)
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-23 22:10:30 +02:00
Anthony Uk
514d11d46f
tm1637 - support 6 character displays (#1803) 2021-05-21 20:04:25 -03:00
Anthony Uk
96e46db272
Added fan triggers on_turn_on and on_turn_off (#1726) 2021-05-19 16:12:43 +12:00
Stefan Agner
76f78877f6
Use latest version of the NeoPixelBus-esphome library (#1701) 2021-05-19 14:55:49 +12:00
Jesse Hills
4ffa68b773
Merge branch 'master' into dev 2021-05-19 14:02:04 +12:00
André Klitzing
dce9d59dfe
Do not use Serial2 for ESP32C3, too (#1798)
src/esphome/components/logger/logger.cpp: In member function 'void esphome::logger::Logger::pre_setup()':
src/esphome/components/logger/logger.cpp:142:29: error: 'Serial2' was not declared in this scope
         this->hw_serial_ = &Serial2;
2021-05-18 19:16:51 +12:00
romerod
d3e291b442
Add on_tag_removed trigger to pn532 (#1436)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-18 11:54:09 +12:00
Otto Winter
d4686c0fb1
Introduce new async-def coroutine syntax (#1657) 2021-05-17 17:14:15 +12:00
Jesse Hills
030c87d142
Allow RC522 components to have multiple configurations (#1782) 2021-05-17 13:53:35 +12:00
Jesse Hills
95ed3e9d46
Revert "Added bottom segment to digit 9 (#1787)" (#1791)
This reverts commit 9ecead2645.
2021-05-17 13:22:49 +12:00
Stanislav Meduna
d0eaebe19f
Add support for the XPT2046 touchscreen controller (#1542) 2021-05-17 13:03:58 +12:00
testbughub
9ecead2645
Added bottom segment to digit 9 (#1787) 2021-05-17 11:38:49 +12:00
Stefan Agner
98166dfa66
Bump Arduino SDK for ESP32 to 1.0.6 (#1789)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-17 11:38:26 +12:00
Franck Nijhof
5645be4e0f
Add attribute support to Home Assistant sensors (#1770)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-17 11:16:22 +12:00
Jesse Hills
9a7a205510
Generate protobuf code closer to formatted files (#1790) 2021-05-17 10:54:17 +12:00
Jesse Hills
7e3b8fd346
Allow RC522 components to have multiple configurations (#1782) 2021-05-15 17:02:52 +12:00
Guillermo Ruffino
3d6dcc9eee
Add more json schema generation features (#1690)
* some enums

* extract enums, light effects remote_receiver etc

* more pins schema

* update to core changes
2021-05-14 20:35:39 -03:00
Jesse Hills
4f6982fbc5
Add action to set total pulses on pulse_meter (#1757) 2021-05-14 20:06:31 +12:00
Stanislav Meduna
00c144daeb
Autorepeat filter for the binary sensors (#1681)
* add the autorepeat filter

* add a test for the autorepeat filter

* make no timing equivalent to a single default one
2021-05-13 17:36:53 -03:00
BoukeHaarsma23
9e7acd6f75
Add sm2135 component (#1736)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-13 07:17:13 +12:00
Yuval Aboulafia
7d9c043f1d
Use core constants for sample duration on bh1750 (#1764)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-13 07:17:13 +12:00
Guillermo Ruffino
bafbeefb37
Switch to esphome/AsyncTCP-esphome v1.2.2. (#1762) 2021-05-13 07:17:13 +12:00
BoukeHaarsma23
54660300e9
Add sm2135 component (#1736)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-13 07:14:01 +12:00
onde2rock
5dc40049be
Add function to set SDS011 sensor in sleeping state (#1416)
Co-authored-by: aurelien <aurelien.antunes@gmail.com>
2021-05-12 16:38:29 +12:00
RubyBailey
1e46b4073f
Mitsubishi Heat Pump - Fixed default transmit_state to be generic instead of for a specific type of heat pump (#1414)
Co-authored-by: RubyBailey <ruby_bailey11@hotmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-12 16:07:28 +12:00
krunkel
29fc4af0fc
Add delay to aht10.cpp (#1498) 2021-05-12 15:50:26 +12:00
Yuval Aboulafia
cdc9c99d40
Use core constants for sample duration on bh1750 (#1764)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-12 10:16:59 +12:00
André Klitzing
b966e58f9e
Fix build issues for idf 4.2 (Support ESP32-S2) (#1433)
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-05-12 09:57:39 +12:00
André Klitzing
a546677b08
Fix build issues for idf 4.2 (Support ESP32-S2) (#1433)
Co-authored-by: Otto winter <otto@otto-winter.com>
2021-05-12 08:31:40 +12:00
Jesse Hills
5c3af1d3f6
Allow duration for deep_sleep.enter to be templateable (#1765) 2021-05-11 12:36:14 -03:00
Maurice Makaay
7665a220a0
Fix error when using %% in printf format. (#1713)
For printf formatting, a check is done to see if the number of
arguments matches the number of printf formatting placeholders.

The escape code `%%` that is used for representing a literal `%`
is also counted as a placeholder, but no argument will be provided
for that one.

This makes it impossible to use something like `("%f%%", percentage)`
in the code. In such case, one gets the error:

  `Found 2 printf-patterns (%f, %%), but 1 args were given!`

This commit fixes this behavior by omitting the `%%` from the matches.

Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
2021-05-11 12:15:29 -03:00
Guillermo Ruffino
4250af4dd9
Switch to esphome/AsyncTCP-esphome v1.2.2. (#1762) 2021-05-11 12:05:49 -03:00
Jesse Hills
44562dbef1
Merge branch 'dev' into bump-1.18.0b1 2021-05-10 07:54:06 +12:00
Otto Winter
229bf719a2 Implement external custom components installing from YAML (#1630)
* Move components import loading to importlib MetaPathFinder and importlib.resources

* Add external_components component

* Fix

* Fix

* fix cv.url return

* fix validate shorthand git

* implement git refresh

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

* use github:// schema

* error handling

* add test

* fix handling git output

* revert file check handling

* fix test

* allow full component path be specified for local

* fix test

* fix path handling

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-05-07 15:02:17 -03:00
Farzad E
2225594ee8
Added an option to disable mDNS (#1716)
* Added an option to disable mDNS

* Fixed linter issues

* Moved the enable_mdns option to WiFi and Ethernet components

* extracted common method for add mdns library

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-05-06 12:31:42 -03:00
mbo18
f7232b199a
Change wifi signal strength unit to dBm (#1734) 2021-05-05 20:13:14 +12:00
Ryan Mounce
ffc6fe9ca0
Add support for controlling Tuya fan direction (#1409) 2021-05-05 16:24:31 +12:00
Alex Konradi
06b8e4df27
Call Stepper::should_step_ every loop iteration (#1373) 2021-05-05 14:32:15 +12:00
d-two
28ed42d879
Add Hyperion Support (#1339) 2021-05-05 14:09:38 +12:00
0x0a11c0de
98f0d75180
Fix #1940: Implement speed_count in TuyaFan (#1654)
Co-authored-by: Frank Riley <fhriley@gmail.com>
2021-05-04 14:11:24 +12:00
buxtronix
dd4fb85170
Ble client fixes (#1739)
Co-authored-by: Ben Buxton <bb@cactii.net>
2021-05-04 08:51:03 +12:00
buxtronix
02aa75f68c
BLE client support on ESP32 (#1177)
Co-authored-by: Ben Buxton <bb@cactii.net>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-05-03 11:10:50 +12:00
Alex
07db9319ad
Swap fan and swing fields for Fujitu ACs (#1635) 2021-04-30 11:53:44 +12:00
Wojtek Strzalka
4ae4a4ee88
Support for TOF10120 distance sensor (#1375) 2021-04-29 11:49:46 +12:00
Guillermo Ruffino
a7c648b60b
RC522 fixes (#1479) 2021-04-29 10:50:24 +12:00
Barry Loong
4d7c1ae143
Add Grow Fingerprint Reader (#1356) 2021-04-29 10:08:27 +12:00
elyorkhakimov
cc6d1e85cc
Addition of forward and reverse active energy counters to ATM90E32 sensor component (#1271)
Co-authored-by: Elyor Khakimov <elyorkhakimov@forwardnetworks.com>
2021-04-29 07:15:50 +12:00
Stephen Tierney
7fb116d87d
Add support for SHT4X (#1512) 2021-04-28 20:22:46 +12:00
Christian Ferbar
cc43e01e34
Add monochromatic effects: Pulse, Random (#1616) 2021-04-28 15:05:04 +12:00
Guillermo Ruffino
bb3d0706d3
Revert "Bump AsyncTCP-esphome to 1.2.1. (#1693)" (#1709)
This reverts commit aed6f2b1ea.
2021-04-21 10:33:59 -03:00
Richard Klingler
820dedbcd2
Added / to default glyphs (#1691)
Co-authored-by: Charlie Root <klingler@blender.klingler.net>
2021-04-21 12:10:45 +02:00
Maurice Makaay
aed6f2b1ea
Bump AsyncTCP-esphome to 1.2.1. (#1693)
Co-authored-by: Maurice Makaay <mmakaay1@xs4all.net>
2021-04-19 20:15:37 -03:00
John Coggeshall
bf1885af3f
Implementing the remainder of GPS data for the GPS component. (#1676) 2021-04-11 19:15:23 +02:00
Otto Winter
d8e4f5d56b
Sensor Average Filter Fix Floating Pointer Error Accumulating (#1624) 2021-04-09 10:27:18 +02:00
SenexCrenshaw
2033ac34e5
Sgp40 (#1513)
* Start of SGP40 dev

* Clean up

* Initial Commit

* VOC is working

* Fixed up sensor config

* Lint Fixes
Added in save/restore baseline
Noted original repo in header

* Lint Fixes
Added to test

* Lint Fixes

* Added additional check on restoring

* Removed double check

* Changed defines to static const double

* Changed defines to const
Do not send voc index until sensor stabilizes

* Fixed sensor stabilization message

* Fixup according to PR

* samples_read increment fix

* Fixed missing device class

* Choose a SENSOR device class

* Moved some sensors for tests

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-04-08 22:40:19 -03:00
SenexCrenshaw
a39bb7b92f
Support custom build_flags for bme680_bsec (#1678) 2021-04-08 17:06:54 +02:00
Dan Gentry
b53f9f2a81
Daylight Saving Time spelling fix (#1677) 2021-04-08 17:04:40 +02:00
Otto Winter
586e36906d
Fix sensor.sensor_schema interface changed (#1659) 2021-04-08 14:37:55 +02:00
Gareth Cooper
e6f8e73705
Receive long MQTT payload (#1590) 2021-04-08 14:26:34 +02:00
Guillermo Ruffino
2e50e1f506
Fix servo detach chopped PWM (#1650) 2021-04-08 14:22:30 +02:00
Anthony Uk
76a6c39f25
mqtt_client: Added MQTTClientComponent::unsubscribe() (#1672)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-04-08 14:21:42 +02:00
rbaron
bf01c22e1f
Adds support for b-parasite soil moisture sensor (#1666) 2021-04-08 13:59:30 +02:00
Otto Winter
7964b724ed
Rewrite sun component calculations (#1661) 2021-04-07 12:16:36 +02:00
Vegetto
3ecae3f16f
fixes #858 - esphome crashes with neolightbus and RMT (#1667)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2021-04-06 14:31:38 +02:00
Anthony Uk
5c359856ff
Fixed CustomComponentConstructor::get_component() (#1653)
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-04-06 13:50:31 +02:00
Trevor North
2d618768d5
Add BME680 via BSEC integration (#1313) 2021-04-06 12:19:56 +02:00
Stanislav Meduna
808e3be324
Add the display.is_displaying_page condition (#1646)
* display: add the display.is_displaying_page condition

* use maybe_simple_value for page_id

* add test
2021-04-02 23:00:41 -03:00
Andreas Hergert
9e23987db8
Add I2CMultiplexer in generel and the TCA9548A in special (#1410)
* Added I2CMultiplexer in generel and the TCA9548A in special

* cleanup

* tidy

* tidy

* tidy

* tidy

* Update CODEOWNERS

* Update CODEOWNERS

* added CODEOWNERS

* Fix CODEOWNERS

* protected function

* fixed scan

* fixed style

* added to test1.yaml

* Update esphome/components/tca9548a/__init__.py

* Update esphome/components/i2c/__init__.py

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

* Update esphome/components/i2c/i2c.cpp

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

* Update esphome/components/i2c/__init__.py

* Update esphome/components/i2c/__init__.py

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

* Update esphome/components/i2c/i2c.cpp

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

* added define statements for I2C Multiplexer

* fix

* try to tidy

* bug fix

* tidy

* override fix

* only change channel if different

* tidy

* added test

* testfix

* added defines

* tidy

* fix dep

* like recommended

Co-authored-by: Andreas Hergert <andreas.hergert@otrs.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-03-29 16:50:30 -03:00
Guillermo Ruffino
ad76312f66
fix servo not reattaching with same target (#1649) 2021-03-28 22:35:39 -03:00
Diego Elio Pettenò
a6255c31fe
Add optional bindkey support for CGG1. (#1407) 2021-03-26 07:33:06 +13:00
buxtronix
46356cbc4a
Fix BLE UUID matching (#1637)
Co-authored-by: Ben Buxton <bb@cactii.net>
2021-03-23 18:21:04 +13:00
Jesse Hills
4d340dc029
Merge branch 'dev' into bump-1.17.0b1 2021-03-22 20:08:57 +13:00
Jesse Hills
af3273d930
Add trigger for http actions to receive the status code (#1599) 2021-03-22 16:26:10 +13:00
Niccolò Maggioni
8f1eb77e05
Background calibration & ABC commands for SenseAir S8 (#1623) 2021-03-22 12:59:41 +13:00
matikij
91898cb814
Add 2.13in-ttgo-b1 waveshare epaper module. (#1326) 2021-03-20 20:32:46 +13:00
Keith Burzinski
818a7f1c78
Declare Color objects in main.cpp (#1395) 2021-03-19 23:40:05 +13:00
Jesse Hills
dedf343bd5
Fix pulse-meter with device_class and black (#1621) 2021-03-19 21:40:11 +13:00
DrZoid
e5b45b6b4b
e131: fix issue 1579: limitation of maximum light count (#1619) 2021-03-19 21:19:34 +13:00
Steve Baxter
a77784a6da
Implement pulse_meter as an improvement on pulse_counter and pulse_width for meters (#1434) 2021-03-19 21:16:27 +13:00
Mike Ryan
f63f9168ff
Add addressable_light display platform (#1272) 2021-03-18 19:08:50 +13:00
SenexCrenshaw
b5b2036971
8266 hardware spi enable with just 3 pins (#1617) 2021-03-18 13:59:47 +13:00
SenexCrenshaw
a96b6e7002
SPI transfer fix. Use write when no miso pin is set (#1563) 2021-03-18 13:54:58 +13:00
Sergey V. DUDANOV
f34c9b33fc
Midea climate support (#1328)
* Added support for Midea IoT climate devices via UART interface (USB-dongle)

* Fixed lint checks

* Fixed lint checks

* CODEOWNERS update

* Clang-format

* Clang-format

* Add network device notification message support (show WiFi sign on devices)

* Make wifi_signal_sensor optional component

* Some optimization

* Optimizations and code formatting

* Fixed lint checks

* Fixed lint checks

* Fixed sign error

* Code changes

* Network notify repeat every 10 min

* Added log messages

* Fixed lint checks

* Refactoring: MideaClimate => MideaAC

* Using enums instead literals in Midea states

* Enum changed to be more correct

* Shrink notify frame to 32 bytes

* Fixed lint checks

* Change notify frame appliance type to common broadcast

* Control optimization

* Fixed control error

* Control command now don't reset others uncontrollable properties of device

* Fixed lint checks

* Some optimization

* on_receive callback give const Frame

* Fix control

* Fixes

* Some minor changes

* Fixed lint error

* No dependency from wifi_signal sensor for stretched WiFi icon. New option: stretched_icon instead wifi_signal_id.

* Fix option name

* Added export of outdoor temperature as sensor value

* Fixed lint errors

* Fixed pylint error

* Minor fix

* Fix temperature overflow in some cases

* Added answer on QueryNetwork command from appliance. Now don't wait for ack on 0x0D command.

* Fix lint error

* Added humidity setpoint optional sensor

* Added boolean options 'swing_horizontal' and 'swing_both'

* Added debug frame output

* Added debug frame output

* Fix lints error

* Some debug output optimization

* Fix lint check

* Some code optimization: adding templates

* Fix lint error

* Added sensors device classes

* Python code reformatted with black formatter

* RX frame debug message

RX frame debug message now prints before checking

* Remove CRC check for receiving frames

* Added experimental power usage option

* Added power usage option

* Fixed lint errors

* Major changes. See esp-docs.

* Added tests in test4.yaml

* Added tests in test1.yaml

* Added wifi dependency

* Fix test1.yaml

* Some fix :)

* One more refactoring

* One more refactoring

* One more refactoring
2021-03-17 17:27:50 -03:00
Jim Ekman
7708b81ef5
Support fan speed levels (#1541)
* Add fan speed percentage support to the API

* Add float fan speed percentage

* Add percentage support to automation and configuration

* Update Tuya fan

* Fix pylint warning

* Update API to use speed levels instead of percentage

* Use speed levels

* Fix type warnings

* MQTT component now converts between speed levels and enums

* Webserver now supports speed_level

* Update prometheus

* Remove low/medium/high settings from speed fan

* Remove unused enum

* Configurable speed levels for speed fan

* Remove unused import

* Rename speed_level->speed and speed_levels->speed_count

* Rename supported_speed_levels -> supported_speed_count in API and FanTraits

Field id stays the same in the protocol, so the change is not breaking for aioesphome.
2021-03-17 10:40:02 -03:00
WeekendWarrior1
08998caabc
a4988 wait 1ms when coming out of sleep (#1597) 2021-03-13 21:29:31 -03:00
Jesse Hills
848a5f1680
Change COLOR_ON to be 255 values instead of 1 (#1594) 2021-03-13 21:27:16 -03:00
Alex
2e7c1d7345
Added receive for Fujitsu ACs (#1577) 2021-03-13 18:45:01 -03:00
Samuel Sieb
c9ee513fa8
PN532 - don't read extra page and fix size (#1565)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2021-03-11 18:26:55 +13:00
Samuel Sieb
2a12caa955
change lcd clear() to clear the buffer (#1600)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2021-03-11 18:17:50 +13:00
Derek Hageman
2c0fe49b86
Inkplate 6 Optimizations (#1592) 2021-03-08 19:25:49 +13:00
Guillermo Ruffino
1e227e8051
Schema dump (#1564)
* schema dump idea

accept boolean or anything default

accept null also for full dicts

added some common validators

more simple validators

support multi_conf

better handle automations

updates

updates

handle lists

removed not needed class

move to own folder

generalized for automations lists, etc

updates

updates

clean up

clean up

fix automations

made comment optional

basic docs support

added more docs

fixes docs handling

updates

updates

fix components parent

updates

updates

updates

Fix inkplate 6 registration

updates

Disable logging for vscode add on

better handle buses

keep extended order as in CONFIGs

updates

updates

updates

disable comments

moved to scripts/build_jsonschema

added configurable decorators

path handling

fix handle list_schema

fixes and cleanup

add jschema_extractor to maybe

updates

lint

no schema in git

add generated loggers list

* lint
2021-03-07 21:05:08 -03:00
Jesse Hills
570ec36fe3
MCP23XXX Refactor (#1560)
* Refactor MCP23XXX classes to consolidate shared code

* Update test mcp23xxx pin schemas
2021-03-07 16:23:54 -03:00
Guillermo Ruffino
69879920eb
add-black (#1593)
* Add black

Update pre commit

Update pre commit

add empty line

* Format with black
2021-03-07 16:03:16 -03:00
Guillermo Ruffino
2b60b0f1fa
fix servo warning (#1591) 2021-03-06 19:59:06 -03:00
needspeed
0f151a8f6b
Extend 'uart:' with 'invert:' for esp32 (#1586) 2021-03-06 10:25:07 -03:00
Gabe Cook
88b46b7487
Add min/max filters (#1569) 2021-03-05 10:10:06 -03:00
nikito7
fa290fbce8
Fix for waveshare 2.13in-ttgo-b73 (#1543) 2021-03-04 13:50:27 +13:00
Cody James
c5dc736c53
changed color temp from float to int (#1522)
* changed color temp from float to int

Changed cold_white_temperature and warm_white temperature from a float to an integer. This makes home assisting show it correctly in the color temperature slider. If it is set to float home assistant show something like 470.8390000283847829304845 in the slider which provides an ugly ui and color temperature to as a decimal is invalid anyway.

* Update esphome/components/rgbww/light.py

* Update esphome/components/rgbww/light.py

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-03-02 23:41:15 -03:00
Moritz Glöckl
8e93735861
Add support for the SM300D2 7-in-1 sensor module (#1524)
* Added support for SM300D2 sensor module

* Fixed lint errors due to added tvoc config

* add device class

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-03-02 21:54:52 -03:00
SenexCrenshaw
ac25b138f5
Migrate ESPColor to Color (#1551)
* Migrate ESPColor to Color

* color.h constructor fix

* Updated componets to use Color
Added a using for ESPColor

* Lint fixes

* Fixed value error

* Update display components to use colorutil

* Updated to latest PR comments

* Fixed COLOR_WHITE

* Moved esp_scale to color_utils

* Rename color_utils to display_color_utils
2021-03-02 11:08:57 -03:00
marecabo
422f0ad7a9
Add constants for device classes of binary_sensor (#1549) 2021-02-28 20:55:32 -03:00
Christian Ferbar
34d37961c3
ADC fix: GPIO0 not usable as output if ADC_VCC is used (#1557) 2021-02-28 14:02:02 -03:00
Seppel Hardt
bdf004867d
Added samsung36 ir protocol (#1438)
* Added samsung36 ir protocol

* Make linter happy

* Added test and fixed python failure

* Sorry for the commits but linter was still not happy :)

* Okay have to run  script/clang-format -i

Co-authored-by: tuxBurner <tuxBurner@boggo.de>
2021-02-27 20:16:27 -03:00
Gabe Cook
08ecca86bc
Add send_every to uart switch for recurring data (#1514) 2021-02-27 19:53:53 -03:00
marecabo
520c4331e3
Add default device classes to sensor components (#1533)
* Add device_class arg to homeassistant sensor_schema call

* Add device_class arg to mqtt_subscribe sensor_schema call

* Add device_class arg to dht sensor_schema call

* Add device_class arg to dht12 sensor_schema call

* Add device_class arg to am2320 sensor_schema call

* Add device_class arg to atc_mithermometer sensor_schema call

* Add device_class arg to atm90e32 sensor_schema call

* Add device_class arg to bh1750 sensor_schema call

* Add device_class arg to ble_rssi sensor_schema call

* Add device_class arg to bme280 sensor_schema call

* Add device_class arg to bme680 sensor_schema call

* Add device_class arg to bmp085 sensor_schema call

* Add device_class arg to bmp280 sensor_schema call

* Add device_class arg to binary_sensor_map sensor_schema call

* Add device_class arg to apds9960 sensor_schema call

* Add device_class arg to as3935 sensor_schema call

* Add device_class arg to ccs811 sensor_schema call

* Add device_class arg to cse7766 sensor_schema call

* Add device_class arg to ct_clamp sensor_schema call

* Add device_class arg to dallas sensor_schema call

* Add device_class arg to duty_cycle sensor_schema call

* Add device_class arg to esp32_hall sensor_schema call

* Add device_class arg to hdc1080 sensor_schema call

* Add device_class arg to hlw8012 sensor_schema call

* Add device_class arg to hm3301 sensor_schema call

* Add device_class arg to hmc5883l sensor_schema call

* Add device_class arg to htu21d sensor_schema call

* Add device_class arg to hx711 sensor_schema call

* Add device_class arg to ina219 sensor_schema call

* Add device_class arg to ina226 sensor_schema call

* Add device_class arg to ina3221 sensor_schema call

* Add device_class arg to ibsth1 sensor_schema call

* Add device_class arg to max31855 sensor_schema call

* Add device_class arg to max31856 sensor_schema call

* Add device_class arg to max31865 sensor_schema call

* Add device_class arg to mhz19 sensor_schema call

* Add device_class arg to max6675 sensor_schema call

* Add device_class arg to mpu6050 sensor_schema call

* Add device_class arg to ms5611 sensor_schema call

* Add device_class arg to mcp9808 sensor_schema call

* Add device_class arg to ntc sensor_schema call

* Add device_class arg to pid sensor_schema call

* Add device_class arg to pmsx003 sensor_schema call

* Add device_class arg to pulse_counter sensor_schema call

* Add device_class arg to pulse_width sensor_schema call

* Add device_class arg to pzem004t sensor_schema call

* Add device_class arg to pzemac sensor_schema call

* Add device_class arg to pzemdc sensor_schema call

* Add device_class arg to qmc5883l sensor_schema call

* Add device_class arg to resistance sensor_schema call

* Add device_class arg to rotary_encoder sensor_schema call

* Add device_class arg to ruuvitag sensor_schema call

* Add device_class arg to scd30 sensor_schema call

* Add device_class arg to sds011 sensor_schema call

* Add device_class arg to senseair sensor_schema call

* Add device_class arg to sgp30 sensor_schema call

* Add device_class arg to sht3xd sensor_schema call

* Add device_class arg to shtcx sensor_schema call

* Add device_class arg to sps30 sensor_schema call

* Add device_class arg to sts3x sensor_schema call

* Add device_class arg to sun sensor_schema call

* Add device_class arg to tcs34725 sensor_schema call

* Add device_class arg to teleinfo sensor_schema call

* Add device_class arg to template sensor_schema call

* Add device_class arg to tmp102 sensor_schema call

* Add device_class arg to tmp117 sensor_schema call

* Add device_class arg to tsl2561 sensor_schema call

* Add device_class arg to tx20 sensor_schema call

* Add device_class arg to ultrasonic sensor_schema call

* Add device_class arg to uptime sensor_schema call

* Add device_class arg to vl53l0x sensor_schema call

* Add device_class arg to wifi_signal sensor_schema call

* Add device_class arg to xiaomi_cgd1 sensor_schema call

* Add device_class arg to xiaomi_cgg1 sensor_schema call

* Add device_class arg to xiaomi_gcls002 sensor_schema call

* Add device_class arg to xiaomi_hhccjcy01 sensor_schema call

* Add device_class arg to xiaomi_hhccpot002 sensor_schema call

* Add device_class arg to xiaomi_jqjcy01ym sensor_schema call

* Add device_class arg to xiaomi_lywsd02 sensor_schema call

* Add device_class arg to xiaomi_lywsd03mmc sensor_schema call

* Add device_class arg to xiaomi_lywsdcgq sensor_schema call

* Add device_class arg to xiaomi_mhoc401 sensor_schema call

* Add device_class arg to xiaomi_mjyd02yla sensor_schema call

* Add device_class arg to xiaomi_wx08zm sensor_schema call

* Add device_class arg to zyaura sensor_schema call

* Add device_class arg to ads1115 sensor_schema call

* Add device_class arg to adc sensor_schema call

* Add device_class arg to ade7953 sensor_schema call

* Add device_class arg to aht10 sensor_schema call

* Make args of sensor_schema required

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-02-27 19:28:06 -03:00
Otamay
69d39ef0cd
Added heater to climate_ir_lg (#1555)
* Added heater to climate_ir_lg

* Code formatting

* Code formatting
2021-02-27 18:55:27 -03:00
Robert Resch
6588e9380e
Replace substitutions in substitutions first (#1567) 2021-02-27 18:47:12 -03:00
stubs12
87154e9b6f
Tuya: Use queue for sending command messages (#1404) 2021-02-26 12:52:40 +13:00
Kurt Kellner
b91723344e
Vl53l0x change address (#1126)
* Added vl53l0x change address and timeout

* Added vl53l0x change address and timeout

* vl53l0x code cleanup and update test

* remove executable bit

* lint code cleanup

* code review fixes including timeout default to 10ms

* Code review cleanup and change a WARN log level message to DEBUG

* Fix issue where warn should be temporary

* Added name of sensor to warning message

* Fix blacklist lint issue

* Remove unused import
2021-02-25 19:12:06 -03:00
Otamay
92b36720b6
Climate IR LG -keep previous temp and fan if swing (#1556)
Swing IR command does not carry CLIMATE_FAN or TEMP within itself, so previous states sould be kept. Tested with actual LG IR remote controller.
2021-02-25 18:26:19 -03:00
spilin
3d0310d0e0
Add dial support for sim800l component (#1558) 2021-02-25 18:11:15 -03:00
dckiller51
f81cddf22e
Add Xiaomi Miscale v1 and v2 (#1368) 2021-02-22 22:23:12 +13:00
Jesse Hills
c519c02de8
Fix safe mode ota flashing under certain configurations (#1534)
* Fix safe mode ota flashing under certain configurations by allowing the arduino loop to run instead of while(true)

* rename to should_enter_safe_mode

* Fix line length
2021-02-20 19:29:52 +13:00
Samuel Sieb
eacac78099
Add reverse_enable for max7219 (#1489) 2021-02-20 19:29:52 +13:00
Kris
a925036ff8
Added Waveshare 2.90inch V2 e-ink display (#1538) 2021-02-20 19:29:52 +13:00
SenexCrenshaw
1468293f3e
fix DHT auto_detect check (#1536) 2021-02-20 19:29:52 +13:00
Guillermo Ruffino
25924ca4e8
fix substitution losing track of document range (#1547) 2021-02-19 21:52:42 -03:00
Jesse Hills
6c8ace0ce8
Fix safe mode ota flashing under certain configurations (#1534)
* Fix safe mode ota flashing under certain configurations by allowing the arduino loop to run instead of while(true)

* rename to should_enter_safe_mode

* Fix line length
2021-02-17 20:26:59 -03:00
Samuel Sieb
acc1af0f51
Add reverse_enable for max7219 (#1489) 2021-02-18 08:26:22 +13:00
Kris
c92c439d17
Added Waveshare 2.90inch V2 e-ink display (#1538) 2021-02-18 07:12:02 +13:00
SenexCrenshaw
410fad3b41
fix DHT auto_detect check (#1536) 2021-02-16 20:42:14 +13:00
Chris Nussbaum
dce20680d7
Add duration option to action start deep sleep (#1526) 2021-02-15 14:32:22 -03:00
marecabo
f95be6a0df
Device class attribute for sensor component (#1525)
* Add constants for sensor device_class

* Add device_class attribute to sensor component

* Add device_class attribute to sensor class

* Add device_class to mhz19 temperature sensor

* Add device_class to sensor in api component

* Add test for device_class of sensor

* Rename DEVICE_CLASS_NONE to DEVICE_CLASS_EMPTY for consistency

* Make optional attributes of sensor component truly optional
2021-02-15 12:49:02 -03:00
SenexCrenshaw
a342302114
st7735_conf_fixes (#1530) 2021-02-14 02:21:43 -03:00
Keith Burzinski
65c7e27a43
MCP230xx open drain interrupt pins (#1243) 2021-02-14 10:01:21 +13:00
Frank Bakker
57b56010da
Added energy sensor to hlw8012 (#1198) 2021-02-14 10:01:21 +13:00
SenexCrenshaw
ef89249019
Fixed ST7735 transfer_byte to write_byte without miso (#1529) 2021-02-14 10:01:21 +13:00
Jesse Hills
def70dde72
Fix PN532 SPI communication (#1511) 2021-02-14 10:01:21 +13:00
Keith Burzinski
b52f7cfe86
MCP230xx open drain interrupt pins (#1243) 2021-02-13 22:07:11 +13:00
Frank Bakker
81b512a7b3
Added energy sensor to hlw8012 (#1198) 2021-02-13 21:57:06 +13:00
Justin Gerhardt
57d6185374
Correct Native API Wire Format Documentation (#1528) 2021-02-13 21:36:39 +13:00
SenexCrenshaw
e288aa07fb
Fixed ST7735 transfer_byte to write_byte without miso (#1529) 2021-02-13 21:34:59 +13:00
rspaargaren
23cf120977
Added codeowners (#1487) 2021-02-10 09:20:31 -03:00
Jérémy JOURDIN
04d8593f38
Add MCP4725 DAC Component (#1418)
* Add MCP4725 DAC

* Fix lint

* Fix lint

* Fix lint

* Lint & cleanup

* Lint again

* One more lint

* add test

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-02-06 12:18:48 -03:00
fkirill
de3377132d
Adding support for the Inkbird IBS-TH1 Mini sensor (#1099) 2021-02-06 17:04:47 +13:00
Jesse Hills
b351cd94d7
Fix PN532 SPI communication (#1511) 2021-02-06 11:02:20 +13:00
Guillermo Ruffino
1952d275f7
RC522 increased retry loop count (#1506) 2021-02-03 12:33:29 +13:00
Guillermo Ruffino
bccaa78a90
RC522 increased retry loop count (#1506) 2021-02-03 12:30:20 +13:00
Jesse Hills
a7ec57d4be
Allow SCD30 sensors to be optional (#1502) 2021-02-01 15:34:44 +13:00
Jesse Hills
4eeb111fa3
Allow SCD30 sensors to be optional (#1502) 2021-01-30 16:50:09 +13:00
nikito7
5057caa7fc
Add support for MHO-C401 (#1486)
Committer: nikito7

Co-authored-by: vevsvevs <v-v@mail.ru>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: nikito7 <root@vbox.lan>
2021-01-27 23:04:20 +13:00
Paul Nicholls
ea019a057b
Add support for string-type Tuya datapoints (#1488) 2021-01-27 23:04:20 +13:00
nikito7
1d378e416d
Add support for MHO-C401 (#1486)
Committer: nikito7

Co-authored-by: vevsvevs <v-v@mail.ru>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: nikito7 <root@vbox.lan>
2021-01-27 20:14:43 +13:00
mhentschke
7b9c2d2978
Added options to control pulse duration on Climate_IR_LG Component (#1470)
* Added options to control pulse duration on Climate_IR_LG Component. This is usefull as some equipment from LG (Tested in Brazil AC unit) use different pulse durations in their protocol.

* Fixed C++ linting issues

* Fixed Python linting issues

* fixed spaces on parameters linting issue

* fixed spacing clint

* Removed unused constants

* Removed wrong spacing

* Changed int to time period in all new fields

Changed cv._int to cv.positive_time_period_microseconds in the time definitions for the new options

* Fixed the time defaults

Time defaults fixed for Climate_IR_LG.
2021-01-26 15:49:14 -03:00
Paul Nicholls
9d38543cb0
Add support for string-type Tuya datapoints (#1488) 2021-01-26 17:44:10 +13:00
SenexCrenshaw
65fbb8bc60
SPI wasnt being disabled after display update (#1493) 2021-01-26 13:39:42 +13:00
Philipp Tölke
97428f2ba2
Make fade_to*, lighten, and darken const (#1450) 2021-01-26 13:39:42 +13:00
Zixuan Wang
9ab6a7b7ff
Improve ccs811 precision (#1428) 2021-01-26 13:39:42 +13:00
Florian Mösch
e2ad6fe3d8
rename read/write to read/time/write_time (#1468) 2021-01-26 13:39:42 +13:00
Florian Mösch
6781d08c9b
time sync notification (#1442)
* add on_time_sync trigger

* cleanup lint

* fix review remark (sntp didn't trigger callbacks)
2021-01-26 13:39:42 +13:00
SenexCrenshaw
36a2ce2c23
SPI wasnt being disabled after display update (#1493) 2021-01-26 13:14:23 +13:00
Philipp Tölke
f084ab339b
Make fade_to*, lighten, and darken const (#1450) 2021-01-22 20:55:49 +13:00
Zixuan Wang
8352f52fef
Improve ccs811 precision (#1428) 2021-01-22 20:51:40 +13:00
Florian Mösch
b28735d63b
rename read/write to read/time/write_time (#1468) 2021-01-18 09:35:35 -03:00
Florian Mösch
4c105398f7
time sync notification (#1442)
* add on_time_sync trigger

* cleanup lint

* fix review remark (sntp didn't trigger callbacks)
2021-01-18 09:34:50 -03:00
David Zovko
6a99789c92
Inkplate 6 support for ESPHome (#1283)
* Add Inkplate 6 support

Inkplate 6 is e-paper display based on ESP32. This commit adds support for integrating Inkplate 6 into the ESPHome. Find more info here: inkplate.io

* Greyscale working

* Update inkplate.h

* Fix formatting

* Formatting

* Update esphome/components/inkplate6/display.py

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

* Update esphome/components/inkplate6/display.py

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

* Fix some lint errors
Ignore some lint errors
Only allow on ESP32

* Update the codeowners file

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-01-17 17:06:38 +13:00
Jesse Hills
52e13164b4
Add NDEF reading and writing to PN532 (#1351) 2021-01-17 17:06:38 +13:00
SenexCrenshaw
28f2582256
Updated Mcp3008 to support reference_voltage and voltage_sampler::VoltageSampler (#1387)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-01-17 17:06:37 +13:00
Florian Mösch
652f6058d1
make time components polling components (#1443)
* make real time clock components polling components

* add test
2021-01-17 17:06:37 +13:00
Guillermo Ruffino
717aab7c8b
Add rc522 i2c (#1432)
* split to spi and i2c

* fix binary_sensor

* i2c comms ready

* fix rc522_spi binary sensor compat

* lint

* lint

* add test and codeowners

* fix refactor
2021-01-17 17:06:37 +13:00
mmanza
9f36b25d4e
Whirlpool ac (#1467)
* Checksum calc change

* first checksum change for MODEL_DG11J1_3A
2021-01-17 17:06:37 +13:00
David Zovko
d9a2651a5a
Inkplate 6 support for ESPHome (#1283)
* Add Inkplate 6 support

Inkplate 6 is e-paper display based on ESP32. This commit adds support for integrating Inkplate 6 into the ESPHome. Find more info here: inkplate.io

* Greyscale working

* Update inkplate.h

* Fix formatting

* Formatting

* Update esphome/components/inkplate6/display.py

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

* Update esphome/components/inkplate6/display.py

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

* Fix some lint errors
Ignore some lint errors
Only allow on ESP32

* Update the codeowners file

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-01-16 13:19:35 +13:00
Jesse Hills
5fcd1e391d
Add NDEF reading and writing to PN532 (#1351) 2021-01-15 09:29:55 +13:00
SenexCrenshaw
36089a1400
Updated Mcp3008 to support reference_voltage and voltage_sampler::VoltageSampler (#1387)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2021-01-14 07:33:19 +13:00
Florian Mösch
bf453ad8cd
make time components polling components (#1443)
* make real time clock components polling components

* add test
2021-01-12 15:37:22 -03:00
Guillermo Ruffino
fbc1b3e316
Add rc522 i2c (#1432)
* split to spi and i2c

* fix binary_sensor

* i2c comms ready

* fix rc522_spi binary sensor compat

* lint

* lint

* add test and codeowners

* fix refactor
2021-01-12 10:13:53 -03:00
mmanza
3c34b539b0
Whirlpool ac (#1467)
* Checksum calc change

* first checksum change for MODEL_DG11J1_3A
2021-01-12 09:51:38 -03:00
mknjc
b01db991a5
API: copy the data to send into the tcp internal buffer (#1455)
Without the flag lwip only holds a reference to the supplied buffers and the reference must be valid until the tcp ack is received. This can't be guaranteed for stack allocated buffers
2021-01-12 09:42:19 +13:00
mknjc
96ab6b51b8
API: copy the data to send into the tcp internal buffer (#1455)
Without the flag lwip only holds a reference to the supplied buffers and the reference must be valid until the tcp ack is received. This can't be guaranteed for stack allocated buffers
2021-01-11 10:46:21 -03:00
mknjc
72002ce70e
Rotary Encoder: Don't call callbacks in the isr (#1456) 2021-01-11 20:10:35 +13:00
Dan Jackson
c67539cf5b
Add encode_uint32 method (#1427) 2021-01-11 20:10:35 +13:00
Florian Mösch
dcd3d2084d
DS1307 real time clock component (#1441)
* initial support for DS1307 real time clock

* add simple test, make sync functions public

* cleanup lint

* add sync to/from rtc actions

* changes action names

* Update esphome/components/ds1307/ds1307.cpp

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

* Update esphome/components/ds1307/time.py

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

* fix suggested change

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-01-11 20:10:35 +13:00
mknjc
02dc49c272
Rotary Encoder: Don't call callbacks in the isr (#1456) 2021-01-11 08:05:53 +13:00
Dan Jackson
5df398ec31
Add encode_uint32 method (#1427) 2021-01-10 17:53:12 +13:00
Florian Mösch
699696e8d1
DS1307 real time clock component (#1441)
* initial support for DS1307 real time clock

* add simple test, make sync functions public

* cleanup lint

* add sync to/from rtc actions

* changes action names

* Update esphome/components/ds1307/ds1307.cpp

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

* Update esphome/components/ds1307/time.py

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

* fix suggested change

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2021-01-08 19:40:22 -03:00
Jesse Hills
0a841fcc50
Merge branch 'dev' into bump-1.16.0b1 2021-01-09 00:04:33 +13:00
Fractal147
3c64c9b0e9
Fix stepper half half step mode (#1397)
* Fixed half half step mode

Half step mode originally had second and third steps mixed up for output A.
https://github.com/esphome/issues/issues/1655

* Updated half step mode to have no branching

Code based off comments in PR: https://github.com/esphome/esphome/pull/1397#issuecomment-739413973

* removed variable declarations in the switch/case

Oops. No explicit declarations.
Rearranged to be tidier, same output sequence.

* Fixed typo bracket

Minor typo fixed - logic complete to do branchless half stepping.

* Format the brackets to satisfy clang
2021-01-08 00:17:41 -03:00
rradar
34df25da39
Update __init__.py (#1454)
:cherry: picked from esphome/esphome@32a4680 branch (fix-sn74hc595-optional-oe-pin) by @OttoWinter
2021-01-08 00:12:55 -03:00
Andreas Hergert
16d11be213
added slow mode and detach time to servo (#1413)
* added slow mode and detach time to servo

* tidy

* and again tidy

* add change requests

* tidy

* tidy

* tidy

Co-authored-by: Andreas Hergert <andreas.hergert@otrs.com>
2021-01-03 17:57:30 -03:00
M95D
e49b568fd4
rc_switch: Fix Sync signal sent after the code. (#1426) 2020-12-30 23:11:46 +13:00
Keith Burzinski
095d3181cd
SSD1322 display support (#1405) 2020-12-30 22:52:41 +13:00
Keith Burzinski
9aa14a2e83
Add full SSD1327 display support (#1406) 2020-12-30 22:48:23 +13:00
Daniel Schramm
498b59e998
Canbus + MCP2515 including ExtID support (#1384) 2020-12-22 08:27:20 +13:00
richardweinberger
765e641d08
Fix mDNS webserver port and expose prometheus service (#1389)
* Expose right webserver port using mDNS.

80 is the default value but can be changed in the config file.
Add a new define for the port.

Signed-off-by: Richard Weinberger <richard@nod.at>

* Expose prometheus service via mDNS

That way prometheus auto discovery features can find us.

Signed-off-by: Richard Weinberger <richard@nod.at>
2020-12-14 17:14:38 -03:00
Marcel Feix
4b808611e9
Add GIF Animation Support (#1378)
* Adding GIF Animation Support

* CLang tidy correction

* Adding Codeowner
2020-12-14 13:17:16 -03:00
Ryan Mounce
039810eef3
Fix Tuya initialisation regression (#1408) 2020-12-07 19:30:55 +13:00
SenexCrenshaw
7cd4c3bdd3
MCP23SXX I/O Expander - SPI (#1068)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-12-07 06:43:55 +13:00
Nikolay Vasilchuk
c12c9e97c2
HTTP Request fix reusing connections. (#1383) 2020-12-04 07:37:00 +13:00
Michel Marti
b3169deda7
scd30: Allow setting temperature offset (#1400) 2020-12-04 07:21:10 +13:00
stubs12
0ea41e2f71
Add option to suppress embedded MCU updates on certain datapoints (#1396) 2020-12-03 17:38:17 +13:00
Alex
3afb564a48
Configurable OTA Safe Mode (#1393) 2020-12-02 11:41:39 +13:00
SenexCrenshaw
7ff3f752e2
New display ST7735 (#1066)
* Initial Commit - ST7735

* Updated for CI checks

* Updated for travis build

* Travis fixes

* Travis line too long

* Travis fixes

* Fixed up travis format issues

* Travis Fixes

* Initial Commit - ST7735

* Updated for CI checks

* Updated for travis build

* Travis fixes

* Travis line too long

* Travis fixes

* Fixed up travis format issues

* Travis Fixes

* Update to new color API and added test

* Check fixes

* Fixed sid length in test

* Cleaned up whitespaces

* kbx81 recommended fixes

* test fix

* Fixes of fixes

* Fixed test1.yaml

* Fixed test1.yaml

* Changed digital pin #s to gpio

* Updated to match kbx's color names

* Typo for ST7735_INITR_MINI_160X80

* Updated 8bit color space code
Added to_rgb_332 to color.h
fixed typo

* Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale

* Fixed MADCTL

* Fixp MADCTL

* Implemented usrbgr option
updated color to support 332 bgr conversion
typo fix

* Updated to_bgr_332

* Fix up for clang

* FIx up init code. type in buffer caused overrun

* fixup protected names

* typos

* Matched use_bgr to its conf

* color.h red fix in bgr_233to_rgb_565

* Fix ST7735_INITR_MINI_160X80

* Renamed bgr_233to_bgr_565 to match its function
Color space leak in bgr_233to_bgr_565.
cleaned up init code for displays.

* Fix

* clang fix

* Started Color Conversion

* Added various bit color functions
add triadto

* lint changes

* Various fixes

* Various formatting fixes. Wish my checks worked!

* Updated color api to support different formats
removed to_rgb_565

* lint clang fixes

* Test1 fix

* test1.yaml fix

* fixed 565 in ILI9341Display

* Added CodeOwners

* Updated CODEOWNERS

* changed to to332 and to565

* Waiting for color.h changes

* Stage changes

* Removed all changes except this driver

* Moved color functions into driver

* lint changes

* Lint and removed unrelated display driver changes

* Lint changes

* Initial Commit - ST7735

* Updated for CI checks

* Updated for travis build

* Travis fixes

* Travis line too long

* Travis fixes

* Fixed up travis format issues

* Travis Fixes

* Initial Commit - ST7735

* Updated for CI checks

* Updated for travis build

* Travis fixes

* Travis line too long

* Travis fixes

* Fixed up travis format issues

* Travis Fixes

* Update to new color API and added test

* Check fixes

* Fixed sid length in test

* Cleaned up whitespaces

* kbx81 recommended fixes

* test fix

* Fixes of fixes

* Fixed test1.yaml

* Fixed test1.yaml

* Changed digital pin #s to gpio

* Updated to match kbx's color names

* Typo for ST7735_INITR_MINI_160X80

* Updated 8bit color space code
Added to_rgb_332 to color.h
fixed typo

* Added in to_rgb_332,to_bgr_332, rgb_332to_rgb_556 and a more generic scale

* Fixed MADCTL

* Fixp MADCTL

* Implemented usrbgr option
updated color to support 332 bgr conversion
typo fix

* Updated to_bgr_332

* Fix up for clang

* FIx up init code. type in buffer caused overrun

* fixup protected names

* typos

* Matched use_bgr to its conf

* color.h red fix in bgr_233to_rgb_565

* Fix ST7735_INITR_MINI_160X80

* Renamed bgr_233to_bgr_565 to match its function
Color space leak in bgr_233to_bgr_565.
cleaned up init code for displays.

* Fix

* clang fix

* Started Color Conversion

* Added various bit color functions
add triadto

* lint changes

* Various fixes

* Various formatting fixes. Wish my checks worked!

* Updated color api to support different formats
removed to_rgb_565

* lint clang fixes

* Test1 fix

* test1.yaml fix

* fixed 565 in ILI9341Display

* Added CodeOwners

* Updated CODEOWNERS

* changed to to332 and to565

* Waiting for color.h changes

* Stage changes

* Removed all changes except this driver

* Moved color functions into driver

* lint changes

* Lint and removed unrelated display driver changes

* Lint changes

* Updated with latest color api

* pulled from origin

* Updated for color.h changes

* pulled test1 from dev

* Added test
2020-11-23 14:37:43 -03:00
Keith Burzinski
b5e6ae0d69
Add kbx81 to CODEOWNERS (#1380) 2020-11-18 19:46:22 +13:00
Keith Burzinski
08f1eac8b2
SSD1331 display support (#1244) 2020-11-18 19:34:53 +13:00
Samuel Sieb
6ed3da33a2
add CODEOWNER for new ezo component (#1379)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2020-11-18 15:57:25 +13:00
MoA
a9a00f139b
Add climate.hitachi_ac344 (#1336)
* Add climate.hitachi_ac344

* Add Hitachi AC344 Climate IR test

* Fixes unhandled switch-case in fan-mode

* Fixes logging format

* Fixes file mode

* Lint clang-tidy

* Lint clang-tidy

* Static cast float to uint8
git push

* Remove comment and debug code

* Change log verbosity to VV
2020-11-17 22:05:12 -03:00
Samuel Sieb
d20caa9d60
add support for EZO sensor circuits (#1239)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2020-11-17 22:01:42 +13:00
Marcos Pérez Ferro
7e40d4246c
Adding ADE7953 irq_pin (#1359) 2020-11-16 09:30:14 +13:00
0hax
5a2b14cfa4
components: teleinfo: electrical counter information. (#1108)
Signed-off-by: 0hax <0hax@protonmail.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-11-16 07:08:19 +13:00
Michel Marti
f2d218e5ad
scd30: Allow setting ambient pressure compensation (#1365) 2020-11-16 07:03:08 +13:00
Samuel Sieb
b493d5bba5
Add bounds check for X (#1371)
Avoid crash if a draw goes to a negative X position.
2020-11-12 21:55:42 +13:00
Yaroslav
c9055f2aef
Allow Tuya climate temperature_multiplier to be current/target multiplier (#1345)
* Separate temperature_multiplier to current/target multiplier

* Apply suggestions from code review

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

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-11-12 06:31:35 +13:00
Yaroslav
9fed7cab5f
Add support for Tuya MCU 0x1C (obtain local time) (#1344)
* Fix some Tuya devices not handling commands sent without delay

* Also do not report WiFi status if MCU does not support it

* Support Tuya MCU 0x1c command (obtain local time)

* Use #ifdef USE_TIME to handle optional dependency on RTC

* Rename Tuya clock config variable to time to be consistent with the codebase

* Add tuya time configuration to test4
2020-11-11 11:31:28 +13:00
Vc
9816e677a6
add Ili9341 display (#1233)
* setup ili9341 framework
used epaper-waveshare as start

* first version working

* added models for now only M5Stack

* get_buffer_length is huge

* fill, low/high watermark, buffer tests failed.
RAM is to small for ili9341 16 bit color mode

* removed high/low watermark debug log

* added standard 2.4" TFT model

* code cleanup

* make ledpin optional
busy pin is not needed

* make bufer 1 byte to avoid the
buffer allocation error

* gitignore

* added backlight pin to dump_config

* huge speed increase
8bit color framebuffer (256 colors)
lo and high watermark for drawing to screen

* fix for images

* higher spi data rates

* Set spi data rate to 40Mhz Experimental

* fixed: formatting
fixed: the last row and column being trimmed
fixed: namings

* Update the code to use Color class

* fixed minor color things

* fixed linting

* #patch minor fixes

* fix gitignore too

* Update esphome/components/ili9341/ili9341_display.cpp

Co-authored-by: Oleg <epushiron+github@gmail.com>

* reverting the changes as it's being fixed in PR-1241

Co-authored-by: Michiel van Turnhout <qris.online@gmail.com>
Co-authored-by: Michiel van Turnhout <m.vanturnhout@exxellence.nl>
Co-authored-by: Oleg <epushiron+github@gmail.com>
2020-11-08 22:53:35 -03:00
Daniel Hyles
fc01a70b65
Hbridge christmas light (#1251)
* Hbridge Christmas light component

Can be used for Christmas lights that use 2 wires to run 2 different strings of lights using a hbridge driver.

* Add Test

NOTE: I am unable to test this via the docker image

* Update hbridge_light_output.h

* Update hbridge_light_output.h

* Update hbridge_light_output.h

* Update light.py

* Fixed duty as white value bug fixed

* lint changes

* Name case change

* thanks lint
2020-11-08 14:46:34 +13:00
la7dja
7221337442
Support I2C transactions with combined reads and writes (#996)
* Support I2C transactions with combined reads and writes

* Add optional send_stop parameter to I2CComponent::raw_end_transmission

* Add convenience methods to I2CDevice

* clang-format

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-11-06 17:09:28 +13:00
Connor Prussin
051a1e4772
Add a datapoint to sync the Tuya MCU minimum brightness (#1347)
The Tuya MCU keeps its own internal minimum brightness setting.  This value may
not match the minimum brightness setting for ESPHome, leading to some issues:

1. Dimming is limited--on some devices the default minimum is as high as 10%,
meaning the dimmest ESPHome will go is still quite bright.

2. HA will allow a user to set a value below the MCU minimum, but the MCU will
reject it and keep the previous setting, so the UI is confusing.

This PR adds a setting to configure the datapoint for setting the MCU minimum
brightness.  If the setting is set, then ESPHome will synchronize the MCU's
minimum brightness with the one configured for ESPHome on startup.
2020-11-06 12:53:25 +13:00
Alexander Pohl
49cb8fd9d3
Add support for ATC_MiThermometer (#1291)
* Add support for additional Xiaomi BLE sensors (#1027)

* Revert "Add support for additional Xiaomi BLE sensors (#1027)"

This reverts commit b2723830f4.

* initial ATC Mithermometer component

* removed references to xiaomi_ble

* temp, humi and batt in % working, todo: battery in mV

* report battery level in volt

* report battery level again in percent

* Add files via upload

* add ATC Mithermometer component

* remove some comments

* fix travis ci build issues

* mark codeowner, make functions protected

* add newlines, remove spaces

* two lines after function or class definition

* update codeowners

* Bump flake8 from 3.8.3 to 3.8.4

Bumps [flake8](https://gitlab.com/pycqa/flake8) from 3.8.3 to 3.8.4.
- [Release notes](https://gitlab.com/pycqa/flake8/tags)
- [Commits](https://gitlab.com/pycqa/flake8/compare/3.8.3...3.8.4)

Signed-off-by: dependabot[bot] <support@github.com>

* Add files via upload

* Bump pytest from 6.0.2 to 6.1.1

Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.0.2 to 6.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.0.2...6.1.1)

Signed-off-by: dependabot[bot] <support@github.com>

* add ATC battery voltage to test2.yaml

* fix lint-python

* Bump colorlog from 4.2.1 to 4.4.0

Bumps [colorlog](https://github.com/borntyping/python-colorlog) from 4.2.1 to 4.4.0.
- [Release notes](https://github.com/borntyping/python-colorlog/releases)
- [Commits](https://github.com/borntyping/python-colorlog/compare/v4.2.1...v4.4.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump voluptuous from 0.11.7 to 0.12.0

Bumps [voluptuous](https://github.com/alecthomas/voluptuous) from 0.11.7 to 0.12.0.
- [Release notes](https://github.com/alecthomas/voluptuous/releases)
- [Changelog](https://github.com/alecthomas/voluptuous/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alecthomas/voluptuous/commits/v0.12.0)

Signed-off-by: dependabot[bot] <support@github.com>

* restore requirements

* move codeowner above dependencies

* Revert "restore requirements"

This reverts commit 3c9fd8b421.

* Revert "Bump voluptuous from 0.11.7 to 0.12.0"

This reverts commit 8eb0dba1c3.

* Revert "Bump flake8 from 3.8.3 to 3.8.4"

This reverts commit 20952632db.

* Revert "Bump colorlog from 4.2.1 to 4.4.0"

This reverts commit 87bbf95d86.

* Revert "Bump pytest from 6.0.2 to 6.1.1"

This reverts commit 1b6ed80431.

Co-authored-by: vevsvevs <v-v@mail.ru>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-04 06:36:11 +13:00
Dimitris Zervas
e536316e3d
Add contrast option to PCD8544 (#1348)
* Add contrast option to PCD8544. Closes #1519

* Minor fixes as instructed by @jesserockz
2020-11-03 10:05:20 +13:00
Jesse Hills
a6c46eb8e5
Adds support for RF Bridge advanced codes (#1246)
* WIP: Advanced commands for portisch firmware

* Fix string code sending

* clang formatting

* Add new rf_bridge functions to test

* Add advanced code received trigger

* Fix copy-paste mistake in the advanced sending

* Fix log message to be consistent

* clang

* Remove extra +
2020-11-03 07:34:29 +13:00
Jesse Hills
e73eafbd88
Move CONF_CONTRAST to const.py (#1352) 2020-11-02 21:25:41 +13:00
San
31c604331c
add dither option for image processing (#1317)
* [Image] add dither option for image processing

* fix import order

* revert import location
and hardcode two dither method

* fix format
2020-11-02 07:54:13 +13:00
Nico B
3fcdaaefe0
add FastLED YAML option for data rate (#1338)
* fix: FastLED SPI_DATA_RATE being truncated to 8 bits

FastLED expects SPI_DATA_RATE as an uint32_t, but we had it as uint8_t.
Fix that to avoid the data rate being truncated.

* fastled: allow specifying data rate

Previously, we've just taken the default data rate from FastLED.
However, that does not always work properly. In my case, I had a
slow level shifter that couldn't keep up with the 1 MHz data
rate default for WS2801. Long cabling might also be a reason why
one might want to reduce the data rate.

This will add a new optional "data_rate" config option where one
may specify the desired data rate as a frequency:

  light:
    - platform: fastled_spi
      chipset: WS2801
      data_pin: GPIO23
      clock_pin: GPIO22
      data_rate: 500kHz
      num_leds: 178
2020-11-02 07:45:21 +13:00
Jesse Hills
20dd744680
Add on_clockwise and on_anticlockwise triggers to rotary encoder (#1330) 2020-11-02 06:24:26 +13:00
Frank Bakker
e4636b99f7
Pulse_counter measure total pulses (#1173)
* Draft Pulse_count_total

* Added check if Total sensor is present

* fix lint errors

* fix lint

* Update esphome/components/pulse_counter/sensor.py

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

Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-11-01 20:45:26 +13:00
Tom Price
10e7abb579
Add support for WPA2-EAP enterprise WiFi to ESP8266s. (#1332)
* Add support for WPA2-EAP enterprise WiFi to ESP8266s.

This is fundamentally the same as on ESP32s only with different function names.

Update config checker to remove requirement for ESP32 for EAP authentication.

* Fix indent for clang
2020-11-01 20:40:18 +13:00
Alone
d3f03b7acb
add illuminance for xiaomi_mjyd02yla (#1299)
* add illuminance for xiaomi_mjyd02yla

* add illuminance for xiaomi_mjyd02yla
2020-11-01 17:24:41 +13:00
Rob Deutsch
7e53fc9d6a
Fixed CLIMATE_SWING_HORIZONTAL typo (#1340) 2020-10-31 20:27:40 -03:00
Jesse Hills
0059a6de46
Pn532 upgrades (#1302)
* Move pn532 -> pn532_spi
Add pn532_i2c

* Update i2c address

* Always wait for ready byte before reading

* Generalise the pn532 a bit more so less code in i2c and spi implementations

* clang

* Add pn532_i2c to test1

* Try to get setup working

* Fixes

* More updates

* Command consts

* A few upgrades

* Change text back to include 'new'

* Fix data reading
2020-10-31 19:55:48 -03:00
Jesse Hills
22e1758d5b
Add new codeowners (#1335)
* Add codeowner for tmp102

* Add codeowner for mcp9808
2020-10-28 06:56:41 +13:00
Guillermo Ruffino
59cdc32970
Add rc522 (#1298)
* wip

* first working

* feat complete

* add CODEOWNERS

* renamed to spi, reset optional

* add test

* fix CODEOWNERS
2020-10-27 12:41:57 +13:00
Harald Nagel
adb51cf733
Add MCP9808 temperature sensor (#1169)
* Add MCP9808 temperature sensor

* Change from component to sensor; code fixes

- Change from component to sensor
- Change magic numbers to constants

* Fix incorrect logging levels

* Add precision to debug log

* Fix logging level

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

* Fix bug with comparison to NAN

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-10-27 07:24:26 +13:00
Tim Savage
d97a9bf8e8
Added tmp102 temperature sensor support (#929)
* Added tmp102 temperature sensor support

* Added sensor to test3.yaml

* Moved docstring to component root

* Tweak formatting from clang-format script

* Removed extra newline at the end of the file to satisfy pylint

* Update schema to match that of other single-value sensors

In ESPHome, sensors that only expose one value do not put the sensor under another key.

* Add missing import

* Fix test after structural change to component

* removed unused setting

* Update esphome/components/tmp102/tmp102.cpp

Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-10-27 07:00:43 +13:00
Alexander Leisentritt
f034472e2a
Add LYWSD02 battery sensor (#1334)
* add battery sensor for lywsd02

* update test
2020-10-27 06:53:17 +13:00
ikatkov
9cd21bb5a0 AQICalculator is off by 1 (#1331)
Co-authored-by: Igor Katkov <ikatkov@atlassian.com>
2020-10-22 23:54:40 -03:00
Marvin Gaube
2c71ee7853 Fix RGBW color-interlock control (#1325) 2020-10-22 23:46:37 -03:00
Alexander Leisentritt
540c62061d Fix Xiaomi merged packet parsing (#1293)
* Fix Xiaomi merged packet parsing

solves #1500

* renamed variables and updated payload and value checking

* renamed function and parameter

* add function to header

* changed log message
2020-10-22 23:46:35 -03:00
MartinWelsch
221ef07c8b Fix Light Trigger (#1308)
* make LightTransitionTransformer publish at end

* adjust on trigger + cleanup

* add target_state_reached_callback_

* fix format

* revert publish_at_end change

* fix bug for rapid on/off switching + remove debug logging

* formatting

* call state reached callback when no transition

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-10-22 23:46:34 -03:00
Samuel Sieb
29fc7ea154 Fix max7219digit chip_rotation: 180 (#1321)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2020-10-22 23:46:32 -03:00
ikatkov
7b157aeff1
AQICalculator is off by 1 (#1331)
Co-authored-by: Igor Katkov <ikatkov@atlassian.com>
2020-10-22 23:33:12 -03:00
Marvin Gaube
c9caf44c2e
Fix RGBW color-interlock control (#1325) 2020-10-15 09:48:12 -03:00
Alexander Leisentritt
0c87a9ad2c
Fix Xiaomi merged packet parsing (#1293)
* Fix Xiaomi merged packet parsing

solves #1500

* renamed variables and updated payload and value checking

* renamed function and parameter

* add function to header

* changed log message
2020-10-12 23:06:09 -03:00
MartinWelsch
4988349677
Fix Light Trigger (#1308)
* make LightTransitionTransformer publish at end

* adjust on trigger + cleanup

* add target_state_reached_callback_

* fix format

* revert publish_at_end change

* fix bug for rapid on/off switching + remove debug logging

* formatting

* call state reached callback when no transition

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-10-10 22:50:53 -03:00
Samuel Sieb
e35d56defe
Fix max7219digit chip_rotation: 180 (#1321)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2020-10-06 10:15:40 +13:00
Ash McKenzie
5c86f332b2
Add new time.has_time condition (#1255) 2020-10-04 17:22:28 +02:00
dubit0
002861f13b
Float output: Fix min_power and max_power adjusting when output is inverted (#1250)
This patch fixes faulty behaviour when both, invert and min_power/max_power
are set for a float output (e.g. PWM). The current code scales the output
level to the range [min_power, max_power] and subsequently inverts the value.
This leads to values that are outside the range [min_power, max_power].

This patch fixes the problem by inverting the requested level first and then
scaling it to the interval [min_power, max_power].

Co-authored-by: Thomas Niederprüm <niederp@physik.uni-kl.de>
2020-10-01 19:55:42 -03:00
James Gao
dbec3d7c50
Typo in the pm2.5 grid (#1311)
The incorrect pm2.5 grid results in incorrect AQI values in the 51-100 range.
2020-10-01 19:47:29 -03:00
Ivo-tje
89cde158d6
Table row wasn't closed (#1310)
Co-authored-by: Ivo <ivo-gitlab@schooneman.net>
2020-10-02 07:00:00 +13:00
buxtronix
d7b76aadb2
Support Daikin horizontal swing (#1247)
Co-authored-by: Ben Buxton <bb@cactii.net>
2020-10-01 11:24:55 -03:00
rspaargaren
0ccfdd4711
Enable reverse display of the Max7219 digit (#1234)
* add reverse option

* Update max7219digit.cpp

adding space for formatting

* Update esphome/components/max7219digit/display.py

Copy past error...

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

Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-09-28 06:17:28 +13:00
Florian Gareis
0e59243b83
Replace CENTER_LEFT with TOP_LEFT to match other printf function (#1295) 2020-09-26 22:02:13 +12:00
Kevin Pelzel
01bbd04a5a
Add Fan and Swing Support to fujitsu-general Component (#1287)
* Added fan and swing support to fujitsu-general

* fixed formatting
2020-09-24 00:07:51 -03:00
Luke Fitzgerald
704470d606 fix(remote_receiver): Add missing pin setup for ESP32 (#1252) 2020-09-20 11:30:25 -03:00
Jesse Hills
f7e6195466 Readds the battery level for xiaomi_hhccjcy01 (#1288) 2020-09-20 11:30:24 -03:00
Jesse Hills
a0bb7c3ed0 Adds new homeassistant.tag_scanned action (#1281) 2020-09-20 11:30:22 -03:00
Luke Fitzgerald
e3a6c9a6cf
fix(remote_receiver): Add missing pin setup for ESP32 (#1252) 2020-09-19 23:40:33 -03:00
Jesse Hills
99598d87a9
Readds the battery level for xiaomi_hhccjcy01 (#1288) 2020-09-19 23:37:34 -03:00
EmbeddedDevver
b5df50893b
Update max31855.cpp (#1273)
line 47: mem 

It's valid to have mem value of zero (0) when the temperature of the IC and the k-probe equals exactly zero degrees.
2020-09-16 12:41:29 +02:00
Jesse Hills
703e9673c2
Adds new homeassistant.tag_scanned action (#1281) 2020-09-16 12:29:20 +02:00
dependabot[bot]
e7bd93b4b0
Bump pylint from 2.5.3 to 2.6.0 (#1262)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-09-16 12:12:40 +02:00
Jesse Hills
1d06426281 Adds support for Tuya Climate temperature multiplier (#1276)
* Adds support for temperature multiplier

* Add new multiplier to test file

* Remove import

* Fixes
2020-09-14 21:39:04 -03:00
akoivist
9c5b693dd5 Fix for Ruuvi voltage parsing of RAWv2 format (#1267)
Power_info should be 2 bytes, so changed uint8 to uint16. With uint8 voltage is always reported to be near 1.6V.
2020-09-14 21:39:03 -03:00
Guillermo Ruffino
5fecc70db1 fix sntp timezone (#1266) 2020-09-14 21:39:01 -03:00
Jesse Hills
ff24023b39
Adds support for Tuya Climate temperature multiplier (#1276)
* Adds support for temperature multiplier

* Add new multiplier to test file

* Remove import

* Fixes
2020-09-14 19:33:37 -03:00
Guillermo Ruffino
ff90f6a440 Merge branch 'beta' into bump-1.15.0 2020-09-13 14:18:19 -03:00
akoivist
e24d5c172f
Fix for Ruuvi voltage parsing of RAWv2 format (#1267)
Power_info should be 2 bytes, so changed uint8 to uint16. With uint8 voltage is always reported to be near 1.6V.
2020-09-01 19:17:15 -03:00
Guillermo Ruffino
0918f452a0
fix sntp timezone (#1266) 2020-09-01 19:15:26 -03:00
Keith Burzinski
228670df78 Fix SSD1306 post-setup brightness control (#1090)
* Fix post-setup brightness control

* Add turn_on() and turn_off() methods

* Added is_on() method

* Set brightness later in setup()

* Use clamp() for brightness validation
2020-08-23 21:53:46 -03:00
Guillermo Ruffino
cfe4638665 fixes deg symbol not shown (#1248) 2020-08-23 21:53:45 -03:00
Guillermo Ruffino
b7352b1345 Image bit dephts (#1241) 2020-08-23 21:53:43 -03:00
Guillermo Ruffino
86df4c1d8d make powered on assume public (#1240) 2020-08-23 21:53:40 -03:00
Jesse Hills
dc4a88029c Script mode fix (#1238) 2020-08-23 21:53:38 -03:00
Otto Winter
5da9b2ede7 Fix tuya.cpp compile warning (#1232) 2020-08-23 21:53:37 -03:00
Otto Winter
29cfcfaf0f Fix ESP8266 core has a broken settimeofday implementation (#1231) 2020-08-23 21:53:36 -03:00
Otto Winter
61bfd347ea Bump ESPAsyncTCP from 1.2.2 to 1.2.3 (#1227) 2020-08-23 21:53:34 -03:00
Keith Burzinski
69f5d8cd0f
Fix SSD1306 post-setup brightness control (#1090)
* Fix post-setup brightness control

* Add turn_on() and turn_off() methods

* Added is_on() method

* Set brightness later in setup()

* Use clamp() for brightness validation
2020-08-23 20:36:11 -03:00
Guillermo Ruffino
9a57e8fcb0
fixes deg symbol not shown (#1248) 2020-08-13 23:21:19 -03:00
Guillermo Ruffino
a9d75ca4f4
Image bit dephts (#1241) 2020-08-11 15:28:30 +02:00
Guillermo Ruffino
aad9a539c1
make powered on assume public (#1240) 2020-08-06 17:13:19 +02:00
Jesse Hills
fd6ac529fb
Script mode fix (#1238) 2020-08-06 17:08:48 +02:00
Otto Winter
009cea1abf
Fix tuya.cpp compile warning (#1232) 2020-07-30 17:26:40 +02:00
Otto Winter
4c3c14ec32
Fix ESP8266 core has a broken settimeofday implementation (#1231) 2020-07-30 11:41:06 +02:00
Otto Winter
636c9db1e3
Bump ESPAsyncTCP from 1.2.2 to 1.2.3 (#1227) 2020-07-30 11:38:57 +02:00
dr-oblivium
44af5e439c
wpa2 enterprise fixes: also copy eap parameters, don't require psk password to be set (#1215) 2020-07-29 20:05:22 +02:00
Otto Winter
dbc0d500d8
Bump ESPAsyncWebServer-esphome to v1.2.7 (#1221) 2020-07-29 20:05:21 +02:00
Emil Hesslow
86736aa480
Stop infinite loop in light on_turn_on (#1219)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-29 20:05:21 +02:00
Guillermo Ruffino
f6fe6e6bff
renamed icon molecule co2 (#1217)
* renamed icon molecule co2

* sort of course
2020-07-29 20:05:20 +02:00
dr-oblivium
2697c9465b
wpa2 enterprise fixes: also copy eap parameters, don't require psk password to be set (#1215) 2020-07-29 18:18:53 +02:00
Otto Winter
8d204655be
Bump ESPAsyncWebServer-esphome to v1.2.7 (#1221) 2020-07-29 12:57:43 +02:00
Emil Hesslow
36e4a8b444
Stop infinite loop in light on_turn_on (#1219)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-29 09:13:51 +02:00
Guillermo Ruffino
a6f6b8da7f
renamed icon molecule co2 (#1217)
* renamed icon molecule co2

* sort of course
2020-07-28 15:17:24 -03:00
Otto Winter
a32b58fdf1
Downgrade FastLED to 3.3.2 (#1212)
Fixes https://github.com/esphome/issues/issues/1375
2020-07-28 12:15:41 +02:00
Otto Winter
2d50ecbecf
Fix prometheus has wrong setup priority (#1211)
Fixes https://github.com/esphome/issues/issues/1377
2020-07-28 12:15:40 +02:00
Gediminas Šaltenis
87f1ffec05
Fix AS3935 sensor configuration issues (#1210)
* Fix AS3935 coniguration

* Increase verbosity
2020-07-28 12:15:40 +02:00
Otto Winter
f0dfde9fa1
Fix base config should override packages config (#1209) 2020-07-28 12:15:40 +02:00
Otto Winter
e36dc2d05e
ESP8266 change recommended framework version to 2.7.2 (#1208) 2020-07-28 12:15:39 +02:00
Otto Winter
08c8fa2c90
Mitigate CVE-2020-12638 WiFi WPA Downgrade (#1207)
Co-authored-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-07-28 12:15:39 +02:00
Otto Winter
fe6621357e
Downgrade FastLED to 3.3.2 (#1212)
Fixes https://github.com/esphome/issues/issues/1375
2020-07-28 12:10:55 +02:00
Otto Winter
4a0067a2c5
Fix prometheus has wrong setup priority (#1211)
Fixes https://github.com/esphome/issues/issues/1377
2020-07-28 12:01:38 +02:00
Gediminas Šaltenis
b270ff335d
Fix AS3935 sensor configuration issues (#1210)
* Fix AS3935 coniguration

* Increase verbosity
2020-07-28 10:34:42 +02:00
Otto Winter
7d2fcf59fd
Fix base config should override packages config (#1209) 2020-07-27 18:23:00 +02:00
Otto Winter
d26c43103d
ESP8266 change recommended framework version to 2.7.2 (#1208) 2020-07-27 18:22:47 +02:00
Otto Winter
389889ad70
Mitigate CVE-2020-12638 WiFi WPA Downgrade (#1207)
Co-authored-by: Lukas Bachschwell <lukas@lbsfilm.at>
2020-07-27 18:22:38 +02:00
Otto Winter
e898345ff1
Cleanup web server prometheus integration (#1192) 2020-07-27 12:10:06 +02:00
dependabot[bot]
9483a9c8c4
Update cryptography requirement from <3,>=2.0.0 to >=2.0.0,<4 (#1206)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-27 12:10:05 +02:00
Otto Winter
52639a0a7c
Cleanup web server prometheus integration (#1192) 2020-07-27 12:07:05 +02:00
dependabot[bot]
27d4b3b8ad
Update cryptography requirement from <3,>=2.0.0 to >=2.0.0,<4 (#1206)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-27 11:43:10 +02:00
Otto Winter
9c0e463698
Fix bad merge for UART 2020-07-26 22:48:50 +02:00
Otto Winter
312958c573
Merge branch 'dev' into bump-1.15.0b1 2020-07-26 22:12:53 +02:00
Otto Winter
65a489ebdd
Revert "Added auto discovery and setup to Dallas Platform (#1028)" (#1189)
This reverts commit 021055f0b8.
2020-07-26 15:43:10 +02:00
Keith Burzinski
bd392e2efc
Fix set point logging issue (#1201) 2020-07-26 14:34:11 +02:00
Jesse Hills
25ad33a377
Add @jesserockz to codeowners (#1202)
Co-authored-by: Otto Winter <otto@otto-winter.com>
2020-07-26 14:33:16 +02:00
Guillermo Ruffino
8215a018e9
Add @glmnet components (#1200) 2020-07-25 22:19:13 +02:00
Guillermo Ruffino
f6e3070dd8
rtttl player (#1171)
* rtttl player

* fixes

* Cleanup, add action, condition, etc.

* add test

* updates

* fixes

* Add better error messages

* lint
2020-07-25 12:57:11 -03:00
Otto Winter
4996967c79
Add CODEOWNERS mechanism (#1199) 2020-07-25 15:57:18 +02:00
Otto Winter
0fc8e8d483
Fix SN74HC595 doesn't use ESPHome HAL and add lint checks for it (#1188) 2020-07-25 14:22:56 +02:00
Otto Winter
32efa5d83e
New script modes POC (#1168)
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-07-25 14:20:51 +02:00
Otto Winter
275c12150e
Partially revert make SPI CS pin optional (#1187) 2020-07-25 14:05:31 +02:00
Otto Winter
62468198d6
Clean up UART Improvements code (#1190) 2020-07-25 13:56:08 +02:00
Otto Winter
43d5e7a8cc
Fix WLED minor issues (#1193) 2020-07-24 22:37:19 +02:00
Otto Winter
7524493c3c
Fix senseair flush input buffer wrong log level (#1194)
See also https://github.com/esphome/esphome/pull/1017/files
2020-07-24 22:36:59 +02:00
Otto Winter
f3d5d27c8f
WPA2 Enterprise Attempt 2 (#1158) 2020-07-24 15:40:05 +02:00
Otto Winter
2e1d14b8b1
Bump NeoPixelBus from 2.5.2 to 2.5.7 (#1165) 2020-07-24 10:10:40 +02:00
Frank Bakker
a5e1f8fe19
Fixed type mismatch between result_ field and preference of integration sensor (#1178) 2020-07-23 23:40:40 +02:00
dr-oblivium
1b2de953d0
Fix Home Assistant API disconnects when using st7789v display. (#1179) 2020-07-23 23:40:30 +02:00
Víctor Ferrer García
f29622abe1
Fix rf_bridge send and receive (#1180)
* Fix rf_bridge send and receive

* rf_bridge clang-format changes

* rf_bridge pased data bug fix

* rf_bridge logvv included for parsed data
2020-07-23 10:27:22 -03:00
Nikolay Vasilchuk
10e411f8c1
http_request fix urls caching (#1174)
* Fix cache

* CI Fix

Co-authored-by: Nikolay Vasilchuk <nikolay.vasilchuk@corp.mail.ru>
2020-07-21 17:26:21 -03:00
Wilhelm Erasmus
6405799cc2
fix(cover yaml validation): adds gate to coincide with Home Assistant (#1175)
Co-authored-by: Wilhelm Erasmus <iam@erasmuswill.dev>
2020-07-20 18:09:04 -03:00
Otto Winter
4752096520
Don't remove location information for packages (#1133) 2020-07-15 15:27:24 +02:00
Otto Winter
1254ec2849
Fix Waveshare 7.50inV2 (#1143)
See also https://github.com/esphome/esphome/pull/1077
2020-07-15 13:50:35 +02:00
Samuel Sieb
13696b1ec4
add mqtt speed topics for fan (#1140)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
2020-07-15 11:45:54 +02:00
Otto Winter
17b55fc23d
Tuya Sensor remove commented out code (style guide) (#1132) 2020-07-14 19:00:01 +02:00
Otto Winter
e20c994b82
Fix adding another mbedtls (#1131) 2020-07-14 18:59:48 +02:00
Otto Winter
465cd3d1f9
Add exposure notifications (#1135) 2020-07-14 18:47:17 +02:00
Otto Winter
412351fd1e
Use inclusive terminology (#1137) 2020-07-14 18:45:42 +02:00
Peter Kuehne
5776e70d7c
Bug/fix internal flag in binary sensor (#1136) 2020-07-14 17:59:03 +02:00
Carlos Gustavo Sarmiento
351ecf9bd4
Allow updating pid control params (#1115) 2020-07-13 22:30:17 +02:00
Dmitry Berezovsky
e6f42fa6f0
Packages feature (#1052)
* Started to work on packages feature

* Added some more validation to packages config

* Fixed some linter warnings

* Updated tests

* Reordered consts to avoid linter error

* Reordered consts to avoid linter error

* Refactored test yaml files to integrate into existing test pipeline

Co-authored-by: Dmitry Berezovsky <dmitry.berezovsky@logicify.com>
2020-07-13 11:45:06 -03:00
Joppy
582ac4ac81
Add support for Toshiba heat pumps (#1121)
The IR signals are based on captures from the WH-H01EE remote
controller.

Both transmit and receive are supported.
2020-07-13 09:23:53 -03:00
vxider
5d136a18af
brightness support for nextion (#1109) 2020-07-12 15:12:28 -03:00
Paul Deen
c8998941a5
Add 7.5inch v2 waveshare (#1077)
* Added 7.5inchV2

* Added 7.5inV2

* Added 7.5inch_V2

* fixed Display function

* Inverted bytecode

Added ~() to invert the bytecode and make the screen look black text on white background

* Hoping to keep Travis happy with blank lines

* more travis hacking

* travis happy?

* wow

* gfhj
2020-07-11 20:03:13 -03:00
Wauter
e41ea42074
feature request 398 add 'hide timestamp' option for version text sensor (#1085)
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-07-11 19:55:30 -03:00
Jesse Hills
ed5f207eba
Add support for Tuya Binary Sensors (#1089)
* Add Tuya binary sensor

* Add tuya binary sensor to test4

* Fix copy/paste

* Forgot id
2020-07-11 19:50:41 -03:00
Jesse Hills
a76b8e745b
Add support for Tuya Sensors (#1088)
* Add Tuya sensor

* Add tuya sensor to test4

* Forgot id
2020-07-11 19:46:10 -03:00
Jesse Hills
68d29c5af5
Add support for Tuya Climate devices (#1076)
* Start support for tuya climate devices

* Add tuya climate to test4

* Fix lint and cast

* Remove blank line

* Try to display accurate action based on observed behaviour.

* Fix action when in off mode

* Improve config dump

* merge use of CONF_SWITCH_DATAPOINT

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-07-11 19:04:34 -03:00
Samuel Sieb
c3acf08c02
fix script.wait action (#1120)
Co-authored-by: Samuel Sieb <samuel@sieb.net>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-07-11 18:32:10 -03:00
Jesse Hills
ef9e6e4d6e
Add support for Tuya Switches (#1074)
* Add tuya component to test4.yaml

* Add support for tuya switches

* Better config dump
2020-07-11 17:52:29 -03:00
Guillermo Ruffino
f3158c8b24
fixes script wait not waiting (#1123) 2020-07-11 17:33:25 -03:00
Guillermo Ruffino
ec026ab3a8
Revert "Add ESP32 support for WPA2-EAP Enterprise WiFi authentication (#1080)" (#1117)
This reverts commit c693c219f4.
2020-07-10 17:36:29 -03:00
Keith Burzinski
417a3cdf51
Add SSD1351 OLED display support (#1100)
* Add SSD1351 display support

* Linting round 2

* Updated/rebased for proper Color support

* Fix color image processing
2020-07-09 23:49:26 -03:00
Keith Burzinski
7fa98e288f
SSD1325 grayscale support (#1064)
* SSD1325 grayscale support implemented

* Linted

* Fix garbage on display at power-up

* Rebase

* Linted

* Add brightness control, CS fixes

* Fix up SSD1327 init

* Add turn_on() and turn_off() methods

* Set brightness later in setup(), logging tweak

* Added is_on() method

* Added  grayscale image support

* Updated to use Color, 1327 GS fix
2020-07-09 21:53:49 -03:00
Tom Price
c693c219f4
Add ESP32 support for WPA2-EAP Enterprise WiFi authentication (#1080)
* Add config generation and validation to support various WPA2-EAP authentication methods.

Config generate validates that all the required parameters are set in valid combinations.
In the event of EAP-TLS, the private key is matched to the certificate to check for pasting errors.

Add EAPAuth struct to header.
Add eap_auth property to WiFiAP with getters/setters.

* Add C++ code for setting WPA2-EAP authentication.

* Fix config for x509 EAP-TLS authentication.

* Fix a few linting issues.

* Fix a couple more linting issues that only showed up in CI

* Remove stray character.

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-07-09 21:35:35 -03:00
peq123
e5d4e12457
RGBWW - added channel interlock for RGB vs white (#1042)
* Update light_color_values.h

* Update light_color_values.h

* Update light_color_values.h

* Update light_color_values.h

* colour relative to white value

* Update light_state.cpp

* Update light_state.cpp

* Update light_state.cpp

* Update light_state.cpp

* Update light_color_values.h

* Update light_state.cpp

* linting

* Update light_state.cpp

* Update light_color_values.h

* more lint

* more lint

* Update light_state.cpp

* Update light_state.cpp

* Update light_state.cpp

* add optional interlock

* Update test1.yaml

* Update light_state.cpp

* Update light_state.h

* interlock

* optional interlock.

* interlock as trait

* color interlock as trait

* optional color interlock....

* optional color interlock

* Update light_color_values.h

* Lint checks....

* making travis happy

* making sure gamma_correct fix is included

* Update light_color_values.h

* making travis happy

* clang-format

* Code tidy

* Update light_color_values.h

* Update light_color_values.h
2020-07-09 20:29:44 -03:00
Carlos Gustavo Sarmiento
33212d1abf
Add Integral Reset Action to PIDClimate (#1104) 2020-07-09 20:25:46 -03:00
Guillermo Ruffino
6873f09f57
Fix ethernet logging too many warn messages (#1112) 2020-07-08 15:25:32 -03:00
Guillermo Ruffino
382793de9a
unpin mbedtls version (#1114) 2020-07-08 12:29:16 -03:00
Keith Burzinski
d4e76185bd
Thermostat component (#1105)
* Add thermostat component

* Add hysteresis accessor

* Linted

* Fixed up const.py and test

* Fix test...again...oops
2020-07-01 22:38:51 -03:00
vxider
8566dd9100
use default avg mode (#1102) 2020-07-01 22:36:36 -03:00
Guillermo Ruffino
f479eae714
Revert "Climate bang bang enhancements (#1061)" (#1106)
This reverts commit 0082c5b459.
2020-07-01 14:08:55 -03:00
Andrew Zaborowski
2f07225984
Fix: Component script not stopped in certain situations (#1004)
* Move stop/is_running implementation to Action base class

Try to fix issue #1105.  Until now if an UpdateComponentAction, a
LambdaAction, or any action that can contain those inside their
"else" or "then" action lists, resulted in a call to script.stop on
the script that contains them, the script would continue running,
because they didn't implement a stop() method.  Basically only
the asynchronous ones did: DelayAction, WaitUntilAction and
ScriptWaitAction.

With this change num_running_ in Action replaces
DelayAction::num_running_ and WaitUntilAction::triggered_ to provide
the same is_running logic to other actions.

* Make some Action methods protected

Apparently play()/stop() etc. are not meant to be called directly by
users of the class and if they're called directly that would not give
the expected result for the classes that have an empty play().

Make all methods except play_complex, stop_comples and is_running
protected.  While there also make RemoteTransmitterActionBase::encode
protected.

* lint

* format

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-28 19:44:15 -03:00
vxider
78633c5768
fix calibration (#1103) 2020-06-28 18:59:22 -03:00
vxider
c041cc483c
fix shunt voltage / current / power reading in INA3221 (#1101)
* fix shunt voltage / current / power reading in INA3221

* support nagetive shunt voltage reading

* fix loss of precision
2020-06-28 18:50:20 -03:00
rspaargaren
83a12d980e
Vl53 long range (#1055)
* Update vl53l0x_sensor.cpp

Changed values for long range support

* added true / false option for long range detection

* debug missing ,

* further debug option long_range

* Travis updates

* added travis tests

* Travis removed space should be good now

* update to trigger travis again

* added old test files for PR

* added vl5310x sensor for compile testing

* fix variable names

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-28 18:47:43 -03:00
Keith Burzinski
491f7e96f0
Add support for ST7789V display module (as on TTGO T-Display) (#1050)
* TFT-LCD ST7789V of ESP32 TTGO.

This patch allows you to use TFT-LCD ST7789V of ESP32 TTGO

* Lots of polish and a few tweaks

* Add test

* Add color to core, take 1

* Where did those tabs come from?

* Fix lines too long

* Added color component

* Linted

* Rebase, SPI fix, test

* Shuffle bits

* One more thing...oops

* Image type fix...oops

* Make display_buffer use Color

* Fix BGR/RGB, remove predefined colors

* Fix all the things

* renamed colors to color

* migrate max7219

Co-authored-by: musk95 <musk95@naver.com>
Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-28 18:37:36 -03:00
rspaargaren
bfb9cb6732
Max7219 in Dot Matrix configuration (#1053)
* push final files

* Update max7219digit.cpp

reenter small bug fix on uint8 declaration

* small debug

* set max offset to 100

* remove unwanted file

* Update font file to make travis happy

* travis update

* further progress in keeping Yarvis happy

* travis font

* travis will never be satisfied but one step ahead

* YARVIS TAKE 10000000

* never ending yarvis

* Almost there with Yarvis

* removed double declaration YARVIS

* added namespace to font file (TRAVIS)

* almost there last changes for YARVIS

* further travis updates

* removed files for travis

* fix display.py length of line travis remark

* further update on display.py

* file delete travis requirement

* final entry for travis?

* Some further debug on max offset

* Travis updates

* scroll_left_new

* 90degreesrotate

* added option to config rotate90

* four orientations for the chips

* new setup for scroll

* replaced small bug missing {}

* debug changed int8 to int16 on scroll function

* removed small merge failure

* travis updates round 1

* travis updates round 2

* travis details round 3

* added options to set scroll parameters in yaml conf

* removed ttf and png to satisfy travis

* travis update

* travis updates

* travis

* further updates after input from @glmnet

* remove deleted comments

* Added ENUM TYPE to config file

* change in test file

* removed test files

* updates for pull request

* Typing error removed

* travis update

* PR updates travis

* Update test3.yaml

* Update test3.yaml

* update device schema as per #988

* Delete partitions.csv

* repair on image display and invert routine

* further update and a bit of cleanup

* added writing 0 in draw pixel

* small deletion error

* travis updates

* Update max7219digit.cpp

adding intensity value to dynamically set value

* Update max7219digit.h

adding option for intensity

* remove some files from tests
2020-06-28 17:33:06 -03:00
phjr
3c9712d683
add support for SN74HC595 shift register (#1083)
* add support for SN74HC595 shift register

* fix linter errors

* more linter reported issues fixed

* hopefully last linter error cleanup

* one more linter fix

* looks like the linter is always keeping stuff for later, is this the final fix?

* add test

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-27 19:08:15 -03:00
buxtronix
ca4107d450
Release BT controller unused memory in the right place (#1095) 2020-06-27 18:06:13 -03:00
buxtronix
148f5d9418
ESP32: Conditionally log on services to avoid OOM crashes (#1098)
Also removed new line formatting tidy as it requires a bit of memory which might not be available.


* Use suitably scoped char for log newline stripping

* fix formatting

* Better fix for OOM logging crash

* Limit to ESP32 only

* format changes
2020-06-26 19:13:23 -03:00
square99
82d5d50d61
Add LG Climate IR (#1097)
* Add LG Climate ir

* Add LG Climate IR

* Add LG Climate IR

* Add LG Climate IR

* Add LG Climate IR

* Add LG Climate IR

* Add LG Climate IR

Co-authored-by: Sangheon Heo <square99@SangHeonui-Macmini.local>
2020-06-21 22:29:43 -03:00
Alex Mekkering
ecb1c77f8b
Add support for command-line substitutions (#1014)
* Add support for command-line substitutions

* Fix flake8

* pylint fixes
2020-06-21 15:33:01 -03:00
Lukas Klass
04e6f475b4
Fix decode and encode for RC5-protocol (#1047)
* Fix receive and transmit for RC5-protocol

Receive did not work as a sequence of two high or low puleses are detected as one long pulse. Transmit was extended to respect the field bit in order to enable codes up to 127.

* Fix code formatting
2020-06-18 19:50:58 -03:00
Keith Burzinski
0082c5b459
Climate bang bang enhancements (#1061)
* Add fan support to bang bang controller

* Fix heat-only and cool-only modes

* Added support for all climate actions and modes

* Fix up some comments

* Fan_only mode behavior tweak

* Updated test

* Updated test, take 2

* Add accessor methods for easier use in lambadas

* Revert "Add accessor methods for easier use in lambadas"

This reverts commit f15713129cd5587242a08ad1e2ee37cbf075aa03.

Don't code late at night when sleepy.

* Fix single/dual setpoint support

* Linted

* Properly implement single-point, validation improvements

* Another quick fix...sigh

* Update tests

* Update tests, take 2

* Revert "Update tests, take 2"

This reverts commit 71bb7fccc53d95a7d221e80ea0a931fb3cfd9a0c.

Nope.

* Revert "Update tests"

This reverts commit 42044291efaaf09858f29ab27bbc3aa9e8b80ee9.

Nope 2.

* Updated/fixed tests

* Revert "Updated/fixed tests"

This reverts commit a1a5b1c7db9a240b9da668b6e48abe1dd7910777.

Taking a different approach.

* Revert "Another quick fix...sigh"

This reverts commit 6b1955724a2de3c2d1534ec206dd5794bbb5f568.

Taking a different approach.

* Revert "Properly implement single-point, validation improvements"

This reverts commit f5bfff099e1dc58edd3898da8655c147adde2301.

Taking a different approach.

* Single/dual set point fixes, full validation

* Fix test

* Fix restore-on-boot, clean up comments

* Decouple two-point/auto operation, more polish

* One last away mode tweak

* Added set point validation

* Clean up over-publishing, always call action after boot

* Add fan support to bang bang controller

* Fix heat-only and cool-only modes

* Added support for all climate actions and modes

* Fix up some comments

* Fan_only mode behavior tweak

* Updated test

* Updated test, take 2

* Add accessor methods for easier use in lambadas

* Revert "Add accessor methods for easier use in lambadas"

This reverts commit f15713129cd5587242a08ad1e2ee37cbf075aa03.

Don't code late at night when sleepy.

* Fix single/dual setpoint support

* Linted

* Properly implement single-point, validation improvements

* Another quick fix...sigh

* Update tests

* Update tests, take 2

* Revert "Update tests, take 2"

This reverts commit 71bb7fccc53d95a7d221e80ea0a931fb3cfd9a0c.

Nope.

* Revert "Update tests"

This reverts commit 42044291efaaf09858f29ab27bbc3aa9e8b80ee9.

Nope 2.

* Updated/fixed tests

* Revert "Updated/fixed tests"

This reverts commit a1a5b1c7db9a240b9da668b6e48abe1dd7910777.

Taking a different approach.

* Revert "Another quick fix...sigh"

This reverts commit 6b1955724a2de3c2d1534ec206dd5794bbb5f568.

Taking a different approach.

* Revert "Properly implement single-point, validation improvements"

This reverts commit f5bfff099e1dc58edd3898da8655c147adde2301.

Taking a different approach.

* Single/dual set point fixes, full validation

* Fix test

* Fix restore-on-boot, clean up comments

* Decouple two-point/auto operation, more polish

* One last away mode tweak

* Added set point validation

* Clean up over-publishing, always call action after boot

* Added refresh() function to allow easy on-device state refreshing
2020-06-17 20:16:42 -03:00
MasterTim17
3fd130869e
fix for ESP32 'Association Leave' (#1081) 2020-06-15 21:52:47 -03:00
korellas
d000440927
sgp30 baseline write bug (#1157) (#1078) 2020-06-15 00:41:17 -03:00
rnauber
4fb750de43
ADE7953: Fix dereferencing of a null pointer (#1086)
* ADE7953: Fix dereferencing of a null pointer

The ade7953 driver dereferences a null pointer, when not all of
its sensors are used. This gives an exception like:

Fatal exception:29 flag:2 (EXCEPTION) epc1:0x4020c241 epc2:0x00000000 epc3:0x00000000 excvaddr:0x00000018 depc:0x00000000

* Fix formatting

Co-authored-by: olg <x>
2020-06-15 00:37:15 -03:00
SenexCrenshaw
9632ac0e02
Add MCP3008 I/O Expander (#1057)
* Add MCP3008

* Fixed Travis build issues

* Travis Build Fix

* Fix Travis foramt issues

* Travis fixes

* Code review changes

* Fix bit shift. off by one and selecting wrong pin

* general fixes

* lint

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-14 22:42:46 -03:00
Jim Persson
0bb81e5b2d
Add support for controlling fan direction (#1051)
* Fix fan oscillation trait not being used

* Add fan direction support to SpeedFan

* Add fan direction to API

* Add fan direction support to BinaryFan

* Fix CI errors

* Fix python format

* Change some ordering to trigger CI

* Add test for the configuration
2020-06-14 16:54:31 -03:00
Christian Ferbar
35a2258f12
SenseAir: flush input buffer on read error (#1017)
* SenseAir: flush input buffer on read error

* SenseAir: flush input buffer on read error - fix typo

* SenseAir: flush input buffer on read error - fix formating

* SenseAir: flush input buffer on read error - fix formating2

* SenseAir: flush input buffer on read error - fix formating3

* SenseAir: flush input buffer on read error - fix formating4

* Update esphome/components/senseair/senseair.cpp

* Update esphome/components/senseair/senseair.cpp

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-13 20:26:41 -03:00
Kamil Trzciński
0c0dec2534
Add WLED support (#1092)
A component to support [WLED](https://github.com/Aircoookie/WLED/wiki/UDP-Realtime-Control).
This allows to control addressable LEDs over WiFi/UDP, by pushing data right into LEDs.

The most useful to use [Prismatik](https://github.com/psieg/Lightpack) to create
an immersive effect on PC.

It supports all WLED protocols:
- WARLS
- DRGB
- DRGBW
- DNRGB
- WLED Notifier

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-12 20:50:09 -03:00
Kamil Trzciński
d1b051a6bd
Add Adalight support (#956)
A component to support [Adalight](https://learn.adafruit.com/adalight-diy-ambient-tv-lighting).
This allows to control addressable LEDs over UART, by pushing data right into LEDs.

The most useful to use [Prismatik](https://github.com/psieg/Lightpack) to create
an immersive effect on PC.

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-12 20:34:38 -03:00
Kamil Trzciński
27204aa53c
Add E1.31 support (#950)
This adds a `e131` component that allows
to register `e131` addressable light effect.

This uses an internal implementation that
is thread-safe instead of using external libraries.
2020-06-12 20:17:13 -03:00
Niklas Wagner
8aedac81a5
RGBWW/CCT Lights: Fix gamma_correct when using constant_brightness (#1043) 2020-06-12 15:17:46 -03:00
Evgeny
42007d03d4
AQI calculator for HM3301 (#1011)
* HM3301 AQI calculator

* remove logs

* fixed after lint

* fixed after lint

* fixed after lint

* check NP for AQI sensor

* validation for AQI sensor
2020-06-11 23:14:54 -03:00
igg
821c1a8bbd
making SPI CS optional (#988)
* making SPI CS optional

* CS pin should be declared as optional or required in CONFIG_SCHEMA

* changed SPI_DEVICE_SCHEMA to a function, like i2c

* added spi_device_schema() to pcd8544, lint fixes

* updated max31856 with new spi_device_schema()

* cleanup imports

Co-authored-by: Ilya Goldberg <iggie@mac.com>
2020-06-10 17:03:11 -03:00
Adriaan Peeters
bab562dc3a
Turn off PN532 RF field when not expecting a tag (#1046)
* Turn off PN532 RF field when not expecting a tag

Avoids interference with Wifi connectivity of nearby devices.

* Rename turn_off_rf_ method

* documented off command bytes

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-09 23:23:25 -03:00
Marvin Gaube
f63fd9696f
Add Webserver Prometheus support for sensor, binary sensor, fan, light, cover and switch (#1032) 2020-06-09 22:00:12 -03:00
Kamil Trzciński
cd7af19e7c
Extend uart: with rx_buffer_size: (#1006)
* Extend `uart:` with `rx_buffer_size:`

This allows to configure `rx_buffer_size:`
to efficiently receive big payloads over UART

* lint

* remove old default value

* add test

Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
2020-06-09 21:22:06 -03:00
Otto Winter
072b2c445c
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
2020-06-05 12:56:10 +02:00
Otto Winter
219fe41831
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
2020-06-05 12:55:24 +02:00
Otto Winter
dcc8bb83af
Ignore ESP32 Camera unknown framesizes (#901)
Fixes https://github.com/esphome/issues/issues/866
2020-06-05 12:52:05 +02:00
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