* 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
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>
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.
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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.
* Restructuring of static files directory
* Update jQuery to v3.5.0
* Update jQuery UI to v1.12.1
* Update jQuery Validate to v1.19.1
* Improve login page layout and color scheme
* Updated header & footer colour scheme & added ESPHome logo
* Restructuring of fonts directory
* Restructuring of fonts directory
* Corrected icon reference error
* Update node layout and styling
* Update Ace to v1.4.10
* JS file reorganisation
* Rewrite of LogModal class including refactorization of js & html
* Updated delete node function
* Rewrite of editor modal
* Update Materialize Stepper to v3.1.0
* Updates to the wizard modal
* Added wizard validators back in and removed comments
* Merge old stylesheet into new
* Linting errors
* Fixed dashboard layout issue when no nodes present
* Introduced dynamic 3 column layout for large screens
* Removed unnecessary code
* Update data attribute names
* Added loading indicator to editor
* Open validator websocket on document ready
* Automatically restart validator websocket if it closes
* Minor styling updates
* Improvements to on boarding process
* Node display filename and then path on hover
* Removing console.logs
* Minor styling revisions
* Added toast on begin
* Fix lint
Co-authored-by: Sergio Mayoral Martinez <sergiomayoralmartinez@gmail.com>
* 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
* 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
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.
* 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>
* 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
* climate.daikin: implement remote receive
* climate.daikin: fix temperature value in special modes
* climate.daikin: tweak timing to fit better to ir-remote signal
* climate.daikin: implement remote receive
* climate.daikin: fix temperature value in special modes
* climate.daikin: tweak timing to fit better to ir-remote signal