Inteligentny przełącznik do grzejnika

Aby zautomatyzować domowy system ogrzewania, zainstalowałem przełącznik Shelly 1PM Mini Gen3 do sterowania kotłem gazowym na podstawie danych z czujników, ograniczając zużycie energii w trybie czuwania.

Heater Smart Switch

Inteligentny przełącznik do grzejnika

Motywacja 

Moja rodzina i ja mieszkamy od około dwudziestu lat w domu jednorodzinnym w Saarlandzie w Niemczech. Oprócz gazowego kotła kondensacyjnego podgrzewamy ciepłą wodę za pomocą instalacji solarnej. Aby zaoszczędzić 12 watów poboru mocy w trybie czuwania, latem całkowicie wyłączam ogrzewanie, ponieważ wydajność instalacji solarnej zwykle wystarcza, by utrzymać wodę gorącą. Bywały lata, gdy wyłączałem je pod koniec kwietnia i nie włączałem ponownie aż do początku listopada. W tym roku było inaczej. Było wiele okresów złej pogody, które zmuszały mnie do od czasu do czasu włączania ogrzewania. Problem polega na tym, że czasami zapominam je włączyć — orientuję się dopiero wtedy, gdy ktoś chce wziąć prysznic, a woda nie jest wystarczająco gorąca. Zdarza się też, że zapominam je wyłączyć, kiedy słońce znowu świeci już od dłuższego czasu. Pomyślałem, że najwyższy czas zautomatyzować to wszystko. 

Warunki wstępne 

  • Już używam kilku Inteligentne przełączniki Shelly do sterowania roletami i światłami, więc to dla mnie naturalne, że używam urządzeń Shelly również w tym projekcie. 
  • Mój dom ma już budynek wykonany własnoręcznie system monitoringu z około 25 czujnikami, głównie temperatury, ale także niektórymi innymi czujnikami środowiskowymi. 
  • System monitoringu opiera się na MQTT i darmowy bezserwerowy broker chmurowy od HiveMQ, którego również chcę używać do komunikacji z urządzeniem Shelly. 
  • Mam już za sobą zabawę z Node-Red ` 

Installing inteligentnego przełącznika Shelly 

Ponieważ maksymalny prąd kotła gazowego kondensacyjnego jest znacznie poniżej 8A, wybrałem Shelly 1PM Mini Gen3, co ma dodatkową zaletę polegającą na tym, że mogę mierzyć zużycie energii, gdy grzejnik jest włączony. Instalacja była dość prosta, ponieważ w obudowie grzejnika jest wystarczająco dużo miejsca. Grzejnik jest podłączony bezpośrednio do sieci elektrycznej, tuż za wyłącznikiem awaryjnym w sąsiednim pomieszczeniu. Poniższe zdjęcie pokazuje montaż wyłącznika. 

Po skonfigurowaniu połączenia MQTT w Shelly Inteligentne Sterowanie aplikacja, wszystko powinno być gotowe do kolejnych kroków. Skonfigurowałem to tak, jak pokazano w poniższym oknie dialogowym (przepraszam za niemiecki interfejs użytkownika), a pierwszy test z klientem webowym dostarczonym przez HiveMQ zadziałało natychmiast. 

  

Zaangażowane czujniki 

Przynajmniej na potrzeby początkowej konfiguracji zacząłem od trzech czujników do logiki przełączania: 

  • Ten temperatura na zewnątrz po północnej stronie domu. Chcę, żeby ogrzewanie włączało się, gdy temperatura spadnie poniżej określonego poziomu. 
  • Ten temperatura gorącej wody zbiornik. Mam trzy czujniki podłączone do zbiornika, ale w tym przypadku wybrałem tylko środkowy. Tak jak wcześniej, chcę, aby grzałka włączyła się, gdy temperatura ciepłej wody spadnie poniżej określonego poziomu. Grzałka wtedy natychmiast rozpocznie ładowanie zbiornika. 
  • Trzeci to temperatura przepływu powrotnego obwodu ładowania. Jeśli ta temperatura ponownie spadnie poniżej 50°C, ładowanie jest zakończone. 

Pierwszy wspomniany czujnik to bezprzewodowy czujnik temperatury i wilgotności, który odczytuję za pomocą sprzętu Tinkerforge. Dwa ostatnie czujniki to czujniki DS18B20 One-Wire podłączone do Raspberry Pi Pico W. Szczegółowa logika zostanie pokazana później w odpowiadającej jej funkcji przepływu Node-Red. 

 

Node-Red 

Wszystkie dane z czujników z wyżej opisanego monitoringu budynku są zbierane przez urządzenie brzegowe oparte na Raspbery Pi Zero, które generuje skompresowany pakiet JSON. Urządzenia Shelly publikują i odbierają swoje konkretne ładunki danych w określonych tematach MQTT. Teraz potrzebujemy czegoś pośrodku, co to wszystko ze sobą połączy. Moje pierwsze wrażenie na temat Node-Red było takie, że właśnie to potrafi. Node-Red obecnie działa na Kubernetes (zobacz NodeRed-na-Rancherze) ale do użytku produkcyjnego najprawdopodobniej przeniosę to na Raspberry Pi. To jest przepływ, który utworzyłem, aby pobierać dane z czujnika, stosować logikę przełączania i wysyłać polecenia do Shelly PM1 Mini Gen3: 

 

Wyjaśnienie 

  • Ten purple węzły to są konektory MQTT. Wszystkie są połączone z tym samym brokerem, ale ten po lewej subskrybuje monitorowanie domu, a dwa po prawej publikują do tematu poleceń specyficznego dla Shelly. 
  • To czerwony węzeł jest podprzepływem, który przetwarza wiadomość przychodzącą. Surowe dane mają strukturę JSON, która jest skompresowana i zakodowana w Base64. Wynikiem działania węzła jest oryginalny JSON. 
  • Ten żółtawe węzły po prostu przekształć wynik logiki przełączania (0/1) w zwykłe komunikaty MQTT, które mogą zostać wykorzystane przez przełącznik Shelly. Dałoby się to właściwie uprościć do jednej gałęzi, ale dla łatwiejszego zrozumienia i debugowania zostawiłem dwie gałęzie do włączania i wyłączania. 
  • Jedynym celem zielone węzły ` 
  • Ten pomarańczowy węzeł o nazwie „Heater Switching Logic” jest właściwym węzłem roboczym, który decyduje, czy włączyć, czy wyłączyć grzałkę. Proszę zapoznać się z jego funkcją JavaScript poniżej! 

Worker function 

 

Komunikaty poleceń Shelly 

Dla pełności obrazu chcę rzucić więcej światła na polecenia Shelly MQTT, które sterują przełącznikiem zasilania grzejnika. Możesz je również zobaczyć w oknie debugowania obok przepływu Node-Red. 

Temat: shelly1pmmini3-/command/switch:0 

Ładunek: wł.|wył. 

Więcej informacji o poleceniach MQTT w Dokumentacja techniczna Shelly. 

Podsumowanie 

  • Ta kombinacja komponentów, przez co mam na myśli MQTT, Node-Red i Shelly urządzenia, jest całkiem potężny. 
  • Używam HiveMQ' bezpłatnego bezserwerowego brokera chmurowego od lat i uważam go za bardzo bezpiecznego, niezawodnego i wygodnego. 
  • Jeśli chodzi o Node-Red, jestem początkujący, ale myślę, że ma ogromny potencjał do tego rodzaju łączności i praca z nim sprawia frajdę. 
  • Tymczasem stałem się wielkim fanem Shelly urządzenia. Shelly 1PM MINI Gen3 To, czego użyłem w tym projekcie, jest naprawdę malutkie, ale wciąż pełne mocy. Spójrz na wszystkie opcje, jakie masz pod względem logiki przełączania, harmonogramu, pomiaru mocy, zewnętrznego sterowania przez MQTT, żeby wymienić tylko te najważniejsze dla mnie. 

Outlook 

Jak już wcześniej wspomniałem, zestaw narzędzi, którego użyłem w tym projekcie, jest całkiem potężny i dał mi mnóstwo nowych pomysłów na to, jak zautomatyzować nasz dom. Żeby wymienić tylko kilka: 

  • Jakiś rodzaj geofencingu, który otwiera mi drzwi garażowe, gdy podjeżdżam. Drzwi są już wyposażone w Shelly 1 MINI Gen3. 
  • Mogłem sterować markizą na naszym patio za pomocą Shelly Plus 2PM i załączony Shelly Plus AddOn ` 
  • Interesujące byłoby również dodanie czujników na Shelly AddOn ` 

Jeśli chodzi o obecny projekt, z pewnością będę musiał dostosować logikę przełączania ogrzewania na zimę. Na lato może być wystarczająca, ale podejrzewam, że na zimę będę potrzebował bardziej zaawansowanej logiki. 

Użyte produkty Shelly
Shelly 1PM Mini Gen3

Shelly 1PM Mini Gen3

Cena regularna 14,90 €
Cena promocyjna 14,90 € Cena regularna
Shelly 1PM Mini Gen3 – Compact Smart Wi-Fi Relay with Power Monitoring The Shelly 1PM Mini Gen3 is an ultra-compact smart Wi-Fi relay with power monitoring designed to automate electrical device...
Monitorowanie mocy
Światła
AGD
Zamek do drzwi
wentylator
Opakowanie: pojedynczy