Мазмуну:

Эски термостатты NEST: 4 кадам (Сүрөттөр менен)
Эски термостатты NEST: 4 кадам (Сүрөттөр менен)

Video: Эски термостатты NEST: 4 кадам (Сүрөттөр менен)

Video: Эски термостатты NEST: 4 кадам (Сүрөттөр менен)
Video: The Sims 4 Vs. Dreams PS4 | Building My House 2024, Июль
Anonim
Image
Image
Термостат кантип иштейт
Термостат кантип иштейт

Менин үйүмдөгү жылытуу системасы, балким, үйдүн өзүнө окшош. Бул болжол менен 30 жашта, бул үйдүн жылдарында жакшы, бирок технологияга карата муз доорунда тыгылып калды. Коммерциялык чечимдерде 2 негизги көйгөй бар:

  • тыюу салуучу баа
  • продукт кызмат катары

Баарыбыз Револв менен болгон окуяны эстейбиз жана мен кыштын ортосунда менин башыман ушундай окуя өтүшүнө анча кызыкпайм. Ушуну эске алып, мен сизге эски термостатыңыз үчүн укмуштуудай шектүү көрүнгөн, бирок функционалдуу NEST-Alike контролерун сунуштайм. Кабатыр болбоңуз, мен жакында жакшыраак корпусту пландап жатам!

Өзгөчөлүктөрү:

  • учурдагы термостатты колдоно билүү (эгер аялы ушуга ыйласа)
  • алыстан кирүү
  • AWAY режими
  • оптималдуу температура көрсөткүчү
  • Alexa менен иштейт

Жакында (жаңыртууларды бул жерден караңыз)

  • Google Башкы бети
  • Google Календарь
  • Бир нече сенсорлор
  • Радиатордун көзөмөлү
  • IFTT интеграциясы
  • Tasker колдоосу
  • HTTP сурамдары
  • Бир топ жакшы корголгон корпус

1 -кадам: Термостат кантип иштейт

Термостат кантип иштейт
Термостат кантип иштейт
Термостат кантип иштейт
Термостат кантип иштейт

Термостат, балким, ЖОГОРКУ Чыңалууга туташкан! Райондун өчүрүлгөндүгүн текшермейинче эч нерсе кылууга аракет кылбаңыз. Сиз өзүңүзгө зыян келтирип, туташкан жабдууга зыян келтиришиңиз мүмкүн. Коопсуздугуңузду камсыз кылуу үчүн квалификациялуу электрикке кайрылууну карап көрүңүз

Honeywell термостаты - бул дубалга орнотулган бирдик, ал электр тармагынан иштейт (Sonoffтун негиздери мин 90В керек, менин схемамда 230В бар). Куту башкы көзөмөлдөөчү блокко туташтырылган (бул өркүндөтүлгөн куту) жана температура максаттуу деңгээлден төмөн түшкөндө сигналды жөнөтөт. Сиздин бирдик башка болушу мүмкүн, бирок, принцип, сыягы, бирдей. Эгерде сизде 3 зым болсо жана дубалга орнотулган блоктун ортосунда радио байланышы жок болсо-бул сиз үчүн окуу куралы.

Мен 3 зымдуу термостаттардын принцип боюнча кандай иштээрин билем, ал кокусунан 2 зымды кыскартуу менен менин сактандыруучумду күйгүзүүгө тоскоол болгон жок! Менде агрегатка туташкан 3 зым бар (4 - жер). Менин Honeywell термостатым зымсыз эмес, ошондуктан сигналды которуш үчүн Sonoff Basicти колдоно алам. Аны бөлүп алып, сигналдын бирдикке кантип жөнөтүлгөнүн көрүү убактысы келди. Жакыныраак текшерүүдөн кийин терминал төмөнкүчө туташат:

  1. (көк) - Жер
  2. (сары) - сигнал, жогорку тартканда жылытуу күйгүзүлөт
  3. колдонууда эмес
  4. (кызыл) - сигналды бийик тартуу үчүн колдонулган жандуу зым

Максатыма жетүү үчүн, жылытуумдун күйгүзүлүшүн каалаганда, сигнал зымы менен ток өткөрүүчү зымды кыскартышым керек. Эгерде сизде ушуга окшош туташтырылган термостат болсо, анда сиз ийгиликке жетесиз, анткени Sonoff Basic бул трюкту жасоого жетиштүү болот.

2 -кадам: Sonoff негизги даярдыгын алуу

Sonoff негизги даярдыгын алуу
Sonoff негизги даярдыгын алуу
Sonoff негизги даярдыгын алуу
Sonoff негизги даярдыгын алуу
Sonoff негизги даярдыгын алуу
Sonoff негизги даярдыгын алуу

Зымдарды туташтыраардан мурун, аралашмага температура сенсорун (DHT11) кошушубуз керек. Сизде Sonoff түзмөгүңүздө Tasmota камтылган программасы жаркырап турганын текшериңиз (менде бул жерде мыкты жаркыраган жол көрсөткүч бар) жана Tasmota иштетилген Sonoff туура конфигурацияланган (мен дагы камтылган). Эми DHT11 сенсорун Соноффко туташтырып, аны температуранын отчету үчүн конфигурациялоо гана калды.

DHT11 зымдуу 3 казык менен келет: Сигнал - GPIO14Vcc - 3.3VGND - GND

Мен тешип чыктым, азыр анын кандай көрүнгөнү мени тынчсыздандырбайт, мага түшүнүктүн далили жана ырастоосу гана керек. 3D принтерим келгенден кийин мен жакшы жана жалтырак корпус жасайм. Мен Соноффту кантип туташтырганыма өзгөчө көңүл бурдум, анткени жандуу зым Sonoff түзмөгүнүн экинчи четиндеги сигнал зымына туташып турганын текшеришим керек. Honeywell бирдиги ичинде токту чектеген жүктөө каршылыгына (R) ээ. Район 3A сактандыргычы менен корголгону менен, кошумча коргоо үчүн ошол эле каршылыкка дал келүү акылдуу. Мен зымдарды даяр кылгандан кийин, негизги кубатты өчүрүп, Соноффту кайра зым менен жабууга убакыт келди.

Sonoff Tasmota - Honeywell термостаты

INPUT Live - 4 -терминал Live

INPUT GND - 1 -терминал GND

ЧЫГУУ Сигналы - 2 -терминалдык сигнал

Мен буга чейин айткам, азырынча бул көрүнүшкө басым жасабайм. Аялы ынанды жана мен функционалдуулукка көңүл бурам жана боло турган бардык каталарды тазалайм. Жакшы жери, баштапкы термостат дагы эле иштеп жатат. Эгер мен аны иштетсем, анда Sonoff Tasmota негизделгенин жокко чыгарат. Бул күтүлбөгөн окуялар үчүн чоң камдык болушу керек.

3 -кадам: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Видео эски NodeRed шилтемелерин камтышы мүмкүн экенин эске алыңыз, мен дизайнды өркүндөтүүнүн үстүндө тынымсыз иштеп жатам. Бул кичинекей өзгөртүүлөр жана макала файлдары жаңыртылып турат

Мен бул дизайнды интернеттен көрдүм. Бул сонун көрүнөт, бирок жакшылап карасаңыз, виджет NodeRED үчүн ылайыктуу эмес. Аны орнотуу үчүн 5 пайдалуу жүк керек, бул дизайн түйүнү сыяктуу иштебейт. Виджетти жаңыртуу жана анын иштешин камсыз кылуу үчүн бардык маалыматты өткөрүп берүүнүн мыкты жолун табуу үчүн мага бир аз убакыт керек болду. Убакыттын өтүшү менен мен дизайнга көбүрөөк убакыт корото алам, андыктан бардык керектүү жаңыртууларды бир гана msg объектиси менен сүртө алам. Азырынча бул кандай болсо, ошондой.

Температура агымы

DHT11 ар X секунд сайын NodeRED серверине отчет берет. Мен бул жыштыкты Тасмотанын консолу аркылуу көбөйттүм. Жөн эле секундада жыштыкты орнотуу үчүн буйрукту аткарыңыз:

TelePeriod Телеметрия мезгилин 10дон 3600 секундга чейин коюңуз

Бул көбүнчө тесттер үчүн жасалат, анткени мен мүчүлүштүктөрүмдүн оңдолгонун көрүү үчүн бир нече мүнөт күткүм келбейт. Жыштыкты жогору кармоо жылытуунун кыска убакытка тез -тез күйүп кетишине алып келет, андыктан аны тестирлөө максаттарынан башка 10 секундга коюудан алыс болуңуз. MQTT түйүнү маалыматтарды тартып алат:

sonoff/tele/SENSOR

жана эң пайдалуу маалыматтарды төмөнкү объектилерде сактайт:

msg.payload. DHT11. Температура msg.payload. DHT11. Нымдуулук

Каталарды чектөө үчүн, мен жыйынтыктарды орточо кылып жылмакай түйүн коштум жана агымдын өзгөрмөсүн жаңыладым: NodeRED:

Функция түйүнү - 'TempAmbient'ди жаңыртуу

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); msg кайтаруу;

Виджетти жаңыртуу

Мен 5 секунд жакшы жаңыртуу ылдамдыгы деп чечтим, ошондуктан мен бул жыштык менен бардык керектүү баалуулуктарды түртүп жатам. Жалгыз өзгөчөлүгү - бул слайдер, ал белгилүү себептерден улам дароо жооп берет.

Ар бир тиешелүү түйүн жүктөлгөн теманы жүктөлгөн уяга окшош виджетке жөнөтөт.

  • түс (жылытуу | муздатуу*| өчүрүү & hvac_state)
  • жалбырак (чыныгы | жалган & has_leaf)
  • алыс (чын | жалган жана алыс)
  • Айланадагы температура (саны & ambient_temperature)
  • Максаттуу темп (сан жана target_temperature)

*колдонууда эмес

NodeRED: Функциянын түйүнү - Виджетти жаңыртуу

түс

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); // чөйрө

эгер (z = x) {

flow.set ('heatState', "off"); flow.set ('heatSwitch', "OFF"); } msg.payload = z; msg.topic = "ambient_temperature"; msg кайтаруу;

жалбырак

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('leaf', true); msg.payload = true; msg.topic = "has_leaf"; msg кайтаруу; } else {flow.set ('жалбырак', жалган); msg.payload = жалган; msg.topic = "has_leaf"; msg кайтаруу; }

Түс жокко чыгарылат

x = flow.get ('алыс'); if (x === true) {msg.topic = "hvac_state"; msg.payload = "өчүрүү"; msg кайтаруу; }

msg.topic = "hvac_state";

msg.payload = flow.get ('heatState');

msg кайтаруу;

Алыста

x = flow.get ('алыс'); if (x === true) {flow.set ('heatSwitch', "OFF"); flow.set ('heatState', "off"); }

msg.topic = "алыс";

msg.payload = flow.get ('алыс'); msg кайтаруу;

Максаттуу темп

if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); msg кайтаруу; }

эгер (msg.command === "SetTargetTemperatureRequest") {

flow.set ('алыс', жалган); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

эгер (msg.topic === "слайдер") {

flow.set ('алыс', жалган); msg.topic = "target_temperature"; flow.set ('TempTarget', msg.payload); }

эгер (msg.command === "GetTemperatureReadingRequest") {}

msg кайтаруу;

Көрүнүп тургандай, мен агымдын өзгөрмөлөрүнөн баш тарттым, андыктан каалаган убакта маанини эстей алам. Менде мүчүлүштүктөрдү оңдоо агымы бар, ал негизинен бардык сакталган баалуулуктарды окуйт.

  • "TempAmbinet" - учурдагы температураны сактайт
  • 'TempTarget' - убактылуу максаттуу маанини кармайт
  • "Жалбырак" - керек болсо жалбыракты көрсөтөт
  • "Алыс" - керек болгон учурда статусун көрсөтөт
  • 'HeatState' - дисплейдин түсүн өзгөртөт
  • 'HeatSwitch' - реленин абалын көзөмөлдөйт.

Кыйынчылык - бул маалыматты "жаңыртуу" боюнча жаңыртылганына жана башка жолдор аркылуу суралганда (Alexa ж. Б.) Текшерүү. Мына ошондуктан сиз JavaScriptте ар кандай шарттарды көрөсүз. Ар бир жолу баалуулуктар жаңыртылып, агымдын өзгөрмөсүнө жөнөтүлөт жана виджет жаңырат.

Slider

Тестирлөө кошумча жылдыргычты (слайдер максаттуу температураны түртүп) керек экенин көрсөттү. Слайдер жүктөлгөн жүктү (номерди) "слайдер" темасы менен жылдырганда жөнөтөт. Анын үстүнө, эгер бир нече веб интерфейстери болсо, слайдер туура абалга түшүшүн каалайм. Бул үчүн, ар бир 5 секундда, мен жөн гана учурдагы максаттуу температурага слайдердин абалын жаңыртып турам.

NodeRED: Функция түйүнү - Слайдерди жаңыртуу '

msg.payload = flow.get ('TempTarget'); msg кайтуу;

Релелик көзөмөл

Релелик контролер жөнөкөй, ага (азырынча) эки киргизүү керек. Alexa чын | жалган жана "жылытуу которгучтун" агымынын өзгөрмөсүн жаңыртуудан кийинки өз ара аракеттенүү. Бир заматта аракет кылуунун кажети жок, андыктан жөнөкөйлүк үчүн ал калган 5 сек жаңыртуу жыштыгында иштейт.

Реле MQTT аркылуу туташкан. Node темага ON | OFF буйруктарын жазып жатат:

sonoff/cmnd/POWER1

Функциянын түйүнү Alexaдан чыныгы | жалганды кабыл алат жана ошондой эле "heatSwitch" агымынын өзгөрмөсүнө ылайык киргизүүнүн абалын өзгөртөт.

NodeRED: Function Node - Control Relay '

if (msg.command === "TurnOffRequest") {msg.payload = "ӨЧҮК"; msg кайтаруу; }

эгер (msg.command === "TurnOnRequest") {

msg.payload = "КҮЙҮК"; flow.set ('TempTarget', 21); msg кайтаруу; } if (msg.topic === "update") {msg.payload = flow.get ('heatSwitch'); } msg кайтаруу;

Alexa интеграциясы

Бул "авто таанууну" өчүрүүм керек болгон биринчи түзмөк. Жоопту автоматтык түрдө кабыл алуунун ордуна, мен коюлган температураны сурай билүүнү каалагандай жооп бердим. Негизи, msg.payload = true | false суроо ийгиликтүү болгонун көрсөтөт, калганын ушул жерден табылган калыптар аткарат. Эгерде сиз Alexa жана NodeRed үчүн жаңы болсоңуз, муну окуңуз.

Баарын бир аз жакшыраак көзөмөлдөө үчүн, ырастоолорду өзүнчө тапшырууну чечтим (бул эң жакшы жол эмес экенин билем). Туура ар бир жооп буйрук чынжырынын аягында берилиши керек. Менин каталарым кайталанбаса тобокелге салат. Эскертүү, ырааттуу болуш үчүн мен өзгөрмөлөрдү гана жаңыртам, ал эми жаңыртуу цикли жаңы баалуулуктарды виджетке түртөт.

NodeRED: Функция түйүнү - Alexa жоопторун иштетүү

// Термостаттын максаттуу температурасы деген эмне (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "applianceResponseTimestamp": new Date (). toISOString ()}; msg.payload = true; msg кайтаруу; } // Температураны (10дон төмөн эмес же 30дан ашпаган) кылып коюңуз, эгерде (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10.0, max: 30.0} msg.payload = жалган; msg.extra = диапазон; } башка {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
  • Сен бол

Эгерде сиз мага кофе сатып алууну же мени үзгүлтүксүз колдоону кааласаңыз:

  • Paypal
  • Patreon

Долбоор сизге жакты деп ишенем!

Сунушталууда: