mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-06-05 20:38:27 +02:00
Upgrade ArduinoJson to 6.18.5 and migrate code (#2844)
This commit is contained in:
@@ -80,7 +80,7 @@ MQTTMessageTrigger = mqtt_ns.class_(
|
||||
"MQTTMessageTrigger", automation.Trigger.template(cg.std_string), cg.Component
|
||||
)
|
||||
MQTTJsonMessageTrigger = mqtt_ns.class_(
|
||||
"MQTTJsonMessageTrigger", automation.Trigger.template(cg.JsonObjectConstRef)
|
||||
"MQTTJsonMessageTrigger", automation.Trigger.template(cg.JsonObjectConst)
|
||||
)
|
||||
MQTTComponent = mqtt_ns.class_("MQTTComponent", cg.Component)
|
||||
MQTTConnectedCondition = mqtt_ns.class_("MQTTConnectedCondition", Condition)
|
||||
@@ -311,7 +311,7 @@ async def to_code(config):
|
||||
|
||||
for conf in config.get(CONF_ON_JSON_MESSAGE, []):
|
||||
trig = cg.new_Pvariable(conf[CONF_TRIGGER_ID], conf[CONF_TOPIC], conf[CONF_QOS])
|
||||
await automation.build_automation(trig, [(cg.JsonObjectConstRef, "x")], conf)
|
||||
await automation.build_automation(trig, [(cg.JsonObjectConst, "x")], conf)
|
||||
|
||||
|
||||
MQTT_PUBLISH_ACTION_SCHEMA = cv.Schema(
|
||||
@@ -363,7 +363,7 @@ async def mqtt_publish_json_action_to_code(config, action_id, template_arg, args
|
||||
template_ = await cg.templatable(config[CONF_TOPIC], args, cg.std_string)
|
||||
cg.add(var.set_topic(template_))
|
||||
|
||||
args_ = args + [(cg.JsonObjectRef, "root")]
|
||||
args_ = args + [(cg.JsonObject, "root")]
|
||||
lambda_ = await cg.process_lambda(config[CONF_PAYLOAD], args_, return_type=cg.void)
|
||||
cg.add(var.set_payload(lambda_))
|
||||
template_ = await cg.templatable(config[CONF_QOS], args, cg.uint8)
|
||||
|
||||
@@ -74,9 +74,9 @@ class CustomMQTTDevice {
|
||||
* }
|
||||
*
|
||||
* // topic parameter can be remove if not needed:
|
||||
* // e.g.: void on_json_message(JsonObject &payload) {
|
||||
* // e.g.: void on_json_message(JsonObject payload) {
|
||||
*
|
||||
* void on_json_message(const std::string &topic, JsonObject &payload) {
|
||||
* void on_json_message(const std::string &topic, JsonObject payload) {
|
||||
* // do something with topic and payload
|
||||
* if (payload["number"] == 1) {
|
||||
* digitalWrite(5, HIGH);
|
||||
@@ -93,11 +93,9 @@ class CustomMQTTDevice {
|
||||
* @param qos The Quality of Service to subscribe with. Defaults to 0.
|
||||
*/
|
||||
template<typename T>
|
||||
void subscribe_json(const std::string &topic, void (T::*callback)(const std::string &, JsonObject &),
|
||||
uint8_t qos = 0);
|
||||
void subscribe_json(const std::string &topic, void (T::*callback)(const std::string &, JsonObject), uint8_t qos = 0);
|
||||
|
||||
template<typename T>
|
||||
void subscribe_json(const std::string &topic, void (T::*callback)(JsonObject &), uint8_t qos = 0);
|
||||
template<typename T> void subscribe_json(const std::string &topic, void (T::*callback)(JsonObject), uint8_t qos = 0);
|
||||
|
||||
/** Publish an MQTT message with the given payload and QoS and retain settings.
|
||||
*
|
||||
@@ -155,7 +153,7 @@ class CustomMQTTDevice {
|
||||
*
|
||||
* ```cpp
|
||||
* void in_some_method() {
|
||||
* publish("the/topic", [=](JsonObject &root) {
|
||||
* publish("the/topic", [=](JsonObject root) {
|
||||
* root["the_key"] = "Hello World!";
|
||||
* }, 0, false);
|
||||
* }
|
||||
@@ -174,7 +172,7 @@ class CustomMQTTDevice {
|
||||
*
|
||||
* ```cpp
|
||||
* void in_some_method() {
|
||||
* publish("the/topic", [=](JsonObject &root) {
|
||||
* publish("the/topic", [=](JsonObject root) {
|
||||
* root["the_key"] = "Hello World!";
|
||||
* });
|
||||
* }
|
||||
@@ -205,13 +203,13 @@ template<typename T> void CustomMQTTDevice::subscribe(const std::string &topic,
|
||||
global_mqtt_client->subscribe(topic, f, qos);
|
||||
}
|
||||
template<typename T>
|
||||
void CustomMQTTDevice::subscribe_json(const std::string &topic, void (T::*callback)(const std::string &, JsonObject &),
|
||||
void CustomMQTTDevice::subscribe_json(const std::string &topic, void (T::*callback)(const std::string &, JsonObject),
|
||||
uint8_t qos) {
|
||||
auto f = std::bind(callback, (T *) this, std::placeholders::_1, std::placeholders::_2);
|
||||
global_mqtt_client->subscribe_json(topic, f, qos);
|
||||
}
|
||||
template<typename T>
|
||||
void CustomMQTTDevice::subscribe_json(const std::string &topic, void (T::*callback)(JsonObject &), uint8_t qos) {
|
||||
void CustomMQTTDevice::subscribe_json(const std::string &topic, void (T::*callback)(JsonObject), uint8_t qos) {
|
||||
auto f = std::bind(callback, (T *) this, std::placeholders::_2);
|
||||
global_mqtt_client->subscribe_json(topic, f, qos);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ MQTTBinarySensorComponent::MQTTBinarySensorComponent(binary_sensor::BinarySensor
|
||||
}
|
||||
}
|
||||
|
||||
void MQTTBinarySensorComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTBinarySensorComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
if (!this->binary_sensor_->get_device_class().empty())
|
||||
root[MQTT_DEVICE_CLASS] = this->binary_sensor_->get_device_class();
|
||||
if (this->binary_sensor_->is_status_binary_sensor())
|
||||
|
||||
@@ -22,7 +22,7 @@ class MQTTBinarySensorComponent : public mqtt::MQTTComponent {
|
||||
|
||||
void dump_config() override;
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
void set_is_status(bool status);
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ void MQTTButtonComponent::dump_config() {
|
||||
LOG_MQTT_COMPONENT(true, true);
|
||||
}
|
||||
|
||||
void MQTTButtonComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTButtonComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
config.state_topic = false;
|
||||
if (!this->button_->get_device_class().empty())
|
||||
root[MQTT_DEVICE_CLASS] = this->button_->get_device_class();
|
||||
|
||||
@@ -23,7 +23,7 @@ class MQTTButtonComponent : public mqtt::MQTTComponent {
|
||||
/// Buttons do not send a state so just return true.
|
||||
bool send_initial_state() override { return true; }
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
protected:
|
||||
/// "button" component type.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "mqtt_client.h"
|
||||
#define USE_MQTT
|
||||
|
||||
#ifdef USE_MQTT
|
||||
|
||||
@@ -346,7 +347,7 @@ void MQTTClientComponent::subscribe(const std::string &topic, mqtt_callback_t ca
|
||||
|
||||
void MQTTClientComponent::subscribe_json(const std::string &topic, const mqtt_json_callback_t &callback, uint8_t qos) {
|
||||
auto f = [callback](const std::string &topic, const std::string &payload) {
|
||||
json::parse_json(payload, [topic, callback](JsonObject &root) { callback(topic, root); });
|
||||
json::parse_json(payload, [topic, callback](JsonObject root) { callback(topic, root); });
|
||||
};
|
||||
MQTTSubscription subscription{
|
||||
.topic = topic,
|
||||
@@ -416,9 +417,8 @@ bool MQTTClientComponent::publish(const MQTTMessage &message) {
|
||||
}
|
||||
bool MQTTClientComponent::publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos,
|
||||
bool retain) {
|
||||
size_t len;
|
||||
const char *message = json::build_json(f, &len);
|
||||
return this->publish(topic, message, len, qos, retain);
|
||||
std::string message = json::build_json(f);
|
||||
return this->publish(topic, message, qos, retain);
|
||||
}
|
||||
|
||||
/** Check if the message topic matches the given subscription topic
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace mqtt {
|
||||
* First parameter is the topic, the second one is the payload.
|
||||
*/
|
||||
using mqtt_callback_t = std::function<void(const std::string &, const std::string &)>;
|
||||
using mqtt_json_callback_t = std::function<void(const std::string &, JsonObject &)>;
|
||||
using mqtt_json_callback_t = std::function<void(const std::string &, JsonObject)>;
|
||||
|
||||
/// internal struct for MQTT messages.
|
||||
struct MQTTMessage {
|
||||
@@ -306,11 +306,11 @@ class MQTTMessageTrigger : public Trigger<std::string>, public Component {
|
||||
optional<std::string> payload_;
|
||||
};
|
||||
|
||||
class MQTTJsonMessageTrigger : public Trigger<const JsonObject &> {
|
||||
class MQTTJsonMessageTrigger : public Trigger<JsonObjectConst> {
|
||||
public:
|
||||
explicit MQTTJsonMessageTrigger(const std::string &topic, uint8_t qos) {
|
||||
global_mqtt_client->subscribe_json(
|
||||
topic, [this](const std::string &topic, JsonObject &root) { this->trigger(root); }, qos);
|
||||
topic, [this](const std::string &topic, JsonObject root) { this->trigger(root); }, qos);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -338,7 +338,7 @@ template<typename... Ts> class MQTTPublishJsonAction : public Action<Ts...> {
|
||||
TEMPLATABLE_VALUE(uint8_t, qos)
|
||||
TEMPLATABLE_VALUE(bool, retain)
|
||||
|
||||
void set_payload(std::function<void(Ts..., JsonObject &)> payload) { this->payload_ = payload; }
|
||||
void set_payload(std::function<void(Ts..., JsonObject)> payload) { this->payload_ = payload; }
|
||||
|
||||
void play(Ts... x) override {
|
||||
auto f = std::bind(&MQTTPublishJsonAction<Ts...>::encode_, this, x..., std::placeholders::_1);
|
||||
@@ -349,8 +349,8 @@ template<typename... Ts> class MQTTPublishJsonAction : public Action<Ts...> {
|
||||
}
|
||||
|
||||
protected:
|
||||
void encode_(Ts... x, JsonObject &root) { this->payload_(x..., root); }
|
||||
std::function<void(Ts..., JsonObject &)> payload_;
|
||||
void encode_(Ts... x, JsonObject root) { this->payload_(x..., root); }
|
||||
std::function<void(Ts..., JsonObject)> payload_;
|
||||
MQTTClientComponent *parent_;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ static const char *const TAG = "mqtt.climate";
|
||||
|
||||
using namespace esphome::climate;
|
||||
|
||||
void MQTTClimateComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTClimateComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
auto traits = this->device_->get_traits();
|
||||
// current_temperature_topic
|
||||
if (traits.get_supports_current_temperature()) {
|
||||
@@ -25,7 +25,7 @@ void MQTTClimateComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryC
|
||||
// mode_state_topic
|
||||
root[MQTT_MODE_STATE_TOPIC] = this->get_mode_state_topic();
|
||||
// modes
|
||||
JsonArray &modes = root.createNestedArray(MQTT_MODES);
|
||||
JsonArray modes = root.createNestedArray(MQTT_MODES);
|
||||
// sort array for nice UI in HA
|
||||
if (traits.supports_mode(CLIMATE_MODE_AUTO))
|
||||
modes.add("auto");
|
||||
@@ -83,7 +83,7 @@ void MQTTClimateComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryC
|
||||
// fan_mode_state_topic
|
||||
root[MQTT_FAN_MODE_STATE_TOPIC] = this->get_fan_mode_state_topic();
|
||||
// fan_modes
|
||||
JsonArray &fan_modes = root.createNestedArray("fan_modes");
|
||||
JsonArray fan_modes = root.createNestedArray("fan_modes");
|
||||
if (traits.supports_fan_mode(CLIMATE_FAN_ON))
|
||||
fan_modes.add("on");
|
||||
if (traits.supports_fan_mode(CLIMATE_FAN_OFF))
|
||||
@@ -112,7 +112,7 @@ void MQTTClimateComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryC
|
||||
// swing_mode_state_topic
|
||||
root[MQTT_SWING_MODE_STATE_TOPIC] = this->get_swing_mode_state_topic();
|
||||
// swing_modes
|
||||
JsonArray &swing_modes = root.createNestedArray("swing_modes");
|
||||
JsonArray swing_modes = root.createNestedArray("swing_modes");
|
||||
if (traits.supports_swing_mode(CLIMATE_SWING_OFF))
|
||||
swing_modes.add("off");
|
||||
if (traits.supports_swing_mode(CLIMATE_SWING_BOTH))
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace mqtt {
|
||||
class MQTTClimateComponent : public mqtt::MQTTComponent {
|
||||
public:
|
||||
MQTTClimateComponent(climate::Climate *device);
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
bool send_initial_state() override;
|
||||
std::string component_type() const override;
|
||||
void setup() override;
|
||||
|
||||
@@ -63,7 +63,7 @@ bool MQTTComponent::send_discovery_() {
|
||||
|
||||
return global_mqtt_client->publish_json(
|
||||
this->get_discovery_topic_(discovery_info),
|
||||
[this](JsonObject &root) {
|
||||
[this](JsonObject root) {
|
||||
SendDiscoveryConfig config;
|
||||
config.state_topic = true;
|
||||
config.command_topic = true;
|
||||
@@ -127,7 +127,7 @@ bool MQTTComponent::send_discovery_() {
|
||||
}
|
||||
}
|
||||
|
||||
JsonObject &device_info = root.createNestedObject(MQTT_DEVICE);
|
||||
JsonObject device_info = root.createNestedObject(MQTT_DEVICE);
|
||||
device_info[MQTT_DEVICE_IDENTIFIERS] = get_mac_address();
|
||||
device_info[MQTT_DEVICE_NAME] = node_name;
|
||||
device_info[MQTT_DEVICE_SW_VERSION] = "esphome v" ESPHOME_VERSION " " + App.get_compilation_time();
|
||||
|
||||
@@ -70,7 +70,7 @@ class MQTTComponent : public Component {
|
||||
void call_dump_config() override;
|
||||
|
||||
/// Send discovery info the Home Assistant, override this.
|
||||
virtual void send_discovery(JsonObject &root, SendDiscoveryConfig &config) = 0;
|
||||
virtual void send_discovery(JsonObject root, SendDiscoveryConfig &config) = 0;
|
||||
|
||||
virtual bool send_initial_state() = 0;
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ void MQTTCoverComponent::dump_config() {
|
||||
ESP_LOGCONFIG(TAG, " Tilt Command Topic: '%s'", this->get_tilt_command_topic().c_str());
|
||||
}
|
||||
}
|
||||
void MQTTCoverComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTCoverComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
if (!this->cover_->get_device_class().empty())
|
||||
root[MQTT_DEVICE_CLASS] = this->cover_->get_device_class();
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class MQTTCoverComponent : public mqtt::MQTTComponent {
|
||||
explicit MQTTCoverComponent(cover::Cover *cover);
|
||||
|
||||
void setup() override;
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
MQTT_COMPONENT_CUSTOM_TOPIC(position, command)
|
||||
MQTT_COMPONENT_CUSTOM_TOPIC(position, state)
|
||||
|
||||
@@ -120,7 +120,7 @@ void MQTTFanComponent::dump_config() {
|
||||
|
||||
bool MQTTFanComponent::send_initial_state() { return this->publish_state(); }
|
||||
|
||||
void MQTTFanComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTFanComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
if (this->state_->get_traits().supports_oscillation()) {
|
||||
root[MQTT_OSCILLATION_COMMAND_TOPIC] = this->get_oscillation_command_topic();
|
||||
root[MQTT_OSCILLATION_STATE_TOPIC] = this->get_oscillation_state_topic();
|
||||
|
||||
@@ -22,7 +22,7 @@ class MQTTFanComponent : public mqtt::MQTTComponent {
|
||||
MQTT_COMPONENT_CUSTOM_TOPIC(speed, command)
|
||||
MQTT_COMPONENT_CUSTOM_TOPIC(speed, state)
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
// ========== INTERNAL METHODS ==========
|
||||
// (In most use cases you won't need these)
|
||||
|
||||
@@ -18,7 +18,7 @@ std::string MQTTJSONLightComponent::component_type() const { return "light"; }
|
||||
const EntityBase *MQTTJSONLightComponent::get_entity() const { return this->state_; }
|
||||
|
||||
void MQTTJSONLightComponent::setup() {
|
||||
this->subscribe_json(this->get_command_topic_(), [this](const std::string &topic, JsonObject &root) {
|
||||
this->subscribe_json(this->get_command_topic_(), [this](const std::string &topic, JsonObject root) {
|
||||
LightCall call = this->state_->make_call();
|
||||
LightJSONSchema::parse_json(*this->state_, call, root);
|
||||
call.perform();
|
||||
@@ -32,16 +32,16 @@ MQTTJSONLightComponent::MQTTJSONLightComponent(LightState *state) : MQTTComponen
|
||||
|
||||
bool MQTTJSONLightComponent::publish_state_() {
|
||||
return this->publish_json(this->get_state_topic_(),
|
||||
[this](JsonObject &root) { LightJSONSchema::dump_json(*this->state_, root); });
|
||||
[this](JsonObject root) { LightJSONSchema::dump_json(*this->state_, root); });
|
||||
}
|
||||
LightState *MQTTJSONLightComponent::get_state() const { return this->state_; }
|
||||
|
||||
void MQTTJSONLightComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTJSONLightComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
root["schema"] = "json";
|
||||
auto traits = this->state_->get_traits();
|
||||
|
||||
root[MQTT_COLOR_MODE] = true;
|
||||
JsonArray &color_modes = root.createNestedArray("supported_color_modes");
|
||||
JsonArray color_modes = root.createNestedArray("supported_color_modes");
|
||||
if (traits.supports_color_mode(ColorMode::ON_OFF))
|
||||
color_modes.add("onoff");
|
||||
if (traits.supports_color_mode(ColorMode::BRIGHTNESS))
|
||||
@@ -66,7 +66,7 @@ void MQTTJSONLightComponent::send_discovery(JsonObject &root, mqtt::SendDiscover
|
||||
|
||||
if (this->state_->supports_effects()) {
|
||||
root["effect"] = true;
|
||||
JsonArray &effect_list = root.createNestedArray(MQTT_EFFECT_LIST);
|
||||
JsonArray effect_list = root.createNestedArray(MQTT_EFFECT_LIST);
|
||||
for (auto *effect : this->state_->get_effects())
|
||||
effect_list.add(effect->get_name());
|
||||
effect_list.add("None");
|
||||
|
||||
@@ -21,7 +21,7 @@ class MQTTJSONLightComponent : public mqtt::MQTTComponent {
|
||||
|
||||
void dump_config() override;
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
bool send_initial_state() override;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ void MQTTNumberComponent::dump_config() {
|
||||
std::string MQTTNumberComponent::component_type() const { return "number"; }
|
||||
const EntityBase *MQTTNumberComponent::get_entity() const { return this->number_; }
|
||||
|
||||
void MQTTNumberComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTNumberComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
const auto &traits = number_->traits;
|
||||
// https://www.home-assistant.io/integrations/number.mqtt/
|
||||
root[MQTT_MIN] = traits.get_min_value();
|
||||
|
||||
@@ -25,7 +25,7 @@ class MQTTNumberComponent : public mqtt::MQTTComponent {
|
||||
void setup() override;
|
||||
void dump_config() override;
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
bool send_initial_state() override;
|
||||
|
||||
|
||||
@@ -32,10 +32,10 @@ void MQTTSelectComponent::dump_config() {
|
||||
std::string MQTTSelectComponent::component_type() const { return "select"; }
|
||||
const EntityBase *MQTTSelectComponent::get_entity() const { return this->select_; }
|
||||
|
||||
void MQTTSelectComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTSelectComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
const auto &traits = select_->traits;
|
||||
// https://www.home-assistant.io/integrations/select.mqtt/
|
||||
JsonArray &options = root.createNestedArray(MQTT_OPTIONS);
|
||||
JsonArray options = root.createNestedArray(MQTT_OPTIONS);
|
||||
for (const auto &option : traits.get_options())
|
||||
options.add(option);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class MQTTSelectComponent : public mqtt::MQTTComponent {
|
||||
void setup() override;
|
||||
void dump_config() override;
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
bool send_initial_state() override;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ uint32_t MQTTSensorComponent::get_expire_after() const {
|
||||
void MQTTSensorComponent::set_expire_after(uint32_t expire_after) { this->expire_after_ = expire_after; }
|
||||
void MQTTSensorComponent::disable_expire_after() { this->expire_after_ = 0; }
|
||||
|
||||
void MQTTSensorComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTSensorComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
if (!this->sensor_->get_device_class().empty())
|
||||
root[MQTT_DEVICE_CLASS] = this->sensor_->get_device_class();
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ class MQTTSensorComponent : public mqtt::MQTTComponent {
|
||||
/// Disable Home Assistant value expiry.
|
||||
void disable_expire_after();
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
// ========== INTERNAL METHODS ==========
|
||||
// (In most use cases you won't need these)
|
||||
|
||||
@@ -44,7 +44,7 @@ void MQTTSwitchComponent::dump_config() {
|
||||
|
||||
std::string MQTTSwitchComponent::component_type() const { return "switch"; }
|
||||
const EntityBase *MQTTSwitchComponent::get_entity() const { return this->switch_; }
|
||||
void MQTTSwitchComponent::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTSwitchComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
if (this->switch_->assumed_state())
|
||||
root[MQTT_OPTIMISTIC] = true;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ class MQTTSwitchComponent : public mqtt::MQTTComponent {
|
||||
void setup() override;
|
||||
void dump_config() override;
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
bool send_initial_state() override;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ static const char *const TAG = "mqtt.text_sensor";
|
||||
using namespace esphome::text_sensor;
|
||||
|
||||
MQTTTextSensor::MQTTTextSensor(TextSensor *sensor) : MQTTComponent(), sensor_(sensor) {}
|
||||
void MQTTTextSensor::send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) {
|
||||
void MQTTTextSensor::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) {
|
||||
config.command_topic = false;
|
||||
}
|
||||
void MQTTTextSensor::setup() {
|
||||
|
||||
@@ -15,7 +15,7 @@ class MQTTTextSensor : public mqtt::MQTTComponent {
|
||||
public:
|
||||
explicit MQTTTextSensor(text_sensor::TextSensor *sensor);
|
||||
|
||||
void send_discovery(JsonObject &root, mqtt::SendDiscoveryConfig &config) override;
|
||||
void send_discovery(JsonObject root, mqtt::SendDiscoveryConfig &config) override;
|
||||
|
||||
void setup() override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user