emsesp / EMS-ESP32

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
https://emsesp.github.io/docs
GNU Lesser General Public License v3.0
548 stars 96 forks source link

Missing values for damped outdoor temperature #282

Closed Tillmann-E closed 2 years ago

Tillmann-E commented 2 years ago

Bug description Reading the damped outdoor temperature (thermostat) fails after a couple of hours. After restarting its working again for some hours.

Steps to reproduce Has been working with version 3.1.1. Error occurs since update to version 3.3.0.

System log for the time of the error. Last value received should be around 2022-01-04T00:04:20.000Z.

2022-01-03 20:26:11.977 W 55: [telegram] Incomplete Rx: 90 0B FF 00 01 40 32 00 01 00 00 00 00 00 FF 01 F6 06 FF 00
2022-01-03 20:44:05.246 W 56: [telegram] Incomplete Rx: 90 88 00 2A 00 00 00 00 00 03 00 00 00 C6 00 C6 80 00 00 80 00 80 00 80 00 00
2022-01-03 22:25:07.487 W 57: [telegram] Incomplete Rx: 88 88 00 2A 00 00 00 00 00 03 00 00 00 C7 00 C7 80 00 00 80 00 80 00 80 00 00
2022-01-03 23:05:00.499 W 58: [telegram] Incomplete Rx: FE 88 00 2A 00 00 00 00 00 03 00 00 00 CF 00 00 80 00 00 80 00 80 00 80 00 00
2022-01-03 23:08:29.687 W 59: [telegram] Incomplete Rx: FE 88 00 2A 00 00 00 00 00 03 00 00 00 CF 00 00 80 00 00 80 00 80 00 80 00 00
2022-01-04 00:05:07.469 W 60: [telegram] Incomplete Rx: 90 0B FF 00 01 B9 FF 2E 28 26 00 01 00 FF FF 05 28 01 E1 20
2022-01-04 00:16:09.681 E 61: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 90 FF 00 20 01 B9
2022-01-04 00:32:17.354 E 62: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 90 FF 00 20 01 3A
2022-01-04 00:32:28.616 E 63: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 90 FF 00 20 01 40
2022-01-04 02:23:17.591 E 64: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 90 FF 00 20 02 1B

Expected behavior Constant values for damped outdoor temperature. Screenshots

image
Device information System
System.version 3.3.0
System.uptime 001+22:58:57.318
System.uptime (seconds) 169137
System.freemem 147
System.reset reason Software reset CPU / Software reset CPU
System.Dallas sensors 4
Network.connection WiFi
Network.hostname ems-esp
Network.SSID XXX
Network.BSSID E8:DF:70:21:D8:ED
Network.RSSI -71
Network.MAC 08:3A:F2:52:DC:84
Network.IPv4 address 192.168.XX.XX/255.255.255.0
Network.IPv4 gateway 192.168.XX.XX
Network.IPv4 nameserver 192.168.XX.XX
Status.bus status connected
Status.bus protocol HT3
Status.telegrams received 129434
Status.read requests sent 17390
Status.write requests sent 0
Status.incomplete telegrams 20
Status.tx fails 7
Status.rx line quality 100
Status.tx line quality 100
Status.MQTT connected
Status.MQTT publishes 5130
Status.MQTT publish fails 0
Status.Dallas reads 135308
Status.Dallas fails 0
Devices.0.type Boiler
Devices.0.name Junkers GBx72/Trendline/Cerapur/Greenstar Si/27i (DeviceID:0x08 ProductID:123, Version:06.02)
Devices.0.handlers 0x10 0x11 0xC2 0x14 0x15 0x1C 0x18 0x19 0x1A 0x35 0x16 0x33 0x34 0x26 0x2A 0xD1 0xE3 0xE4 0xE5 0xE6 0xE9 0xEA
Devices.1.type Thermostat
Devices.1.name RC300/RC310/Moduline 3000/1010H/CW400/Sense II (DeviceID:0x10, ProductID:158, Version:33.04)
Devices.1.handlers 0xA3 0x06 0xA2 0x12 0x2A5 0x2B9 0x2AF 0x29B 0x471 0x2A6 0x2BA 0x2B0 0x29C 0x472 0x2A7 0x2BB 0x2B1 0x29D 0x473 0x2A8 0x2BC 0x2B2 0x29E 0x474 0x2F5 0x31B 0x31D 0x31E 0x23A 0x267 0x240
Devices.2.type Controller
Devices.2.name Controller (DeviceID:0x09, ProductID:152, Version:02.08)
proddy commented 2 years ago

what are your system settings - are you publishing the data via MQTT or polling the API and at what frequency? If it's "on change" then perhaps EMS-ESP is not detecting a change. Does it always happen after the same # hours?

Next time you notice no data is coming in go to the console do a read 10 23a to see if there is actual data.

Tillmann-E commented 2 years ago

I'm publishing every 10 seconds via MQTT to home assistant. The number of hours are not always the same.

I'm going to check this next time, but I think there ist no actual data, because the value in the EMS-ESP UI hast also been static.

Edit: Sorry, missunderstood you. I think there will be actual data on the thermostat. I guess there is an error in reading the telegram and after that it is ignored.

proddy commented 2 years ago

yes, we need to figure out if the interface board or the Rx UART has stopped working

MichaelDvP commented 2 years ago

The issue is that the boiler stops replying to 0x23A here: 2022-01-04 00:32:17.354 E 62: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 8B 90 FF 00 20 01 3A This generates a empty dummy reply and toggle the fetch of this telegram. After this the telegram is not fetched anymore. We have introduced this, because some boilers/thermostats does not reply to some telegrams (or version request) and emsesp will endless query this telegrams. This dummy reply is also used for Tado- and modem-detection. Maybe 3 read-retries are not enough, or too fast if the bus is currently disturbed. We can try with a delayed send of the last retry, like the delay for post-send-queries, insert here: delayed_send_ = (retry_count_ < MAXIMUM_TX_RETRIES) ? 0 : (uuid::get_uptime() + POST_SEND_DELAY);

Or, better or in additition, set a marker to telegram function if we have received a non-empty telegram and prevent the toggle afterwards.

Tillmann-E commented 2 years ago

this ist the result to read 10 23a 001+21:08:32.493 N 0: [emsesp] Thermostat(0x10) -> Me(0x0B), RC300OutdoorTemp(0x23A), data: 00 14 with an outdoor temperature of 1.8 °C a damped outdoor temperature of 2.0 °C seems fine.

proddy commented 2 years ago

@Tillmann-E did you try the latest v3.4 build to see if it resolved your issue?

Tillmann-E commented 2 years ago

I updated to 3.3.1 a week ago and it's working now. Thank you!