Интелигентен превключвател на нагревател

За да автоматизирам отоплителната си система, инсталирах превключвател Shelly 1PM Mini Gen3, за да контролирам газовия котел на базата на данни от сензори, намалявайки енергийното потребление в режим на готовност.

Heater Smart Switch

Интелигентен превключвател на нагревател

Мотивация

Семейството ми и аз живеем в еднофамилна къща в Саарланд, Германия, от около двадесет години. В допълнение към газовия кондензационен котел, отопляваме горещата вода с соларна термална система. За да спестя 12 вата консумация в режим на готовност, изключвам отоплението напълно през лятото, тъй като производителността на соларната термална система обикновено е достатъчна, за да поддържа водата гореща. Имаше години, когато го изключвах в края на април и не го включвах отново до началото на ноември. Тази година беше различна. Имаше много периоди на лошо време, които ме принудиха да включвам отоплението от време на време. Проблемът е, че понякога забравям да го включа - забелязвам го само когато някой иска да се изкъпе и водата не е достатъчно гореща. Може също да се случи да забравя да го изключа, когато слънцето отново свети дълго време. Помислих, че е време да автоматизирам всичко това.

Предпоставки

  • Вече използвам някои Смарт ключове Shelly да контролирам щорите и светлините, така че е естествено за мен да използвам устройства Shelly и за този проект.
  • Моята къща вече има самостоятелно построена сграда. система за наблюдение с около 25 сензора, основно температурни, но също и някои други сензори за околната среда.
  • Мониторинговата система е базирана на MQTT и безплатно безсървърен облачен брокер от HiveMQ, което също искам да използвам, за да комуникирам с устройството Shelly.
  • Вече съм се занимавал с Възел-червен и помислих, че това може да бъде добър случай за първи сериозен проект.

Инсталиране на интелигентния превключвател Shelly

Тъй като максималният ток на газовия кондензиращ котел е значително под 8A, избрах Shelly 1PM Mini Gen3, което има допълнителното предимство да ми позволява да измервам консумацията на енергия, когато отоплителят е включен. Инсталацията беше доста проста, тъй като има достатъчно място в корпуса на отоплителя. Отоплителят е свързан директно към електрическата мрежа, точно зад аварийния превключвател в съседната стая. Снимката по-долу показва инсталацията на превключвателя.

След като MQTT връзката е конфигурирана в Шели Смарт Контрол приложение, всичко трябва да е готово за следващите стъпки. Конфигурирах го, както е показано в диалога по-долу (извинявайте за немския интерфейс), и първият тест с уеб клиента, предоставен от HiveMQ заработи веднага.

Включени сензори

Поне за началната настройка, започнах с три сензора за логиката на превключване:

  • The външна температура от северната страна на къщата. Искам отоплението да се включва, когато температурата падне под определено ниво.
  • The температура на горещата вода танк. Имам три сензора, прикрепени към танка, но за този случай съм избрал само средния. Както преди, искам отоплителят да се включи, когато температурата на горещата вода падне под определено ниво. След това отоплителят незабавно ще започне да зарежда танка.
  • Третият е температура на връщащия поток на зарядната схема. Ако тази температура отново падне под 50°C, зареждането е приключило.

Първият споменат сензор е безжичен сензор за температура и влажност, който прочетох чрез хардуер на Tinkerforge. Последните два сензора са DS18B20 One-Wire сензори, свързани към Raspberry Pi Pico W. Подробната логика ще бъде показана по-късно в съответната функция на Node-Red потока.

Node-Red

Всички данни от сензорите от споменатото наблюдение на сградата се събират от устройство на базата на Raspberry Pi Zero, което изходи компресиран JSON пакет. Устройствата Shelly предават и консумират своите специфични полезни натоварвания на специфични MQTT теми. Сега ни трябва нещо по средата, за да свърже всичко заедно. Първото ми впечатление от Node-Red беше, че може да направи точно това. Node-Red в момента работи на Kubernetes (виж) NodeRed-On-Rancher) но за производствени нужди най-вероятно ще го преместя на Raspberry Pi. Това е потокът, който създадох, за да консумирам данните от сензора, да приложа логиката за превключване и да изпратя командите на Shelly PM1 Mini Gen3:

Обяснение

  • The лилави възли са MQTT конекторите. Всички са свързани към същия брокер, но този отляво се абонира за домашен мониторинг, а двата отдясно публикуват в темата за команди, специфична за Shelly.
  • The червен възел е под-поток, който обработва входящото съобщение. Суровите данни са JSON структура, която е компресирана и кодирана в Base64. Изходът на възела е оригиналният JSON.
  • The жълтеникави възли просто преобразувайте изхода на логиката за превключване (0/1) в обикновени MQTT съобщения, които могат да бъдат консумирани от превключвателя Shelly. Това всъщност може да бъде опростено до един клон, но за улеснение на разбирането и отстраняването на грешки, запазих двата клона за включване и изключване.
  • Единствената цел на зелени възли е да произведе отладъчния изход отдясно.
  • The оранжев възел наречен "Логика за превключване на нагревателя" е действителният работен възел, който решава дали да включи или изключи нагревателя. Моля, вижте неговата JavaScript функция по-долу!

Работническа функция

Съобщения за команди на Shelly

За пълнота искам да хвърля повече светлина върху командите Shelly MQTT, които контролират превключвателя за захранване на нагревателя. Можете да ги видите и в прозореца за отстраняване на грешки до потока Node-Red.

Тема: shelly1pmmini3-/команда/превключвател:0

Полезен товар: включен|изключено

Повече информация за MQTT командите в Техническа документация на Shelly.

Заключение

  • Тази комбинация от компоненти, с която имам предвид MQTT, Възел-червен и Шели устройства, е доста мощен.
  • Използвал съм HiveMQсвободен безсървърен облачен брокер от години и го намирам за много сигурен, надежден и удобен.
  • Що се отнася до Възел-червен, Аз съм начинаещ, но мисля, че има голям потенциал за този вид свързаност и е забавно да се работи с него.
  • Междувременно, станах голям фен на Шели устройства. Шели 1PM MINI Gen3 "Използвах за този проект е наистина малък, но все пак е пълен с мощ. Погледнете всички опции, които имате по отношение на логиката на превключване, графика, измерване на мощността, външно управление чрез MQTT, само за да спомена най-важните за мен."

Outlook

Както споменах по-рано, инструментариумът, който използвах за този проект, е доста мощен и ми даде много нови идеи за това как да автоматизираме дома си. Само за да спомена няколко:

  • Някакъв вид геофенсинг, който отваря гаражната врата, когато се приближа. Вратата вече е оборудвана с Shelly 1 MINI Gen3.
  • Мога да контролирам сенника на нашата веранда с един Shelly Plus 2PM и приложен Shelly Plus AddOn и няколко сензора (скорост на вятъра, слънчева радиация, валежи).
  • Също така би било интересно да се добавят сензорите на Shelly AddOn към моята съществуваща система за мониторинг на сгради. Това трябва да е възможно с помощта на MQTT.

Що се отнася до текущия проект, определено ще трябва да променя логиката за превключване на отоплението през зимата. Може да е достатъчна за лятото, но подозирам, че ще ми трябва по-сложна логика за зимата.