Merge branch 'dev' into core3

This commit is contained in:
MichaelDvP
2026-05-11 15:06:11 +02:00
4 changed files with 23 additions and 5 deletions

View File

@@ -17,6 +17,7 @@ For more details go to [emsesp.org](https://emsesp.org/).
- full system backup and restore
- updated version check [#3047](https://github.com/emsesp/EMS-ESP32/issues/3047)
- auto-logic to set ht3/ems+ tx-mode
- polarity for digital_in sensors [#3070](https://github.com/emsesp/EMS-ESP32/discussions/3070)
## Fixed

View File

@@ -208,6 +208,23 @@ const SensorsAnalogDialog = ({
</ValidatedTextField>
</Grid>
)}
{editItem.t === AnalogType.DIGITAL_IN && (
<Grid>
<ValidatedTextField
name="f"
label={LL.POLARITY()}
value={editItem.f}
sx={{ width: '15ch' }}
fullWidth
select
onChange={updateFormValue}
disabled={editItem.s}
>
<MenuItem value={1}>{LL.ACTIVEHIGH()}</MenuItem>
<MenuItem value={0}>{LL.ACTIVELOW()}</MenuItem>
</ValidatedTextField>
</Grid>
)}
{editItem.t === AnalogType.ADC && (
<Grid>
<ValidatedTextField
@@ -413,7 +430,7 @@ const SensorsAnalogDialog = ({
name="o"
label={LL.POLARITY()}
value={editItem.o}
sx={{ width: '11ch' }}
sx={{ width: '15ch' }}
select
onChange={updateFormValue}
disabled={editItem.s}

View File

@@ -287,8 +287,8 @@ void AnalogSensor::reload(bool get_nvs) {
#endif
} else if (sensor.type() == AnalogType::DIGITAL_IN) {
LOG_DEBUG("Digital Read on GPIO %02d", sensor.gpio());
sensor.set_value(digitalRead(sensor.gpio())); // initial value
sensor.set_uom(0); // no uom, just for safe measures
sensor.set_value(sensor.factor() == 0 ? !digitalRead(sensor.gpio()) : digitalRead(sensor.gpio())); // initial value
sensor.set_uom(0); // no uom, just for safe measures
sensor.polltime_ = 0;
sensor.poll_ = digitalRead(sensor.gpio());
publish_sensor(sensor);
@@ -455,7 +455,7 @@ void AnalogSensor::measure() {
if (uuid::get_uptime() - sensor.polltime_ >= 15 && sensor.poll_ != sensor.last_reading_) {
sensor.last_reading_ = sensor.poll_;
if (sensor.type() == AnalogType::DIGITAL_IN) {
sensor.set_value(sensor.poll_);
sensor.set_value(sensor.factor() == 0 ? !sensor.poll_ : sensor.poll_);
} else if (!sensor.poll_) { // falling edge
if (sensor.type() == AnalogType::COUNTER) {
sensor.set_value(old_value + sensor.factor());

View File

@@ -1 +1 @@
#define EMSESP_APP_VERSION "3.9.0-dev.5"
#define EMSESP_APP_VERSION "3.9.0-dev.6"