Merge pull request #2175 from esphome/bump-1.21.0b3

1.21.0b3
This commit is contained in:
Jesse Hills 2021-08-18 11:37:39 +12:00 committed by GitHub
commit 8c75b87e94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 29 additions and 4 deletions

View file

@ -448,6 +448,7 @@ message LightCommandRequest {
enum SensorStateClass { enum SensorStateClass {
STATE_CLASS_NONE = 0; STATE_CLASS_NONE = 0;
STATE_CLASS_MEASUREMENT = 1; STATE_CLASS_MEASUREMENT = 1;
STATE_CLASS_TOTAL_INCREASING = 2;
} }
enum SensorLastResetType { enum SensorLastResetType {

View file

@ -94,6 +94,8 @@ template<> const char *proto_enum_to_string<enums::SensorStateClass>(enums::Sens
return "STATE_CLASS_NONE"; return "STATE_CLASS_NONE";
case enums::STATE_CLASS_MEASUREMENT: case enums::STATE_CLASS_MEASUREMENT:
return "STATE_CLASS_MEASUREMENT"; return "STATE_CLASS_MEASUREMENT";
case enums::STATE_CLASS_TOTAL_INCREASING:
return "STATE_CLASS_TOTAL_INCREASING";
default: default:
return "UNKNOWN"; return "UNKNOWN";
} }

View file

@ -47,6 +47,7 @@ enum ColorMode : uint32_t {
enum SensorStateClass : uint32_t { enum SensorStateClass : uint32_t {
STATE_CLASS_NONE = 0, STATE_CLASS_NONE = 0,
STATE_CLASS_MEASUREMENT = 1, STATE_CLASS_MEASUREMENT = 1,
STATE_CLASS_TOTAL_INCREASING = 2,
}; };
enum SensorLastResetType : uint32_t { enum SensorLastResetType : uint32_t {
LAST_RESET_NONE = 0, LAST_RESET_NONE = 0,

View file

@ -5,6 +5,7 @@ from esphome.const import (
DEVICE_CLASS_CURRENT, DEVICE_CLASS_CURRENT,
DEVICE_CLASS_EMPTY, DEVICE_CLASS_EMPTY,
DEVICE_CLASS_ENERGY, DEVICE_CLASS_ENERGY,
DEVICE_CLASS_GAS,
DEVICE_CLASS_POWER, DEVICE_CLASS_POWER,
DEVICE_CLASS_VOLTAGE, DEVICE_CLASS_VOLTAGE,
ICON_EMPTY, ICON_EMPTY,
@ -178,7 +179,7 @@ CONFIG_SCHEMA = cv.Schema(
"", "",
ICON_EMPTY, ICON_EMPTY,
3, 3,
DEVICE_CLASS_EMPTY, DEVICE_CLASS_GAS,
STATE_CLASS_MEASUREMENT, STATE_CLASS_MEASUREMENT,
LAST_RESET_TYPE_NEVER, LAST_RESET_TYPE_NEVER,
), ),
@ -186,7 +187,7 @@ CONFIG_SCHEMA = cv.Schema(
"", "",
ICON_EMPTY, ICON_EMPTY,
3, 3,
DEVICE_CLASS_EMPTY, DEVICE_CLASS_GAS,
STATE_CLASS_MEASUREMENT, STATE_CLASS_MEASUREMENT,
LAST_RESET_TYPE_NEVER, LAST_RESET_TYPE_NEVER,
), ),

View file

@ -19,6 +19,8 @@ class HBridgeLightOutput : public PollingComponent, public light::LightOutput {
light::LightTraits get_traits() override { light::LightTraits get_traits() override {
auto traits = light::LightTraits(); auto traits = light::LightTraits();
traits.set_supported_color_modes({light::ColorMode::COLD_WARM_WHITE}); traits.set_supported_color_modes({light::ColorMode::COLD_WARM_WHITE});
traits.set_min_mireds(153);
traits.set_max_mireds(500);
return traits; return traits;
} }

View file

@ -39,6 +39,13 @@ void LightState::setup() {
effect->init_internal(this); effect->init_internal(this);
} }
// When supported color temperature range is known, initialize color temperature setting within bounds.
float min_mireds = this->get_traits().get_min_mireds();
if (min_mireds > 0) {
this->remote_values.set_color_temperature(min_mireds);
this->current_values.set_color_temperature(min_mireds);
}
auto call = this->make_call(); auto call = this->make_call();
LightStateRTCState recovered{}; LightStateRTCState recovered{};
switch (this->restore_mode_) { switch (this->restore_mode_) {

View file

@ -543,6 +543,7 @@ void Nextion::process_nextion_commands_() {
ESP_LOGVV(TAG, "Received Nextion leaves sleep automatically"); ESP_LOGVV(TAG, "Received Nextion leaves sleep automatically");
this->is_sleeping_ = false; this->is_sleeping_ = false;
this->wake_callback_.call(); this->wake_callback_.call();
this->all_components_send_state_(false);
break; break;
} }
case 0x88: // system successful start up case 0x88: // system successful start up

View file

@ -40,6 +40,7 @@ from esphome.const import (
DEVICE_CLASS_CARBON_DIOXIDE, DEVICE_CLASS_CARBON_DIOXIDE,
DEVICE_CLASS_CURRENT, DEVICE_CLASS_CURRENT,
DEVICE_CLASS_ENERGY, DEVICE_CLASS_ENERGY,
DEVICE_CLASS_GAS,
DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_ILLUMINANCE,
DEVICE_CLASS_MONETARY, DEVICE_CLASS_MONETARY,
@ -62,6 +63,7 @@ DEVICE_CLASSES = [
DEVICE_CLASS_CARBON_DIOXIDE, DEVICE_CLASS_CARBON_DIOXIDE,
DEVICE_CLASS_CURRENT, DEVICE_CLASS_CURRENT,
DEVICE_CLASS_ENERGY, DEVICE_CLASS_ENERGY,
DEVICE_CLASS_GAS,
DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_ILLUMINANCE, DEVICE_CLASS_ILLUMINANCE,
DEVICE_CLASS_MONETARY, DEVICE_CLASS_MONETARY,
@ -79,6 +81,7 @@ StateClasses = sensor_ns.enum("StateClass")
STATE_CLASSES = { STATE_CLASSES = {
"": StateClasses.STATE_CLASS_NONE, "": StateClasses.STATE_CLASS_NONE,
"measurement": StateClasses.STATE_CLASS_MEASUREMENT, "measurement": StateClasses.STATE_CLASS_MEASUREMENT,
"total_increasing": StateClasses.STATE_CLASS_TOTAL_INCREASING,
} }
validate_state_class = cv.enum(STATE_CLASSES, lower=True, space="_") validate_state_class = cv.enum(STATE_CLASSES, lower=True, space="_")

View file

@ -10,6 +10,8 @@ const char *state_class_to_string(StateClass state_class) {
switch (state_class) { switch (state_class) {
case STATE_CLASS_MEASUREMENT: case STATE_CLASS_MEASUREMENT:
return "measurement"; return "measurement";
case STATE_CLASS_TOTAL_INCREASING:
return "total_increasing";
case STATE_CLASS_NONE: case STATE_CLASS_NONE:
default: default:
return ""; return "";
@ -72,6 +74,8 @@ void Sensor::set_state_class(StateClass state_class) { this->state_class = state
void Sensor::set_state_class(const std::string &state_class) { void Sensor::set_state_class(const std::string &state_class) {
if (str_equals_case_insensitive(state_class, "measurement")) { if (str_equals_case_insensitive(state_class, "measurement")) {
this->state_class = STATE_CLASS_MEASUREMENT; this->state_class = STATE_CLASS_MEASUREMENT;
} else if (str_equals_case_insensitive(state_class, "total_increasing")) {
this->state_class = STATE_CLASS_TOTAL_INCREASING;
} else { } else {
ESP_LOGW(TAG, "'%s' - Unrecognized state class %s", this->get_name().c_str(), state_class.c_str()); ESP_LOGW(TAG, "'%s' - Unrecognized state class %s", this->get_name().c_str(), state_class.c_str());
} }

View file

@ -37,6 +37,7 @@ namespace sensor {
enum StateClass : uint8_t { enum StateClass : uint8_t {
STATE_CLASS_NONE = 0, STATE_CLASS_NONE = 0,
STATE_CLASS_MEASUREMENT = 1, STATE_CLASS_MEASUREMENT = 1,
STATE_CLASS_TOTAL_INCREASING = 2,
}; };
const char *state_class_to_string(StateClass state_class); const char *state_class_to_string(StateClass state_class);

View file

@ -20,7 +20,6 @@ TotalDailyEnergy = total_daily_energy_ns.class_(
CONFIG_SCHEMA = ( CONFIG_SCHEMA = (
sensor.sensor_schema( sensor.sensor_schema(
accuracy_decimals=0,
device_class=DEVICE_CLASS_ENERGY, device_class=DEVICE_CLASS_ENERGY,
state_class=STATE_CLASS_MEASUREMENT, state_class=STATE_CLASS_MEASUREMENT,
last_reset_type=LAST_RESET_TYPE_AUTO, last_reset_type=LAST_RESET_TYPE_AUTO,

View file

@ -1,6 +1,6 @@
"""Constants used by esphome.""" """Constants used by esphome."""
__version__ = "1.21.0b2" __version__ = "1.21.0b3"
ESP_PLATFORM_ESP32 = "ESP32" ESP_PLATFORM_ESP32 = "ESP32"
ESP_PLATFORM_ESP8266 = "ESP8266" ESP_PLATFORM_ESP8266 = "ESP8266"
@ -840,6 +840,9 @@ STATE_CLASS_NONE = ""
# The state represents a measurement in present time # The state represents a measurement in present time
STATE_CLASS_MEASUREMENT = "measurement" STATE_CLASS_MEASUREMENT = "measurement"
# The state represents a total that only increases, a decrease is considered a reset.
STATE_CLASS_TOTAL_INCREASING = "total_increasing"
# This sensor does not support resetting. ie, it is not accumulative # This sensor does not support resetting. ie, it is not accumulative
LAST_RESET_TYPE_NONE = "" LAST_RESET_TYPE_NONE = ""
# This sensor is expected to never reset its value # This sensor is expected to never reset its value