From 65e1ceec8386c34ea10e864fe956b9ec9c0b79c2 Mon Sep 17 00:00:00 2001 From: pharaocurt <32060079+pharaocurt@users.noreply.github.com> Date: Fri, 30 Apr 2021 11:36:47 +0200 Subject: [PATCH] Correction of tasmota/xsns_05_ds18x20.ino Ds18x20Name() search. sizeof(ds18x20_chipids) calculates number of chipids, e.g. 4 chipids + 0 entry it will return 5. So the 1st checked chipid must start at ds18x20_chipids[4], not at ds18x20_chipids[5]. --- tasmota/xsns_05_ds18x20.ino | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tasmota/xsns_05_ds18x20.ino b/tasmota/xsns_05_ds18x20.ino index 68c2cbd83..1eae7a52a 100644 --- a/tasmota/xsns_05_ds18x20.ino +++ b/tasmota/xsns_05_ds18x20.ino @@ -420,11 +420,10 @@ bool Ds18x20Read(uint8_t sensor) { void Ds18x20Name(uint8_t sensor) { uint8_t index = sizeof(ds18x20_chipids); - while (index) { + while (--index) { if (ds18x20_sensor[ds18x20_sensor[sensor].index].address[0] == ds18x20_chipids[index]) { break; } - index--; } GetTextIndexed(DS18X20Data.name, sizeof(DS18X20Data.name), index, kDs18x20Types); if (DS18X20Data.sensors > 1) {