INHOUDSOPGAWE:
- Stap 1: Hoe werk 'n termostaat
- Stap 2: Maak Sonoff Basic gereed
- Stap 3: NodeRED
- Stap 4: Gevolgtrekking
Video: NEST Jou Ou Termostaat: 4 Stappe (met Prente)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Die verwarmingstelsel in my huis is waarskynlik so oud soos die huis self. Dit is ongeveer 30 jaar oud, wat goed is in terme van huisjare, maar wat die tegnologie betref, nogal vas in die ystydperk. Daar is twee hoofprobleme met kommersiële oplossings:
- onbetaalbare pryse
- produk as diens
Ons onthou almal wat met Revolv gebeur het, en ek wil nie so graag in die middel van die winter met my gebeur nie. Met dit in gedagte, bied ek u 'n ongelooflik verdagte, maar funksionele NEST-Alike-beheerder aan vir u ou termostaat. Moenie bekommerd wees nie, ek beplan om 'n baie beter omhulsel binnekort by te voeg!
Kenmerke:
- die vermoë om 'n bestaande termostaat te gebruik (ingeval die vrou daaroor kreun)
- afstand toegang
- WEG -modus
- optimale temperatuuraanwyser
- Werk saam met Alexa
Binnekort (kyk hier vir opdaterings)
- Google Home
- Google Kalender
- Verskeie sensors
- Radiator kontroles
- IFTT integrasies
- Tasker -ondersteuning
- HTTP -versoeke
- 'N Omhulsel wat baie beter lyk
Stap 1: Hoe werk 'n termostaat
Die termostaat is waarskynlik aan die HOOGSPANNING gekoppel! Moenie probeer om iets te doen nie, tensy u seker gemaak het dat die stroombaan af is. U kan uself benadeel en die gekoppelde toerusting beskadig. Raadpleeg 'n gekwalifiseerde elektrisiën om u veiligheid te verseker
Die Honeywell -termostaat is 'n muur gemonteerde eenheid, aangedryf deur die net (Sonoff basics benodig min 90V, my kring het 230V). Die boks is gekoppel aan die hoofbeheereenheid (wat 'n meer gevorderde boks is) en dit stuur die sein wanneer die temperatuur onder die teikenvlak daal. Alhoewel u eenheid anders kan wees, is die beginsel waarskynlik dieselfde. As u drie drade het en geen radioverbinding tussen die muur-eenheid het nie-dit is die handleiding vir u.
Ek weet hoe die 3-draads termostate in 'n beginsel werk, wat my nie verhinder het om 'n lont te blaas deur 2 drade per ongeluk te kortsluit nie! Ek het 3 drade aan die eenheid gekoppel (met die vierde as die aarde). My Honeywell -termostaat is nie draadloos nie, so ek kan Sonoff Basic gebruik om die sein te skakel. Dit is tyd om dit uitmekaar te haal en te sien hoe die sein na die eenheid gestuur word. By nadere ondersoek word die terminaal op die volgende manier verbind:
- (blou) - Grond
- (geel) - sein, as die verhitting hoog is, is die verwarming aan
- nie in gebruik nie
- (rooi) - die lewendige draad wat gebruik word om die sein hoog te trek
Om my doel te bereik, moet ek die lewendige draad met die seindraad kortmaak as ek wil hê dat my verwarming aangeskakel moet word. As u 'n termostaat op dieselfde manier gekoppel het, het u geluk, want Sonoff Basic is genoeg om die truuk te doen.
Stap 2: Maak Sonoff Basic gereed
Voordat ons die drade begin verbind, moet ons 'n temperatuursensor (DHT11) by die mengsel voeg. Maak seker dat u Tasmota-firmware op u Sonoff-toestel laat flits (ek het 'n uitstekende flitsgids hier) en dat u Tasmota-geaktiveerde Sonoff korrek gekonfigureer is (ook reeds deur my gedek). Al wat u oor het, is om die DHT11 -sensor aan te sluit op die Sonoff en dit in te stel vir temperatuurverslaggewing.
DHT11 word met 3 penne bedraad: sein - GPIO14Vcc - 3.3VGND - GND
Ek het 'n gat deurgesteek, ek is nie gepla oor hoe dit nou lyk nie; al wat ek nodig het, is die bewys van die konsep en die bevestiging. Ek sal 'n mooi en blink omhulsel maak sodra my 3D -drukker kom. Ek het ekstra aandag gegee aan hoe ek die Sonoff bedraad, aangesien ek moet seker maak dat die lewendige draad aansluit by die seindraad aan die ander kant van die Sonoff -toestel. Die Honeywell -eenheid het 'n lasweerstand (R) wat binne -in gebou is, wat die stroom beperk. Alhoewel die stroombaan deur die 3A -lont beskerm word, is dit slim om dieselfde weerstand te pas vir ekstra beskerming. Toe ek die drade gereed gehad het, was dit tyd om die hoofkrag af te skakel en die Sonoff terug te dra.
Sonoff Tasmota - Honeywell -termostaat
INPUT Live - 4de terminale Live
INVOER GND - 1ste terminale GND
OUTPUT Signal - 2de terminale sein
Ek het dit voorheen genoem, maar ek gaan nie stres oor die voorkoms hiervan nie. Die vrou is oortuig en ek kan fokus op die funksionaliteit en die verwydering van foute wat sal gebeur. Die goeie ding is dat die oorspronklike termostaat nog steeds werk. As ek dit wys, sal dit die Sonoff Tasmota -gebaseerde een ignoreer. Dit behoort 'n goeie rugsteun te wees vir onverwagte gebeurtenisse.
Stap 3: NodeRED
Let daarop dat die video ouer NodeRed -verwysings kan bevat; ek werk voortdurend daaraan om die ontwerp te verbeter. Dit is klein veranderinge en die artikellêers word op datum gehou
Ek het hierdie ontwerp aanlyn teëgekom. Dit lyk pragtig, maar by noukeurige ondersoek is die widget nie regtig geskik vir NodeRED nie. Daar moet 5 loonvragte ingestel word, en dit is net nie hoe die ontwerp van 'n knooppunt werk nie. Dit het my 'n geruime tyd geneem om uit te vind wat die beste manier is om al die inligting deur te gee om die widget by te werk en funksioneel te hou. Ek is seker mettertyd sal ek meer tyd spandeer aan die ontwerp, sodat ek al die nodige opdaterings met 'n enkele boodskap -voorwerp kan stoot. Vir eers is dit wat dit is.
Temperatuurstroom
DHT11 rapporteer elke X sekondes terug na die NodeRED -bediener. Ek het hierdie frekwensie verhoog deur die Tasmota -konsole. Voer die opdrag uit om die frekwensie in sekondes in te stel:
TelePeriod Stel die telemetrie tussen 10 en 3600 sekondes in
Dit word meestal vir toetse gedoen, aangesien ek nie 'n paar minute wil wag om te sien of my foutoplossings gewerk het nie. Deur die frekwensie hoog te hou, sal die verhitting vir korter tydperke meer gereeld brand, dus moenie dit vir 10 sekondes anders stel as vir toetsdoeleindes nie. Die MQTT -knoop haal die data uit:
sonoff/tele/SENSOR
en bewaar die nuttigste data in die volgende voorwerpe:
msg.payload. DHT11. Temperature msg.payload. DHT11. Humidity
Om die foute te beperk, het ek die gladde knoop bygevoeg om die resultate te gemiddelde en die vloei veranderlike opgedateer: NodeRED:
Funksie Node - Werk die 'TempAmbient' op
flow.set ('TempAmbient', msg.payload. DHT11. Temperature); terugkeer boodskap;
Widget -opdatering
Ek het besluit dat 5 sekondes 'n goeie verversingsfrekwensie is, daarom stoot ek al die nodige waardes met hierdie frekwensie. Die enigste uitsondering is die skuifbalk, wat om ooglopende redes onmiddellik reageer.
Elke ooreenstemmende knoop stuur die vrag met die toegewysde onderwerp na die nes-ewe widget.
- kleur (verwarming | afkoeling*| af en hvac_staat)
- blaar (waar | vals & het_blaar)
- weg (waar | vals en weg)
- Omgewingstemperatuur (nommer en omgewingstemperatuur)
- Doeltemperatuur (nommer en teikentemperatuur)
*nie in gebruik nie
NodeRED: Funksie Node - widget -opdatering
kleur
x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // omringend
as (z = x) {
flow.set ('verwarmingsstaat', 'af'); flow.set ('heatingSwitch', "OFF"); } msg.payload = z; msg.topic = "omgewingstemperatuur"; terugkeer msg;
blaar
x = flow.get ('TempAmbient'); as (x> 17 && x <23) {flow.set ('blad', waar); msg.payload = waar; msg.topic = "has_leaf"; terugkeer msg; } anders {flow.set ('blad', vals); msg.payload = vals; msg.topic = "has_leaf"; terugkeer msg; }
Kleur weg oorheersing
x = flow.get ('weg'); as (x === waar) {msg.topic = "hvac_state"; msg.payload = "af"; terugkeer msg; }
msg.topic = "hvac_state";
msg.payload = flow.get ('heatingState');
terugkeer msg;
Weg
x = flow.get ('weg'); as (x === waar) {flow.set ('heatingSwitch', "OFF"); flow.set ('verwarmingsstaat', 'af'); }
msg.topic = "weg";
msg.payload = flow.get ('weg'); terugkeer msg;
Doeltemperatuur
if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); terugkeer msg; }
if (msg.command === "SetTargetTemperatureRequest") {
flow.set ('weg', vals); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }
if (msg.topic === "skuifbalk") {
flow.set ('weg', vals); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }
if (msg.command === "GetTemperatureReadingRequest") {}
terugkeer msg;
Soos u sien, het ek gekies vir die vloei veranderlikes, sodat ek die waarde op 'n gegewe tydstip kon herroep. Ek het 'n ontfoutingsvloei wat basies alle gestoorde waardes lees.
- 'TempAmbinet' - stoor die huidige temperatuur
- 'TempTarget' - hou die temp -teikenwaarde
- 'Blaar' - vertoon blaar indien nodig
- 'Weg' - wys wegstatus indien nodig
- 'HeatingState' - verander die kleur van die skerm
- 'Verwarmingskakelaar' - beheer die toestand van die aflos.
Die uitdaging was om seker te maak dat die inligting opgedateer word met 'opdatering' en op ander maniere (Alexa, ens.). Dit is waarom u verskillende toestande in die JavaScript sal sien. Elke keer as die waardes opgedateer word, word dit na die vloei veranderlike gestuur en die widget word verfris.
Slider
Uit die toets is geblyk dat 'n bykomende opdatering van die skuifbalk (skuifbalk die teikentemperatuur stoot) nodig is. Slider stuur die vrag (nommer) met die gepaardgaande onderwerp "slider" wanneer dit verskuif word. Boonop wil ek hê dat die skuifbalk in die regte posisie moet kom as daar meer webkoppelvlakke is. Om dit te doen, werk ek elke 5 sekondes eenvoudig die skuifposisie op na die huidige teikentemperatuur.
NodeRED: Funksie Node - Werk skuifbalk '
msg.payload = flow.get ('TempTarget'); terugkeer msg;
Relay beheer
Die aflosbeheerder is eenvoudig, dit benodig (vir eers) twee insette. Alexa is waar | onwaar en die interaksie wat volg op 'n opdatering van die vloei veranderlike "verwarmingskakelaar". Daar is geen onmiddellike aksie nodig nie, dus vir die eenvoud loop dit op dieselfde opdateringsfrekwensie van 5 sekondes as die res van die stroom.
Die aflos is verbind via MQTT. Node plaas AAN | UIT -opdragte vir die onderwerp:
sonoff/cmnd/POWER1
Die funksie -knooppunt aanvaar die ware | onwaar van Alexa en verander ook die toestand van die invoer volgens die 'heatSwitch' -vloei veranderlike.
NodeRED: Funksie Node - Control Relay '
if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; terugkeer msg; }
if (msg.command === "TurnOnRequest") {
msg.payload = "AAN"; flow.set ('TempTarget', 21); terugkeer msg; } if (msg.topic === "update") {msg.payload = flow.get ('heatingSwitch'); } boodskap terug;
Alexa integrasie
Dit is die eerste toestel wat ek die "outomatiese erkenning" moes uitskakel. In plaas daarvan om outomaties 'n antwoord te aanvaar, het ek 'n antwoord gegenereer omdat ek die ingestelde temperatuur wil navraag doen. In beginsel dui msg.payload = true | false aan of die versoek suksesvol was en die sjablone wat hier gevind word, die res doen. As u nog nie Alexa en NodeRed is nie, moet u dit lees.
Ek het besluit om die erkennings afsonderlik deur te gee (ek weet dit is nie die beste manier nie) om dit alles 'n bietjie beter te kan beheer. Elke antwoord moet behoorlik aan die einde van die opdragketting gegee word. Myne loop die risiko om nie foute terug te gee as dit sou gebeur nie. Let op: om konsekwent te wees, werk ek slegs die veranderlikes op, terwyl die verversingslus die nuwe waardes na die widget stoot.
NodeRED: Funksie Node - verwerk Alexa -antwoorde
// Wat is die teiken temperatuur van die termostaat as (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "deviceResponseTimestamp": nuwe Datum (). toISOString ()}; msg.payload = waar; terugkeer msg; } // Stel die temperatuur op (nie laer as 10 of meer as 30) as (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = vals; msg.extra = reeks; } anders {msg.extra = {targetTemperature: {waarde: msg.payload}}; msg.payload = waar; } boodskap terug; } // Skakel dit aan as (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('weg', vals); flow.set ('TempTarget', 21); terugkeer msg; } // Skakel dit af as (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('weg', waar); terugkeer msg;
Stap 4: Gevolgtrekking
As u die NodeRED -paneelbord aan WAN blootstel, kan die hele verwarmingstelsel op afstand beheer word. Ek beveel u aan om die volgende artikels te lees om NodeRED- en NodeRED -sekuriteit op hoogte te bring.
- NodeRED vir beginners
- NodeRED sekuriteit
As u ook op die hoogte wil bly van die opdaterings van hierdie projek, oorweeg dit om my te volg op die platform van u keuse:
- Facebo ok
- Twi tter
- YouTu wees
En as u lus is om vir my 'n koffie te koop of my op 'n meer deurlopende manier te ondersteun:
- Paypal
- Patreon
Ek hoop jy het die projek geniet!
Aanbeveel:
Nest -termostaat, opsporing van besetting: 12 stappe
Nest -termostaat, gebruiksopsporing: my outomatiese verkoeling by die huis met my Nest -termostaat is tot onlangs deur IFTTT bestuur deur Life360 se "eerste om by die huis aan te kom" " en " laaste om die huis te verlaat " snellers. Dit was wonderlik, want ek kon familielede by my Li voeg
S.H.I.E.L.D - Hou iemand jou dop ?: 4 stappe (met prente)
S.H.I.E.L.D - Hou iemand jou dop ?: Ek het baie video's van verleë mense gesien toe hulle nie agterkom dat hul mikrofoon of kamera aan is nie, en dit het my die idee gegee van hierdie projek. Ek het 'n eenvoudige toepassing in C# geskryf wat opspoor wanneer die kamera of mikrofoon gebruik word
Steam Punk jou UPS om ure se uptime vir jou Wi-Fi-router te kry: 4 stappe (met foto's)
Steam Punk jou UPS om ure se spitstyd vir jou Wi-Fi-router te kry: daar is iets fundamenteel onaangenaams dat jou UPS sy 12V DC-batterykrag in 220V-wisselstroom kan omskakel, sodat die transformators met jou router en vesel ONT dit kan omskakel in 12V DC! U is ook teen die [tipies
Mystic Crystal Ball (dit vertel jou letterlik jou fortuin!): 3 stappe (met foto's)
Mystic Crystal Ball (Dit vertel jou letterlik jou fortuin!): Leer hoe om 'n waarsêende kristalbal te maak wat jou toekoms onthul wanneer dit aangeraak word! Die projek bestaan uit drie basiese dele en kan binne ongeveer vier uur gebou word. Materiaal: 1. Kapasitiewe aanraaksensor: 1 - Arduino Uno -mikrobeheerder 1
Goedkoop met die internet gekoppelde termostaat: 12 stappe (met foto's)
Goedkoop met die internet gekoppelde termostaat: die slim termostaat is een van die eerste Internet of Things-produkte wat by baie huishoudings ingekom het. Hulle kan leer wanneer u van u huis hou om warm te word en watter kamertemperatuur gewoonlik benodig word. Die gawe is dat hulle ook kan