From b9a8bbd1a954a0017fd54e9ee3539d01168bb230 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 14 Oct 2024 13:34:37 +0200 Subject: [PATCH] fix digital_out active_low/high --- src/analogsensor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index 17a2b57c1..ac23b33ca 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -210,7 +210,7 @@ void AnalogSensor::reload(bool get_nvs) { sensor.set_offset(EMSESP::nvs_.getChar(sensor.name().c_str())); } } - digitalWrite(sensor.gpio(), (sensor.offset() == 0) ^ (sensor.factor() != 0)); + digitalWrite(sensor.gpio(), (sensor.offset() == 0) ^ (sensor.factor() > 0)); sensor.set_value(sensor.offset()); } publish_sensor(sensor); @@ -756,7 +756,7 @@ bool AnalogSensor::command_setvalue(const char * value, const int8_t gpio) { sensor.set_offset(v); sensor.set_value(v); pinMode(sensor.gpio(), OUTPUT); - digitalWrite(sensor.gpio(), (sensor.offset() == 0) ^ (sensor.factor() != 0)); + digitalWrite(sensor.gpio(), (sensor.offset() == 0) ^ (sensor.factor() > 0)); if (sensor.uom() == 0 && EMSESP::nvs_.getChar(sensor.name().c_str()) != (int8_t)sensor.offset()) { EMSESP::nvs_.putChar(sensor.name().c_str(), (int8_t)sensor.offset()); }