Inhaltsverzeichnis:
- Schritt 1: So funktioniert ein Thermostat
- Schritt 2: Sonoff Basic vorbereiten
- Schritt 3: NodeRED
- Schritt 4: Fazit
Video: NEST Ihren alten Thermostat - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Die Heizung in meinem Haus ist wahrscheinlich so alt wie das Haus selbst. Es ist ungefähr 30 Jahre alt, was in Bezug auf die Hausjahre in Ordnung ist, aber technisch ziemlich in der Eiszeit stecken geblieben. Bei kommerziellen Lösungen gibt es 2 Hauptprobleme:
- unerschwingliche Preise
- Produkt als Dienstleistung
Wir erinnern uns alle daran, was mit Revolv passiert ist, und ich bin nicht so scharf darauf, dass mir das mitten im Winter passiert. In diesem Sinne präsentiere ich Ihnen einen unglaublich verdächtig aussehenden, aber funktionalen NEST-Alike-Controller für Ihren alten Thermostat. Keine Sorge, ich plane, bald ein viel besseres Gehäuse hinzuzufügen!
Merkmale:
- Möglichkeit, ein vorhandenes Thermostat zu verwenden (falls Frau darüber stöhnt)
- Fernzugriff
- AWAY-Modus
- optimale Temperaturanzeige
- Funktioniert mit Alexa
Bald (überprüfen Sie hier für Updates)
- Google Home
- Google Kalender
- Mehrere Sensoren
- Kühlersteuerung
- IFTT-Integrationen
- Tasker-Unterstützung
- HTTP-Anfragen
- Ein viel besser aussehendes Gehäuse
Schritt 1: So funktioniert ein Thermostat
Der Thermostat ist wahrscheinlich an die HOCHSPANNUNG angeschlossen! Versuchen Sie nicht, etwas zu tun, es sei denn, Sie haben sichergestellt, dass der Stromkreis ausgeschaltet ist. Sie können sich selbst verletzen und die angeschlossenen Geräte beschädigen. Ziehen Sie in Betracht, einen qualifizierten Elektriker zu konsultieren, um Ihre Sicherheit zu gewährleisten
Der Honeywell-Thermostat ist ein an der Wand montiertes Gerät, das über das Stromnetz betrieben wird (Sonoff-Grundlagen benötigen mindestens 90 V, mein Stromkreis hat 230 V). Die Box ist an die Hauptsteuereinheit (die eine fortschrittlichere Box ist) angeschlossen und sendet das Signal, wenn die Temperatur unter den Zielwert fällt. Auch wenn Ihr Gerät anders sein kann, ist das Prinzip höchstwahrscheinlich das gleiche. Wenn Sie 3 Drähte und keine Funkverbindung zwischen dem Wandgerät haben – dies ist das Tutorial für Sie.
Ich weiß, wie die 3-Draht-Thermostate im Prinzip funktionieren, was mich nicht davon abhielt, eine Sicherung durch versehentliches Kurzschließen von 2 Drähten durchzubrennen! Ich habe 3 Drähte an das Gerät angeschlossen (wobei der vierte die Erde ist). Mein Honeywell-Thermostat ist nicht drahtlos, daher kann ich zum Umschalten des Signals Sonoff Basic verwenden. Es ist an der Zeit, es auseinanderzunehmen und zu sehen, wie das Signal an das Gerät gesendet wird. Bei näherer Betrachtung wird das Terminal wie folgt angeschlossen:
- (blau) – Masse
- (gelb) – Signal, wenn hoch gezogen ist die Heizung an
- Nicht in Gebrauch
- (rot) – das stromführende Kabel, das verwendet wird, um das Signal hoch zu ziehen
Um mein Ziel zu erreichen, muss ich das stromführende Kabel mit dem Signalkabel kurzschließen, wenn ich möchte, dass meine Heizung eingeschaltet wird. Wenn Sie einen ähnlich angeschlossenen Thermostat haben, haben Sie Glück, denn Sonoff Basic reicht aus, um den Trick zu erledigen.
Schritt 2: Sonoff Basic vorbereiten
Bevor wir mit dem Anschließen der Drähte beginnen, müssen wir der Mischung einen Temperatursensor (DHT11) hinzufügen. Stellen Sie sicher, dass Sie die Tasmota-Firmware auf Ihr Sonoff-Gerät geflasht haben (ich habe hier eine ausgezeichnete Flashing-Anleitung) und Ihr Tasmota-fähiges Sonoff richtig konfiguriert ist (auch von mir bereits behandelt). Jetzt müssen Sie nur noch den DHT11-Sensor mit dem Sonoff verbinden und ihn für die Temperaturberichterstattung konfigurieren.
DHT11 wird mit 3 verdrahteten Pins geliefert: Signal - GPIO14Vcc - 3.3VGND - GND
Ich habe ein Loch gestochen, es interessiert mich nicht, wie es jetzt aussieht, ich brauche nur den Proof of Concept und die Validierung. Ich werde ein schönes und glänzendes Gehäuse machen, sobald mein 3D-Drucker ankommt. Ich habe besonders darauf geachtet, wie ich den Sonoff verdrahte, da ich sicherstellen muss, dass das stromführende Kabel mit dem Signalkabel am anderen Ende des Sonoff-Geräts verbunden ist. Das Honeywell-Gerät verfügt über einen eingebauten Lastwiderstand (R), der den Strom begrenzt. Während der Stromkreis durch die 3A-Sicherung geschützt ist, ist es klug, den gleichen Widerstand für zusätzlichen Schutz anzupassen. Sobald ich die Drähte fertig hatte, war es an der Zeit, den Hauptstrom auszuschalten und den Sonoff wieder zu verdrahten.
Sonoff Tasmota - Honeywell Thermostat
INPUT Live - 4. Anschluss Live
INPUT GND - 1. Klemme GND
OUTPUT Signal - 2. Anschluss Signal
Ich habe das vorerst erwähnt, ich werde mich nicht um das Aussehen kümmern. Die Frau ist überzeugt und ich kann mich auf die Funktionalität konzentrieren und eventuell auftretende Fehler beseitigen. Das Gute ist, dass der Originalthermostat noch funktioniert. Wenn ich es aufdrehe, überschreibt es das auf Sonoff Tasmota basierende. Dies sollte eine großartige Sicherung für alle unerwarteten Ereignisse sein.
Schritt 3: NodeRED
Bitte beachte, dass das Video ältere NodeRed-Referenzen enthalten kann, ich arbeite ständig daran, das Design zu verbessern. Dies sind kleine Änderungen und die Artikeldateien werden auf dem neuesten Stand gehalten
Ich bin im Internet auf dieses Design gestoßen. Es sieht gut aus, aber bei genauerem Hinsehen ist das Widget nicht wirklich für NodeRED geeignet. Es müssen 5 Payloads festgelegt werden, was nicht so funktioniert, wie Node-ähnliches Design funktioniert. Ich habe einige Zeit gebraucht, um herauszufinden, wie ich all diese Informationen am besten weitergeben kann, um das Widget zu aktualisieren und funktionsfähig zu halten. Ich bin mir sicher, dass ich mit der Zeit mehr Zeit für das Design aufwenden werde, damit ich alle erforderlichen Updates mit einem einzigen msg-Objekt durchführen kann. Im Moment ist es das, was es ist.
Temperaturstrom
DHT11 meldet sich alle X Sekunden zurück an den NodeRED-Server. Ich habe diese Frequenz über die Konsole des Tasmota erhöht. Führen Sie einfach den Befehl aus, um die Frequenz in Sekunden einzustellen:
TelePeriod Telemetriezeitraum zwischen 10 und 3600 Sekunden einstellen
Dies geschieht hauptsächlich für Tests, da ich nicht minutenlang warten möchte, um zu sehen, ob meine Fehlerbehebungen funktioniert haben. Eine hohe Frequenz führt dazu, dass die Heizung für kürzere Zeiträume häufiger zündet. Stellen Sie sie daher nicht zu Testzwecken auf 10 Sekunden ein. Der MQTT-Knoten ruft die Daten ab von:
sonoff/tele/SENSOR
und speichert die nützlichsten Daten in den folgenden Objekten:
msg.payload. DHT11. Temperatur msg.payload. DHT11. Feuchtigkeit
Um die Fehler zu begrenzen, habe ich den glatten Knoten hinzugefügt, um die Ergebnisse zu mitteln und die Flussvariable aktualisiert: NodeRED:
Funktionsknoten - Aktualisieren Sie die 'TempAmbient'
flow.set('TempAmbient', msg.payload. DHT11. Temperature);Return msg;
Widget-Update
Ich habe entschieden, dass 5 Sekunden eine gute Bildwiederholfrequenz sind, daher drücke ich alle benötigten Werte mit dieser Frequenz. Die einzige Ausnahme ist der Schieberegler, der aus offensichtlichen Gründen sofort reagiert.
Jeder entsprechende Knoten sendet die Nutzlast mit dem zugewiesenen Thema an das nestähnliche Widget.
- Farbe (Heizen|Kühlen*|Aus & HVAC_State)
- Blatt (true|false & has_leaf)
- weg (wahr|falsch & weg)
- Umgebungstemperatur (Zahl & Umgebungstemperatur)
- Zieltemperatur (Zahl & Zieltemperatur)
*Nicht in Gebrauch
NodeRED: Funktionsknoten - Widget-Update
Farbe
x = flow.get('TempTarget'); //targetz = flow.get('TempAmbient'); //Umgebungs
wenn (z = x) {
flow.set('heatingState', "off"); flow.set('heatingSwitch', "OFF"); } msg.payload = z; msg.topic = "Umgebungstemperatur"; Nachricht zurück;
Blatt
x = flow.get('TempAmbient'); if (x > 17 && x < 23) {flow.set('leaf', true); msg.payload = true; msg.topic = "has_leaf"; Nachricht zurück; } Else{flow.set ('Blatt', false); msg.payload = false; msg.topic = "has_leaf"; Nachricht zurück; }
Farbe weg überschreiben
x = flow.get('weg'); if (x === true){ msg.topic = "hvac_state"; msg.payload = "aus"; Nachricht zurück; }
msg.topic = "hvac_state";
msg.payload = flow.get('heatingState');
Nachricht zurück;
Ein Weg
x = flow.get('weg'); if (x === true){flow.set('heatingSwitch', "OFF"); flow.set('heatingState', "off"); }
msg.topic = "weg";
msg.payload = flow.get('weg'); Nachricht zurück;
Zieltemperatur
if (msg.topic === "update"){ msg.topic = "target_temperature"; msg.payload = flow.get('TempTarget'); Nachricht zurück; }
if (msg.command === "SetTargetTemperatureRequest") {
flow.set('weg', false); msg.topic = "target_temperature"; flow.set('TempTarget', msg.payload); }
if (msg.topic === "Schieberegler") {
flow.set('weg', false); msg.topic = "target_temperature"; flow.set('TempTarget', msg.payload); }
if (msg.command === "GetTemperatureReadingRequest"){}
Nachricht zurück;
Wie Sie sehen, habe ich mich für die Flow-Variablen entschieden, damit ich mich jederzeit an den Wert erinnern kann. Ich habe einen Debug-Flow, der im Grunde alle gespeicherten Werte liest.
- ‘TempAmbinet‘– speichert die aktuelle Temperatur
- ‘TempTarget‘– hält den Temperatursollwert
- ‘leaf‘– zeigt bei Bedarf ein Blatt an
- ‚abwesend‘– zeigt bei Bedarf den Abwesenheitsstatus an
- ‘heatingState‘– ändert die Farbe des Displays
- ‘heatingSwitch‘– steuert den Zustand des Relais.
Die Herausforderung bestand darin, tatsächlich sicherzustellen, dass die Informationen beim „Aktualisieren“und auf andere Weise (Alexa usw.) aktualisiert werden. Aus diesem Grund sehen Sie im JavaScript unterschiedliche Bedingungen. Jedes Mal, wenn die Werte aktualisiert werden, werden sie an die Flow-Variable gesendet und das Widget wird aktualisiert.
Schieberegler
Tests haben ergeben, dass ein zusätzliches Slider-Update (Slider verschiebt die Zieltemperatur) erforderlich ist. Slider sendet beim Verschieben die Payload (Zahl) mit dem dazugehörigen Thema „Slider“. Darüber hinaus möchte ich, dass der Schieberegler in die richtige Position kommt, wenn mehrere Weboberflächen vorhanden sind. Dazu aktualisiere ich einfach alle 5 Sekunden die Schiebereglerposition auf eine aktuelle Solltemperatur.
NodeRED: Funktionsknoten - Schieberegler aktualisieren'
msg.payload = flow.get('TempTarget');Nachricht zurückgeben;
Relaissteuerung
Der Relaiscontroller ist einfach, er benötigt (vorerst) zwei Eingänge. Alexas true|false und die Interaktion, die einer Aktualisierung der Durchflussvariablen „Heizungsschalter“folgt. Es ist keine sofortige Aktion erforderlich, daher wird es der Einfachheit halber mit der gleichen 5-Sekunden-Aktualisierungsfrequenz wie der Rest des Flows ausgeführt.
Das Relais wird über MQTT angeschlossen. Node postet ON|OFF-Befehle zum Thema:
sonoff/cmnd/POWER1
Der Funktionsknoten akzeptiert true|false von Alexa und ändert auch den Zustand des Eingangs entsprechend der Durchflussvariablen ‚heatingSwitch‘.
NodeRED: Funktionsknoten - Steuerrelais'
if (msg.command === "TurnOffRequest"){ msg.payload = "OFF"; Nachricht zurück; }
if (msg.command === "TurnOnRequest"){
msg.payload = "EIN"; flow.set('TempTarget', 21); Nachricht zurück; } if (msg.topic === "update") { msg.payload = flow.get('heatingSwitch'); } Nachricht zurückgeben;
Alexa-Integration
Dies ist das erste Gerät, bei dem ich die "automatische Bestätigung" ausschalten musste. Anstatt automatisch eine Antwort anzunehmen, habe ich eine generiert, da ich die Möglichkeit haben möchte, die eingestellte Temperatur abzufragen. Im Prinzip zeigt msg.payload = true|false an, ob die Anfrage erfolgreich war, den Rest erledigen die hier gefundenen Templates. Wenn Sie neu bei Alexa und NodeRed sind, lesen Sie dies unbedingt.
Ich beschloss, die Anerkennungen separat zu übergeben (ich weiß, dass dies nicht der beste Weg ist), um alles ein bisschen besser kontrollieren zu können. Jede Antwort sollte richtigerweise am Ende der Befehlskette stehen. Meins riskiert, Fehler nicht zurückzugeben, sollten diese passieren. Beachten Sie, dass ich aus Konsistenzgründen nur die Variablen aktualisiere, während die Refresh-Schleife die neuen Werte an das Widget überträgt.
NodeRED: Funktionsknoten - Alexa-Antworten verarbeiten
// Was ist die Zieltemperatur des Thermostatsif (msg.command === "GetTemperatureReadingRequest"){ x =flow.get('TempTarget'); msg.extra = { "temperatureReading": { "value": x}, "applianceResponseTimestamp": new Date().toISOString()}; msg.payload = true; Nachricht zurück; } // Setze die Temperatur auf (nicht niedriger als 10 oder mehr als 30) if (msg.command === "SetTargetTemperatureRequest"){ if (msg.payload 30) { var range = { min: 10.0, max: 30.0 } msg.payload = false; msg.extra = Bereich; } else { msg.extra = { targetTemperature: { value: msg.payload } }; msg.payload = true; } Nachricht zurückgeben; } // Einschalten if (msg.command === "TurnOnRequest"){ msg.payload = true; flow.set('weg', false); flow.set('TempTarget', 21); Nachricht zurück; } // Ausschalten if (msg.command === "TurnOffRequest"){ msg.payload = true; flow.set('weg', wahr); Nachricht zurück;
Schritt 4: Fazit
Wenn Sie das NodeRED-Dashboard dem WAN aussetzen, kann das gesamte Heizsystem aus der Ferne gesteuert werden. Ich empfehle Ihnen, die folgenden Artikel zu lesen, um sich mit NodeRED und der NodeRED-Sicherheit vertraut zu machen.
- NodeRED für Anfänger
- NodeRED-Sicherheit
Wenn Sie außerdem über die Aktualisierungen dieses Projekts informiert werden möchten, sollten Sie mir auf der Plattform Ihrer Wahl folgen:
- Youtube
Und wenn Sie Lust haben, mir einen Kaffee zu kaufen oder mich kontinuierlich zu unterstützen:
- Paypal
- Patreon
Ich hoffe, Ihnen hat das Projekt gefallen!
Empfohlen:
Machen Sie Ihren eigenen USB-Lüfter - Englisch / Französisch: 3 Schritte
Machen Sie Ihren eigenen USB-Lüfter | English / Francais: DEUTSCH Heute habe ich auf Websites gesehen, dass wir USB-Lüfter kaufen können. Aber ich habe gesagt, warum ich nicht meins machen soll? Was Sie brauchen: - Klebeband Elektriker oder Entenband - Ein PC-Lüfter - Ein USB-Kabel, das Ihnen nicht dient - Einen Drahtschneider - Einen Schraubendreher - Eine Saitenmuschel
Wie man aus einem alten Computer einen persönlichen Mini-Schreibtischventilator macht – passt in Ihre Tasche – wikiHow
Wie man aus einem alten Computer einen persönlichen Mini-Schreibtischventilator macht – passt in Ihre Tasche: Ich zeige Ihnen, wie Sie aus einem alten Computer einen persönlichen Mini-Schreibtischventilator machen. Ein Bonus ist, dass es sogar in Ihre Tasche passt. Dies ist ein sehr einfaches Projekt, daher ist nicht viel Erfahrung oder Fachwissen erforderlich. Fangen wir also an
So verwenden Sie den alten LCD-Bildschirm Ihres defekten Laptops wieder – wikiHow
So verwenden Sie den alten LCD-Bildschirm Ihres kaputten Laptops: Dies ist ein super einfaches, aber auch sehr tolles Projekt. Mit der richtigen Treiberplatine können Sie jeden modernen Laptop-Bildschirm in einen Monitor verwandeln. Die Verbindung dieser beiden ist ebenfalls einfach. Einfach Kabel einstecken und fertig. Aber ich ging noch einen Schritt weiter und auch b
Einen automatischen Holzofen-Thermostat herstellen – wikiHow
Wie erstelle ich einen automatischen Holzofen-Thermostat: Für mein Mechatronik-Klassenprojekt habe ich beschlossen, einen automatischen Holzofen-Thermostat mit einem WiFi-fähigen Arduino mit einem PID-Controller zu entwerfen und zu erstellen, der einen Schrittmotor antreibt, um die Dämpferposition auf meinem Holzofen zu steuern. Es war ein sehr neuer Krieg
Verwandeln Sie Ihren alten CRT-Computermonitor in ein Aquarium! ! !: 11 Schritte (mit Bildern)
Verwandeln Sie Ihren alten CRT-Computermonitor in ein Aquarium! ! !: Sprechen Sie über einen großartigen Bildschirmschoner! Diesen Build wollte ich schon seit einiger Zeit machen. Fast jedes Mal, wenn ich am Mülltag einen alten CRT-Computermonitor am Straßenrand sehe, denke ich mir … das würde sicher ein cool aussehendes Aquarium abgeben. So