Termostat DIY do testowania :)

LukaszH
Posts: 651
Joined: Sat Dec 14, 2019 11:49 pm

Post

klew wrote: Fri Dec 29, 2023 10:40 am
LukaszH wrote: Fri Dec 29, 2023 10:31 am Zastanawiałem się nad sterownikiem ogrzewania do podłogówki i chciałem zapytać kilka rzeczy:
1. Aby sterować podłogówką należy rozważyć 3 obwody:
a) Uruchomienie siłowników na zaworach - należy je uruchomić minimum na 1min przed włączeniem pompy obiegowej aby zdążyły otworzyć obwód odpowiedniej pętli. Fajnie jak by można było dodać kilka GPIO jako przekaźniki konfigurowalne, natomiast też da się ogarnąć kilka pętli z jednego przekaźnika.
b) Uruchomienie pieca - Ten GPIO do przekaźnika powinien uruchomić piec po ustawionym czasie (taki parametr widzę w cloud: "Minimalny czas WYŁĄCZENIA przed ponownym włączeniem ogrzewania"). Jednak jeśli nie ma punktu a), to nie można tego dobrze wykorzystać.
c) Uruchomienie pompy obiegowej - ten GPIO do przekaźnika może uruchamiać się w tym samym czasie co piec. Można by pomyśleć o jakimś offset

2. Kilka pokoi mogło by mieć własne termostaty albo czujniki DS na dobrze zrobionej linii one wire, ale w Cloud jak ustawi się grupę termostatów niestety nie widać tego w apce, aby cały dom sterować wspólnie. Być może jeszcze nie jest to dokończone ?

Pytanie czy punkt 1 aby stworzyć 3 obwody (3 GPIO) jest możliwe z tymi przesunięciami czasowymi dla siłowników obwodów, pieca i pompy + pewnie przydało by się jeszcze jeden GPIO dla sygnalizacji pracy ?
Obecny termostat nie ma takich funkcji.
Jeśli chciałbyś to wszystko zrobić na jednym urządzeniu, to jest to oczywiście wykonalne - kwestia odpowiedniego zaprogramowania.
Jeśli na kilku urządzeniach, to komunikacja jest obecnie tylko przez serwer, więc do działania wymaga dostępu do serwera. Jakimś reakcjami i scenami powinno dać się to zrobić.

Sterowanie grupowe dla termostatów jest w planach, ale nie jest jeszcze dostępne
Ale jest w planach aby właśnie termostat miał te 3 obwody ? Jeśli tak to mamy kompletne oprogramowanie i tylko budować odpowiednie sterowniki :) Testowo na GG pewnie wymagało by to przebudowanie programu, ponieważ teraz to przekaźnikowi daje się funkcję "termostatu", a trzeba by oddzielną funkcjonalność gdzie podawało by się właśnie GPIO do siłowników, pieca, pompy + podawało by się GPIO przycisków. Ale tyle pracy ile już było włożone i ciężko oczekiwać aprobaty dla takiego podejścia, ale warto zapytać? :)
User avatar
YoMan
Posts: 2338
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Pytanie czy jest taka szeroka potrzeba?
Co prawda specem nie jestem ale z moich obserwacji obecnie ogrzewanie na podłogówki puszcza się przez sprzęgło i piec sam się załącza i rozłącza w zależności od temperatury powrotu ze sprzęgła a pompki na obieg za sprzęgłem są również samosterowalne w trybie stałego ciśnienia -> jak się otwiera jakiś elektrozawór to ciśnienie spada i pompka zwiększa obroty. W trybie jałowym pobiera kilka W.
YoMan
________________________________________
Wziąłem udział w Supla Offline Party 2023 ;)
LukaszH
Posts: 651
Joined: Sat Dec 14, 2019 11:49 pm

Post

YoMan wrote: Fri Dec 29, 2023 12:52 pm Pytanie czy jest taka szeroka potrzeba?
Co prawda specem nie jestem ale z moich obserwacji obecnie ogrzewanie na podłogówki puszcza się przez sprzęgło i piec sam się załącza i rozłącza w zależności od temperatury powrotu ze sprzęgła a pompki na obieg za sprzęgłem są również samosterowalne w trybie stałego ciśnienia -> jak się otwiera jakiś elektrozawór to ciśnienie spada i pompka zwiększa obroty. W trybie jałowym pobiera kilka W.
Sprzęgło to taki wymiennik ciepła ale także kompensuje ciśnienia w układzie. Natomiast rozdzielnia do podłogówki z zaworami to inna kwestia - można stosować głowice termostatyczne ale to bez sensu i tylko reguluje się przepływy w pętlach podłogówki. Natomiast dobrze zrobić kilka stref gdzie można oddzielnie sterować (dlatego te siłowniki na zaworach i moja prośba powyżej) i mieć różne temperatury jak np łazienki /salon lub druga kondygnacja.
Aktualnie mam Danfos Icon i na tym opieram swoje doświadczenie
zzrr
Posts: 429
Joined: Wed Oct 26, 2022 7:35 pm

Post

LukaszH wrote: Fri Dec 29, 2023 10:31 am Zastanawiałem się nad sterownikiem ogrzewania do podłogówki i chciałem zapytać kilka rzeczy:
1. Aby sterować podłogówką należy rozważyć 3 obwody:
a) Uruchomienie siłowników na zaworach - należy je uruchomić minimum na 1min przed włączeniem pompy obiegowej aby zdążyły otworzyć obwód odpowiedniej pętli. Fajnie jak by można było dodać kilka GPIO jako przekaźniki konfigurowalne, natomiast też da się ogarnąć kilka pętli z jednego przekaźnika.
b) Uruchomienie pieca - Ten GPIO do przekaźnika powinien uruchomić piec po ustawionym czasie (taki parametr widzę w cloud: "Minimalny czas WYŁĄCZENIA przed ponownym włączeniem ogrzewania"). Jednak jeśli nie ma punktu a), to nie można tego dobrze wykorzystać.
c) Uruchomienie pompy obiegowej - ten GPIO do przekaźnika może uruchamiać się w tym samym czasie co piec. Można by pomyśleć o jakimś offset

2. Kilka pokoi mogło by mieć własne termostaty albo czujniki DS na dobrze zrobionej linii one wire, ale w Cloud jak ustawi się grupę termostatów niestety nie widać tego w apce, aby cały dom sterować wspólnie. Być może jeszcze nie jest to dokończone ?

Pytanie czy punkt 1 aby stworzyć 3 obwody (3 GPIO) jest możliwe z tymi przesunięciami czasowymi dla siłowników obwodów, pieca i pompy + pewnie przydało by się jeszcze jeden GPIO dla sygnalizacji pracy ?
klew wrote: Fri Dec 29, 2023 10:40 am Obecny termostat nie ma takich funkcji.
Jeśli chciałbyś to wszystko zrobić na jednym urządzeniu, to jest to oczywiście wykonalne - kwestia odpowiedniego zaprogramowania.
Jeśli na kilku urządzeniach, to komunikacja jest obecnie tylko przez serwer, więc do działania wymaga dostępu do serwera. Jakimś reakcjami i scenami powinno dać się to zrobić.
Sterowanie grupowe dla termostatów jest w planach, ale nie jest jeszcze dostępne
LukaszH wrote: Fri Dec 29, 2023 6:26 pm Natomiast dobrze zrobić kilka stref gdzie można oddzielnie sterować (dlatego te siłowniki na zaworach i moja prośba powyżej) i mieć różne temperatury jak np łazienki /salon lub druga kondygnacja.
Cześć. LukaszH Masz zamiar ruszać z tematem czy na razie rekonesans co by było odpowiednie?
Pytam bo widze że jesteś zainteresowany akurat tym nad czym pracowałem ostatnimi dniami i jesli zainteresuje Cię to co opisze mogę Ci podrzucić binarki na testy. Ja u siebie testuję od kilku dni i wszystko działa stabilnie i obiecująco...
Zrobiłem oprogramowanie do czegoś takiego...
Urządzenia: - ESP 32 - centralka, komunikacja BLE + termostaty pokojowe ilość od 1-8. Każdy termostat ma to samo oprogramowanie. Termostat może też działać samodzielnie bez konieczności realizacji łączności z centralką. Wyprowadzenie na przekaźnik zostawione.

- termostaty ESP32 od 1 do 8 szt. Po wgraniu programu do ESP32 na WEB.configu dodałem pole na wprowadzenie numeru termostatu. Ten numer jest potrzebny żeby centralka wiedziała z jakiego termostatu dostaje komunikaty. Dodatkowo przy rejestracji na stronie SUPLA urządzenie ogłasza się z nazwą Termostat 1,2,3 itd w zależności od nadanego numeru i łatwiej poukładać pokojami czy nadać już właściwe docelowe nazwy. Każdy termostat po rozłączeniu czy restarcie ponownie samoczynnie łączy się z centralką to samo się tyczy centralki po resecie łączy z termostatami. Termostat jest pod OLEDA. Na Oledzie jest temperatura w pomieszczeniu i temperatura do jakiej dąży wg ustawienia ręcznego czy harmonogramu, ikona połączenia z Suplą, ikona czy jest w trybie grzej czy pauza, i ikona czy działa tryb ręczny czy harmonogram, na jednym z GPIO wyprowadzenie na diodę czy termostat jest połączony z centralką. Trzy szt.GPIO jest pod trzy przyciski które można podłączyć lub nie. Dwoma zmieniamy temperaturę, oczywiście w przypadku użycia termostat przełącza sie w trym Manual. Jeden z przycisków przy krótkim naciśnięciu przełącza pomiędzy trybem Manual/Harmonogram, dłuższe przytrzymanie włącza tryb konfiguracji. Dodam w wolnej chwili do kodu jeszcze obsługę czujnika żeby na stronie SUPLI przy termostacie też ikona wskazywała czy jest połączenie z centralką. Może to zbędne ale zdalnie zawsze psychikę unormuje jak się sprawdzi że termostat jest online a łączność z centralka jest.
- komunikacja BLE (myślałem nad radiówką, WIFI, ESP-NOW) ale ostatecznie zdecydowałem BLE. Moduł ESP32 w termostacie WiFi wykorzystuje do łączności z serwerem SUPLA a wbudowany Bluetooth BLE do komunikacji z centralką. Ostatecznie wyszło że przy ESP32 jest to idealne rozwiązanie do IoT i chyba najmniejsze prawdopodobieństwo zakłóceń z eteru. BLE robi swoje a WiFi swoje.
- ESP 32 - centralka, komunikacja BLE, tutaj zostawiłem prostą obsługę bez zbędnych udziwnień żeby niepotrzebnie nie wprowadzać ryzyka zawieszenia itp. Po prostu... Jak centralka dostaje komunikat z termostatu grzej to włącza na odpowiednim GPIO przekaźnik w celu otwarcia siłownika na belce rozdzielającej. Domyślnie wszystkie przekaźniki są na OF więc tyle termostatów ile sie użyje steruje dodatkowym GPIO któro jest do wysyłania sygnału do kotła kiedy jest zapotrzebowanie na grzanie a kiedy nie ma. Jak wszystkie termostaty(te podłączone) dają sygnał NIE GRZEJ na tym dodatkowym GPIO zanika sygnał i poprzez przekaźnik daje do kotła informacje żeby wyłaczył grzanie. W wiekszości kotłów przerywa wtedy grzanie i po ok. do trzech minut wyłącza pompę. W momencie kiedy jakikolwiek termostat da sygnał do centralki "GRZEJ" włacza się przekaźnik sterujący siłownikiem a przekaźnik sygnalizujący zapotrzebowanie od kotła na grzanie uruchamia sie po 1 minucie żeby dać czas na otwarcie siłownika.
Co do Twojego pytania odnoście obsługi np trzech obwodów, bo rozumiem że masz na myśli np trzy obwodu w strefie. Jeśli by to było realizowane w opisany powyżej sposób to trzy siłowniki pod jeden przekaźnik z właściwego pomieszczenia i załatwione. Płytkę przekaźnikową można zakupić gotową lub zrobić. Wyjść na więcej niż 8 przekaźników też by dało radę, kwestia tylko sprawdzić które GPIO można jeszcze użyć jako OUTPUT w zależności od typu ESP32.
Jeśli będziesz zainteresowany daj znać. na forum lub na priv.
User avatar
klew
Posts: 8647
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

BLE i Wi-Fi używają tego samego pasma, co nigdy nie pozostaje bez wpływu jakości sygnału.
Do tego ESP mają tylko jedno radio, więc użycie obu interfejsów też nie jest realizowane bezstratnie.
Najlepiej byłoby komunikować po jednym protokole radiowym.

Natomiast nie twierdzę, że to nie będzie działać, albo że będzie działać źle. Osobiście jeszcze niczego na ble nie robiłem i nie mam z tym doświadczenia
Widzimy się na Supla Offline Party vol. 2 :!:
zzrr
Posts: 429
Joined: Wed Oct 26, 2022 7:35 pm

Post

Sprawdziłem zasięg. Miałem termostat na stole pod zasilaczem i nie chciało mi się przenosić zasilania na strych. Ale dwie kondygnacje niżej czyli w piwnicy nie straciło zasięgu ani na BLE ani na wifi. A WiFi mam jeszcze wyżej, na strychu. Z piwnicy tak po przekątnej domu miałem zasięg przez 2 stropy po przekątnej domu, czyli spoko . Tzn z centralką chodziłem podłączoną do powerbanka :D Myślałem nad radiówką ale ostatecznie zdecydowałem popróbować z BLE 8-) Co do pracy w tym samym pasmie co WiFi to przytoczę cytat z jednego z artykułów na temat BLE. (...niezawodna i odporna na zakłócenia transmisja, korzystająca z adaptacyjnej zmiany częstotliwości) To działa tak że jak w trakcie transmisji danych wykrywa niedogodne warunki to zmienia kanał skokowo o 2Mhz. Też nie jestem w tym ekspertem i wchodzę w temat BLE dopiero, a raczej mam zamiar wejść jeśli inne obowiązki na to pozwolą i oczywiście wszystko wyjdzie w użytkowaniu. Ale sam temat jak można BLE wykorzystać jest bardzo ciekawy i zachęcający. Z klasycznej transmisji radiowej np RF zrezygnowałem bo sporo się zastanawiałem i nie znalazłem pewnego sposobu na wyeliminowanie nachodzenia na siebie transmisji z kilku termostatów w tym samym czasie. A odpytywania przez centralkę co jakiś czas poszczególnych termostatów nie chciałem. Szedłem w kierunku natychmiastowej reakcji centralki przy zmianie stanu termostatów, w przyszłości można by się pokusić o jakieś bardziej inteligentne analizy sygnału po stronie centralki, np tempo zmiany temperatury i połączenie z protokołem komunikacyjnym kotła. W moim przypadku OpenTherm i można by wtedy regulować również temperaturą wody w obiegu. Ale to na tą chwilę chyba mnie trochę fantazja poniosła ;) a i jeszcze sporo mam do nauczenia się w samej kwestii programowania. W BLE jeśli pakiety akurat idą w tym samym czasie to "zasuwają" z termostatów do centralki aż miło popatrzeć na serial monitor, wszystko ładnie dochodzi więc cel został jak na razie osiągnięty. Co do dzielenia przez ESP WiFi z BLE to ja przyjąłem to za zaletę. Na jednym ESP32 bez konieczności dołączania dodatkowych modułów można zrealizować transmisje WiFi i BLE jednocześnie i tańszym kosztem a sama architektura ESP32 wydaje się być do takiego rozwiązania idealna. No ale wiadomo... rzeczywistość zweryfikuje.
zzrr
Posts: 429
Joined: Wed Oct 26, 2022 7:35 pm

Post

@klew prośba jeśli możesz...
Na cloudzie przy ustawieniu termostatu na chłodzenie jest taka opcja "Ochrona przed przegrzaniem"
Jaka komenda w kodzie zmienia domyślną maksymalną czyli 40 stopni np na 60?
User avatar
klew
Posts: 8647
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

zzrr wrote: Tue Jan 09, 2024 1:13 pm @klew prośba jeśli możesz...
Na cloudzie przy ustawieniu termostatu na chłodzenie jest taka opcja "Ochrona przed przegrzaniem"
Jaka komenda w kodzie zmienia domyślną maksymalną czyli 40 stopni np na 60?
Ochrona przed zamarzaniem i przegrzaniem może być ustawiona tak samo jak zakres nastawy termsotatu, więc kontroluje się to tymi
"room min" i "room max"
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
veeroos
Posts: 363
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów

Post

klew wrote: Tue Jan 09, 2024 1:23 pm
zzrr wrote: Tue Jan 09, 2024 1:13 pm @klew prośba jeśli możesz...
Na cloudzie przy ustawieniu termostatu na chłodzenie jest taka opcja "Ochrona przed przegrzaniem"
Jaka komenda w kodzie zmienia domyślną maksymalną czyli 40 stopni np na 60?
Ochrona przed zamarzaniem i przegrzaniem może być ustawiona tak samo jak zakres nastawy termsotatu, więc kontroluje się to tymi
"room min" i "room max"
a nie można tutaj?

Code: Select all

setTemperatureHeatProtection
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
User avatar
klew
Posts: 8647
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

veeroos wrote: Tue Jan 09, 2024 1:25 pm
klew wrote: Tue Jan 09, 2024 1:23 pm
zzrr wrote: Tue Jan 09, 2024 1:13 pm @klew prośba jeśli możesz...
Na cloudzie przy ustawieniu termostatu na chłodzenie jest taka opcja "Ochrona przed przegrzaniem"
Jaka komenda w kodzie zmienia domyślną maksymalną czyli 40 stopni np na 60?
Ochrona przed zamarzaniem i przegrzaniem może być ustawiona tak samo jak zakres nastawy termsotatu, więc kontroluje się to tymi
"room min" i "room max"
a nie można tutaj?

Code: Select all

setTemperatureHeatProtection
To ustawia wartość, przy jakiej ma być ta ochrona. Ale dozwolony zakres jest definiowany przez room min/max.
Widzimy się na Supla Offline Party vol. 2 :!:

Return to “Nowości”