Add friendly_name to device (#4296)

This commit is contained in:
Jesse Hills
2023-01-17 10:28:09 +13:00
committed by GitHub
parent 3d2d681a7b
commit c301ae3645
18 changed files with 137 additions and 18 deletions
+3
View File
@@ -453,6 +453,8 @@ class EsphomeCore:
self.ace = False
# The name of the node
self.name: Optional[str] = None
# The friendly name of the node
self.friendly_name: Optional[str] = None
# Additional data components can store temporary data in
# The first key to this dict should always be the integration name
self.data = {}
@@ -492,6 +494,7 @@ class EsphomeCore:
def reset(self):
self.dashboard = False
self.name = None
self.friendly_name = None
self.data = {}
self.config_path = None
self.build_path = None
+12 -1
View File
@@ -53,13 +53,20 @@ namespace esphome {
class Application {
public:
void pre_setup(const std::string &name, const char *compilation_time, bool name_add_mac_suffix) {
void pre_setup(const std::string &name, const std::string &friendly_name, const char *compilation_time,
bool name_add_mac_suffix) {
arch_init();
this->name_add_mac_suffix_ = name_add_mac_suffix;
if (name_add_mac_suffix) {
this->name_ = name + "-" + get_mac_address().substr(6);
if (friendly_name.empty()) {
this->friendly_name_ = "";
} else {
this->friendly_name_ = friendly_name + " " + get_mac_address().substr(6);
}
} else {
this->name_ = name;
this->friendly_name_ = friendly_name;
}
this->compilation_time_ = compilation_time;
}
@@ -134,6 +141,9 @@ class Application {
/// Get the name of this Application set by set_name().
const std::string &get_name() const { return this->name_; }
/// Get the friendly name of this Application set by set_friendly_name().
const std::string &get_friendly_name() const { return this->friendly_name_; }
bool is_name_add_mac_suffix_enabled() const { return this->name_add_mac_suffix_; }
const std::string &get_compilation_time() const { return this->compilation_time_; }
@@ -338,6 +348,7 @@ class Application {
#endif
std::string name_;
std::string friendly_name_;
std::string compilation_time_;
bool name_add_mac_suffix_;
uint32_t last_loop_{0};
+4
View File
@@ -19,6 +19,7 @@ from esphome.const import (
CONF_LIBRARIES,
CONF_MIN_VERSION,
CONF_NAME,
CONF_FRIENDLY_NAME,
CONF_ON_BOOT,
CONF_ON_LOOP,
CONF_ON_SHUTDOWN,
@@ -124,6 +125,7 @@ CONFIG_SCHEMA = cv.All(
cv.Schema(
{
cv.Required(CONF_NAME): cv.valid_name,
cv.Optional(CONF_FRIENDLY_NAME, ""): cv.string,
cv.Optional(CONF_COMMENT): cv.string,
cv.Required(CONF_BUILD_PATH): cv.string,
cv.Optional(CONF_PLATFORMIO_OPTIONS, default={}): cv.Schema(
@@ -192,6 +194,7 @@ def preload_core_config(config, result):
conf = PRELOAD_CONFIG_SCHEMA(config[CONF_ESPHOME])
CORE.name = conf[CONF_NAME]
CORE.friendly_name = conf.get(CONF_FRIENDLY_NAME, CORE.name)
CORE.data[KEY_CORE] = {}
if CONF_BUILD_PATH not in conf:
@@ -346,6 +349,7 @@ async def to_code(config):
cg.add(
cg.App.pre_setup(
config[CONF_NAME],
config[CONF_FRIENDLY_NAME],
cg.RawExpression('__DATE__ ", " __TIME__'),
config[CONF_NAME_ADD_MAC_SUFFIX],
)