Obsah:

VNESTE svoj starý termostat: 4 kroky (s obrázkami)
VNESTE svoj starý termostat: 4 kroky (s obrázkami)

Video: VNESTE svoj starý termostat: 4 kroky (s obrázkami)

Video: VNESTE svoj starý termostat: 4 kroky (s obrázkami)
Video: Котика ударило током, 10 т. Вольт 2024, November
Anonim
Image
Image
Ako funguje termostat
Ako funguje termostat

Vykurovací systém v mojom dome je pravdepodobne taký starý ako samotný dom. Má asi 30 rokov, čo je z hľadiska domácich rokov v poriadku, ale pokiaľ ide o technológiu, je to do značnej miery zaseknuté v dobe ľadovej. Pri komerčnom riešení existujú 2 hlavné problémy:

  • zakázané ceny
  • produkt ako služba

Všetci si pamätáme, čo sa stalo Revolvovi, a nie som príliš nadšený, aby sa mi to stalo uprostred zimy. S ohľadom na to vám predstavujem neuveriteľne podozrivý, ale funkčný ovládač podobný NEST pre váš starý termostat. Nebojte sa, čoskoro plánujem pridanie oveľa lepšieho krytu!

Vlastnosti:

  • schopnosť používať existujúci termostat (v prípade, že nad tým manželka narieka)
  • vzdialený prístup
  • Režim AWAY
  • indikátor optimálnej teploty
  • Pracuje s Alexou

Čoskoro (tu nájdete aktualizácie)

  • Domovská stránka Google
  • Kalendár Google
  • Viac senzorov
  • Ovládače radiátorov
  • Integrácie IFTT
  • Podpora Tasker
  • HTTP požiadavky
  • Oveľa lepšie vyzerajúci kryt

Krok 1: Ako funguje termostat

Ako funguje termostat
Ako funguje termostat
Ako funguje termostat
Ako funguje termostat

Termostat je pravdepodobne zapojený do VYSOKÉHO NAPÄTIA! Nepokúšajte sa urobiť čokoľvek, pokiaľ ste sa presvedčili, že je obvod vypnutý. Môžete si ublížiť a poškodiť pripojené zariadenie. Aby ste zaistili svoju bezpečnosť, zvážte konzultáciu s kvalifikovaným elektrikárom

Termostat Honeywell je nástenná jednotka napájaná zo siete (základy Sonoffa vyžadujú najmenej 90 V, môj obvod má 230 V). Krabica je pripojená k hlavnej riadiacej jednotke (čo je pokročilejšia skrinka) a vysiela signál, keď teplota klesne pod cieľovú úroveň. Aj keď sa vaša jednotka môže líšiť, princíp je s najväčšou pravdepodobnosťou rovnaký. Ak máte 3 vodiče a žiadne rádiové spojenie medzi nástennou jednotkou-toto je návod pre vás.

Viem, ako v zásade fungujú 3-vodičové termostaty, ktoré mi nezabránili v tom, aby ste omylom skratovali 2 vodiče! K jednotke sú pripojené 3 vodiče (pričom štvrtý je uzemňovací). Môj termostat Honeywell nie je bezdrôtový, takže na prepnutie signálu môžem použiť Sonoff Basic. Je čas rozobrať to a zistiť, ako je signál odoslaný do jednotky. Po bližšej kontrole je terminál pripojený nasledujúcim spôsobom:

  1. (modrá) - Zem
  2. (žltá) - signál, pri vysokom zatiahnutí je kúrenie zapnuté
  3. nepoužíva sa
  4. (červená) - živý vodič používaný na vytiahnutie signálu vysoko

Aby som dosiahol svoj cieľ, musím skratovať živý vodič signálnym vodičom, keď chcem, aby bolo zapnuté kúrenie. Ak máte podobne pripojený termostat, máte šťastie, pretože na to bude stačiť Sonoff Basic.

Krok 2: Príprava Sonoff Basic

Príprava Sonoff Basic
Príprava Sonoff Basic
Príprava Sonoff Basic
Príprava Sonoff Basic
Príprava na Sonoff Basic
Príprava na Sonoff Basic

Predtým, ako začneme spájať vodiče, musíme do zmesi pridať snímač teploty (DHT11). Uistite sa, že máte do svojho zariadenia Sonoff nahratý firmvér Tasmota (mám tu vynikajúceho sprievodcu blikaním) a váš Sonoff s podporou Tasmota je nakonfigurovaný správne (taktiež som ho už zahrnoval). Teraz vám zostáva len pripojiť snímač DHT11 k Sonoff a nakonfigurovať ho na hlásenie teploty.

DHT11 je dodávaný s 3 káblovými pinmi: Signál - GPIO14Vcc - 3,3VGND - GND

Vykopal som dieru, nie som znepokojený tým, ako to teraz vyzerá, všetko, čo potrebujem, je dôkaz konceptu a validácia. Hneď ako mi príde 3D tlačiareň, vyrobím pekný a lesklý kryt. Zvýšenú pozornosť som venoval tomu, ako zapojím Sonoff, pretože sa musím uistiť, že sa živý vodič pripája k signálnemu vodiču na druhom konci zariadenia Sonoff. Jednotka Honeywell má v sebe zabudovaný záťažový odpor (R), ktorý obmedzuje prúd. Aj keď je obvod chránený poistkou 3A, je múdre priradiť rovnaký odpor pre dodatočnú ochranu. Akonáhle som mal káble pripravené, bolo načase vypnúť hlavné napájanie a zapojiť Sonoffa späť.

Sonoff Tasmota - termostat Honeywell

INPUT Live - 4. terminál naživo

VSTUP GND - 1. svorka GND

Signál VÝSTUPU - signál 2. terminálu

Zatiaľ som to spomínal, nebudem sa stresovať vzhľadom. Manželka bola presvedčená a môžem sa zamerať na funkčnosť a odstránenie všetkých chýb, ku ktorým dôjde. Dobré na tom je, že pôvodný termostat stále funguje. Ak to zapnem, prepíše sa program založený na Sonoffovi Tasmotovi. To by mala byť skvelá záloha pre všetky neočakávané udalosti.

Krok 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Upozorňujeme, že video môže obsahovať staršie referencie na NodeRed, neustále pracujem na vylepšení dizajnu. Ide o malé zmeny a súbory článkov sú aktualizované

Na tento dizajn som narazil online. Vyzerá to skvele, ale po dôkladnej kontrole nie je widget skutočne vhodný pre NodeRED. Na to, aby bolo možné nastaviť 5 užitočných zaťažení, toto jednoducho nefunguje. Trvalo mi nejaký čas, kým som našiel najlepší spôsob, ako odovzdať všetky tieto informácie, aktualizovať widget a udržať ho funkčný. Som si istý, že časom strávim viac času nad dizajnom, aby som mohol jediným objektom správy odoslať všetky potrebné aktualizácie. Zatiaľ je to tak, ako to je.

Teplotný prúd

DHT11 hlási každých X sekúnd späť na server NodeRED. Túto frekvenciu som zvýšil prostredníctvom konzoly Tasmota. Stačí spustiť príkaz a nastaviť frekvenciu v sekundách:

TelePeriod Nastavte obdobie telemetrie medzi 10 a 3600 sekundami

Toto sa robí väčšinou pre testy, pretože nechcem čakať niekoľko minút, aby som zistil, či moje opravy chýb fungovali. Udržiavanie vysokej frekvencie spôsobí, že sa kúrenie bude častejšie spaľovať kratšie časové obdobia, preto by ste ho nemali nastavovať na 10 sekúnd na iné ako testovacie účely. Uzol MQTT získava údaje z:

sonoff/tele/SENZOR

a uchováva najužitočnejšie údaje v nasledujúcich objektoch:

msg.payload. DHT11. Teplota msg.payload. DHT11. Vlhkosť

Aby som obmedzil chyby, pridal som hladký uzol na priemerovanie výsledkov a aktualizoval som premennú toku: NodeRED:

Uzol funkcie - aktualizujte „TempAmbient“

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); return msg;

Aktualizácia miniaplikácie

Rozhodol som sa, že 5 sekúnd je dobrá obnovovacia frekvencia, a preto s touto frekvenciou tlačím všetky potrebné hodnoty. Jedinou výnimkou je posúvač, ktorý zo zrejmého dôvodu reaguje okamžite.

Každý zodpovedajúci uzol odošle užitočné zaťaženie s priradenou témou do miniaplikácie podobnej vnoreniu.

  • farba (vykurovanie | chladenie*| vypnuté & hvac_state)
  • list (true | false & has_leaf)
  • preč (pravda | nepravda a preč)
  • Teplota okolia (číslo a teplota okolia)
  • Cieľová teplota (číslo a cieľová teplota)

*nepoužíva sa

NodeRED: Uzol funkcie - Aktualizácia miniaplikácie

farba

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // ambient

ak (z = x) {

flow.set ('vykurovacístav', "vypnuté"); flow.set ('spínač kúrenia', "VYPNUTÝ"); } msg.payload = z; msg.topic = "teplota_teploty"; vrátiť správu;

list

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = true; msg.topic = "has_leaf"; vrátiť správu; } else {flow.set ('leaf', false); msg.payload = false; msg.topic = "has_leaf"; vrátiť správu; }

Prepísanie farby preč

x = flow.get ('preč'); if (x === true) {msg.topic = "hvac_state"; msg.payload = "off"; vrátiť správu; }

msg.topic = "hvac_state";

msg.payload = flow.get ('coatingState');

vrátiť správu;

Preč

x = flow.get ('preč'); if (x === true) {flow.set ('eatingSwitch ', "OFF"); flow.set ('vykurovacístav', "vypnuté"); }

msg.topic = "preč";

msg.payload = flow.get ('away'); vrátiť správu;

Cieľová teplota

if (msg.topic === "aktualizovať") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); vrátiť správu; }

if (msg.command === "SetTargetTemperatureRequest") {

flow.set ('away', false); msg.topic = "cieľová teplota"; flow.set ('TempTarget', msg.payload); }

if (msg.topic === "slider") {

flow.set ('away', false); msg.topic = "cieľová teplota"; flow.set ('TempTarget', msg.payload); }

if (msg.command === "GetTemperatureReadingRequest") {}

vrátiť správu;

Ako vidíte, rozhodol som sa pre premenné toku, aby som si mohol hodnotu spomenúť kedykoľvek. Mám ladiaci tok, ktorý v zásade číta všetky uložené hodnoty.

  • „TempAmbinet“- ukladá aktuálnu teplotu
  • „TempTarget“- uchováva cieľovú cieľovú hodnotu
  • „List“- v prípade potreby zobrazí list
  • „Preč“- v prípade potreby zobrazuje stav preč
  • „Výhrevný stav“- zmení farbu displeja
  • „Vyhrievací spínač“- riadi stav relé.

Úlohou bolo skutočne zaistiť, aby boli informácie aktualizované pri „aktualizácii“a na požiadanie inými prostriedkami (Alexa atď.). Preto v JavaScripte uvidíte rôzne podmienky. Zakaždým, keď sa hodnoty aktualizujú, odošlú sa do premennej toku a widget sa obnoví.

Posuvník

Testovanie ukázalo, že je potrebná ďalšia aktualizácia posúvača (posúvač tlačí cieľovú teplotu). Posuvník pri presunutí odošle užitočné zaťaženie (číslo) s priradenou témou „posúvač“. Okrem toho chcem, aby sa posúvač dostal do správnej polohy, ak je k dispozícii viacero webových rozhraní. Aby som to urobil, každých 5 sekúnd jednoducho aktualizujem polohu posúvača na aktuálnu cieľovú teplotu.

NodeRED: Uzol funkcie - posúvač aktualizácie '

msg.payload = flow.get ('TempTarget'); vrátiť správu;

Ovládanie relé

Reléový regulátor je jednoduchý, vyžaduje (zatiaľ) dva vstupy. Alexa je pravda | nepravda a interakcia, ktorá nasleduje po aktualizácii prietokovej premennej „vykurovacieho spínača“. Okamžitá akcia nie je potrebná, a preto pre jednoduchosť beží na aktualizačnej frekvencii 5 sekúnd ako zvyšok toku.

Relé je pripojené cez MQTT. Node odosiela príkazy ON | OFF na tému:

sonoff/cmnd/SILA1

Funkčný uzol akceptuje hodnotu true | false od spoločnosti Alexa a tiež mení stav vstupu podľa prietokovej premennej „vykurovací spínač“.

NodeRED: Funkčný uzol - riadiace relé '

if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; vrátiť správu; }

if (msg.command === "TurnOnRequest") {

msg.payload = "ON"; flow.set ('TempTarget', 21); vrátiť správu; } if (msg.topic === "aktualizovať") {msg.payload = flow.get ('eatingSwitch '); } vrátiť správu;

Integrácia Alexa

Toto je prvé zariadenie, ktoré som musel vypnúť „automatické potvrdenie“. Namiesto toho, aby som automaticky predpokladal odpoveď, vygeneroval som odpoveď, pretože chcem schopnosť spýtať sa na nastavenú teplotu. V zásade msg.payload = true | false označuje, či bola požiadavka úspešná, a tu nájdené šablóny urobia ostatné. Ak ste v Alexe a NodeRed nováčikmi, určite si to prečítajte.

Rozhodol som sa odovzdať potvrdenia oddelene (viem, že to nie je najlepší spôsob), aby som to všetko mohol ovládať o niečo lepšie. Správne by mala byť každá odpoveď uvedená na konci príkazového reťazca. Ten môj riskuje, že nevráti chyby, ak k nim dôjde. Všimnite si toho, že aby som bol konzistentný, aktualizujem iba premenné, zatiaľ čo obnovovacia slučka posúva nové hodnoty do miniaplikácie.

NodeRED: Uzol funkcie - spracujte reakcie Alexa '

// Aká je cieľová teplota termostatu (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "equipmentResponseTimestamp": nový dátum (). toISOString ()}; msg.payload = true; vrátiť správu; } // Nastavte teplotu na (nie nižšiu ako 10 alebo viac ako 30), ak (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = false; msg.extra = rozsah; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = true; } vrátiť správu; } // Zapnite if (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('away', false); flow.set ('TempTarget', 21); vrátiť správu; } // Vypnite ho, ak (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('away', pravda); vrátiť správu;

Krok 4: Záver

Záver
Záver

Ak vystavíte palubnú dosku NodeRED WAN, celý vykurovací systém je možné ovládať diaľkovo. Odporúčame vám, aby ste si prečítali nasledujúce články a zaistili si tak rýchlosť zabezpečenia NodeRED a NodeRED.

  • NodeRED pre začiatočníkov
  • Zabezpečenie NodeRED

Okrem toho, ak sa chcete informovať o aktualizáciách tohto projektu - zvážte sledovanie mňa na platforme, ktorú si vyberiete:

  • Dvakrát
  • Instagram
  • YouTube

A ak máte chuť mi kúpiť kávu alebo ma podporovať kontinuálnejším spôsobom:

  • Paypal
  • Patreon

Dúfam, že sa vám projekt páčil!

Odporúča: