mirror of
https://github.com/esphome/esphome.git
synced 2024-12-29 08:51:43 +01:00
Merge remote-tracking branch 'origin/dev' into nrf52_core
This commit is contained in:
commit
bbf3bd62f4
5 changed files with 48 additions and 8 deletions
|
@ -39,8 +39,8 @@ bool HX711Sensor::read_sensor_(uint32_t *result) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->status_clear_warning();
|
|
||||||
uint32_t data = 0;
|
uint32_t data = 0;
|
||||||
|
bool final_dout;
|
||||||
|
|
||||||
{
|
{
|
||||||
InterruptLock lock;
|
InterruptLock lock;
|
||||||
|
@ -59,8 +59,17 @@ bool HX711Sensor::read_sensor_(uint32_t *result) {
|
||||||
this->sck_pin_->digital_write(false);
|
this->sck_pin_->digital_write(false);
|
||||||
delayMicroseconds(1);
|
delayMicroseconds(1);
|
||||||
}
|
}
|
||||||
|
final_dout = this->dout_pin_->digital_read();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!final_dout) {
|
||||||
|
ESP_LOGW(TAG, "HX711 DOUT pin not high after reading (data 0x%" PRIx32 ")!", data);
|
||||||
|
this->status_set_warning();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this->status_clear_warning();
|
||||||
|
|
||||||
if (data & 0x800000ULL) {
|
if (data & 0x800000ULL) {
|
||||||
data |= 0xFF000000ULL;
|
data |= 0xFF000000ULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "esphome/core/defines.h"
|
#include "esphome/core/defines.h"
|
||||||
|
|
||||||
#ifdef USE_LVGL_BINARY_SENSOR
|
#ifdef USE_BINARY_SENSOR
|
||||||
#include "esphome/components/binary_sensor/binary_sensor.h"
|
#include "esphome/components/binary_sensor/binary_sensor.h"
|
||||||
#endif // USE_LVGL_BINARY_SENSOR
|
#endif // USE_BINARY_SENSOR
|
||||||
#ifdef USE_LVGL_ROTARY_ENCODER
|
#ifdef USE_LVGL_ROTARY_ENCODER
|
||||||
#include "esphome/components/rotary_encoder/rotary_encoder.h"
|
#include "esphome/components/rotary_encoder/rotary_encoder.h"
|
||||||
#endif // USE_LVGL_ROTARY_ENCODER
|
#endif // USE_LVGL_ROTARY_ENCODER
|
||||||
|
|
|
@ -271,6 +271,7 @@ async def set_obj_properties(w: Widget, config):
|
||||||
"""Generate a list of C++ statements to apply properties to an lv_obj_t"""
|
"""Generate a list of C++ statements to apply properties to an lv_obj_t"""
|
||||||
if layout := config.get(CONF_LAYOUT):
|
if layout := config.get(CONF_LAYOUT):
|
||||||
layout_type: str = layout[CONF_TYPE]
|
layout_type: str = layout[CONF_TYPE]
|
||||||
|
add_lv_use(layout_type)
|
||||||
lv_obj.set_layout(w.obj, literal(f"LV_LAYOUT_{layout_type.upper()}"))
|
lv_obj.set_layout(w.obj, literal(f"LV_LAYOUT_{layout_type.upper()}"))
|
||||||
if layout_type == TYPE_GRID:
|
if layout_type == TYPE_GRID:
|
||||||
wid = config[CONF_ID]
|
wid = config[CONF_ID]
|
||||||
|
@ -334,7 +335,7 @@ async def set_obj_properties(w: Widget, config):
|
||||||
for key, value in states.items():
|
for key, value in states.items():
|
||||||
if isinstance(value, cv.Lambda):
|
if isinstance(value, cv.Lambda):
|
||||||
lambs[key] = value
|
lambs[key] = value
|
||||||
elif value == "true":
|
elif value:
|
||||||
adds.add(key)
|
adds.add(key)
|
||||||
else:
|
else:
|
||||||
clears.add(key)
|
clears.add(key)
|
||||||
|
|
|
@ -150,12 +150,40 @@ bool MQTTComponent::send_discovery_() {
|
||||||
const std::string &node_area = App.get_area();
|
const std::string &node_area = App.get_area();
|
||||||
|
|
||||||
JsonObject device_info = root.createNestedObject(MQTT_DEVICE);
|
JsonObject device_info = root.createNestedObject(MQTT_DEVICE);
|
||||||
device_info[MQTT_DEVICE_IDENTIFIERS] = get_mac_address();
|
const auto mac = get_mac_address();
|
||||||
|
device_info[MQTT_DEVICE_IDENTIFIERS] = mac;
|
||||||
device_info[MQTT_DEVICE_NAME] = node_friendly_name;
|
device_info[MQTT_DEVICE_NAME] = node_friendly_name;
|
||||||
device_info[MQTT_DEVICE_SW_VERSION] = "esphome v" ESPHOME_VERSION " " + App.get_compilation_time();
|
#ifdef ESPHOME_PROJECT_NAME
|
||||||
|
device_info[MQTT_DEVICE_SW_VERSION] = ESPHOME_PROJECT_VERSION " (ESPHome " ESPHOME_VERSION ")";
|
||||||
|
const char *model = std::strchr(ESPHOME_PROJECT_NAME, '.');
|
||||||
|
if (model == nullptr) { // must never happen but check anyway
|
||||||
device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD;
|
device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD;
|
||||||
device_info[MQTT_DEVICE_MANUFACTURER] = "espressif";
|
device_info[MQTT_DEVICE_MANUFACTURER] = ESPHOME_PROJECT_NAME;
|
||||||
|
} else {
|
||||||
|
device_info[MQTT_DEVICE_MODEL] = model + 1;
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = std::string(ESPHOME_PROJECT_NAME, model - ESPHOME_PROJECT_NAME);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
device_info[MQTT_DEVICE_SW_VERSION] = ESPHOME_VERSION " (" + App.get_compilation_time() + ")";
|
||||||
|
device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD;
|
||||||
|
#if defined(USE_ESP8266) || defined(USE_ESP32)
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = "Espressif";
|
||||||
|
#elif defined(USE_RP2040)
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = "Raspberry Pi";
|
||||||
|
#elif defined(USE_BK72XX)
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = "Beken";
|
||||||
|
#elif defined(USE_RTL87XX)
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = "Realtek";
|
||||||
|
#elif defined(USE_HOST)
|
||||||
|
device_info[MQTT_DEVICE_MANUFACTURER] = "Host";
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
if (!node_area.empty()) {
|
||||||
device_info[MQTT_DEVICE_SUGGESTED_AREA] = node_area;
|
device_info[MQTT_DEVICE_SUGGESTED_AREA] = node_area;
|
||||||
|
}
|
||||||
|
|
||||||
|
device_info[MQTT_DEVICE_CONNECTIONS][0][0] = "mac";
|
||||||
|
device_info[MQTT_DEVICE_CONNECTIONS][0][1] = mac;
|
||||||
},
|
},
|
||||||
this->qos_, discovery_info.retain);
|
this->qos_, discovery_info.retain);
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ constexpr const char *const MQTT_DEVICE_MODEL = "mdl";
|
||||||
constexpr const char *const MQTT_DEVICE_NAME = "name";
|
constexpr const char *const MQTT_DEVICE_NAME = "name";
|
||||||
constexpr const char *const MQTT_DEVICE_SUGGESTED_AREA = "sa";
|
constexpr const char *const MQTT_DEVICE_SUGGESTED_AREA = "sa";
|
||||||
constexpr const char *const MQTT_DEVICE_SW_VERSION = "sw";
|
constexpr const char *const MQTT_DEVICE_SW_VERSION = "sw";
|
||||||
|
constexpr const char *const MQTT_DEVICE_HW_VERSION = "hw";
|
||||||
constexpr const char *const MQTT_DOCKED_TEMPLATE = "dock_tpl";
|
constexpr const char *const MQTT_DOCKED_TEMPLATE = "dock_tpl";
|
||||||
constexpr const char *const MQTT_DOCKED_TOPIC = "dock_t";
|
constexpr const char *const MQTT_DOCKED_TOPIC = "dock_t";
|
||||||
constexpr const char *const MQTT_EFFECT_COMMAND_TOPIC = "fx_cmd_t";
|
constexpr const char *const MQTT_EFFECT_COMMAND_TOPIC = "fx_cmd_t";
|
||||||
|
@ -322,6 +323,7 @@ constexpr const char *const MQTT_DEVICE_MODEL = "model";
|
||||||
constexpr const char *const MQTT_DEVICE_NAME = "name";
|
constexpr const char *const MQTT_DEVICE_NAME = "name";
|
||||||
constexpr const char *const MQTT_DEVICE_SUGGESTED_AREA = "suggested_area";
|
constexpr const char *const MQTT_DEVICE_SUGGESTED_AREA = "suggested_area";
|
||||||
constexpr const char *const MQTT_DEVICE_SW_VERSION = "sw_version";
|
constexpr const char *const MQTT_DEVICE_SW_VERSION = "sw_version";
|
||||||
|
constexpr const char *const MQTT_DEVICE_HW_VERSION = "hw_version";
|
||||||
constexpr const char *const MQTT_DOCKED_TEMPLATE = "docked_template";
|
constexpr const char *const MQTT_DOCKED_TEMPLATE = "docked_template";
|
||||||
constexpr const char *const MQTT_DOCKED_TOPIC = "docked_topic";
|
constexpr const char *const MQTT_DOCKED_TOPIC = "docked_topic";
|
||||||
constexpr const char *const MQTT_EFFECT_COMMAND_TOPIC = "effect_command_topic";
|
constexpr const char *const MQTT_EFFECT_COMMAND_TOPIC = "effect_command_topic";
|
||||||
|
|
Loading…
Reference in a new issue