Tuya - głowica termostatyczna - problemy rozwiązane

Głowica Tuya - solucja.

Posiadany sprzęt:

Zauważone problemy:

  • przegrzewanie 1 (zbyt późne zamykanie zaworów)
  • przegrzewanie 2 (niedomykanie zaworu w pozycji ZERO)

Zalety:

  • dobra cena
  • dużo parametrów do ustawienia
  • możliwość odczytu pozycji zaworu

Analiza działania głowic:

  • samoistna komunikacja z koordynatorem następuje co 15 minut standardowo
  • nasłuch jest ciągły co umożliwia zmianę parametrów
  • każda komunikacja powoduje przesłanie aktualnych parametrów z głowicy
  • zmiana stopnia otwarcia zaworu odbywa się wyłącznie jeśli wystąpi jakaś komunikacja lub co 15 minut
  • szumnie nazwany algorytm PID działa tak, że każda zmiana jest o 5%
  • algorytm nazwany jako On/Off działa tak, że każda zmiana jest o 25%

Założenia odnośnie wody gorącej:

  • kocioł pelletowy
  • przeciętne czasy zał/wył to około 2.5h grzania 2-3h przerwy.

Wnioski:

  • standardowo zamykanie / otwieranie zaworu trwa 15minut * 60/5 = 15 * 12 = 180 minut!!!
  • czasami, po jakimś czasie następuje “rozregulowanie” głowicy co objawia się tym, że nie domykany jest zawór
    i w stanie otwarcia 0% przepuszcza, powodując przegrzania. Może to być sprawa rozszerzalności cieplnej elementów albo błędy algorytmu.
  • podłożenie monety 20gr raczej nic nie daje (założyłem)
  • PID to raczej tylko krok ustawień zaworu 5%
  • ON/OFF to raczej tylko krok ustawień zaworu 25%

Moje rozwiązanie:

Problem 1 (zbyt wolne zamykanie zaworów)

Co zadany czas (ja ustawiłem 3 minuty) wymusić komunikację z głowicą.
Ustawić jakiś nieistotny parametr. Co kto lubi. Ja ustawiam “away days = 0”.
Wymuszenie komunikacji powoduje “popchnięcie” algorytmu ustawiania pozycji zaworu.
W moim przypadku głowica zamknie się w czasie 3 * 5% = 3 * 60/5 = 3 * 12 = 36 minut.
Tutaj wyznacznikiem jest głownie czas życia baterii.
Można ustawić mniejszy czas, np. 1 minutę i głowica zamknie się w 12 minut.
A można i szybciej. Nie schodziłbym chyba poniżej 10 sekund bo trzeba dać czas na komunikację
i wykonanie polecenia wraz z ustawieniem pozycji zaworu.
Ale hardcorowcy mogą w ten sposób zamknąć zawór w ciągu minuty :slight_smile:
Tu byłoby dobrze zrobić jakąś logikę aby robić to tylko w chwili gdy zawór się otwiera czy zamyka, bo szkoda baterii.

Algorytm idealny:

  • jeśli pozycja zaworu jest większa od poprzednio odczytanej pozycji to skomunikuj się z głowicą (zawór się otwiera)
  • jeśli pozycja zaworu jest mniejsza od poprzednio odczytanej pozycji to skomunikuj się z głowicą (zawór się zamyka)
  • jeśli pozycja zaworu jest taka jak poprzednio (czyli 0 lub 100) to nie rób nic.
    To dałoby spore zaoszczędzenie baterii i wyłączyłoby niepotrzebną komunikację.
    U mnie na razie komunikacja jest wymuszona co 3 minuty na sztywno. Na razie wystarczy.

Problem 2 (niedomykanie zaworów)

Gdy zawór się zamknie (pozycja zaworu spadnie do 0%) wymusić pozycję OFF lub wyłączyć głowicę, a potem,
po jakimś czasie opóźnienia (5-10s) przywrócić stan NORMAL lub załączyć głowicę.
Nastąpi domknięcie zaworu do prawdziwego ZERA :slight_smile:

Algorytm idealny:

  • jeśli pozycja zaworu osiągnęła 0% i temperatura jest równa lub większa od nastawionej plus histereza to wyłącz/delay/załącz głowicę

Algorytm poprawny:

  • jeśli pozycja zaworu osiągnęła 0% to wyłącz/delay/załącz głowicę

Podsumowanie:

Za niewielkie pieniądze mamy poprawnie działającą głowicę z duża ilością możliwości, którą można polecać :slight_smile:

P.S.
Celowo zrobiłem to opisowo, bo to można zrobić na różnych platformach, na każdej inaczej.
Zostawiam pole do popisu dla expertów od poszczególnych platform.
Jeśli o czymś zapomniałem, napisałem niejasno itp. to proszę o info.

4 polubienia