Sisällysluettelo:

NEST Vanha termostaatti: 4 vaihetta (kuvilla)
NEST Vanha termostaatti: 4 vaihetta (kuvilla)

Video: NEST Vanha termostaatti: 4 vaihetta (kuvilla)

Video: NEST Vanha termostaatti: 4 vaihetta (kuvilla)
Video: EI HEITETTY POIS VANHAA TYLLIÄ JA SÄÄSTI PERHE BUDJETTIA HYVIN! 4 SUPER TULI-IDEAA 2024, Heinäkuu
Anonim
Image
Image
Kuinka termostaatti toimii
Kuinka termostaatti toimii

Taloni lämmitysjärjestelmä on luultavasti yhtä vanha kuin talo itse. Se on noin 30 vuotta vanha, mikä on talon vuosien kannalta hyvä, mutta tekniikan osalta melko jäässä jääkauteen. Kaupallisissa ratkaisuissa on kaksi pääongelmaa:

  • kohtuuton hinnoittelu
  • tuote palveluna

Me kaikki muistamme, mitä Revolville tapahtui, enkä ole kovin kiinnostunut siitä, että tämä tapahtuisi minulle keskellä talvea. Tässä mielessä esittelen sinulle uskomattoman epäilyttävän näköisen mutta toimivan NEST-Alike-ohjaimen vanhalle termostaatillesi. Älä huoli, suunnittelen paljon parempaa koteloa, joka lisätään pian!

Ominaisuudet:

  • kyky käyttää olemassa olevaa termostaattia (jos vaimo valittaa siitä)
  • etäyhteys
  • POIS -tila
  • optimaalinen lämpötilan ilmaisin
  • Toimii Alexan kanssa

Pian (tarkista päivitykset täältä)

  • Googlen etusivu
  • Google -kalenteri
  • Useita antureita
  • Jäähdyttimen säätimet
  • IFTT -integraatiot
  • Tasker -tuki
  • HTTP -pyynnöt
  • Paljon paremman näköinen kotelo

Vaihe 1: Kuinka termostaatti toimii

Kuinka termostaatti toimii
Kuinka termostaatti toimii
Kuinka termostaatti toimii
Kuinka termostaatti toimii

Termostaatti on todennäköisesti liitetty korkeajännitteeseen! Älä yritä tehdä mitään, ellet ole varmistanut, että piiri on pois päältä. Voit vahingoittaa itseäsi ja vahingoittaa liitettyjä laitteita. Ota yhteys pätevään sähköasentajaan turvallisuutesi varmistamiseksi

Honeywell -termostaatti on seinälle asennettava laite, joka saa virtansa verkkovirrasta (Sonoffin perusteet tarvitsevat vähintään 90 V, piirini on 230 V). Laatikko on kytketty pääohjausyksikköön (joka on kehittyneempi kotelo) ja se lähettää signaalin, kun lämpötila laskee tavoitetason alapuolelle. Vaikka laitteesi voi olla erilainen, periaate on todennäköisesti sama. Jos sinulla on 3 johtoa eikä radioyhteyttä seinään asennettavan laitteen välillä-tämä on opetusohjelma sinulle.

Tiedän, miten 3-johtiminen termostaatti toimii periaatteessa, mikä ei estänyt minua sulamasta sulaketta oikosulkemalla 2 johtoa vahingossa! Laitteeseen on kytketty 3 johtoa (neljäs on maa). Honeywell -termostaattini ei ole langaton, joten voin vaihtaa signaalin käyttämällä Sonoff Basicia. On aika purkaa se ja katsoa, kuinka signaali lähetetään laitteeseen. Tarkemmin tarkasteltuna päätelaite on kytketty seuraavasti:

  1. (sininen) - Maa
  2. (keltainen) - signaali, kun se vedetään ylös, lämmitys on päällä
  3. ei käytössä
  4. (punainen) - jännitteinen johto, jota käytetään vetämään signaali korkealle

Tavoitteeni saavuttamiseksi minun on lyhennettävä jännitteinen johto signaalijohdolla, kun haluan lämmityksen olevan päällä. Jos sinulla on vastaavasti liitetty termostaatti, olet onnekas, sillä Sonoff Basic riittää tekemään tempun.

Vaihe 2: Sonoff Basicin valmistelu

Sonoff Basicin valmistelu
Sonoff Basicin valmistelu
Sonoff Basicin valmistelu
Sonoff Basicin valmistelu
Sonoff Basicin valmistelu
Sonoff Basicin valmistelu

Ennen kuin aloitamme johtojen yhdistämisen, meidän on lisättävä seokseen lämpötila -anturi (DHT11). Varmista, että Tasmota-laiteohjelmisto on väläytetty Sonoff-laitteeseesi (minulla on erinomainen vilkkuva opas) ja että Tasmota-yhteensopiva Sonoff on määritetty oikein (olen myös jo käsitellyt sitä). Nyt ei ole muuta kuin liittää DHT11 -anturi Sonoffiin ja määrittää se lämpötilaraportointia varten.

DHT11: n mukana toimitetaan 3 nastaa langallisesti: Signaali - GPIO14Vcc - 3.3VGND - GND

Pistin reiän läpi, en välitä siitä, miltä se näyttää nyt, tarvitsen vain todistuksen konseptista ja validoinnin. Teen 3D -tulostimeni saapuessa kauniin ja kiiltävän kotelon. Kiinnitin erityistä huomiota Sonoffin johdotukseen, koska minun on varmistettava, että jännitteinen johto kytkeytyy Sonoff -laitteen toisessa päässä olevaan signaalijohtoon. Honeywell -yksikössä on sisäänrakennettu kuormitusvastus (R), joka rajoittaa virtaa. Vaikka piiri on suojattu 3A -sulakkeella, on järkevää sovittaa sama vastus lisäsuojaksi. Kun olin saanut johdot valmiiksi, oli aika katkaista päävirta ja kytkeä Sonoff takaisin.

Sonoff Tasmota - Honeywell -termostaatti

INPUT Live - 4. terminaali Live

INPUT GND - 1. terminaali GND

OUTPUT -signaali - 2. terminaalin signaali

Mainitsin aiemmin, että toistaiseksi en aio stressata tämän ulkonäöstä. Vaimo on vakuuttunut, ja voin keskittyä toimivuuteen ja mahdollisten virheiden poistamiseen. Hyvä asia on, että alkuperäinen termostaatti toimii edelleen. Jos otan sen käyttöön, se ohittaa Sonoff Tasmota -pohjaisen. Tämän pitäisi olla hyvä varmuuskopio odottamattomille tapahtumille.

Vaihe 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Huomaa, että video saattaa sisältää vanhempia NodeRed -viitteitä, ja pyrin jatkuvasti parantamaan suunnittelua. Nämä ovat pieniä muutoksia ja artikkelitiedostot pidetään ajan tasalla

Löysin tämän mallin verkossa. Se näyttää hienolta, mutta tarkasti tarkasteltuna widget ei todellakaan sovellu NodeRED -laitteelle. Se tarvitsee 5 hyötykuormaa asetettavaksi, mikä ei vain ole tapa, jolla solmun kaltainen suunnittelu toimii. Minulla kesti jonkin aikaa selvittää paras tapa välittää kaikki nämä tiedot widgetin päivittämiseksi ja toimivuuden ylläpitämiseksi. Olen varma, että ajan kanssa käytän enemmän aikaa suunnitteluun, jotta voisin lähettää kaikki tarvittavat päivitykset yhdellä viestiobjektilla. Toistaiseksi se on mitä se on.

Lämpötilavirta

DHT11 raportoi joka X sekunti takaisin NodeRED -palvelimelle. Lisäsin tätä taajuutta Tasmota -konsolin kautta. Suorita vain komento asettaaksesi taajuus sekunteina:

TelePeriod Aseta telemetriajakso 10 ja 3600 sekunnin välillä

Tämä tehdään enimmäkseen testejä varten, koska en halua odottaa minuutteja nähdäkseni, toimivatko virheenkorjaukset. Jos pidät taajuuden korkeana, lämmitys syttyy useammin lyhyemmäksi ajaksi, joten älä aseta sitä 10 sekuntiin muuhun kuin testaukseen. MQTT -solmu hakee tiedot:

sonoff/tele/ANTURI

ja säilyttää hyödyllisimmät tiedot seuraavissa objekteissa:

msg.payload. DHT11. Lämpötila msg.payload. DHT11. Kosteus

Virheiden rajoittamiseksi lisäsin sileän solmun tulosten keskiarvoon ja päivitin virtausmuuttujan: NodeRED:

Toimintasolmu - Päivitä TempAmbient

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

Widgetin päivitys

Päätin, että 5 sekuntia on hyvä virkistystaajuus, joten painan kaikkia tarvittavia arvoja tällä taajuudella. Ainoa poikkeus on liukusäädin, joka ilmeisestä syystä reagoi välittömästi.

Jokainen vastaava solmu lähettää hyötykuorman määritetyn aiheen kanssa pesä-kaltaiseen widgettiin.

  • väri (lämmitys | jäähdytys*| pois päältä ja hvac_state)
  • lehti (true | false & has_leaf)
  • pois (totta | väärä & pois)
  • Ympäristön lämpötila (numero ja ympäristön lämpötila)
  • Tavoitelämpötila (numero ja tavoitelämpötila)

*ei käytössä

NodeRED: Toimintasolmu - Widget -päivitys

väri

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

jos (z = x) {

flow.set ('lämmitystila', "pois"); flow.set ('HeatSwitch', "OFF"); } msg.payload = z; msg.topic = "ympäristön_lämpötila"; palauta viesti;

puun lehti

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('lehti', tosi); msg.payload = true; msg.topic = "has_leaf"; palauta viesti; } else {flow.set ('leaf', false); msg.payload = false; msg.topic = "has_leaf"; palauta viesti; }

Värin poisto -ohitus

x = flow.get ('pois'); jos (x === tosi) {msg.topic = "hvac_state"; msg.payload = "pois"; palauta viesti; }

msg.topic = "hvac_state";

msg.payload = flow.get ('lämmitystila');

palauta viesti;

Pois

x = flow.get ('pois'); if (x === true) {flow.set ('lämmityskytkin', "POIS"); flow.set ('lämmitystila', "pois"); }

msg.topic = "poissa";

msg.payload = flow.get ('pois'); palauta viesti;

Tavoitelämpötila

if (msg.topic === "päivitys") {msg.topic = "kohde_lämpötila"; msg.payload = flow.get ('TempTarget'); palauta viesti; }

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

flow.set ('pois', epätosi); msg.topic = "kohteen_lämpötila"; flow.set ('TempTarget', msg.payload); }

jos (msg.topic === "liukusäädin") {

flow.set ('pois', epätosi); msg.topic = "kohteen_lämpötila"; flow.set ('TempTarget', msg.payload); }

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

palauta viesti;

Kuten näette, olen valinnut virtausmuuttujat, jotta voisin muistaa arvon milloin tahansa. Minulla on virheenkorjaus, joka lukee periaatteessa kaikki tallennetut arvot.

  • "TempAmbinet" - tallentaa nykyisen lämpötilan
  • "TempTarget" - sisältää lämpötilan tavoitearvon
  • 'Lehti' - näyttää lehtiä tarvittaessa
  • 'Poissa' - näyttää tarvittaessa poissaolotilan
  • "Lämmitystila" - muuttaa näytön väriä
  • "Lämmityskytkin" - ohjaa releen tilaa.

Haasteena oli itse asiassa varmistaa, että tiedot päivitetään "päivityksen" yhteydessä ja pyydettäessä muilla keinoilla (Alexa jne.). Siksi näet erilaisia ehtoja JavaScriptissä. Aina kun arvot päivitetään, ne lähetetään virtausmuuttujalle ja widget päivitetään.

Liukusäädin

Testaus paljasti, että liukusäätimen lisäpäivitys (liukusäädin nostaa tavoitelämpötilaa) tarvitaan. Liukusäädin lähettää hyötykuorman (numeron) ja siihen liittyvän aiheen "liukusäädin", kun sitä siirretään. Tämän lisäksi haluan, että liukusäädin siirtyy oikeaan asentoon, jos useita web -rajapintoja on paikallaan. Tätä varten päivitän 5 sekunnin välein liukusäätimen asennon nykyiseen tavoitelämpötilaan.

NodeRED: Toimintasolmu - Päivitä liukusäädin '

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

Releen ohjaus

Releohjain on yksinkertainen, se vaatii (toistaiseksi) kaksi tuloa. Alexan tosi | epätosi ja vuorovaikutus, joka seuraa lämmityskytkimen virtausmuuttujan päivitystä. Välitöntä toimintaa ei tarvita, joten yksinkertaisuuden vuoksi se toimii samalla 5 sekunnin päivitystaajuudella kuin muu virtaus.

Rele on kytketty MQTT: n kautta. Solmu lähettää ON | OFF -komentoja aiheeseen:

sonoff/cmnd/POWER1

Funktiosolmu hyväksyy Alexasta tosi | epätosi ja muuttaa myös tulon tilaa lämmitysvaihtokytkimen mukaan.

PUNAINEN: Toimintasolmu - ohjausrele '

if (msg.command === "TurnOffRequest") {msg.payload = "POIS"; palauta viesti; }

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

msg.payload = "PÄÄLLÄ"; flow.set ('TempTarget', 21); palauta viesti; } if (msg.topic === "update") {msg.payload = flow.get ('lämmitysSwitch'); } palauta viesti;

Alexan integrointi

Tämä on ensimmäinen laite, jonka jouduin kytkemään automaattisen kuittauksen pois päältä. Sen sijaan, että olettaisin automaattisesti vastauksen, olen luonut sellaisen, koska haluan mahdollisuuden kysyä asetetusta lämpötilasta. Periaatteessa msg.payload = true | false ilmaisee, onko pyyntö onnistunut, ja täällä olevat mallit hoitavat loput. Jos olet uusi Alexa ja NodeRed, lue tämä.

Päätin jakaa tunnustukset erikseen (tiedän, että tämä ei ole paras tapa) voidakseni hallita kaikkea hieman paremmin. Oikein jokainen vastaus on annettava komentoketjun lopussa. Minun riskini on olla palauttamatta virheitä, jos niitä tapahtuu. Huomaa, että johdonmukaisuuden vuoksi päivitän vain muuttujat, kun taas päivityssilmukka työntää uudet arvot widgetille.

NodeRED: Toimintasolmu - Käsittele Alexa -vastaukset '

// Mikä on termostaatin tavoitelämpötilaif (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "deviceResponseTimestamp": uusi päivämäärä (). toISOString ()}; msg.payload = true; palauta viesti; } // Aseta lämpötilaksi (vähintään 10 tai yli 30), jos (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = false; msg.extra = alue; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = true; } palauta viesti; } // Ota se käyttöön, jos (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('pois', epätosi); flow.set ('TempTarget', 21); palauta viesti; } // Sammuta se, jos (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('pois', totta); palauta viesti;

Vaihe 4: Johtopäätös

Johtopäätös
Johtopäätös

Jos altistat NodeRED -kojelaudan WAN: lle, koko lämmitysjärjestelmää voidaan ohjata etänä. Suosittelen, että luet seuraavat artikkelit saadaksesi nopeuden NodeRED- ja NodeRED -suojauksen kanssa.

  • NodeRED aloittelijoille
  • NodeRED -suojaus

Lisäksi, jos haluat saada tietoa tämän projektin päivityksistä - harkitse seuraamista valitsemallasi alustalla:

  • Viserrys
  • Instagram
  • Ole sinä

Ja jos sinusta tuntuu, että haluat ostaa minulle kahvia tai tukea minua jatkuvalla tavalla:

  • Paypal
  • Patreon

Toivottavasti piditte projektista!

Suositeltava: