Sisällysluettelo:
- Vaihe 1: Kuinka termostaatti toimii
- Vaihe 2: Sonoff Basicin valmistelu
- Vaihe 3: NodeRED
- Vaihe 4: Johtopäätös
Video: NEST Vanha termostaatti: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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:
- (sininen) - Maa
- (keltainen) - signaali, kun se vedetään ylös, lämmitys on päällä
- ei käytössä
- (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
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
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
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
- Ole sinä
Ja jos sinusta tuntuu, että haluat ostaa minulle kahvia tai tukea minua jatkuvalla tavalla:
- Paypal
- Patreon
Toivottavasti piditte projektista!
Suositeltava:
Nest -termostaatti, käyttöasteen seuranta: 12 vaihetta
Nest -termostaatti, käyttöasteen seuranta: IFTTT on käyttänyt kotini jäähdytysautomaatiota Nest -termostaattini avulla viime aikoihin asti Life360: n "ensimmäisenä saapuneen" avulla. ja " viimeinen kotoa lähteminen " liipaisimet. Tämä oli hienoa, koska voisin lisätä perheenjäseniä Li: hen
Älykäs termostaatti ESP8266: 6 vaihetta (kuvilla)
Älykäs termostaatti ESP8266: Bienvenue sur ce nouvel article. On se retrouve aujourd'hui pour un projet que j'ai réalisé durant tout ce temps libre que m'a offert le encinement. Ce projet m'a été proposé par mon père, en effet il vient de déménager dans une vieille maison et l
HestiaPi Touch - Avaa älykäs termostaatti: 9 vaihetta (kuvilla)
HestiaPi Touch - Avaa älykäs termostaatti: Tietoja HestiaPi Touchista HestiaPi Touch on täysin avoimen lähdekoodin älykäs termostaatti kotiisi. Kaikki digitaaliset tiedostot ja tiedot ovat saatavilla alla ja pääsivustollamme. Sen avulla voit seurata kotisi lämpötilaa, suhteellista kosteutta ja lämpötilaa
Autostat: kauko -termostaatti: 8 vaihetta (kuvilla)
Autostat: kauko -termostaatti: Kysymyksesi on luultavasti "miksi teet toisen etätermostaatin?" Vastaus tähän kysymykseen on, että minun on pakko, ja markkinoiden älykkäät termostaatit ovat liian kalliita. "todiste konseptista" rakentaa t
Arduino Kombucha -termostaatti: 3 vaihetta (kuvilla)
Arduino Kombucha -termostaatti: Olen aina rakastanut Kombuchaa, mutta kaupassa se on niin kallista. Noin 4 dollaria 12 oz. minulla ei ole varaa juoda sitä niin paljon kuin halusin. Katselin oman kombuchan tekemistä ja tajusin, että se ei ollut ollenkaan niin vaikeaa, eikä vaatinut