Kazalo:

NEST Vaš stari termostat: 4 koraki (s slikami)
NEST Vaš stari termostat: 4 koraki (s slikami)

Video: NEST Vaš stari termostat: 4 koraki (s slikami)

Video: NEST Vaš stari termostat: 4 koraki (s slikami)
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Image
Image
Kako deluje termostat
Kako deluje termostat

Ogrevalni sistem v moji hiši je verjetno tako star kot hiša sama. Star je približno 30 let, kar je v redu glede hišnih let, vendar se je precej zadržalo v ledeni dobi, kar zadeva tehnologijo. Pri komercialnih rešitvah obstajata 2 glavni težavi:

  • previsoke cene
  • izdelek kot storitev

Vsi se spomnimo, kaj se je zgodilo z Revolvom, in nisem preveč navdušen nad tem, da se mi to zgodi sredi zime. S tem v mislih vam predstavljam neverjetno sumljiv videz, vendar funkcionalen krmilnik, podoben NEST-u za vaš stari termostat. Brez skrbi, v kratkem nameravam dodati še veliko boljše ohišje!

Lastnosti:

  • možnost uporabe obstoječega termostata (v primeru, da žena o tem jamra)
  • oddaljen dostop
  • Način AWAY
  • indikator optimalne temperature
  • Deluje z Alexa

Kmalu (tukaj preverite posodobitve)

  • Googlova domača stran
  • Google Koledar
  • Več senzorjev
  • Krmiljenje radiatorjev
  • Integracije IFTT
  • Podpora za Tasker
  • Zahteve
  • Veliko lepše ohišje

Korak: Kako deluje termostat

Kako deluje termostat
Kako deluje termostat
Kako deluje termostat
Kako deluje termostat

Termostat je verjetno priključen na VELIKO NAPETNOST! Ne poskušajte storiti ničesar, razen če se prepričate, da je vezje izklopljeno. Lahko se poškodujete in poškodujete priključeno opremo. Posvetujte se z usposobljenim električarjem, da zagotovite svojo varnost

Termostat Honeywell je stenska enota, ki se napaja iz omrežja (osnove Sonoff potrebujejo najmanj 90 V, moje vezje ima 230 V). Škatla je povezana z glavno krmilno enoto (ki je bolj napredna) in pošilja signal, ko temperatura pade pod ciljno raven. Čeprav je vaša enota lahko drugačna, je načelo najverjetneje enako. Če imate med stensko enoto 3 žice in brez radijske povezave-to je vadnica za vas.

Vem, kako načeloma delujejo 3-žični termostati, ki me niso preprečili, da bi pregorel varovalko, tako da sem po nesreči skrajšal 2 žici! Na enoto imam priključene 3 žice (četrta je ozemljitev). Moj termostat Honeywell ni brezžičen, zato lahko za preklop signala uporabim Sonoff Basic. Čas je, da ga ločite in poglejte, kako se signal pošlje v enoto. Ob natančnejšem pregledu je terminal priključen na naslednji način:

  1. (modra) - tla
  2. (rumena) - signal, ko je ogrevanje vklopljeno
  3. ni v uporabi
  4. (rdeča) - žica pod napetostjo, ki se uporablja za dvig signala visoko

Če želim doseči svoj cilj, moram s signalno žico kratki kabel pod napetostjo, ko želim vklopiti ogrevanje. Če imate podobno povezan termostat, imate srečo, saj bo Sonoff Basic dovolj, da naredite trik.

2. korak: Priprava Sonoff Basic -a

Priprava na Sonoff Basic
Priprava na Sonoff Basic
Priprava na Sonoff Basic
Priprava na Sonoff Basic
Priprava na Sonoff Basic
Priprava na Sonoff Basic

Preden začnemo povezovati žice, moramo mešanici dodati temperaturni senzor (DHT11). Prepričajte se, da imate na napravi Sonoff vdelano programsko opremo Tasmota (tukaj imam odličen utripajoč vodnik) in da je vaš Sonoff, ki podpira Tasmoto, pravilno konfiguriran (tudi jaz ga že pokrivam). Zdaj vam preostane le, da senzor DHT11 povežete s Sonoffom in ga konfigurirate za poročanje o temperaturi.

DHT11 je opremljen s 3 ožičenimi zatiči: Signal - GPIO14Vcc - 3,3VGND - GND

Naredil sem luknjo, ne moti me, kako to izgleda zdaj, potrebujem le dokaz koncepta in potrditev. Ko pride moj 3D tiskalnik, bom naredil lepo in sijoče ohišje. Posebno pozornost sem namenil temu, kako ožičim Sonoff, saj moram paziti, da se žica pod napetostjo poveže s signalno žico na drugem koncu naprave Sonoff. Enota Honeywell ima vgrajen obremenitveni upor (R), ki omejuje tok. Medtem ko je vezje zaščiteno z varovalko 3A, je za dodatno zaščito pametno ujemati isti upor. Ko sem imel pripravljene žice, je bil čas, da izklopim glavno napajanje in priključim Sonoff nazaj.

Sonoff Tasmota - Honeywell termostat

INPUT Live - 4. terminal v živo

INPUT GND - prvi terminal GND

OUTPUT Signal - drugi signal terminala

Že prej sem omenil, da zaenkrat ne bom poudarjal videza tega. Žena je bila prepričana in lahko se osredotočim na funkcionalnost in odpravljanje morebitnih napak. Dobra stvar je, da prvotni termostat še vedno deluje. Če ga prižgem, bo preglasil tistega, ki temelji na Sonoffu Tasmoti. To bi morala biti odlična podpora za vse nepričakovane dogodke.

3. korak: NodeRED

NODRED
NODRED
NODRED
NODRED
NODRED
NODRED

Upoštevajte, da videoposnetek lahko vsebuje starejše reference NodeRed, nenehno delam na izboljšanju zasnove. To so majhne spremembe in datoteke člankov se posodabljajo

Na internetu sem naletel na to zasnovo. Izgleda odlično, vendar ob natančnem pregledu pripomoček res ni primeren za NodeRED. Za nastavitev potrebuje 5 koristnih obremenitev, kar pač ne velja za oblikovanje vozlišč. Potreboval sem nekaj časa, da sem ugotovil, kako najbolje prenesti vse te podatke, da posodobim pripomoček in ohranim njegovo funkcionalnost. Prepričan sem, da bom sčasoma porabil več časa za oblikovanje, da bom lahko z enim predmetom sporočila potisnil vse potrebne posodobitve. Zaenkrat je tako, kot je.

Temperaturni tok

DHT11 vsakih X sekund poroča strežniku NodeRED. To frekvenco sem povečal prek Tasmotove konzole. Samo zaženite ukaz za nastavitev frekvence v sekundah:

TelePeriod Nastavite obdobje telemetrije med 10 in 3600 sekund

To se večinoma izvaja za teste, saj ne želim čakati minut, da vidim, ali so mi popravki napak uspeli. Ohranjanje visoke frekvence bo povzročilo pogostejše kurjenje ogrevanja v krajših časovnih obdobjih, zato se vzdržite nastavitve na 10 sekund za druge namene kot za testiranje. Vozlišče MQTT črpa podatke iz:

sonoff/tele/SENSOR

in hrani najbolj uporabne podatke v naslednjih objektih:

msg.payload. DHT11. Temperatura msg.payload. DHT11. Vlažnost

Za omejitev napak sem dodal gladko vozlišče za povprečenje rezultatov in posodobil spremenljivko toka: NodeRED:

Funkcijsko vozlišče - posodobite 'TempAmbient'

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

Posodobitev pripomočka

Odločil sem se, da je 5 sekund dobra hitrost osveževanja, zato s to frekvenco potiskam vse potrebne vrednosti. Edina izjema je drsnik, ki se iz očitnega razloga takoj odzove.

Vsako ustrezno vozlišče pošlje koristno obremenitev z dodeljeno temo v gradnik, podoben gnezdu.

  • barva (ogrevanje | hlajenje*| izklopljeno & hvac_state)
  • list (true | false & has_leaf)
  • stran (res | napačno & stran)
  • Temperatura okolice (število in temperatura okolice)
  • Ciljna temperatura (število in ciljna_temperatura)

*ni v uporabi

NodeRED: Funkcijsko vozlišče - Posodobitev pripomočka

barvo

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

če (z = x) {

flow.set ('ogrevalno stanje', 'izklopljeno'); flow.set ('switchSwitch', 'OFF'); } msg.payload = z; msg.topic = "temperatura okolice"; return msg;

list

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('list', res); msg.payload = res; msg.topic = "has_leaf"; return msg; } else {flow.set ('list', napačno); msg.payload = false; msg.topic = "has_leaf"; return msg; }

Razveljavitev barve

x = flow.get ('stran'); if (x === true) {msg.topic = "hvac_state"; msg.payload = "izklopljeno"; return msg; }

msg.topic = "hvac_state";

msg.payload = flow.get ('ogrevalno stanje');

return msg;

Stran

x = flow.get ('stran'); if (x === true) {flow.set ('temperatureSwitch', "OFF"); flow.set ('ogrevalno stanje', 'izklopljeno'); }

msg.topic = "stran";

msg.payload = flow.get ('stran'); return msg;

Ciljna temp

if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); return msg; }

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

flow.set ('stran', napačno); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

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

flow.set ('stran', napačno); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

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

return msg;

Kot vidite, sem se odločil za spremenljivke toka, zato sem se lahko kadar koli spomnil na vrednost. Imam tok odpravljanja napak, ki v bistvu bere vse shranjene vrednosti.

  • "TempAmbinet" - shrani trenutno temp
  • „TempTarget“- vsebuje vrednost cilja temp
  • „List“- prikaže list, če je potrebno
  • 'Stran' - prikaže stanje odsotnosti, če je potrebno
  • „Ogrevanje“- spremeni barvo zaslona
  • ‘HeatSwitch’ - nadzoruje stanje releja.

Izziv je bil dejansko zagotoviti, da so podatki posodobljeni ob »posodobitvi« in na zahtevo na druge načine (Alexa itd.). Zato boste v JavaScript videli različne pogoje. Vsakič, ko se vrednosti posodobijo, se pošljejo spremenljivki toka in pripomoček se osveži.

Drsnik

Testiranje je pokazalo, da je potrebna dodatna posodobitev drsnika (drsnik potisne ciljno temperaturo). Drsnik pošlje koristni tovor (številko) s povezano temo »drsnik«, ko ga premaknete. Poleg tega želim, da drsnik pride v pravilen položaj, če je nameščenih več spletnih vmesnikov. Če želite to narediti, vsakih 5 sekund preprosto posodobim položaj drsnika na trenutno ciljno temperaturo.

NodeRED: Funkcijsko vozlišče - drsnik za posodobitev '

msg.payload = flow.get ('TempTarget'); vrni sporočilo;

Krmiljenje releja

Relejni krmilnik je preprost, potrebuje (zaenkrat) dva vhoda. Alexa je res | false in interakcija, ki sledi posodobitvi spremenljivke pretoka "stikalo za ogrevanje". Ni potrebe po takojšnjem ukrepanju, zato zaradi preprostosti deluje na isti frekvenci posodabljanja 5 sekund kot preostanek toka.

Rele je povezan prek MQTT. Vozlišče objavlja ukaze ON | OFF na temo:

sonoff/cmnd/POWER1

Funkcijsko vozlišče sprejme true | false od Alexa in spremeni tudi stanje vhoda v skladu s spremenljivko pretoka "heatSwitch".

NodeRED: Funkcijsko vozlišče - krmilni rele '

if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; return msg; }

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

msg.payload = "ON"; flow.set ('TempTarget', 21); return msg; } if (msg.topic === "update") {msg.payload = flow.get ('ogrevanjeSwitch'); } return msg;

Integracija Alexa

To je prva naprava, pri kateri sem moral izklopiti samodejno potrditev. Namesto, da bi samodejno prevzel odziv, sem ga ustvaril, saj želim možnost poizvedovanja o nastavljeni temperaturi. Načeloma msg.payload = true | false označuje, ali je bila zahteva uspešna, preostale predloge pa tukaj. Če ste novi v Alexa in NodeRed, preberite to.

Odločil sem se, da bom potrditve prenašal ločeno (vem, da to ni najboljši način), da bom lahko vse skupaj nekoliko bolje nadzoroval. Pravilno je treba vsak odgovor dati na koncu ukazne verige. Moj tvega, da v tem primeru ne bo vrnil napak. Upoštevajte, da zaradi doslednosti posodabljam samo spremenljivke, medtem ko osvežitvena zanka potisne nove vrednosti v pripomoček.

NodeRED: Funkcijsko vozlišče - odgovori Alexa odgovori '

// Kakšna je ciljna temperatura termostataif (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"vrednost": x}, "deviceResponseTimestamp": nov datum (). toISOString ()}; msg.payload = res; return msg; } // Nastavite temperaturo na (ne nižjo od 10 ali več kot 30) if (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = false; msg.extra = obseg; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = res; } return msg; } // Vklopite, če (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('stran', napačno); flow.set ('TempTarget', 21); return msg; } // Izklopi, če (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('stran', res); return msg;

4. korak: Zaključek

Zaključek
Zaključek

Če armaturno ploščo NodeRED izpostavite WAN -u, lahko celoten ogrevalni sistem upravljate na daljavo. Priporočam vam, da preberete naslednje članke, če želite pospešiti varnost NodeRED in NodeRED.

  • NodeRED za začetnike
  • Varnost NodeRED

Poleg tega, če želite biti obveščeni o posodobitvah tega projekta - sledite mi na izbrani platformi:

  • Facebo ok
  • Dvakrat
  • Instagram
  • YouTu bodi

In če želite kupiti kavo ali me podpreti na bolj stalen način:

  • Paypal
  • Patreon

Upam, da ste uživali v projektu!

Priporočena: