fix analog mqtt

This commit is contained in:
MichaelDvP
2025-12-15 10:52:30 +01:00
parent 79089a93bc
commit 71b956e613

View File

@@ -112,6 +112,12 @@ void AnalogSensor::reload(bool get_nvs) {
for (auto sensor : sensors_) { for (auto sensor : sensors_) {
remove_ha_topic(sensor.type(), sensor.gpio()); remove_ha_topic(sensor.type(), sensor.gpio());
sensor.ha_registered = false; sensor.ha_registered = false;
#ifndef EMSESP_STANDALONE
if ((sensor.type() >= AnalogType::CNT_0 && sensor.type() <= AnalogType::CNT_2)
|| (sensor.type() >= AnalogType::FREQ_0 && sensor.type() <= AnalogType::FREQ_2)) {
detachInterrupt(sensor.gpio());
}
#endif
} }
if (!analog_enabled_) { if (!analog_enabled_) {
@@ -680,7 +686,7 @@ void AnalogSensor::publish_values(const bool force) {
#else #else
if (sensor.type() == AnalogType::PULSE || sensor.type() == AnalogType::DIGITAL_OUT) { if (sensor.type() == AnalogType::PULSE || sensor.type() == AnalogType::DIGITAL_OUT) {
#endif #endif
Mqtt::add_value_bool(doc.as<JsonObject>(), sensor.name(), sensor.value() != 0); Mqtt::add_value_bool(dataSensor, "value", sensor.value() != 0);
} else { } else {
dataSensor["value"] = serialized(Helpers::render_value(s, sensor.value(), 2)); // double dataSensor["value"] = serialized(Helpers::render_value(s, sensor.value(), 2)); // double
} }