Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Przeróbka starego termostatu na smart

ghost666 05 Dec 2018 19:07 7869 24
Testo
  • Przeróbka starego termostatu na smart
    Jeśli w naszym domu jest stary system ogrzewania, ze zwykłym termostatem na pokrętło - takim jak pokazany na zdjęciu - możemy spróbować go unowocześnić. Autor tego projektu mieszka w domu mającym około 30 lat i tyle samo lat ma instalacja sterująca temperaturą w pomieszczeniach. O ile trzydzieści lat dla budynku to nie tak dużo, to dla technologii sterowania temperaturą w budynku to cała epoka.

    Obecnie oferowane rozwiązania komercyjne mają dwie istotne wady:

    * Wysoka cena,
    * Produkt jako usługa.

    Zwłaszcza to drugie jest problematyczne, ponieważ oznacza to, że wyłączenie serwerów czyni nasze urządzenie niesprawnym. W przypadku systemu ogrzewania jest to o tyle istotne, że nie chcielibyśmy, aby w środku zimy nasze ogrzewanie przestało pracować. Możliwe jest lepsze rozwiązanie - stworzenie własnego systemu sterowania ogrzewaniem w oparciu o proste i łatwo dostępne moduły automatyki domowej.

    Zaprezentowany moduł nie wygląda może najlepiej, jednakże spełnia on swoje zadanie. Jego główne cechy to:

    * Możliwość używania klasycznego pokrętła termostatu;
    * Zdalny dostęp do termostatu;
    * Tryb AWAY;
    * Wskaźnik optymalnej temperatury;
    * Współpraca z asystentem domowym Alexa.

    Przeróbka starego termostatu na smart

    Przeróbka starego termostatu na smart

    Przeróbka starego termostatu na smart
    Krok 1: Jak działa termostat

    Termostat jest prawdopodobnie podłączony do napięcia sieciowego! Nie próbuj manipulować w obwodzie, dopóki nie upewnisz się, że system jest odłączony. Możesz zrobić sobie krzywdę i uszkodzić podłączony sprzęt. Rozważ skonsultowanie się z wykwalifikowanym elektrykiem, aby zapewnić sobie bezpieczeństwo podczas instalacji systemu.

    Termostat Honeywell, jaki posiada autor poradnika, to jednostka naścienna zasilana z sieci (moduł Sonoff potrzebują do działania co najmniej 90 V, w sieci znajdziemy 230 V). Skrzynia podłączona jest do głównej jednostki sterującej. To samo najprawdopodobniej jest takie samo. Jeśli masz 3 przewody, nie ma połączenia między urządzeniem naściennym.

    Do termostatu podłączone są cztery przewody: trzy przewody sterujące i czwarty - uziemienie. Jako że do termostatu podłączone jest napięcie sieciowe, do sterowania można wykorzystać moduł Sonoff Basic. Przyjrzyjmy się sygnałom:

    Niebieski - ziemia;
    Żółty - sygnał sterujący - gdy podamy tutaj fazę, ogrzewanie jest załączone;
    Czerwony - napięcie fazowe służące do zasilania termostatu.

    Sterowanie jest bardzo proste - wystarczy, że nasz moduł będzie zwierał czerwony z żółtym za każdym razem, gdy będziemy chcieli załączyć piec. Wszystko wydaje się bardzo proste, co nie zmienia faktu, iż musimy dokładnie uważać, co robimy podczas podłączania kabli, bo niepoprawne ich połączenie może doprowadzić do uszkodzenia sterownika czy chociażby uruchomić bezpiecznik. Do sterowania takim termostatem wystarczy nam Sonoff Basic.

    Przeróbka starego termostatu na smart
    Przeróbka starego termostatu na smart
    Krok 2: Przygotowywanie modułu Sonoff Basic

    Zanim zaczniemy podłączać kable do modułu sterującego, musimy podpiąć do niego sensor temperatury. W tej roli wykorzystano moduł z układem DHT11. Na Sonoffa wgrywamy firmware Tasmotai, konfigurujemy go do współpracy z tym termometrem.

    Termometr podłączamy w następujący sposób:

    VCC - 3,3 V
    GND - masa
    Sygnał - GPIO14.

    Teraz, po podłączeniu wszystkiego w całość, możemy Sonoffa podpiąć do termostatu. Autor po prostu wykonał otwór w obudowie starego urządzenia, by możliwe było podpięć kabli = póki co to tylko prototyp i sprawdzenie pewnej koncepcji. Docelowo planuje wydrukować obudowę dla całego systemu, by móc estetycznie opakować stary termostat i moduł Sonoff w całość.

    Podłączając moduł do termostatu zachowajmy szczególną ostrożność, by nie zewrzeć ze sobą kabli. Podłączamy je w następujący sposób:

    Sonoff -> Termostat

    INPUT Live - czwarty terminal (czerwony);
    INPUT GND - pierwszy neutralny (niebieski);
    OUTPUT Signal - drugi terminal (żółty).





    Przeróbka starego termostatu na smart
    Krok 3: NodeRED

    Na pokazanym powyżej filmie autor prezentuje swoją konstrukcję. Pokazana tam wersja NodeRED jest starsza niż obecna, ponieważ program jest ciągle udoskonalany. W artykule (patrz: źródło) dostępna powinna być aktualna wersja opisu jego działania, gdyż jest on aktualizowany wraz ze zmianami w samym NodeRED.

    Strumień danych o temperaturze

    DHT11 wysyła do serwera NodeRED informacje o temperaturze co X sekund, gdzie liczba ta może być konfigurowana przez konsolę Tasmota. Wystarczy wpisać komendę z odpowiednim okresem pomiaru w sekundach (od 10 do 3600 sekund):

    Code: bash
    Log in, to see the code


    Obecnie autor wykorzystuje możliwie najszybszy pomiar, z okresem co dziesięć sekund, jednakże wynika to głównie z faktu, że układ jest w fazie testów i tak krótki okres odświeżania danych o temperaturze ułatwia debugging. W realnym użytkowaniu wysyłanie danych o temperaturze co 10 sekund nie ma najmniejszego sensu w takim zastosowaniu.

    Węzeł MQTT pobiera dane z adresu:

    sonoff/tele/SENSOR


    I najważniejsze dane zapisuje w następujących obiektach:

    msg.payload.DHT11.Temperature
    msg.payload.DHT11.Humidity


    Aby ograniczyć liczbę błędów temperatury, do systemu dodano węzeł uśredniający, który przekazuje wyliczone średnie dalej i aktualizuje w ten sposób zmienną flow w NodeRED:

    Code: c
    Log in, to see the code


    Aktualizowanie widgetu

    Autor zdecydował się na aktualizację widgetu co pięć sekund, więc z taką częstotliwością wysyłane są dane do niego. Oczywiście regulacja temperatury monitorowana jest w czasie rzeczywistym i reaguje natychmiastowo.

    Każdy węzeł przesyła dane z określonym topiciem do widgetów podobnych do tych w NESTcie:

    * colour (heating|cooling*|off & hvac_state)
    * leaf (true|false & has_leaf)
    * away (true|false & away)
    * Ambient temp (number & ambient_temperature)
    * Target temp (number & target_temperature)

    * - nie jest obecnie w użyciu

    NodeRED: funkcje węzłów do aktualizacji widgetów

    colour:

    Code: c
    Log in, to see the code


    leaf:

    Code: c
    Log in, to see the code


    Nadpisanie colour w trybie away:

    Code: c
    Log in, to see the code


    Tryb away:

    Code: c
    Log in, to see the code


    Docelowa temperatura:

    Code: c
    Log in, to see the code


    Jak widzicie, autor zrezygnował ze zmiennych flow tak, aby mócodczytywać wartości poszczególnych parametrów w każdym dowolnym momencie. Poszczególne parametry to:

    ?TempAmbient? ? Przechowuje obecną temperaturę.
    ?TempTarget? ? Przechowuje zadaną temperaturę.
    ?leaf? ? Wyświetla liść.
    ?away? ? Wyświetla status w trybie away.
    ?heatingState? ? Zmienia kolor wyświetlacza.
    ?heatingSwitch? ? Kontroluje stan przekaźnika w Sonoffie.

    Największym wyzwaniem było sprawienie, że informacje aktualizowały się we wszystkich elementach system w odpowiednim momencie i wtedy, gdy inne urządzenia (np. Alexa) chcą je pobrać lub aktualizować. Dlatego też w różnych miejscach zapisane są różne warunki w JavaScripcie - za każdym razem, gdy wartości są aktualizowane, zmienna typu flow jest przesyłana, a widget odświeżany.

    [u]Pokrętło[/b]

    Sterujący temperaturą suwak-pokrętło w widgecie potrzebuje dodatkowej aktualizacji danych. Wysyła on dane (liczbę) z topiciem "slider", za każdym razem, gdy się nim poruszy. Dodatkowo, autor chciał, by w wielu miejscach w interfejsach webowych, zmieniał on swoją pozycję na nastawioną. Aby to osiągnąć, co pięć sekund jego pozycja jest aktualizowana do obecnie ustawionej temperatury.

    Code: c
    Log in, to see the code


    Kontrola przekaźnika

    Kontrola przekaźnika jest bardzo prosta, zajmuje (obecnie) jedynie dwa wejścia. Jednym z nich jest zmienna logiczna z Alexy, a drugim zmienna "heating Switch". Nie ma tutaj konieczności natychmiastowego uruchamiania przekaźnika, więc jego stan aktualizowany jest raz na pięć sekund, tak jak pozostałe elementy w systemie.

    Przekaźnik podłączony jest poprzez MQTT. Węzeł wydaje komendy ON i OFF poprzez:

    sonoff/cmnd/POWER1


    Funkcja w węźle przyjmuje zmienne logiczne z Alexy i zmienia stan wejścia w zależności od zmiennej heatingSwitch:

    Code: c
    Log in, to see the code


    Integracja z Alexą

    W urządzeniu tym wyłączona jest opcja automatycznej odpowiedzi. Zamiast tego, odpowiedź jest generowana przez specjalnie do tego celu stworzony skrypt, który jest w stanie odesłać do Alexy m.in. zadaną temperaturę. W dużym skrócie, zmienna msg.payload mówi o tym, czy zapytanie zakończyło się sukcesem (true), czy nie (false).

    Jakkolwiek nie jest to najlepszy sposób, autor zdecydował się na potwierdzenie wysyłane w osobnej wiadomości tak, aby móc trochę lepiej wszystko kontrolować. W typowym przypadku na końcu każdego łańcucha kolumn powinno zostać wysłane tego rodzaju potwierdzenie. W zaimplementowanym podejściu istnieje ryzyko, że system nie zwróci błędów, jeżeli te wystąpią. Aby zachować spójność, zmienne aktualizowane są tylko w momencie, gdy pętla odświeża dane w widgecie.

    Code: c
    Log in, to see the code


    Podsumowanie

    W ten sposób możemy sterować poprzez telefon komórkowy naszym termostatem. Takich modułów możemy dopiąć wiele, jeśli w naszym mieszkaniu mamy więcej niż jeden termostat kontrolujący temperaturę.

    Jeśli nasz dashboard NodeRED będzie wyeksponowany do sieci zewnętrznej, to cały nasz system ogrzewania w domu może być kontrolowany zdalnie. W takiej sytuacji jednak warto zaznajomić się z informacjami zawartymi tutaj, które dotyczą bezpieczeństwa w tego rodzaju rozwiązaniach. Nie chcemy przecież, by ktoś niepowołany bawił się naszym termostatem.

    Źródło: https://www.instructables.com/id/NEST-Your-Old-Thermostat/

    Cool? Ranking DIY
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11580 posts with rating 9792, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Testo
  • #2
    ArturAVS
    Moderator HP/Truck/Electric
    Moim skromnym zdaniem przerost formy nad treścią. Tylko pokazał że się da. Zwykły bimetaliczny termostat przeżyje zapewne tą elektronikę.

    Termostat, jak sama nazwa wskazuje ma "pilnować" temperatury. Reszta to wodotryski. Kto będzie siedział/leżał/wisiał ze smartfonem w ręku i bawił się ustawieniami?

    Działa? to fajnie. Wcześniej działało? jeszcze lepiej.
  • #3
    ghost666
    Translator, editor
    arturavs wrote:
    Moim skromnym zdaniem przerost formy nad treścią. Tylko pokazał że się da. Zwykły bimetaliczny termostat przeżyje zapewne tą elektronikę.

    Termostat, jak sama nazwa wskazuje ma "pilnować" temperatury. Reszta to wodotryski. Kto będzie siedział/leżał/wisiał ze smartfonem w ręku i bawił się ustawieniami?

    Działa? to fajnie. Wcześniej działało? jeszcze lepiej.


    Jaki termostat potrafi np. sprawdzić jaka będzie pogoda w prognozie i się dostosować? :D
  • #4
    andrzejek23
    Level 19  
    ghost666 wrote:
    Jaki termostat potrafi np. sprawdzić jaka będzie pogoda w prognozie i się dostosować? :D


    Zadaniem termostatu jest utrzymanie zadanej temperatury w pomieszczeniu, a nie przewidywanie pogody ;)
  • #5
    tmf
    Moderator of Microcontroller designs
    andrzejek23 wrote:
    ghost666 napisał:
    Jaki termostat potrafi np. sprawdzić jaka będzie pogoda w prognozie i się dostosować? :D

    Zadaniem termostatu jest utrzymanie zadanej temperatury w pomieszczeniu, a nie przewidywanie pogody ;)


    Ale w systemach o dużej bezwładności, np. przy podłogówce, informacja o temp. zewnętrznej z dużym wyprzedzeniem jest niezbędna dla prawidłowej regulacji. Sterownik musi przewidywać nastawy. W przeciwnym przypadku przegrzeje lub niedogrzeje pomieszczenie.
    Zdalna kontrola też się przydaje - np. wracamy z wakacji i trzeba odpowiednio wcześniej nastawić grzanie, żeby wrócić do ciepłego domu...
  • Testo
  • #6
    Janusz_kk
    Level 36  
    Wg schematu
    ghost666 wrote:
    Przeróbka starego termostatu na smart

    podłączeń to on połączył przekaznik równolegle do termostatu więc o pełnej kontroli ogrzewania
    nie może być mowy.
  • #7
    ghost666
    Translator, editor
    Janusz_kk wrote:
    Wg schematu
    ghost666 wrote:
    Przeróbka starego termostatu na smart

    podłączeń to on połączył przekaznik równolegle do termostatu więc o pełnej kontroli ogrzewania
    nie może być mowy.


    Dlaczego?
  • #8
    Janusz_kk
    Level 36  
    Masz równolegle styki, jedne możesz sterować drugie nie, masz pełną kontrolę na obwodem?
    np termostat włączy grzanie a ty nie chcesz aby grzał albo żeby grzał krócej, jak to zrobisz?
    Autor miał podłączyć styki z termostatu pod procka na wejście a przekaznika styk w miejsce
    gdzie termmostat sterował piecem, wtedy termostat dawał by sygnał aplikacji że się włączył
    a co będzie dalej to zależy od programu, może sobie grzanie włączać i wyłączać dowolnie.
    A tak tutaj teraz nie jest.
    Chyba że ten ukłąd połączeń jest inny niż na rysunku.
  • #9
    ghost666
    Translator, editor
    Janusz_kk wrote:
    Masz równolegle styki, jedne możesz sterować drugie nie, masz pełną kontrolę na obwodem?
    np termostat włączy grzanie a ty nie chcesz aby grzał albo żeby grzał krócej, jak to zrobisz?
    Autor miał podłączyć styki z termostatu pod procka na wejście a przekaznika styk w miejsce
    gdzie termmostat sterował piecem, wtedy termostat dawał by sygnał aplikacji że się włączył
    a co będzie dalej to zależy od programu, może sobie grzanie włączać i wyłączać dowolnie.
    A tak tutaj teraz nie jest.
    Chyba że ten ukłąd połączeń jest inny niż na rysunku.


    Wystarczy ustawić termostat w skrajnej pozycji i nie będzie się nigdy włączał ;). A zawsze pozostaje w systemie jako backup.
  • #10
    tomasoburkaso
    Level 10  
    Kocham Pana Panie Sułku

    Nie jestem elektronikiem, elektrykiem też nie. Ale mam termostat do podłogówki który pragnę uczciwie przerobić Pod Pańskim Światłym Kierownictwem na cudo które mi na jakieś 30 min przed wejściem do łazienki nieco pogrzeje. Albo nieco bardziej - biorąc pod uwagę pogodę.
    Czy to możliwe?
    Czy to bezpieczne?
  • #11
    Janusz_kk
    Level 36  
    tomasoburkaso wrote:
    Czy to bezpieczne?


    Tak, jest pełna seperacja na przekazniku.

    tomasoburkaso wrote:
    Ale mam termostat do podłogówki który pragnę uczciwie przerobić Pod Pańskim Światłym Kierownictwem na cudo które mi na jakieś 30 min przed wejściem do łazienki nieco pogrzeje.


    To zależy jaką masz podłogówkę, generalnie przy zwykłej wodnej możesz zapomnieć o szybkim podgrzaniu.
    Przy elektrycznej gdzie maty lub kable masz zaraz pod płytkami to tak to możesz podgrzać o ile termostat steruje tylko
    łazienką a nie całym mieszkaniem/domem.
    Wg mnie lepiej jest wstawić do łazienki farelkę z nadmuchem pół godziny wcześniej.
  • #12
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:

    Wg mnie lepiej jest wstawić do łazienki farelkę z nadmuchem pół godziny wcześniej.

    Nie jest problemem temperatura powietrza. Podłoga zimna :), oczywiście starożytny wynalazek dywaniku się przydaje. Ale wolałbym żeby się podłoga nagrzała lekko na 6.00 +/-
    Na termostacie: DEM 530
  • #13
    Janusz_kk
    Level 36  
    Oki, ale nie odpowiedziałeś jaką podłogówkę tam masz.
  • #14
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:
    Oki, ale nie odpowiedziałeś jaką podłogówkę tam masz.


    Tu jest kłopot, bo nie zajrzę pod podłogę. Pan od którego żony kupiłem tę podłogę od 8 lat na łonie Abrahama. A ja, jak ta tabaka w rogu, nie wiem jak sprawdzić :)
    Znaczy jeden pomysł mam, ale żona po wycięciu dziury w podłodze wytnie mi coś bardziej... :)
    Znaczy nie wiem.

    Pozdrawiam
  • #15
    Janusz_kk
    Level 36  
    No to inaczej, jak grzejesz tą podłogę prądem czy gazem.
  • #16
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:
    No to inaczej, jak grzejesz tą podłogę prądem czy gazem.

    Pytanie rozumiem :)
    Ale nie wiem. Choć myślę sobie, że jeżeli grzałbym gazem, czyli piecem na gaz który w lecie jest wyłączony, to bym nie podgrzał.
    Zatem.
    Grzeję prądem.
    Tak sądzę.
  • #17
    Janusz_kk
    Level 36  
    Czyli żadnych rurek wodnych grzania w domu czy mieszkaniu nie masz, ani skrzynkki z rozdzielaczami wodnymi?
  • #18
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:
    Czyli żadnych rurek wodnych grzania w domu czy mieszkaniu nie masz, ani skrzynkki z rozdzielaczami wodnymi?

    Nie występują.
  • #19
    Janusz_kk
    Level 36  
    Ok, a to mieszkanie czy dom, i jak Ci się kształtują rachunki za prąd lato zima.
  • #20
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:
    Ok, a to mieszkanie czy dom, i jak Ci się kształtują rachunki za prąd lato zima.


    Nie wiem, rachunki płacę, żona wysyła...
    Ale tą drogą nie pojedziemy, bo nie grzeję tej podłogi często. A nawet powiem, że latem bywa zimniejsza niż zimą - pewnie subiektywnie... Dom jest ocieniony i wiosną trzeba w nim grzać prawie aż do lata - leciutko, ale bez grzania wchodzi do niego wilgoć i ziąb nieprzyjemy.

    Przyjąć chyba należy, że to prąd.
  • #21
    Janusz_kk
    Level 36  
    No to jeszcze zobacz ile masz tych termostatów, czy każde pomieszczenie ma swój czy są wspólne.
  • #22
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:
    No to jeszcze zobacz ile masz tych termostatów, czy każde pomieszczenie ma swój czy są wspólne.

    Wyłącznie jeden nad podłogą w łazience na piętrze.

    Dodano po 4 [minuty]:

    tomasoburkaso wrote:
    Janusz_kk wrote:
    No to jeszcze zobacz ile masz tych termostatów, czy każde pomieszczenie ma swój czy są wspólne.

    Wyłącznie jeden nad podłogą w łazience na piętrze.


    Podłogówka jest wyłącznie w łazience. Reszta pomieszczeń to kaloryfery.
  • #23
    Janusz_kk
    Level 36  
    No to niedobrze, jak go włączysz to będziesz grzał cały dom, aby grzać tylko łazienkę musisz poszukać jakiegoś
    ogarniętego elektryka żeby Ci znalazł obwód z maty w łazience i wtedy w niego wpinasz przekaznik i sterowanie,
    chociaż dla Ciebie to wystarczyłby zwykły timer na 30minut ustawiony, startujesz go ręcznie a po upływie czasu
    sam się wyłączy, proste i skuteczne.
  • #24
    tomasoburkaso
    Level 10  
    Janusz_kk wrote:

    chociaż dla Ciebie to wystarczyłby zwykły timer na 30minut ustawiony, startujesz go ręcznie a po upływie czasu
    sam się wyłączy, proste i skuteczne.


    Fakt, a czy to po prostu nie trzeba zamiast tego termostatu jakiś termostat z timerem... w to samo miejsce?
    Natchnienia dostałem :

    Dzięki
  • #25
    Janusz_kk
    Level 36  
    Nie, nadal będziesz grzał cały dom, aby grzać tylko łazienkę musisz wydzielić obwód grzania łązienki i nim sterować,
    czym to sprawa drugorzędna. Dlatego pisałem o ogarnietym elektryku który musi ci przejżeć skrzynki i zlokalizować
    obwody, a tak w ogóle to gdzie mieszkasz? możesz podać na priv.

    Dodano po 37 [sekundy]:

    Tylko napisz w tytule żeby nie kasować :)