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