Kazalo:
- Korak: Kako deluje termostat
- 2. korak: Priprava Sonoff Basic -a
- 3. korak: NodeRED
- 4. korak: Zaključek
Video: NEST Vaš stari termostat: 4 koraki (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
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
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:
- (modra) - tla
- (rumena) - signal, ko je ogrevanje vklopljeno
- ni v uporabi
- (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
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
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
Č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
- 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:
Nest termostat, sledenje zasedenosti: 12 korakov
Nest termostat, sledenje zasedenosti: Avtomatizacijo hlajenja doma z mojim termostatom Nest je do nedavnega upravljal IFTTT z uporabo Life360 " prvi, ki je prišel domov " in " zadnji odšel od doma " sprožilci. To je bilo super, ker sem v svoj Li lahko dodal družinske člane
S.H.I.E.L.D - Ali vas nekdo opazuje?: 4 koraki (s slikami)
S.H.I.E.L.D - Ali te nekdo opazuje ?: Videla sem veliko videoposnetkov osramočenih ljudi, ko niso opazili, da je njihov mikrofon ali kamera vklopljena, in to mi je dalo idejo za ta projekt. Napisal sem preprosto aplikacijo v C#, ki zazna, kdaj uporabljate kamero ali mikrofon in
Steam Punk vaš UPS, da dobite ure neprekinjenega delovanja za vaš usmerjevalnik Wi-Fi: 4 koraki (s slikami)
Steam Punk vaš UPS, da dobite ure neprekinjenega delovanja za vaš usmerjevalnik Wi-Fi: Obstaja nekaj bistveno neprijetnega glede tega, da vaš UPS pretvori svojo 12V DC baterijo v 220V AC napajanje, tako da jo lahko transformatorji, ki vodijo vaš usmerjevalnik in optični ONT, pretvorijo nazaj v 12V DC! Prav tako ste proti [običajno
Naj bo vaš preprost termin: 4 koraki (s slikami)
Naredite si preprost Theremin: V tem projektu vam bom pokazal, kako deluje elektronski instrument Theremin in kako lahko s pomočjo 2 IC -jev in le nekaj komplementarnih komponent ustvarimo njegovo preprosto različico. Na poti bomo govorili o vrstah oscilatorjev, kapaciteti telesa
Arduino Kombucha termostat: 3 koraki (s slikami)
Arduino Kombucha termostat: Kombucha mi je bila vedno všeč, v trgovini pa je tako draga. Približno 4 USD za 12 oz. nikakor si ne morem privoščiti, da bi ga pil toliko, kot bi hotel. Poskušal sem narediti svojo kombučo in spoznal, da sploh ni tako težko, in nisem potreboval