* 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
* 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
* 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
* 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
* 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 +
* 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
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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.
* 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 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>