Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve error handling for Tx write and Tx read errors #2273

Open
tp1de opened this issue Dec 2, 2024 · 3 comments
Open

Improve error handling for Tx write and Tx read errors #2273

tp1de opened this issue Dec 2, 2024 · 3 comments

Comments

@tp1de
Copy link
Contributor

tp1de commented Dec 2, 2024

I do have some errors on my EMS+ system.

For write commands there are sometimes TX write timeouts and errors:
Last Tx write timeout / Last Tx write rejected by host

While sending raw read request I get failures:
2024-12-02 11:11:43.393 I 360: [command] Called command system/send (Sende EMS-Telegramm) with value 0B 90 FF 00 0C 02 09 2024-12-02 11:11:44.771 E 361: [telegram] Last Tx Read operation failed after 3 retries. Ignoring request: 0B 10 FF 00 02 09 0C

This happens on all type of thermostat commands - setting tempautotemp or switchprog and others.
While setting single values it happens on 5-10% of all command. On longer commands (e.g. switchprog) it happens much more often.
Using the testbuild from @MichaelDvP commands for switchPrograms are > 24 bytes and errors are more often (>40% of all cases).
When I send short raw commands with 4 bytes (2 switchTimes) the error rate is < 10% but still existing.

Since these errors do not exist while using the Buderus gateway, this might look like a timing issue on ems-esp.

Can't these errors be corrected within ems-esp while resending the commands?
Or is there any other way to recognize these errors rather then looking at status log? (e.g. within response topic)

@tp1de tp1de changed the title Improve error handling for Tx write and TX Read errors Improve error handling for Tx write and TX read errors Dec 2, 2024
@tp1de tp1de changed the title Improve error handling for Tx write and TX read errors Improve error handling for Tx write and Tx read errors Dec 2, 2024
@MichaelDvP
Copy link
Contributor

Can't these errors be corrected within ems-esp while resending the commands?

If we know what causes these errors we can send the first time in the right way. But we have 4 different TX-modes and don't know why one or another works better in some systems. (in my system all 4 modes work without any issue, i always use hardware).

@tp1de
Copy link
Contributor Author

tp1de commented Dec 3, 2024

There is no 1:1 cause since most of the same commands work without any issue.
Actually I am resending important commands up to 3 times to make sure that at least one is working.
Couldn't the command with TX write errors being mentioned within the response topic?

Or do you have any idea what I can test next to the different tx-modes? (all of them produces these errors)

@tp1de
Copy link
Contributor Author

tp1de commented Dec 4, 2024

My km200 gateway is sending 38 to 40 read requests to boiler or thermostat within every minute. These requests are replied from boiler / thermostat to the gateway.

There are 2 breaks in every minute where no telegram is send/received of approx. 11-12 seconds.
ems-esp requests a similar amount of data but within 15 seconds on every minute and then having a break of 45 secs.

When I try to do changes (tx write requests) during one of this breaks, it looks like that I do not get errors.( Otherwise I do get some)

Could it be that the coexistence of ems-esp and buderus gateway reduces the chance to execute tx writes correctly?
I recognized a similar behavior when I had 2 active ems-esp gateways for testing purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants