Home Assitant i BHT-1000-M

Na wstępie chciałbym przywitać wszystkich na forum.

Od pewnego czasu sukcesywnie rozwijam moją implementację domu inteligentnego. Część sprzętowa myślę jest zakończona. Całość kontroluje sterownik PLC Fatek’a, musiałem dołożyć jeszcze 2-3 przekaźniki Shelly 1. Kwestię ogrzewania ogarniają wspomniane w tytule termostaty BHT-1000-M (z których nawiasem mówiąc nie jestem specjalnie zadowolony). Całość integruje Home Assistant, który z PLC i termostatami komunikuje się przez Modbus.

Do wspomnianych termostatów zrobiłem integrację odczytującą ich mapy pamięci. Niestety ten termostat ma bardzo kiepski zegar czasu rzeczywistego, który na dzień potrafi się opóźnić do 15 minut. Wymyśliłem więc, że o określonej godzinie, automatyzacja załączy skrypt, który wpisze bieżący czas do sterownika. Niestety trochę to przekracza moją znajomość Home-Assistanta. W tej chwili robię to tak:

sterowniki_grzania_czas:
  alias: Sterowniki ogrzewania czas
  sequence:
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 6
      slave: 1
      value: 23
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 5
      slave: 1
      value: 50
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 6
      slave: 2
      value: 23
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 5
      slave: 2
      value: 50

itd. razy 11 bo tyle mam sterowników (na każde pomieszczenie osobny). Działa ale ani to eleganckie ani efektywne. Moje pytanie brzmi jak napisać taki skrypt, żeby po pierwsze zrobił to w pętli po drugie wpisał bieżący czas. Np.

sterowniki_grzania_czas_testy:
  alias: Sterowniki ogrzewania czas testy
  sequence:
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 6
      slave: 1
      value:
        now().hour:
  - service: modbus.write_register
    data:
      hub: Grzanie
      address: 5
      slave: 1
      value:
        now().minute:
  mode: single

Nie możesz się normalnie synchronizować z serwerem NTP?

Dzięki :slight_smile: Ale to nie chodzi o sterownik Fatek’a a osobne termostaty. Na poziomie sprzętowym jest PLC Fatek i 11 BHT-1000-M a integruje to Home Assistant (zapewnia wizualizacje i automatyzacje) poprzez ModBus.

BHT-1000-M

Te termostaty mają program automatyczny i manualny. Niestety program automatyczny jest nie do użycia, jak czas się potrafi rozjechać kilkanaście minut na dzień. Stąd wymyśliłem, że dwa razy na dzień mógłbym zapisać do nich czas z HA (wystarczy przekazać funkcją ModBus w wartościach całkowitych godziny i minuty).
W sumie zrobiłem skrypt do tego ale jak widać w pierwszym mailu nie jest to zbyt eleganckie.

Ok…nie zrozumiałem.
Pierwsza optymalizacja to możesz wpisać od razu dwa rejestry

service: modbus.write_register
data:
hub: Grzanie
address: 5
slave: 1
value: [now().minute:now().hour]

Takie rzeczy to robię w NR, ale gdybym musiał w HA to zrobiłbym w kreatorze automatyzacją uruchamianą o określonym czasie i dodał wywołanie usług modbus.write_register dla poszczególnych termostatów.

Myślałem nad NR, ale na razie poza dodaniem go do HA nie miałem czasu z tym powalczyć a automatyzacje w HA robi się dość prosto.

Wracając do skryptu, sorry ale zapomniałem dopisać jeszcze, że wywołanie now().hour zwraca błąd expected int @ data[‘value’][0]

Witam. Troszkę odgrzeję temat. Szukając informacji o BHT-1000-M znalazłem czujnik CTH-MQTT dedykowany do HA . Co o nim sądzicie. Z informacji wynika, że jest dość dokładny na czym mi zależy. Jego wygląd też mi odpowiada. Sterowanie zaworami na rozdzielaczu chciałbym zrobić bezprzewodowo, też z poziomu HA. Możecie polecić jakiś sprawdzony moduł wyjść przekaźnikowych x8.

Nie mam tego czujnika, nie jest jednak on dedykowany do HA ma po prostu WiFi i obsługę MQTT… i pobiera 2.5W.

A skoro i tak będziesz go używał z HA to jego reklamowane możliwości (średnia 15 minutowa) całkowicie tracą na jakimkolwiek znaczeniu, bo z gęstymi danymi z dowolnego innego czujnika jesteś w stanie zrobić co tylko chcesz.

Patrząc na to od strony finansowej - gdybym miał dać za sam czujnik ~400zł tylko dla jego dużego wyświetlacza, to wolę wydać ~20zł na bateryjny (tu dodatkowy plus - miejsce montażu nie jest uzależnione od istnienia puszki z zasilaniem, które zazwyczaj nie są tam, gdzie są faktycznie potrzebne) czujnik BLE o porównywalnej dokładności i rozdzielczości pomiaru (wtedy w 100zł mieszczę się z czujnikami na 5 pomieszczeń, kolejne 100zł mogę poświęcić na wypasione proxy BLE, a za 200zł mam zapas ogniw zasilających na 40 lat działania dla każdego czujnika - tu warto wziąć pod uwagę, że żaden półprzewodnikowy czujnik wilgotności nie ma przewidzianej tak długiej żywotności).

1 Like

Dzięki za odpowiedź. W moim przypadku komunikacja po Wi-Fi to zaleta ze względu na zasięg, a nie wada :). Pobór mocy 2,5W myślę, że to tylko w szczycie przy nadawaniu, a nie ciągły. Tym bym się też nie martwił. Dom nowo budowany, puszki przewidziane w odpowiednich miejscach, zasilanie już doprowadzone.
Pozostaje kwestia integracji z HA no i ceny. Z MQTT i HA ponoć nie ma większych problemów.
Cena…? Możesz mi podesłać namiary na te czujniki o których piszesz. Na jakim elemencie pomiarowym są robione. Zależy mi na dokładności i powtarzalności. Ten zastosowany w CTH-MQTT (si7021) po ponoć firmowy układ o dobrych parametrach.
Nie wiele układów dostępnych na rynku mu dorównuje. Oczywiście DS18xx, ale mi też zależy na pomiarze wilgotności, bo chcę realizować chłodzenie i kontrolować punkt rosy.
Masz jakiś sprawdzony moduł z przekaźnikami?
Pozdrawiam

Czujnik, o którym wspomniałem, to “gwiazda internetu” (głównie z powodu współczynnika jakość/cena, a zwłaszcza wśród użytkowników HA, którym nie jest straszna zmiana firmware na zdecydowanie lepsze od fabrycznego otwartoźródłowe) lywsd03mmc, użyty sensor to Sensirion SHT40 (stare wersje są na SHT30/SHTC3).

Na otwartożródłowym firmware nawet można kalibrować czujniki (jeśli masz do tego warunki), jakkolwiek żaden egzemplarz (z kilkunastu które używam i używają też znajomi) bez tej dodatkowej kalibracji nie odbiega wskazaniem temperatury bardziej niż o 0.1°C i 2%RH, a zdecydowana większość trafia w punkt.
Jeśli potrzebujesz zgodność wskazań, to kup więcej i odrzuć z partii te które będą odbiegały parametrami od większości, trochę cierpliwości jest potrzebne, bo po uruchomieniu wymagają wysezonowania przez minimum klika dni, w sumie nawet te które odbiegają można dokalibrować do większości (użyte w nich czujniki Sensiriona są kalibrowane fabrycznie, ale to są tanie wersje i to nie jest kalibracja jednostkowa, tylko kalibracja całej partii - wersje kalibrowane jednostkowo fabrycznie to takie same czujniki, ale kilkadziesiąt razy droższe więc nikt ich nie będzie montował w masówce jeśli są dedykowane do przyrządów pomiarowych, a jak wiadomo z wafla uzyskuje się różna jakość w zależności od czystości materiału - te same zagadnienia co przy produkcji procesorów; swoją drogą takie rozwiązania stosują wszyscy producenci, bo kalibracja jednostkowa każdego czipu kosztuje wielokrotnie więcej od jego wyprodukowania).

Może obejrzyj wykresik (nie filtruję wskazań więc widać szum na poziomie koło ±0.025°C)


Dallas DS18B20 już dawno został “zjedzony” w walce na parametry przez współczesne czujniki innych producentów, swoją popularność zawdzięcza temu, że był dobry i tani (również w implementacji), natomiast na rynku w tej chwili panują jego klony, które potrafią drastycznie odbiegać parametrami od oryginału.


Gdybym miał co napisać o module z przekaźnikami to bym się odezwał, przejrzyj forum - wątków na te tematy jest od groma. Ja mam instalacje “retrofit” bez modyfikowania starych instalacji elektrycznych.


PS

Nie mogę komentować kwestii prawidłowości miejsc na puszki, sam się przekonasz po umeblowaniu, ale ciekawe jakie brałeś pod uwagę czynniki na wybór miejsc…
Natomiast skoro masz tam zasilanie to można to wykorzystać np. na montaż proxy BLE (więc nie będziesz miał problemu z zasięgiem BLE)

Popieram zdanie @szopen i podpowiem dalej, są już na rynku urządzenia sprawdzonego i przychylnego jak mało która firmy Shelly, która to wprowadziła natywne wsparcie dla integracji z HA a od jakiegoś czasu urządzenia z nowszych generacjach (oparte na ESP32) oferują funkcjonalność proxy BLE od razu po wyjęciu z pudełka. Idąc za ciosem firma wprowadziła również własne urządzenia bateryjne na BLE.
Shelly BLU H&T

P.S.
Ciekawe jaki oni użyli sensor?

Jak ktoś kupi, rozbierze i zrobi zdjęcia mikroskopowe (właściwie to zdjęcie makro w dobrych telefonach wystarcza by rozpoznać czip jednak jakość taka jak tu mi by nie wystarczyła - to jest fotka starszego ich wypustu H&T) to się pewnie dowiemy.
Cena nie jest konkurencyjna dla znanych chińczyków.