Proto commits in natelust/esphomeZephyr

These 63 commits are when the Protocol Buffers files have changed:

Commit:8414bb9
Author:J. Nick Koston
Committer:GitHub

Active BLE connection v3 (#4113) Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com> Co-authored-by: Maurice Makaay <account+github@makaay.nl> Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:1203278
Author:Jesse Hills
Committer:GitHub

Send device address type alongside ble advertisements (#4115)

Commit:d874626
Author:Franck Nijhof
Committer:GitHub

Add number device class support (#4042)

Commit:d93f357
Author:Jesse Hills
Committer:GitHub

Send manufacturer name via API (#3938)

Commit:b34d247
Author:Jesse Hills
Committer:GitHub

Send GATT error events to HA (#3884)

Commit:1001d9c
Author:Jesse Hills
Committer:Jesse Hills

Bluetooth Proxy active connections (#3817)

Commit:ed443c6
Author:Jesse Hills
Committer:GitHub

Bluetooth Proxy active connections (#3817)

Commit:c8eb30e
Author:Jesse Hills
Committer:Jesse Hills

Initial bluetooth_proxy support (#3736)

Commit:b854e17
Author:Jesse Hills
Committer:GitHub

Initial bluetooth_proxy support (#3736)

Commit:7f41b7c
Author:Peter Galantha
Committer:Jesse Hills

Add state_class total (#3608) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:aeb81e5
Author:Peter Galantha
Committer:GitHub

Add state_class total (#3608) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:6221f6d
Author:Jesse Hills
Committer:GitHub

Implement Media Player and I2S Media player (#3487)

Commit:e7864a2
Author:Franck Nijhof
Committer:GitHub

Add device class support to Switch (#3012) Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>

Commit:2180360
Author:Keilin Bickar
Committer:GitHub

Add new Lock core component (#2958) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:62f9736
Author:Otto Winter
Committer:GitHub

API: Expect a name for connections (#2533)

Commit:d9513e5
Author:Jesse Hills
Committer:GitHub

Number mode (#2838)

Commit:b5a0e8b
Author:puuu
Committer:GitHub

Implement unit_of_measurement for number component (#2804) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:b32b918
Author:Jesse Hills
Committer:GitHub

Button device class (#2835)

Commit:b5639a6
Author:Jesse Hills
Committer:GitHub

Add support for button entities (#2824)

Commit:3c0414c
Author:Jesse Hills
Committer:GitHub

Add Entity categories for Home Assistant (#2636)

Commit:d8b3af3
Author:Jesse Hills
Committer:GitHub

Expose webserver_port to the native API (#2640)

Commit:be3cb9e
Author:Paul Monigatti
Committer:GitHub

Add EntityBase properties to ESP32 Camera (#2600)

Commit:471b82f
Author:Paul Monigatti
Committer:GitHub

EntityBase Refactor (#2418) * Renamed Nameable to EntityBase (cpp) * Renamed NAMEABLE_SCHEMA to ENTITY_BASE_SCHEMA (Python) * Renamed cg.Nameable to cg.EntityBase (Python) * Remove redundant use of CONF_NAME from esp32_touch * Remove redundant use of CONF_NAME from mcp3008 * Updated test * Moved EntityBase from Component.h and Component.cpp * Added icon property to EntityBase * Added CONF_ICON to ENTITY_BASE_SCHEMA and added setup_entity function to cpp_helpers * Added MQTT component getters for icon and disabled_by_default * Lint * Removed icon field from MQTT components * Code generation now uses setup_entity to setENTITY_BASE_SCHEMA fields * Removed unused import * Added cstdint include * Optimisation: don't set icon if it is empty * Remove icon from NumberTraits and SelectTraits * Removed unused import * Integration and Total Daily Energy sensors now inherit icons from their parents during code generation * Minor comment correction * Removed redundant icon-handling code from sensor, switch, and text_sensor * Update esphome/components/tsl2591/tsl2591.h Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl> * Added icon property to binary sensor, climate, cover, and fan component tests * Added icons for Binary Sensor, Climate, Cover, Fan, and Light to API * Consolidated EntityBase fields in MQTT components Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>

The documentation is generated from this commit.

Commit:ff6bed5
Author:Jesse Hills
Committer:GitHub

Remove last_reset_type and convert all those sensors to TOTAL_INCREASING (#2233)

Commit:4e3b95d
Author:Jesse Hills
Committer:Jesse Hills

Add new total_increasing state-class for Home Assistant 2021.9+ (#2166)

Commit:f0b1405
Author:Jesse Hills
Committer:GitHub

Add new total_increasing state-class for Home Assistant 2021.9+ (#2166)

Commit:1be9bac
Author:Otto Winter
Committer:Jesse Hills

Fix native API log level enum values (#2151)

Commit:9b48ff5
Author:Otto Winter
Committer:GitHub

Fix native API log level enum values (#2151)

Commit:9379649
Author:Jesse Hills
Committer:GitHub

Allow entities to be disabled by default in HA (#2113) Co-authored-by: Otto Winter <otto@otto-winter.com>

Commit:76991cd
Author:Jesse Hills
Committer:GitHub

Add select entities and implement template select (#2067) Co-authored-by: Otto Winter <otto@otto-winter.com>

Commit:5983ccc
Author:Oxan van Leeuwen
Committer:GitHub

Color mode implementation (#2012)

Commit:e19aa3b
Author:Jesse Hills
Committer:Jesse Hills

Adding last_reset_type to sensors that should support it. (#2039)

Commit:3b3297d
Author:Jesse Hills
Committer:GitHub

Adding last_reset_type to sensors that should support it. (#2039)

Commit:dd37a4e
Author:Jesse Hills
Committer:GitHub

Add Number entities (from Home Assistant) (#1971) Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>

Commit:f979782
Author:Oxan van Leeuwen
Committer:GitHub

Change color model to fix white channel issues (#1895)

Commit:1d8c170
Author:Otto Winter
Committer:Jesse Hills

Add climate preset NONE again (#1951)

Commit:d4eb0f1
Author:Otto Winter
Committer:Jesse Hills

Rework climate traits (#1941) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:d0859a7
Author:Otto Winter
Committer:GitHub

Add climate preset NONE again (#1951)

Commit:871c0ee
Author:Otto Winter
Committer:GitHub

Rework climate traits (#1941) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:5cf1823
Author:Jesse Hills
Committer:GitHub

Allow setting creator project name and version into code (#1872)

Commit:ebadaa9
Author:Lumpusz
Committer:GitHub

Add preset, custom_preset and custom_fan_mode support to climate (#1471) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:11fb54c
Author:Franck Nijhof
Committer:GitHub

Add support for Sensor state class (#1835) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:5645be4
Author:Franck Nijhof
Committer:GitHub

Add attribute support to Home Assistant sensors (#1770) Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Commit:7708b81
Author:Jim Ekman
Committer:GitHub

Support fan speed levels (#1541) * 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.

Commit:f95be6a
Author:marecabo
Committer:GitHub

Device class attribute for sensor component (#1525) * 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

Commit:57d6185
Author:Justin Gerhardt
Committer:GitHub

Correct Native API Wire Format Documentation (#1528)

Commit:7e53fc9
Author:Rob Deutsch
Committer:GitHub

Fixed CLIMATE_SWING_HORIZONTAL typo (#1340)

Commit:0bb81e5
Author:Jim Persson
Committer:GitHub

Add support for controlling fan direction (#1051) * 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

Commit:fe89dcd
Author:Daniel Kucera
Committer:Otto Winter

added idle action for climate (#859) * added idle * more clear state description * Also add drying/fan Putting it in this PR because it will be put in the same aioesphomeapi release anyway. * Update bang_bang for idle action Co-authored-by: root <root@mail.danman.eu> Co-authored-by: Otto Winter <otto@otto-winter.com>

Commit:b3094d6
Author:Otto Winter
Committer:Otto Winter

Add missing state attribute (#851) * Add api missing_state attribute Fixes https://github.com/esphome/issues/issues/828 Adds a new property for missing state, so that HA can now when a sensor does not have a state yet. * Update api.proto

Commit:1814e4a
Author:Guillermo Ruffino
Committer:Otto Winter

Add climate dry fan (#845) * add climate dry fan * clang-format * updates, add swing mode, add back compat with old ha * revert client-config add swing * sort const.py * fix missing retur

Commit:fb05575
Author:Otto Winter
Committer:GitHub

Add missing state attribute (#851) * Add api missing_state attribute Fixes https://github.com/esphome/issues/issues/828 Adds a new property for missing state, so that HA can now when a sensor does not have a state yet. * Update api.proto

Commit:bd216c5
Author:Otto Winter
Committer:Otto Winter

Add sensor force_update option (#783) * Add sensor force_update option * Add test

Commit:ae87004
Author:Otto Winter
Committer:GitHub

Add sensor force_update option (#783) * Add sensor force_update option * Add test

Commit:72d6471
Author:Marcel van der Veldt
Committer:Otto Winter

add support for climate action (#720) * add support for climate action: Following hass implementation of climate, action represents the current action the climate device is perfoming, e.g. cooling or heating fix bang_bang climate: make sure that the thresholds are always respected. fixes the issue where the component would just keep on heating, regardless of the temperature range * Updates - Use dedicated enum for action (otherwise it gets confusing because "auto" is not a valid action) - Add field to tell HA that action is supported - Revert semantic changes in bang_bang * Conditional print Co-authored-by: Otto Winter <otto@otto-winter.com>

Commit:369d175
Author:Otto Winter
Committer:GitHub

Create Protobuf Plugin for automatically generating native API stubs (#633) * Create Protobuf Plugin for automatically generating native API stubs * Format * Delete api.proto * Cleanup, use no_delay conditionally * Updates * Update * Lint * Lint * Fixes * Camera * CustomAPIDevice * Fix negative VarInt, Add User-defined services arrays * Home Assistant Event * Fixes * Update custom_api_device.h

Commit:6682c43
Author:Otto Winter
Committer:GitHub

🏗 Merge C++ into python codebase (#504) ## Description: Move esphome-core codebase into esphome (and a bunch of other refactors). See https://github.com/esphome/feature-requests/issues/97 Yes this is a shit ton of work and no there's no way to automate it :( But it will be worth it 👍 Progress: - Core support (file copy etc): 80% - Base Abstractions (light, switch): ~50% - Integrations: ~10% - Working? Yes, (but only with ported components). Other refactors: - Moves all codegen related stuff into a single class: `esphome.codegen` (imported as `cg`) - Rework coroutine syntax - Move from `component/platform.py` to `domain/component.py` structure as with HA - Move all defaults out of C++ and into config validation. - Remove `make_...` helpers from Application class. Reason: Merge conflicts with every single new integration. - Pointer Variables are stored globally instead of locally in setup(). Reason: stack size limit. Future work: - Rework const.py - Move all `CONF_...` into a conf class (usage `conf.UPDATE_INTERVAL` vs `CONF_UPDATE_INTERVAL`). Reason: Less convoluted import block - Enable loading from `custom_components` folder. **Related issue (if applicable):** https://github.com/esphome/feature-requests/issues/97 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> ## Checklist: - [ ] The code change is tested and works locally. - [ ] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs).

Commit:8012de3
Author:Otto Winter

Revert "Merge remote-tracking branch 'origin/master' into dev" This reverts commit 52750d933bb5f432299f3f57603d5c7ffe70bfed, reversing changes made to 7e7a85abfd699396d598013cecbb2c69e083aa2a.

Commit:52750d9
Author:Otto Winter

Merge remote-tracking branch 'origin/master' into dev

Commit:3d9301a
Author:Otto Winter
Committer:GitHub

Rename esphomeyaml to esphome (#426) * Rename * Update * Add migration * Fix * Fix dashboard * Change test * Fixes * Code cleanup * Fix import order * Update * Automate docker builds * Shellcheck

Commit:4046a16
Author:Otto Winter

Merge branch 'dev' into rc

Commit:5a7b66e
Author:Otto Winter
Committer:Otto Winter

Fix some stuff

Commit:da2821a
Author:Otto Winter
Committer:GitHub

Add native ESPHome API (#265) * Esphomeapi * Updates * Remove MQTT from wizard * Add protobuf to requirements * Fix * API Client updates * Dump config on API connect * Old WiFi config migration * Home Assistant state import * Lint