* Prevent underscore character being used in 'name'.
* Restrict underscores in hostnames, not all names.
* Use hostname validator for node name.
* Allow underscore in hostname but warn once.
* Add renaming instructions link to warning.
* Point underscore warning to FAQ section
Co-authored-by: Otto Winter <otto@otto-winter.com>
Co-authored-by: Otto Winter <otto@otto-winter.com>
* 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>
* 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>
* 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.
* 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
* 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>
* 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
* 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>
* 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
* 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>