From fe12f1903dc11c770d1343751fe02c330f827822 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 2 Jun 2022 18:33:23 +0200 Subject: [PATCH 1/2] uart higher prriority --- src/uart/emsuart_esp32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uart/emsuart_esp32.cpp b/src/uart/emsuart_esp32.cpp index f22841cb0..79def3e3b 100644 --- a/src/uart/emsuart_esp32.cpp +++ b/src/uart/emsuart_esp32.cpp @@ -87,7 +87,7 @@ void EMSuart::start(const uint8_t tx_mode, const uint8_t rx_gpio, const uint8_t uart_set_pin(EMSUART_NUM, tx_gpio, rx_gpio, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); uart_set_rx_full_threshold(EMSUART_NUM, 1); uart_set_rx_timeout(EMSUART_NUM, 0); // disable - xTaskCreate(uart_event_task, "uart_event_task", 2048, NULL, configMAX_PRIORITIES - 3, NULL); + xTaskCreate(uart_event_task, "uart_event_task", 2048, NULL, configMAX_PRIORITIES - 1, NULL); } tx_mode_ = tx_mode; uart_enable_intr_mask(EMSUART_NUM, UART_BRK_DET_INT_ENA | UART_RXFIFO_FULL_INT_ENA); From e7bcc380e384a2398080c062401295584e560fe2 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 2 Jun 2022 18:34:02 +0200 Subject: [PATCH 2/2] fix #536, FR100 datetime not writable --- src/devices/thermostat.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 021537e49..4b8852480 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -3730,13 +3730,18 @@ void Thermostat::register_device_values() { MAKE_CF_CB(set_wwCircSwitchTime)); break; case EMS_DEVICE_FLAG_JUNKERS: - register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, - &dateTime_, - DeviceValueType::STRING, - FL_(tpl_datetime), - FL_(dateTime), - DeviceValueUOM::NONE, - MAKE_CF_CB(set_datetime)); + if (has_flags(EMS_DEVICE_FLAG_JUNKERS_OLD)) { + // FR100 is not writable, see. https://github.com/emsesp/EMS-ESP32/issues/536 + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &dateTime_, DeviceValueType::STRING, FL_(tpl_datetime), FL_(dateTime), DeviceValueUOM::NONE); + } else { + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &dateTime_, + DeviceValueType::STRING, + FL_(tpl_datetime), + FL_(dateTime), + DeviceValueUOM::NONE, + MAKE_CF_CB(set_datetime)); + } register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hybridStrategy_, DeviceValueType::ENUM,