* 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
* support pin schema
* 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
Add the Lolin32 Lite and TTGO T7 board names so that esphome can be
built for those boards. There's nothing special about them. The
espressif/arduino-esp32 and platformio/platform-espressif32 projects
have both merged definitions for those boards recently.
* 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>
* 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
* 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
* 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
* 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
* show validation source location for id
* show validation source location for lambda
* refactor lambda #line position
* account content offset on made lambdas
* lint
* remove redundant check
* replace delay by delayMicroseconds in delay_microseconds_accurate
* Use delay(0) to let wifi and os function run
* Linting
* Remove unneeded delayMicroseconds, keep it for low usec
* Avoid micros() overflow issue
* replace delay by delayMicroseconds in delay_microseconds_accurate
* Use delay(0) to let wifi and os function run
* Linting
* Remove unneeded delayMicroseconds, keep it for low usec
* Avoid micros() overflow issue
* 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.
* Use #line directives in generated C++ code for lambdas
The #line directive in gcc is meant specifically for pieces of imported
code included in generated code, exactly what happens with lambdas in
the yaml files: https://gcc.gnu.org/onlinedocs/cpp/Line-Control.html
With this change, if I add the following at line 165 of kithen.yaml:
- lambda: undefined_var == 5;
then "$ esphome kitchen.yaml compile" shows the following:
INFO Reading configuration kitchen.yaml...
INFO Generating C++ source...
INFO Compiling app...
INFO Running: platformio run -d kitchen
<...>
Compiling .pioenvs/kitchen/src/main.cpp.o
kitchen.yaml: In lambda function:
kitchen.yaml:165:7: error: 'undefined_var' was not declared in this scope
*** [.pioenvs/kitchen/src/main.cpp.o] Error 1
== [FAILED] Took 2.37 seconds ==
* Silence gcc warning on multiline macros in lambdas
When the \ is used at the end of the C++ source in a lambda (line
continuation, often used in preprocessor macros), esphome will copy that
into main.cpp once as code and once as a // commment. gcc will complain
about the multiline commment:
Compiling .pioenvs/kitchen/src/main.cpp.o
kitchen.yaml:640:3: warning: multi-line comment [-Wcomment]
Try to replace the \ with a "<cont>" for lack of a better idea.
* 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>
* 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>