Tartalomjegyzék:

FESZTELJE RÉGI termosztátját: 4 lépés (képekkel)
FESZTELJE RÉGI termosztátját: 4 lépés (képekkel)

Videó: FESZTELJE RÉGI termosztátját: 4 lépés (képekkel)

Videó: FESZTELJE RÉGI termosztátját: 4 lépés (képekkel)
Videó: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, November
Anonim
Image
Image
Hogyan működik a termosztát
Hogyan működik a termosztát

A házam fűtési rendszere valószínűleg olyan régi, mint maga a ház. Körülbelül 30 éves, ami a házévek szempontjából rendben van, de a technológiát tekintve nagyjából beragadt a jégkorszakba. A kereskedelmi megoldásokkal 2 fő probléma van:

  • tiltó árképzés
  • termék, mint szolgáltatás

Mindannyian emlékszünk arra, ami Revolv -val történt, és nem nagyon kívánom, hogy ez velem történjen meg a tél közepén. Ezt szem előtt tartva, hihetetlenül gyanús megjelenésű, de funkcionális NEST-Alike vezérlőt mutatok be Önnek a régi termosztáthoz. Ne aggódjon, tervezek egy sokkal jobb házat, amelyet hamarosan hozzáadnak!

Jellemzők:

  • egy meglévő termosztát használatának képessége (ha a feleség nyög rajta)
  • távoli hozzáférés
  • AWAY mód
  • optimális hőmérséklet jelző
  • Alexával működik

Hamarosan (a frissítésekért kattintson ide)

  • Google kezdőlap
  • Google Naptár
  • Több érzékelő
  • Radiátor kezelőszervek
  • IFTT integrációk
  • Tasker támogatás
  • HTTP kérések
  • Sokkal jobban kinéző ház

1. lépés: Hogyan működik a termosztát

Hogyan működik a termosztát
Hogyan működik a termosztát
Hogyan működik a termosztát
Hogyan működik a termosztát

A termosztát valószínűleg a MAGAS FESZÜLTSÉGhez van csatlakoztatva! Ne kíséreljen meg semmit, ha nem győződött meg arról, hogy az áramkör ki van kapcsolva. Károsíthatja magát és károsíthatja a csatlakoztatott berendezéseket. A biztonság érdekében vegye fel a kapcsolatot szakképzett villanyszerelővel

A Honeywell termosztát egy falra szerelhető egység, amelyet a hálózatról táplálnak (a Sonoff alapjai minimum 90 V -ot igényelnek, az áramköröm 230 V -os). A doboz csatlakozik a fő vezérlőegységhez (ez egy fejlettebb doboz), és akkor küldi a jelet, amikor a hőmérséklet a célszint alá csökken. Bár az Ön készüléke eltérő lehet, az elv valószínűleg ugyanaz. Ha 3 vezeték van, és nincs rádiókapcsolat a falra szerelt egység között-ez az oktatóanyag az Ön számára.

Tudom, hogy a 3 vezetékes termosztátok elvileg hogyan működnek, ami nem akadályozott meg abban, hogy véletlenül 2 vezeték rövidre zárásával oltsak biztosítékot! 3 vezeték van csatlakoztatva az egységhez (a 4. a föld). A Honeywell termosztátom nem vezeték nélküli, így a jel váltásához használhatom a Sonoff Basic -et. Itt az ideje, hogy szétszedje és megnézze, hogyan küldi a jelet az egység. Közelebbről megvizsgálva a terminál a következő módon csatlakozik:

  1. (kék) - Föld
  2. (sárga) - jelzés, magasra húzva a fűtés be van kapcsolva
  3. nem használt
  4. (piros) - a feszültség alatt álló vezeték a jel magasra húzására szolgál

Célom elérése érdekében rövidre kell zárnom a feszültség alatt álló vezetéket a jelvezetékkel, amikor be akarom kapcsolni a fűtést. Ha rendelkezik hasonlóan csatlakoztatott termosztáttal, akkor szerencséje van, mivel a Sonoff Basic elegendő lesz a trükkhöz.

2. lépés: A Sonoff Basic előkészítése

A Sonoff Basic előkészítése
A Sonoff Basic előkészítése
A Sonoff Basic előkészítése
A Sonoff Basic előkészítése
A Sonoff Basic előkészítése
A Sonoff Basic előkészítése

Mielőtt elkezdenénk csatlakoztatni a vezetékeket, hozzá kell adnunk egy hőmérséklet -érzékelőt (DHT11) a keverékhez. Győződjön meg arról, hogy a Tasmota firmware-je villogott a Sonoff-eszközön (itt van egy kiváló villogó útmutató), és a Tasmota-kompatibilis Sonoff-ja helyesen van konfigurálva (szintén általam lefedve). Most már csak a DHT11 érzékelőt kell csatlakoztatnia a Sonoffhoz, és konfigurálnia kell a hőmérsékletjelentéshez.

A DHT11 3 vezetékes csatlakozót tartalmaz: Jel - GPIO14Vcc - 3.3VGND - GND

Léptem egy lyukat, engem nem zavar, hogy most hogyan néz ki, csak a koncepció igazolására és az érvényesítésre van szükségem. Csinálok egy szép és fényes házat, amint megérkezik a 3D nyomtatóm. Különös figyelmet fordítottam a Sonoff vezetékezésére, mivel meg kell győződnöm arról, hogy a feszültség alatt álló vezeték csatlakozik a Sonoff eszköz másik végén lévő jelvezetékhez. A Honeywell egység beépített terhelési ellenállást (R) tartalmaz, amely korlátozza az áramot. Míg az áramkört a 3A biztosíték védi, az extra védelem érdekében célszerű azonos ellenállást beállítani. Miután elkészítettem a vezetékeket, ideje volt kikapcsolni a fő áramellátást, és visszacsatlakoztatni a Sonoffot.

Sonoff Tasmota - Honeywell termosztát

INPUT Live - 4. terminál Live

INPUT GND - 1. terminál GND

Kimeneti jel - 2. terminál jel

Korábban említettem, hogy egyelőre nem fogok stresszelni a kinézetén. A feleség meg volt győződve arról, hogy a funkcionalitásra és az esetleges hibák kiküszöbölésére tudok koncentrálni. A jó dolog az, hogy az eredeti termosztát továbbra is működik. Ha felkapcsolom, felülírja a Sonoff Tasmota alapú egyet. Ez nagyszerű biztonsági mentés lehet minden váratlan eseményhez.

3. lépés: NodeRED

NodeRED
NodeRED
NodeRED
NodeRED
NodeRED
NodeRED

Kérjük, vegye figyelembe, hogy a videó tartalmazhat régebbi NodeRed hivatkozásokat, folyamatosan dolgozom a design fejlesztésén. Ezek apró változtatások, és a cikkfájlok naprakészek

A neten találkoztam ezzel a dizájnnal. Remekül néz ki, azonban alapos vizsgálat után a widget nem igazán alkalmas a NodeRED számára. 5 hasznos terhelést kell beállítani, ami nem így működik. Beletelt egy kis időbe, mire rájöttem, hogyan lehet a legjobban átadni ezeket az információkat a modul frissítéséhez és működőképességének megőrzéséhez. Biztos vagyok benne, hogy idővel több időt töltök a tervezéssel, hogy egyetlen szükséges üzenetet küldhessek az összes szükséges frissítéshez. Egyelőre ez van.

Hőmérséklet áram

A DHT11 minden X másodpercben jelentést küld a NodeRED szervernek. Ezt a gyakoriságot a Tasmota konzolján keresztül növeltem. Csak futtassa a parancsot a frekvencia másodpercben történő beállításához:

TelePeriod Telemetriai periódus beállítása 10 és 3600 másodperc között

Ez főleg tesztekre történik, mivel nem akarok perceket várni, hogy lássam, működtek -e a hibajavításaim. Ha a frekvenciát magasan tartja, a fűtés gyakrabban fog fellépni rövidebb ideig, ezért tartózkodjon attól, hogy 10 másodpercre állítsa a teszteléstől eltérő célokra. Az MQTT csomópont az adatokat innen veszi:

sonoff/tele/SENSOR

és a leghasznosabb adatokat a következő objektumokban tárolja:

msg.payload. DHT11. Hőmérséklet msg.payload. DHT11. Páratartalom

A hibák korlátozása érdekében hozzáadtam a sima csomópontot az eredmények átlagához, és frissítettem a folyamatváltozót: NodeRED:

Funkciócsomópont - Frissítse a "TempAmbient"

flow.set ('TempAmbient', msg.payload. DHT11. Temperature); return msg;

Widget frissítés

Úgy döntöttem, hogy 5 másodperc jó frissítési gyakoriság, ezért ezzel a gyakorisággal minden szükséges értéket megadok. Az egyetlen kivétel a csúszka, amely nyilvánvaló okból azonnal reagál.

Minden megfelelő csomópont elküldi a hasznos terhet a hozzárendelt témával a fészekhez hasonló widgetnek.

  • szín (fűtés | hűtés*| kikapcsolva és hvac_state)
  • levél (igaz | hamis és has_leaf)
  • távol (igaz | hamis és távol)
  • Környezeti hőmérséklet (szám és környezeti hőmérséklet)
  • Célhőmérséklet (szám és célhőmérséklet)

*nem használt

NodeRED: Funkciócsomópont - Widget frissítés

szín

x = flow.get ('TempTarget'); // targetz = flow.get ('TempAmbient'); //környező

ha (z = x) {

flow.set ('fűtésállapot', "ki"); flow.set ('fűtéskapcsoló', "KI"); } msg.payload = z; msg.topic = "környezeti_hőmérséklet"; vissza üzenet;

levél növényen

x = flow.get ('TempAmbient'); if (x> 17 && x <23) {flow.set ('levél', igaz); msg.payload = igaz; msg.topic = "has_leaf"; vissza üzenet; } else {flow.set ('levél', hamis); msg.payload = hamis; msg.topic = "has_leaf"; vissza üzenet; }

Színtávoli felülbírálás

x = flow.get ('el'); if (x === igaz) {msg.topic = "hvac_state"; msg.payload = "ki"; vissza üzenet; }

msg.topic = "hvac_state";

msg.payload = flow.get ('fűtésállapot');

vissza üzenet;

El

x = flow.get ('el'); if (x === igaz) {flow.set ('fűtéskapcsoló', "KI"); flow.set ('fűtésállapot', "ki"); }

msg.topic = "távol";

msg.payload = flow.get ('el'); vissza üzenet;

Célhőmérséklet

if (msg.topic === "update") {msg.topic = "target_temperature"; msg.payload = flow.get ('TempTarget'); vissza üzenet; }

if (msg.command === "SetTargetTemperatureRequest") {

flow.set ('távol', hamis); msg.topic = "célhőmérséklet"; flow.set ('TempTarget', msg.payload); }

if (msg.topic === "csúszka") {

flow.set ('távol', hamis); msg.topic = "célhőmérséklet"; flow.set ('TempTarget', msg.payload); }

ha (msg.command === "GetTemperatureReadingRequest") {}

vissza üzenet;

Amint látja, leiratkoztam az áramlási változókról, így bármikor fel tudtam idézni az értéket. Van egy hibakeresési folyamatom, amely alapvetően beolvassa az összes tárolt értéket.

  • 'TempAmbinet' - tárolja az aktuális hőmérsékletet
  • 'TempTarget' - a temp célértéket tartalmazza
  • "Levél" - megjeleníti a levelet, ha szükséges
  • „Távol” - szükség esetén megjeleníti az elmeneti állapotot
  • „Fűtésállapot” - megváltoztatja a kijelző színét
  • „Fűtéskapcsoló” - szabályozza a relé állapotát.

A kihívás az volt, hogy valóban meggyőződjünk arról, hogy az információk frissítéskor frissülnek, és amikor más módon (Alexa, stb.) Kérik őket. Ezért különböző feltételeket fog látni a JavaScriptben. Minden alkalommal, amikor az értékeket frissítik, elküldik az áramlási változónak, és a widget frissül.

Csúszka

A tesztelés során kiderült, hogy további csúszka frissítésre van szükség (a csúszka eltolja a célhőmérsékletet). A csúszka elküldi a hasznos terhet (számot) a hozzá tartozó „csúszka” témakörrel. Ezen felül szeretném, ha a csúszka a megfelelő pozícióba kerülne, ha több webes interfész van a helyén. Ehhez 5 másodpercenként egyszerűen frissítem a csúszka pozícióját az aktuális célhőmérsékletre.

NodeRED: Funkciócsomópont - csúszka frissítése

msg.payload = flow.get ('TempTarget'); return msg;

Relé vezérlés

A relévezérlő egyszerű, (egyelőre) két bemenetet igényel. Alexa igaz | hamis és a „fűtéskapcsoló” áramlási változó frissítését követő interakció. Nincs szükség azonnali műveletre, így az egyszerűség kedvéért ugyanazon 5 másodperces frissítési gyakorisággal fut, mint a folyamat többi része.

A relé az MQTT -n keresztül van csatlakoztatva. A Node ON | OFF parancsokat küld a témához:

sonoff/cmnd/POWER1

A függvény csomópont elfogadja az igaz | false értéket az Alexától, és megváltoztatja a bemenet állapotát a „fűtésváltó” áramlási változónak megfelelően.

NodeRED: Funkciócsomópont - vezérlőrelé '

if (msg.command === "TurnOffRequest") {msg.payload = "KI"; vissza üzenet; }

if (msg.command === "TurnOnRequest") {

msg.payload = "BE"; flow.set ('TempTarget', 21); vissza üzenet; } if (msg.topic === "update") {msg.payload = flow.get ('fűtésváltó'); } return msg;

Alexa integráció

Ez az első eszköz, amellyel ki kellett kapcsolnom az „automatikus nyugtázást”. Ahelyett, hogy automatikusan feltételeznék a választ, generáltam egyet, mivel szeretném lekérdezni a beállított hőmérsékletet. Elvileg az msg.payload = true | false jelzi, hogy a kérés sikeres volt -e, az itt található sablonok pedig a többit. Ha még nem ismeri az Alexát és a NodeRed -et, feltétlenül olvassa el ezt.

Úgy döntöttem, hogy külön -külön adom át az elismeréseket (tudom, hogy ez nem a legjobb módszer), hogy egy kicsit jobban irányíthassam az egészet. Megfelelően minden választ a parancslánc végén kell megadni. Az enyém kockáztatja, hogy nem ad vissza hibákat, ha ezek megtörténnek. Vegye figyelembe, hogy a következetesség érdekében csak a változókat frissítem, míg a frissítési ciklus az új értékeket a widgetre tolja.

NodeRED: Funkciócsomópont - Az Alexa válaszok feldolgozása

// Mi a termosztát célhőmérsékleteif (msg.command === "GetTemperatureReadingRequest") {x = flow.get ('TempTarget'); msg.extra = {"temperatureReading": {"value": x}, "deviceResponseTimestamp": új dátum (). toISOString ()}; msg.payload = igaz; vissza üzenet; } // Állítsa a hőmérsékletet (legalább 10 -re vagy 30 -ra), ha (msg.command === "SetTargetTemperatureRequest") {if (msg.payload 30) {var range = {min: 10,0, max: 30,0} msg.payload = hamis; msg.extra = tartomány; } else {msg.extra = {targetTemperature: {value: msg.payload}}; msg.payload = igaz; } return msg; } // Kapcsolja be, ha (msg.command === "TurnOnRequest") {msg.payload = true; flow.set ('távol', hamis); flow.set ('TempTarget', 21); vissza üzenet; } // Kapcsolja ki, ha (msg.command === "TurnOffRequest") {msg.payload = true; flow.set ('távol', igaz); vissza üzenet;

4. lépés: Következtetés

Következtetés
Következtetés

Ha a NodeRED műszerfalat WAN -nak teszi ki, a teljes fűtési rendszer távolról vezérelhető. Azt javaslom, hogy olvassa el az alábbi cikkeket, hogy gyorsabban tudjon dolgozni a NodeRED és a NodeRED biztonsággal.

  • NodeRED kezdőknek
  • NodeRED biztonság

Ezenkívül, ha szeretne értesülni a projekt frissítéseiről - kövessen engem az Ön által választott platformon:

  • Twi tter
  • Instagram
  • Youtube

És ha úgy érzi, hogy vesz nekem egy kávét, vagy folyamatosan támogat engem:

  • Paypal
  • Patreon

Remélem tetszett a projekt!

Ajánlott: