Posiadam termostat MOES BHT-002 z serii dotkniętej przykrą dolegliwością, zawieszaniem się MCU. Nie jestem jedyny ponieważ seria wadliwych termostatów była dość spora.
Niestety nie mam jeszcze wystarczająco dużo doświadczenia w posługiwaniu się i pisaniu skryptów w OpenBK aby stworzyć coś co opiszę poniżej, stąd moja prośba do ekspertów o pomoc.
Zawieszanie objawia się kompletnym brakiem reakcji termostatu, potrzebny jest restart który przywraca mu życie na jakiś czas, zdarza się to kompletnie nieregularnie, czasem po dwóch tygodniach a potem na drugi dzień, nie ma reguły.
Przy czym moduł CB3S znajdujący się w termostacie działa bezproblemowo cały czas.
Udało mi się przygotować od strony technicznej ręczny restart samego MCU poprzez umieszczenie tranzystora MOSFET jako odcinającego masę od mikrokontrolera, steruje nim przez GPIOP_8 w CB3S ustawionego jako Relay na kanale 10 (toggle), i ręcznie działa to znakomicie.
Chciałbym to zautomatyzować aby restarty wykonywały się samodzielnie po stwierdzeniu zawieszenia MCU.
Jedynym czytelnym objawem pokazującym aktualny stan MCU jest taki meldunek w logach:.
przy czym przy stanie zawieszenia TuyaMCU heartbeat_valid = 0 , wifi_state_valid = 0 i product_information_valid=0 mają stan 0, podczas prawidłowej pracy 1.
Tak wygląda przykładowy log w stanie zawieszenia co sekundę.:
Teraz pytania.:
1. Czy jest możliwe napisanie skryptu dla OBK który otrzymując parę razy informację o zawieszeniu uruchamiałby/wyłączałby na 1 sekundę GPIOP_8, tym samym restartując MCU ?
albo.:
2. Czy możliwe jest przesłanie stanu TuyaMCU heartbeat_valid poprzez MQTT do Home Assistant ?. Tam byłbym w stanie uruchomić automatyzację restarującą MCU.
Niestety nie mam jeszcze wystarczająco dużo doświadczenia w posługiwaniu się i pisaniu skryptów w OpenBK aby stworzyć coś co opiszę poniżej, stąd moja prośba do ekspertów o pomoc.
Zawieszanie objawia się kompletnym brakiem reakcji termostatu, potrzebny jest restart który przywraca mu życie na jakiś czas, zdarza się to kompletnie nieregularnie, czasem po dwóch tygodniach a potem na drugi dzień, nie ma reguły.
Przy czym moduł CB3S znajdujący się w termostacie działa bezproblemowo cały czas.
Udało mi się przygotować od strony technicznej ręczny restart samego MCU poprzez umieszczenie tranzystora MOSFET jako odcinającego masę od mikrokontrolera, steruje nim przez GPIOP_8 w CB3S ustawionego jako Relay na kanale 10 (toggle), i ręcznie działa to znakomicie.
Chciałbym to zautomatyzować aby restarty wykonywały się samodzielnie po stwierdzeniu zawieszenia MCU.
Jedynym czytelnym objawem pokazującym aktualny stan MCU jest taki meldunek w logach:.
ExtraDebug:TuyaMCU:TuyaMCU heartbeat_valid = 1, product_information_valid=1, self_processing_mode = 1, wifi_state_valid = 1, wifi_state_timer=20przy czym przy stanie zawieszenia TuyaMCU heartbeat_valid = 0 , wifi_state_valid = 0 i product_information_valid=0 mają stan 0, podczas prawidłowej pracy 1.
Tak wygląda przykładowy log w stanie zawieszenia co sekundę.:
ExtraDebug:TuyaMCU:TuyaMCU heartbeat_valid = 0, product_information_valid=0, self_processing_mode = 1, wifi_state_valid = 0, wifi_state_timer=5Teraz pytania.:
1. Czy jest możliwe napisanie skryptu dla OBK który otrzymując parę razy informację o zawieszeniu uruchamiałby/wyłączałby na 1 sekundę GPIOP_8, tym samym restartując MCU ?
albo.:
2. Czy możliwe jest przesłanie stanu TuyaMCU heartbeat_valid poprzez MQTT do Home Assistant ?. Tam byłbym w stanie uruchomić automatyzację restarującą MCU.