From 9db7cd2c2e0826271b4fa4f1b8c1e46be752bc00 Mon Sep 17 00:00:00 2001 From: Marc Selis Date: Thu, 26 Jan 2023 18:08:11 +0100 Subject: [PATCH] Fix repeat detection not working anymore --- addon/Easywave2MQTT/CHANGELOG.md | 1 + addon/Easywave2MQTT/app/Easywave2Mqtt.dll | Bin 122368 -> 122368 bytes addon/Easywave2MQTT/config.yaml | 2 +- .../Easywave/EldatRx09Transceiver.cs | 29 ++++++++---------- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/addon/Easywave2MQTT/CHANGELOG.md b/addon/Easywave2MQTT/CHANGELOG.md index da284c7..c17d3c0 100644 --- a/addon/Easywave2MQTT/CHANGELOG.md +++ b/addon/Easywave2MQTT/CHANGELOG.md @@ -8,3 +8,4 @@ | 0.4 beta | Simplified addon building & startup:
- addon binaries & config file are directly editable in app subfolder, making it easier for non-developers to alter the configuration and to deploy the addon in Home Assistant.
- options are directly read from data subfolder (if available).
Lowered logging level for a few `MessagingService` messages that were logged twice, but in a different way. | | 0.5 beta | Allow addon to start when no serial ports are found, or when a non-existing port was specified | | 0.5.2 beta | Fix crash when serialport is throwing IOException for a timeout, instead of a TimeoutException | +| 0.5.3 beta | Fix bug in detection mechanism for button repeats | diff --git a/addon/Easywave2MQTT/app/Easywave2Mqtt.dll b/addon/Easywave2MQTT/app/Easywave2Mqtt.dll index a8de399e58e9290e60bf7f89e8116eb5695f84f6..a66a806bc8adcce024e770a40f85245eda728c69 100644 GIT binary patch delta 29977 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 Iiqi1^1MekV3;+NC delta 29764 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 A=>Px# diff --git a/addon/Easywave2MQTT/config.yaml b/addon/Easywave2MQTT/config.yaml index c4be7fd..76390cc 100644 --- a/addon/Easywave2MQTT/config.yaml +++ b/addon/Easywave2MQTT/config.yaml @@ -1,6 +1,6 @@ name: "Easywave2MQTT" description: "Support Easywave devices in Home Assistant using MQTT" -version: "0.5.2" +version: "0.5.3" url: "https://github.com/marcselis/Easywave2MQTT" slug: "easywave2mqtt" init: false diff --git a/src/Easywave2Mqtt/Easywave/EldatRx09Transceiver.cs b/src/Easywave2Mqtt/Easywave/EldatRx09Transceiver.cs index 1b7f765..2256cfd 100644 --- a/src/Easywave2Mqtt/Easywave/EldatRx09Transceiver.cs +++ b/src/Easywave2Mqtt/Easywave/EldatRx09Transceiver.cs @@ -149,27 +149,22 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested && _port!.IsOpen) { - if (_port.BytesToRead > 0) + try { - try - { - var line = _port.ReadLine(); - LogReceivedLine(line); - EasywaveTelegram telegram = Parse(line); - if (!telegram.Equals(EasywaveTelegram.Empty)) - { - //Only wait if timeout has occurred, otherwise the double- & triple-press detection mechanism doesn't work. - await _bus.PublishAsync(telegram).ConfigureAwait(false); - } - } - catch (TimeoutException) - { - } - catch (IOException ex) when (ex.HResult == TimeoutResult) + var line = _port.ReadLine(); + LogReceivedLine(line); + EasywaveTelegram telegram = Parse(line); + if (!telegram.Equals(EasywaveTelegram.Empty)) { + //Only wait if timeout has occurred, otherwise the double- & triple-press detection mechanism doesn't work. + await _bus.PublishAsync(telegram).ConfigureAwait(false); } } - else + catch (TimeoutException) + { + await Task.Delay(PauseTime, stoppingToken).ConfigureAwait(false); + } + catch (IOException ex) when (ex.HResult == TimeoutResult) { await Task.Delay(PauseTime, stoppingToken).ConfigureAwait(false); }