remove/recreate HA config for dallas/analog on change #888

This commit is contained in:
MichaelDvP
2023-01-11 18:38:07 +01:00
parent 1f0d2b147b
commit 3e3a600a60
2 changed files with 15 additions and 3 deletions

View File

@@ -67,6 +67,10 @@ void AnalogSensor::reload() {
#if defined(EMSESP_STANDALONE)
analog_enabled_ = true; // for local offline testing
#endif
for (auto sensor : sensors_) {
remove_ha_topic(sensor.gpio());
sensor.ha_registered = false;
}
if (!analog_enabled_) {
sensors_.clear();
return;
@@ -607,11 +611,15 @@ std::string AnalogSensor::Sensor::name() const {
return name_;
}
// set the counter value, id is gpio-no
// set the dig_out/counter/DAC/PWM value, id is gpio-no
bool AnalogSensor::command_setvalue(const char * value, const int8_t gpio) {
float val;
if (!Helpers::value2float(value, val)) {
return false;
bool b;
if (!Helpers::value2bool(value, b)) {
return false;
}
val = b ? 1 : 0;
}
for (auto & sensor : sensors_) {
if (sensor.gpio() == gpio) {