Բովանդակություն:

NEST Ձեր հին թերմոստատը. 4 քայլ (նկարներով)
NEST Ձեր հին թերմոստատը. 4 քայլ (նկարներով)

Video: NEST Ձեր հին թերմոստատը. 4 քայլ (նկարներով)

Video: NEST Ձեր հին թերմոստատը. 4 քայլ (նկարներով)
Video: Եթե քնի ժամանակ թքոտում եք բարձը, ապա լսեք սա 2024, Նոյեմբեր
Anonim
Image
Image
Ինչպես է աշխատում թերմոստատը
Ինչպես է աշխատում թերմոստատը

Իմ տան ջեռուցման համակարգը, հավանաբար, նույնքան հին է, որքան ինքը: Այն մոտ 30 տարեկան է, ինչը լավ է տնային տարիների առումով, բայց բավականին խրված է սառցե դարաշրջանում, քանի որ դա վերաբերում է տեխնոլոգիային: Առևտրային լուծումների 2 հիմնական խնդիր կա.

  • արգելող գնագոյացում
  • ապրանքը որպես ծառայություն

Մենք բոլորս հիշում ենք, թե ինչ կատարվեց Revolv- ի հետ, և ես այնքան էլ չեմ ցանկանում, որ դա ինձ հետ պատահի ձմռան կեսին: Հաշվի առնելով դա ՝ ես ձեզ ներկայացնում եմ անհավատալիորեն կասկածելի տեսք ունեցող, բայց գործառնական NEST-Alike կարգավորիչ ՝ ձեր հին թերմոստատի համար: Մի անհանգստացեք, ես պլանավորում եմ շատ ավելի լավ պարիսպ, որը շուտով կավելացվի:

Հատկություններ:

  • գոյություն ունեցող թերմոստատ օգտագործելու ունակություն (այն դեպքում, երբ կինը հառաչում է դրա մասին)
  • հեռավոր մուտք
  • AWAY ռեժիմ
  • օպտիմալ ջերմաստիճանի ցուցիչ
  • Աշխատում է Alexa- ի հետ

Շուտով (թարմացումների համար ստուգեք այստեղ)

  • Google Home
  • Google Օրացույց
  • Բազմակի սենսորներ
  • Ռադիատորի հսկողություն
  • IFTT ինտեգրումներ
  • Առաջադրանքների աջակցություն
  • HTTP հարցումներ
  • Շատ ավելի գեղեցիկ տեսքով պարիսպ

Քայլ 1: Ինչպես է աշխատում թերմոստատը

Ինչպես է աշխատում թերմոստատը
Ինչպես է աշխատում թերմոստատը
Ինչպես է աշխատում թերմոստատը
Ինչպես է աշխատում թերմոստատը

Թերմոստատը, ամենայն հավանականությամբ, միացված է Բարձր լարման: Մի փորձեք որևէ բան անել, քանի դեռ չեք համոզվել, որ միացումն անջատված է: Դուք կարող եք վնասել ինքներդ ձեզ և վնասել միացված սարքավորումները: Ձեր անվտանգությունը երաշխավորելու համար խորհրդակցեք որակավորված էլեկտրիկի հետ:

Honeywell- ի թերմոստատը պատի վրա տեղադրված սարք է, որն աշխատում է ցանցից (Sonoff- ի հիմունքներին անհրաժեշտ է նվազագույնը 90 Վ, իմ միացումն ունի 230 Վ): Տուփը միացված է հիմնական կառավարման միավորին (որն ավելի առաջադեմ տուփ է) և այն ազդանշան է ուղարկում, երբ ջերմաստիճանը թիրախային մակարդակից ցածր է: Թեև ձեր միավորը կարող է տարբեր լինել, բայց ամենայն հավանականությամբ սկզբունքը նույնն է: Եթե ունեք 3 լար և պատին ամրացված միավորի միջև ռադիոկապ չկա, սա ձեզ համար ձեռնարկն է:

Ես գիտեմ, թե ինչպես են եռալարերի ջերմաչափերը գործում սկզբունքորեն, ինչը չխանգարեց ինձ ապահովիչը փչել ՝ պատահաբար կարճացնելով 2 լար: Ես ունեմ միավորի հետ կապված 3 լար (4 -րդը երկիրն է): Իմ Honeywell թերմոստատը անլար չէ, այնպես որ ազդանշանը փոխելու համար կարող եմ օգտագործել Sonoff Basic- ը: It’sամանակն է այն առանձնացնել և տեսնել, թե ինչպես է ազդանշանը ուղարկվում սարքին: Ավելի սերտ ստուգումից հետո տերմինալը միացված է հետևյալ կերպ.

  1. (կապույտ) - գետնին
  2. (դեղին) - ազդանշան, երբ բարձր է քաշվում, ջեռուցումը միացված է
  3. չի օգտագործվում
  4. (կարմիր) - ազդանշանը բարձր քաշելու համար օգտագործվող կենդանի մետաղալարեր

Նպատակիս հասնելու համար ես պետք է կարճացնեմ ազդանշանային հաղորդալարով կենդանի մետաղալարը, երբ ուզում եմ, որ ջեռուցումս միացված լինի: Եթե դուք ունեք նմանատիպ միացված թերմոստատ, ապա հաջողակ եք, քանի որ Sonoff Basic- ը բավական կլինի հնարքը կատարելու համար:

Քայլ 2. Sonoff Basic Ready- ի պատրաստում

Sonoff Basic Ready- ի պատրաստում
Sonoff Basic Ready- ի պատրաստում
Sonoff Basic Ready- ի պատրաստում
Sonoff Basic Ready- ի պատրաստում
Sonoff Basic Ready- ի պատրաստում
Sonoff Basic Ready- ի պատրաստում

Նախքան լարերը միացնելը, մենք պետք է խառնուրդին ավելացնենք ջերմաստիճանի տվիչ (DHT11): Համոզվեք, որ Tasmota- ի որոնվածը շողացել է ձեր Sonoff սարքի վրա (այստեղ ես ունեմ փայլուն հիանալի ուղեցույց), և ձեր Tasmota- ով միացված Sonoff- ը ճիշտ կազմաձևված է (նաև իմ կողմից արդեն լուսաբանված): Այժմ ձեզ մնում է միայն DHT11 սենսորը միացնել Sonoff- ին և կարգավորել այն ջերմաստիճանի հաշվետվությունների համար:

DHT11- ը գալիս է 3 կապակցված լարով. Ազդանշան - GPIO14Vcc - 3.3VGND - GND

Ես անցք բացեցի, ինձ չի անհանգստացնում, թե ինչ տեսք ունի այն այժմ, ինձ անհրաժեշտ է միայն հայեցակարգի և վավերացման ապացույցը: Երբ 3D տպիչս գա, ես գեղեցիկ և փայլուն պատյան կդարձնեմ: Ես լրացուցիչ ուշադրություն դարձրի, թե ինչպես եմ միացնում Sonoff- ը, քանի որ պետք է համոզվեմ, որ կենդանի լարը միանում է Sonoff սարքի մյուս ծայրում գտնվող ազդանշանային լարին: Honeywell- ի միավորն ունի ներսում կառուցված բեռի դիմադրություն (R), որը սահմանափակում է հոսանքը: Մինչ միացումը պաշտպանված է 3A ապահովիչով, խելամիտ է լրացուցիչ պաշտպանության համար նույն դիմադրությանը համապատասխանելը: Երբ լարերը պատրաստ էի, ժամանակն էր անջատել հիմնական հոսանքը և հետ վերադարձնել Սոնոֆին:

Sonoff Tasmota - Honeywell ջերմաստիճան

INPUT Live - 4 -րդ տերմինալն ուղիղ եթերում

INPUT GND - 1 -ին տերմինալ GND

ԵԼՔ ազդանշան - 2 -րդ տերմինալային ազդանշան

Ես նախկինում նշեցի, որ առայժմ չեմ շեշտի դրա արտաքին տեսքի վրա: Կինը համոզված է, և ես կարող եմ կենտրոնանալ ֆունկցիոնալության և կատարված սխալների մաքրման վրա: Լավն այն է, որ օրիգինալ թերմոստատը դեռ աշխատում է: Եթե ես բացեմ այն, ապա այն կանցնի Sonoff Tasmota- ի վրա հիմնված մեկին: Սա պետք է հիանալի պահուստ լինի ցանկացած անսպասելի իրադարձության համար:

Քայլ 3: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Խնդրում ենք նկատի ունենալ, որ տեսանյութը կարող է պարունակել ավելի հին NodeRed հղումներ, ես անընդհատ աշխատում եմ դիզայնի բարելավման վրա: Սրանք փոքր փոփոխություններ են, և հոդվածի ֆայլերը արդիական են:

Այս դիզայնին հանդիպեցի առցանց: Այն հիանալի տեսք ունի, սակայն մանրազնին ստուգման արդյունքում վիջեթն իսկապես հարմար չէ NodeRED- ի համար: Այն սահմանելու համար անհրաժեշտ է 5 բեռնվածություն, ինչը պարզապես այն չէ, թե ինչպես է աշխատում հանգույցների նման դիզայնը: Ինձ որոշ ժամանակ պահանջվեց ՝ գտնելու այդ տեղեկատվությունը փոխանցելու լավագույն միջոցը ՝ վիջեթը թարմացնելու և այն ֆունկցիոնալ պահելու համար: Վստահ եմ, որ ժամանակի ընթացքում ավելի շատ ժամանակ կծախսեմ դիզայնի վրա, որպեսզի կարողանամ մղել բոլոր անհրաժեշտ թարմացումները մեկ msg օբյեկտի միջոցով: Առայժմ դա այն է, ինչ կա:

Երմաստիճանի հոսք

DHT11- ը յուրաքանչյուր X վայրկյանը մեկ հայտնում է NodeRED սերվերին: Ես ավելացրեցի այս հաճախականությունը Tasmota- ի վահանակի միջոցով: Պարզապես գործարկեք հրամանը `հաճախականությունը վայրկյանում սահմանելու համար.

TelePeriod Հեռաչափության ժամանակահատվածը սահմանեք 10 -ից 3600 վայրկյան

Դա արվում է հիմնականում թեստերի համար, քանի որ ես չեմ ուզում րոպեներով սպասել ՝ տեսնելու, թե արդյոք իմ վրիպակների շտկումները աշխատեցին: Հաճախականությունը բարձր պահելը կհանգեցնի ջեռուցման ավելի հաճախակի կրակմանը ավելի կարճ ժամանակահատվածների համար, ուստի զերծ մնացեք այն 10 վայրկյան սահմանելուց, այլ ոչ թե փորձարկման նպատակով: MQTT հանգույցը քաշում է տվյալները ՝

sonoff/tele/SENSOR

և պահում է ամենաօգտակար տվյալները հետևյալ օբյեկտներում.

msg.payload. DHT11. Temperature msg.payload. DHT11. Humidity

Սխալները սահմանափակելու համար ես ավելացրեցի հարթ հանգույցը միջին արդյունքներին և թարմացրեցի հոսքի փոփոխականը ՝ NodeRED:

Ֆունկցիոնալ հանգույց - Թարմացրեք «TempAmbient» - ը

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); վերադարձել msg;

Վիջեթի թարմացում

Ես որոշեցի, որ 5 վայրկյանը լավ թարմացման արագություն է, ուստի ես այս հաճախականությամբ առաջ եմ մղում բոլոր անհրաժեշտ արժեքները: Բացառություն է միայն սահիկը, որն ակնհայտ պատճառով ակնթարթորեն արձագանքում է:

Յուրաքանչյուր համապատասխան հանգույց ուղարկում է բեռնվածությունը ՝ վերագրված թեմայով բույնի նման վիջեթին:

  • գույն (ջեռուցում | հովացում*| անջատված և hvac_state)
  • տերև (ճշմարիտ | կեղծ և տերև ունի)
  • հեռու (ճշմարիտ | կեղծ և հեռու)
  • Շրջակա միջավայրի ջերմաստիճանը (համարը և շրջակա ջերմաստիճանը)
  • Թիրախային ջերմաստիճան (համար և թիրախային ջերմաստիճան)

*չի օգտագործվում

NodeRED: Ֆունկցիայի հանգույց - widget- ի թարմացում

գույնը

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // շրջապատող

եթե (z = x) {

flow.set («ջեռուցման պետություն», «անջատված»); flow.set («ջեռուցման անջատիչ», «OFF»); } msg.payload = z; msg.topic = "ambient_temperature"; վերադարձնել msg;

տերեւ

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set («տերև», ճշմարիտ); msg.payload = true; msg.topic = "ունի_թերթ"; վերադարձնել msg; } else {flow.set («տերև», կեղծ); msg.payload = false; msg.topic = "ունի_թերթ"; վերադարձնել msg; }

Գույնը գերազանցում է

x = flow.get («հեռու»); if (x === true) {msg.topic = "hvac_state"; msg.payload = "անջատված"; վերադարձնել msg; }

msg.topic = "hvac_state";

msg.payload = flow.get ('ջեռուցման պետություն');

վերադարձնել msg;

Հեռու

x = flow.get («հեռու»); if (x === true) {flow.set ('ջեռուցման անջատիչ', "OFF"); flow.set («ջեռուցման պետություն», «անջատված»); }

msg.topic = "հեռու";

msg.payload = flow.get ('հեռու'); վերադարձնել msg;

Թիրախային ջերմաստիճան

if (msg.topic === "թարմացում") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); վերադարձնել msg; }

եթե (msg.command === "SetTargetTemperatureRequest") {

flow.set («հեռու», կեղծ); msg.topic = "նպատակային_ ջերմաստիճան"; flow.set ('TempTarget', msg.payload); }

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

flow.set («հեռու», կեղծ); msg.topic = "նպատակային_ ջերմաստիճան"; flow.set ('TempTarget', msg.payload); }

եթե (msg.command === "GetTemperatureReadingRequest") {}

վերադարձնել msg;

Ինչպես տեսնում եք, ես հրաժարվեցի հոսքի փոփոխականներից, այնպես որ կարող էի ցանկացած պահի հիշել արժեքը: Ես ունեմ վրիպազերծման հոսք, որը հիմնականում կարդում է բոլոր պահված արժեքները:

  • «TempAmbinet» - պահում է ընթացիկ ջերմաստիճանը
  • «TempTarget» - պահում է ջերմաստիճանի թիրախային արժեքը
  • «Տերև» - անհրաժեշտության դեպքում ցուցադրում է տերևը
  • «Հեռու» - անհրաժեշտության դեպքում ցուցադրում է հեռավորության կարգավիճակը
  • «Ջեռուցման պետություն» - փոխում է էկրանի գույնը
  • «Ջեռուցման անջատիչ» - վերահսկում է ռելեի վիճակը:

Խնդիրն այն էր, որ իրականում համոզվենք, որ տեղեկատվությունը թարմացվում է «թարմացման» դեպքում և երբ պահանջվում է այլ միջոցներով (Alexa և այլն): Ահա թե ինչու JavaScript- ում կտեսնեք տարբեր պայմաններ: Ամեն անգամ, երբ արժեքները թարմացվում են, ուղարկվում են հոսքի փոփոխականին և widget- ը թարմացվում է:

Սահող

Փորձարկումների արդյունքում պարզվեց, որ անհրաժեշտ է սահնակի լրացուցիչ թարմացում (սահողն առաջ է մղում նպատակային ջերմաստիճանը): Սահողն ուղարկում է բեռը (համարը) համապատասխան թեմայով «սահող», երբ այն տեղափոխվում է: Այս ամենից բացի, ես ուզում եմ, որ սլայդն ընկնի ճիշտ դիրքի վրա, եթե առկա են բազմաթիվ վեբ ինտերֆեյսեր: Դա անելու համար յուրաքանչյուր 5 վրկ ես պարզապես թարմացնում եմ սահիչի դիրքը ընթացիկ նպատակային ջերմաստիճանի:

NodeRED: Ֆունկցիայի հանգույց - Թարմացնել սահող '

msg.payload = flow.get ('TempTarget'); վերադարձնել msg;

Ռելե հսկողություն

Ռելեի վերահսկիչը պարզ է, այն տանում է (առայժմ) երկու մուտք: Alexa's true | false և փոխազդեցությունը, որը հաջորդում է «ջեռուցման անջատիչ» հոսքի փոփոխականի թարմացմանը: Ակնթարթային գործողությունների կարիք չկա, ուստի պարզության համար այն աշխատում է նույն 5 վրկ թարմացման հաճախականությամբ, ինչ մնացած հոսքը:

Ռելեը միացված է MQTT- ի միջոցով: Հանգույցը տեղադրում է ON | OFF հրամաններ թեմային.

sonoff/cmnd/POWER1

Ֆունկցիայի հանգույցն ընդունում է Alexa- ի ճշմարիտ | կեղծը և նաև փոխում է մուտքի վիճակը ըստ «heatSwitch» հոսքի փոփոխականի:

NodeRED: Ֆունկցիայի հանգույց - կառավարման ռելե '

if (msg.command === "TurnOffRequest") {msg.payload = "OFF"; վերադարձնել msg; }

եթե (msg.command === "TurnOnRequest") {

msg.payload = "ՄԻԱՎԱ"; flow.set («TempTarget», 21); վերադարձնել msg; } if (msg.topic === "թարմացում") {msg.payload = flow.get ('ջեռուցման անջատիչ'); } վերադարձ msg;

Alexa ինտեգրում

Սա առաջին սարքն է, որը ես ստիպված էի անջատել «ավտոմատ ճանաչումը»: Պատասխան ավտոմատ կերպով ենթադրելու փոխարեն ես ստեղծել եմ մեկը, քանի որ ցանկանում եմ սահմանված ջերմաստիճանը հարցնելու ունակություն: Սկզբունքորեն, msg.payload = true | false ցույց է տալիս, որ հարցումը հաջողված է, և մնացած օրինակները կատարում են այստեղ: Եթե դուք նորեկ եք Alexa- ում և NodeRed- ում, անպայման կարդացեք սա:

Ես որոշեցի առանձին փոխանցել շնորհակալագրերը (գիտեմ, որ սա լավագույն միջոցը չէ), որպեսզի կարողանամ մի փոքր ավելի լավ վերահսկել այդ ամենը: Responseիշտ յուրաքանչյուր պատասխան պետք է տրվի հրամանատարական շղթայի վերջում: Իմը վտանգում է չվերադառնալ սխալները, եթե դրանք տեղի ունենան: Նկատի ունեցեք, որ հետևողական լինելու համար ես միայն թարմացնում եմ փոփոխականները, իսկ թարմացման օղակը ՝ նոր արժեքները մղում դեպի վիջեթ:

NodeRED. Ֆունկցիայի հանգույց - Գործընթաց Alexa- ի պատասխանների '

// Ո՞րն է թերմոստատի նպատակային ջերմաստիճանը (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "applianceResponseTimestamp": new Date (). toISOString ()}; msg.payload = true; վերադարձնել msg; } // Setերմաստիճանը սահմանել (ոչ ցածր, քան 10 կամ 30 -ից բարձր), եթե (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = false; msg.extra = միջակայք; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = true; } վերադարձ msg; } // Միացնել այն, եթե (msg.command === "TurnOnRequest") {msg.payload = true; flow.set («հեռու», կեղծ); flow.set («TempTarget», 21); վերադարձնել msg; } // Անջատել, եթե (msg.command === "TurnOffRequest") {msg.payload = true; flow.set («հեռու», ճշմարիտ); վերադարձնել msg;

Քայլ 4: Եզրակացություն

Եզրակացություն
Եզրակացություն

Եթե NodeRED- ի կառավարման վահանակը բաց թողնեք WAN- ի վրա, ջեռուցման ամբողջ համակարգը կարող է կառավարվել հեռակա կարգով: Ես խորհուրդ կտայի ձեզ կարդալ հետևյալ հոդվածները ՝ NodeRED և NodeRED անվտանգությամբ արագանալու համար:

  • NodeRED սկսնակների համար
  • NodeRED անվտանգություն

Բացի այդ, եթե ցանկանում եք տեղեկանալ այս նախագծի թարմացումների մասին, մտածեք հետևել ինձ ձեր նախընտրած հարթակում.

  • Facebo լավ
  • Twi tter
  • Instagram
  • YouTu be

Եվ եթե ձեզ դուր է գալիս ինձ համար սուրճ գնելը կամ ինձ ավելի շարունակական կերպով աջակցելը.

  • Paypal
  • Պատրեոն

Հուսով եմ, որ ձեզ դուր եկավ նախագիծը:

Խորհուրդ ենք տալիս: