mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 13:34:54 +01:00
[update] Set entity_category to config & Publish state to logs (#6954)
This commit is contained in:
parent
8045b889d3
commit
e7556271e7
2 changed files with 31 additions and 0 deletions
|
@ -4,11 +4,13 @@ import esphome.config_validation as cv
|
||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
from esphome.const import (
|
from esphome.const import (
|
||||||
CONF_DEVICE_CLASS,
|
CONF_DEVICE_CLASS,
|
||||||
|
CONF_ENTITY_CATEGORY,
|
||||||
CONF_ID,
|
CONF_ID,
|
||||||
CONF_MQTT_ID,
|
CONF_MQTT_ID,
|
||||||
CONF_WEB_SERVER_ID,
|
CONF_WEB_SERVER_ID,
|
||||||
DEVICE_CLASS_EMPTY,
|
DEVICE_CLASS_EMPTY,
|
||||||
DEVICE_CLASS_FIRMWARE,
|
DEVICE_CLASS_FIRMWARE,
|
||||||
|
ENTITY_CATEGORY_CONFIG,
|
||||||
)
|
)
|
||||||
from esphome.core import CORE, coroutine_with_priority
|
from esphome.core import CORE, coroutine_with_priority
|
||||||
from esphome.cpp_helpers import setup_entity
|
from esphome.cpp_helpers import setup_entity
|
||||||
|
@ -41,6 +43,9 @@ UPDATE_SCHEMA = (
|
||||||
cv.Optional(CONF_ON_UPDATE_AVAILABLE): automation.validate_automation(
|
cv.Optional(CONF_ON_UPDATE_AVAILABLE): automation.validate_automation(
|
||||||
single=True
|
single=True
|
||||||
),
|
),
|
||||||
|
cv.Optional(
|
||||||
|
CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
|
||||||
|
): cv.entity_category,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,9 +1,35 @@
|
||||||
#include "update_entity.h"
|
#include "update_entity.h"
|
||||||
|
|
||||||
|
#include "esphome/core/log.h"
|
||||||
|
|
||||||
namespace esphome {
|
namespace esphome {
|
||||||
namespace update {
|
namespace update {
|
||||||
|
|
||||||
|
static const char *const TAG = "update";
|
||||||
|
|
||||||
void UpdateEntity::publish_state() {
|
void UpdateEntity::publish_state() {
|
||||||
|
ESP_LOGD(TAG, "'%s' - Publishing:", this->name_.c_str());
|
||||||
|
ESP_LOGD(TAG, " Current Version: %s", this->update_info_.current_version.c_str());
|
||||||
|
|
||||||
|
if (!this->update_info_.md5.empty()) {
|
||||||
|
ESP_LOGD(TAG, " Latest Version: %s", this->update_info_.latest_version.c_str());
|
||||||
|
}
|
||||||
|
if (!this->update_info_.firmware_url.empty()) {
|
||||||
|
ESP_LOGD(TAG, " Firmware URL: %s", this->update_info_.firmware_url.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
ESP_LOGD(TAG, " Title: %s", this->update_info_.title.c_str());
|
||||||
|
if (!this->update_info_.summary.empty()) {
|
||||||
|
ESP_LOGD(TAG, " Summary: %s", this->update_info_.summary.c_str());
|
||||||
|
}
|
||||||
|
if (!this->update_info_.release_url.empty()) {
|
||||||
|
ESP_LOGD(TAG, " Release URL: %s", this->update_info_.release_url.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->update_info_.has_progress) {
|
||||||
|
ESP_LOGD(TAG, " Progress: %.0f%%", this->update_info_.progress);
|
||||||
|
}
|
||||||
|
|
||||||
this->has_state_ = true;
|
this->has_state_ = true;
|
||||||
this->state_callback_.call();
|
this->state_callback_.call();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue