Dzień dobry.
Już dość długo studiuję to forum, ale to moje pierwsze zapytanie.
Próbuję zrobić prostą automatyzację: otwarcie zaworu przy grzejniku ma uruchomić pompę CO. Zawór jest obsługiwany głowicą Zigbee. W momencie gdy zawór jest otwarty głowica ma jeden z atrybutów (nie wiem czy to porawana nazwa) hvac_action: heating, gdy zawór jest zamknięty hvac_action: idle.
Jak masz obecnie pompę sterowaną?
W opisie głowicy jest, że zwraca swoją pozycję otwarcia w [%] - sprawdź czy nie masz dodatkowej encji dla tej głowicy mówiącej o pozycji.
W takim przypadku sumuje się otwarcie ze wszystkich i sprawdza czy wartość jest powyżej progu.
W przypadku sprawdzania stanu heat/idle załączenie ma nastąpić gdy choćby jeden jest heat, wyłączenie gdy wszystkie idle.
Dlaczego piszesz w dziale node-red ?
Sterowanie obecnie jest stykiem zwykłego termostatu (styk bezpotencjałowy, ale to nie ma znaczenia). Pompa ogrzewa całe piętro, ale sterowana jest na podstawie pomiaru temperatury w jednym z pomieszczeń, takim powiedzmy “reprezentatywnym”.
No i generalnie działa to przyzwoicie, ale przez Was i to forum pojawił się pomysł aby to usprawnić (a może skomplikować) Miejsza o to - taka dygresja.
Mój pomysł był taki: docelowo kilka termostatów (w każdym pomieszczeniu jeden), dopóki chociaż jeden z nich zgłasza “niedogrzanie” to pracuje pompa. Gdy wszędzie zostanie osiągnięta temperatura zadana, pompa się wyłączy.
Zacząłem od jednego termostatu - z myślą o późniejszym rozwinięciu pomysłu.
A jeszcze jedno: zauważyłem że siłownik - głowica działa 0-1: nie zaobserwowałem stanów pośrednich np 30% procent otwarcia.
W dobrych głowicach min pozycję zaworu się ustawia. Przy kilku grzejnikach jest to na poziomie 5% każdy.
Robi się w celu, aby zostawić minimalny przepływ dla kotła który np. startuje po nocnym obniżeniu temperatury. Zapobiega to za działaniu zabezpieczeń od przegrania - szczególnie gdy wszystkie grzejniki posiadają głowice.
Z2M używa mqtt do komunikacji z HA.
Skoro otagowałeś temat jako node-red to…
Za pomocą węzła mqtt_in subskrybujesz temat zigbee2mqtt/tvr_1, odczytujesz position, nodem switch sprawdzasz wartość i wywołujesz usługę wł/wył pompkę.
Sam preferuje NR.
Jest też możliwość zrobienia automatyzacji w czystym HA.
Hasłowo - bo wiem co należy zrobić… ale dokładnie jak to już musiałbym się trochę wysilić.
Trzeba utworzyć nową encje mqtt z atrybutu position i następnie użyć jej w automatyzacji sprawdzającej próg przekroczenia.