Klimaanlage IT. Teil II

In diesem Teil werde ich Ihnen die Möglichkeit der „einfachen“ Integration einer Klimaanlage (und im Allgemeinen fast jedes über IR gesteuerten Geräts) über ein WiFi <=> IR-Gateway erläutern.

Um es interessanter zu machen, habe ich ein beliebtes Gateway gewählt (Yandex verwendet es übrigens für ihre Alice). Sie können einen bei Ali kaufen, der Preis beträgt ca. 1200 Rubel (Yandex ist teurer).

Das Gerät ist recht kompakt (passt leicht in Ihre Handfläche), von den sichtbaren Organen gibt es eine kleine unauffällige blaue LED und einen Knopf zum Koppeln. Alles andere verbirgt sich hinter einem schwarzen transparenten Infrarotgehäuse. Sie können jeden verfügbaren USB-Anschluss (Netzteil, Computer usw.) als Stromquelle verwenden. Das Gateway wird über ein Micro-USB-Kabel (mitgeliefert oder auf bequeme Weise) mit dem Gateway verbunden.

Die Besonderheit dieses Geräts ist, dass es auf dem „in engen Kreisen bekannten“ esp8266 aufgebaut ist, was bedeutet, dass es ziemlich leicht „gezähmt“ werden kann.

Option "für die Kleinsten"


Bevor ich das Gerät wechselte, habe ich versucht, es normal zu verwenden: Ich habe die TuyaSmart-Anwendung auf meinem Telefon installiert (es gibt Versionen für Android und iPhone), und dann ist alles einfach:

  • in der Anwendung registrieren,
  • Wir werden einen kleinen Assistenten durchlaufen, um ein neues Gerät anzuschließen (dazu muss das Gateway an die Stromversorgung angeschlossen sein und es mit einer einzigen Taste in den Pairing-Modus versetzen.
  • Nachdem das Gateway in der Anwendung angezeigt wurde, erstellen wir ein neues „Control Panel“ - einen weiteren kleinen Assistenten, in dem Sie den Gerätetyp auswählen (in meinem Fall - Klimaanlage) und dann den Hersteller auswählen (es gibt kein Electrolux in der Anwendung, aber es hat bei der Auswahl von Midea hervorragend funktioniert). Sofort finden wir den „Namen“ der neuen Konsole (ich habe „Mr. White“ gewählt).

Das ist alles. Danach erscheint die folgende Fernbedienung auf dem Telefon:

Damit können Sie die Grundfunktionen steuern:

  • ein / aus
  • Temperatureinstellung
  • Auswahl der Betriebsart ("Auto", "Kühlen", "Heizen", "Lüfter"),
  • Auswahl der Lüftergeschwindigkeit („Auto“, „Niedrig“, „Mittel“, „Hoch“).

Im Allgemeinen ist die Verwendung für die Fernbedienung bereits möglich, aber wo ist das „Smart Home“ und die Integration?

Da dies ein einfacher Weg ist, ist es schlecht mit einem Smart Home, aber mit der Integration ist es etwas besser.

Erstens die Fliege in der Salbe - es gibt keine Integration mit Apple HomeKit, daher ist Siri noch nicht verfügbar, aber mit anderen konkurrierenden Plattformen macht alles viel mehr Spaß:

  • Für Amazon Alexa gibt es eine Tuya Smart-Fähigkeit. Es reicht aus, es zu aktivieren und darin Ihr Konto anzugeben, das Sie bei der Registrierung in der Anwendung eingegeben haben - Sie können die Klimaanlage sprachgesteuert.
  • Ebenso können Sie Tuya Smart mit Google Assistant verbinden.

In beiden Fällen wird die russische Sprache nicht unterstützt, aber die Stimme wird leicht und einfach gesteuert. Ich habe folgende Befehle gefunden:
- Alexa, mach Mr. White an
- Hey, Google, stell Mr. White auf 24 Grad
- Alexa, schalte Mr.White aus

Ich möchte Sie daran erinnern, dass ich die Sprachsteuerung mit Amazon Echo Dot und Google Home Mini implementiert habe. Beide Geräte arbeiten identisch mit Teams.

Übrigens, welche Sprachbefehle Sie den Betriebsmodus und den Luftdurchsatz steuern können - habe ich nicht gefunden. Wenn mir jemand sagt, werde ich dankbar sein.

Und dann wurde eine „halbautomatische“ Integration mit UD durchgeführt: Wenn die Temperatur im Raum über den Schwellenwert steigt, sendet der UD-Controller eine Nachricht, in der er aufgefordert wird, die Klimaanlage einzuschalten, und ich habe die Klimaanlage mithilfe der TuyaSmart-Anwendung aus der Ferne im erforderlichen Modus eingeschaltet.

Die Lösung ist natürlich "so lala", aber zumindest irgendwie kann man sie verwenden.

Aber das ist nicht unser Weg - wir gehen weiter:

Jedi Way


Autopsie und Vorbereitung


Es besteht die Möglichkeit, das Gerät zu flashen, ohne es zu öffnen. Die Methode wird hier beschrieben.

Diese Methode schien mir unnötig kompliziert (so viele Bewegungen, wenn die Firmware nur 4 Drähte zum Löten benötigt), und es war interessant, nach innen zu schauen.

Leider wurde ich dabei mitgerissen und habe vergessen, ein Foto zu machen, so dass ich die Fotos anderer Leute zeigen werde:


Weitere Fotos finden Sie hier .

Das Foto zeigt deutlich, dass das TYWE3S-Modul verwendet wird (das Datenblatt, auf dem es in Google sehr einfach ist).

Jetzt müssen Sie das Modul flashen. Die ursprüngliche Firmware wird überschrieben und kann nicht wiederhergestellt werden.

Die Firmware ist sehr einfach: Wir nehmen die Arduino-Umgebung (oder Atom oder etwas anderes - wählen Sie nach Ihrem Geschmack). Laden Sie die Skizze mit der Tasmota- Firmware in die Entwicklungsumgebung herunter. Dann schließen wir ein TYWE3S RX-, TX-, GND-, VCC-Modul von einer beliebigen USB-Serie an (nicht verwechseln - Sie benötigen 3,3 V Strom und die entsprechenden Signalpegel, wenn 5 V vorhanden sind, müssen Sie ein neues Gateway bestellen). Vergessen Sie vor dem Einschalten nicht, den GPIO0 des Moduls (auf bequeme Weise) gegen Masse zu schließen, um das Modul in den Firmware-Modus zu versetzen. Firmware.

Es ist nicht erforderlich, die Firmware zu konfigurieren - alles kann im Code "wie es ist" belassen werden, wir müssen nur das Modul "zähmen".

Wenn alles richtig gemacht wurde (natürlich nach dem Trennen der Kabel für die Firmware), schalten Sie das Gateway ein. Aktivieren Sie auf Ihrem Telefon oder Computer die Suche nach WLAN-Netzwerken. Es sollte ein neues Netzwerk mit dem Namen sonoff-xxxx (wobei xxxx Zahlen sind) angezeigt werden, das unser Gerät aufnimmt.

Wir stellen eine Verbindung zu diesem Netzwerk her und gehen zur Adresse: 192.168.4.1 - Dies ist die Webschnittstelle unseres Gateways.

Geben Sie zunächst in den Gateway-Einstellungen das WLAN-Heimnetzwerk und das Kennwort dafür an (das Gerät wird neu gestartet und stellt eine Verbindung zum Heimnetzwerk her). Außerdem sind alle Aktionen darin einfacher durchzuführen. Natürlich müssen Sie auf bequeme Weise herausfinden, welche Adresse das Gateway im Heimnetzwerk erhalten hat.

Wir gehen auf die Seite mit Tasmota-Firmware-Versionen . Laden Sie zwei Dateien herunter - sonoff-minimal.bin und sonoff-ir.bin

Jetzt aktualisieren wir die Firmware über die Weboberfläche des Gateways in zwei Schritten: Zuerst nähen wir die „Minimum“ -Version und der zweite Schritt ist sonoff-ir.

Nach all diesen einfachen Aktionen haben wir bereits ein Modul mit der aktuellen Firmware-Version in der Hand, es bleibt nur noch wie folgt zu konfigurieren:



Tatsächlich ist dies die minimal erforderliche Konfiguration - im beschriebenen Beispiel werden wir mit dem Modul über GET-Anforderungen interagieren (obwohl dies auch über MQTT möglich ist).

Sie können die Funktionsweise des Moduls überprüfen und gleichzeitig in seiner Konsole etwas Nützliches herausfinden (einen Link dazu finden Sie auf der Hauptseite der Weboberfläche). Öffnen Sie die Konsole und sehen Sie, wie das Modul "lebt".

Jetzt können Sie beginnen, die Steuerungsschnittstelle der Klimaanlage zu lernen. Nehmen Sie dazu die Standardfernbedienung von der Klimaanlage und drücken Sie den Netzschalter. Wenn alles in Ordnung ist, dann eine Zeile wie:

19:24:09 MQT: tele/IRbridge/RESULT = {"IrReceived":{"Protocol":"COOLIX","Bits":24,"Data":"0xB29F70","DataLSB":"0x4DF90E","Repeat":0,"IRHVAC":{"Vendor":"COOLIX","Model":-1,"Power":"on","Mode":"cool","Celsius":"on","Temp":22,"FanSpeed":"min","SwingV":"off","SwingH":"off","Quiet":"off","Turbo":"off","Econo":"off","Light":"on","Filter":"off","Clean":"on","Beep":"off","Sleep":-1}}} 

Das Modul hat den IR-Befehl von der Fernbedienung empfangen und "analysiert". Das heißt, Aus der Konsole wird sofort ersichtlich, welches Protokoll (in meinem Fall COOLIX) von der normalen Klimaanlage verwendet wird und welche Parameter im Paket codiert sind.

Großartig, jetzt können Sie bereits die Klimaanlage steuern. Um dies sinnvoll zu tun, ist es besser, sich mit dieser Beschreibung der Befehle vertraut zu machen.

Zur Überprüfung senden wir beispielsweise den folgenden Befehl über die Gateway-Konsole (ich gebe alle Befehle für meine Klimaanlage an, möglicherweise haben Sie ein anderes Steuerprotokoll):

 IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"Cool","FanSpeed":"min","Temp":22} 

Wie durch ein Wunder schaltet sich die Klimaanlage sofort und im gewünschten Modus ein. Wunder!

Schalten Sie die Klimaanlage mit folgendem Befehl aus:

 IRhvac{"Protocol":"COOLIX","Power":"Off"} 

Im Allgemeinen wird das Modul vorbereitet und getestet.

Gehe zur Integration!

Klimaanlage + Domoticz = Freundschaft für immer!


Ich verwende Domoticz als Hauptautomatisierungssystem, daher werden wir mit diesem speziellen System „befreundet“ sein.

Der Arbeitsplan lautet wie folgt:

  1. Erstellen Sie mehrere virtuelle Geräte: einen Schalter, zwei Selektoren (zur Auswahl von Modi und Luftdurchsatz) und einen Thermostat.
  2. Fügen Sie einige Skripts hinzu, die durch Aktionen mit virtuellen Geräten Befehle an das Gateway senden.
  3. Stellen Sie sicher, dass alles ordnungsgemäß verwaltet wird.

Virtuelle Geräte


Beim Erstellen von Geräten müssen Sie deren Namen angeben. Ich bringe meine mit, Sie können alle anderen auswählen, denken Sie daran, die Skripte später für sie zu reparieren.

Erstellen Sie einen regulären Switch (Typ "Switch") mit dem Namen "HVAC". Mit diesem Schalter wird eine Taste ein- und ausgeschaltet.

Um die Betriebsarten der Klimaanlage auszuwählen, fügen Sie einen virtuellen Schalter „HVAC-Mode“ (Typ „Selector Switch“) mit den folgenden Eigenschaften hinzu:


Bitte beachten Sie, dass ich hier nur zwei Modi erstellt habe - "Heizen" und "Kühlen". Obwohl die Klimaanlage immer noch die Modi „Auto“ und „Fan“ hat, sind sie für mich nutzlos - der erste funktioniert irgendwie seltsam und unangenehm für Haushalte, und der zweite wurde überhaupt nicht benötigt. Wenn Sie diese Modi verwenden, können Sie sie einfach zur Auswahl hinzufügen.

Erstellen Sie auf ähnliche Weise den Selektor „HVAC-FanSpeed“:


Jetzt muss nur noch der HVAC-Temp-Thermostat erstellt werden (der Gerätetyp ist Thermostat-Sollwert).

Skripte


Ich bin irgendwie näher an Domoticz-Skripten auf Lua (Geräte), also mache ich das, was für mich bequemer ist.

Zur Sicherheit: Die IP-Adresse des IR-Gateways in meinem Heimnetzwerk lautet 10.40.20.254. Diese Adresse wird in einem der Skripte angezeigt. Sie müssen sie an der Adresse Ihres Gateways korrigieren.

Erstellen Sie die folgenden drei Skripte.

HVACauto:

 commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Temp') then if (tonumber(deviceValue) < tonumber(otherdevices_temperature[''])) then commandArray['HVAC-Mode'] = 'Set Level: 10' --"Cool" else commandArray['HVAC-Mode'] = 'Set Level: 20' --"Heat" end commandArray['HVAC'] = "On" end end return commandArray 

Dieses Skript vergleicht die eingestellte Temperatur der Klimaanlage und die Temperatur des Raumsensors, um den richtigen Modus auszuwählen - „Kühlen“ oder „Heizen“.

HVACpower:

 commandArray = {} for deviceName,deviceValue in pairs(devicechanged) do if (deviceName == 'HVAC') then if deviceValue == "Off" then print('  ') commandArray['HVAC-Mode'] = 'Set Level: 0' --"Off" else if (tonumber(otherdevices['HVAC-Temp']) < tonumber(otherdevices_temperature[''])) then commandArray['HVAC-Mode'] = 'Set Level: 10' --"Cool" else commandArray['HVAC-Mode'] = 'Set Level: 20' --"Heat" end end end end return commandArray 

Dieses Skript überwacht den Status des „allgemeinen“ Schalters der Klimaanlage und wählt den gewünschten Betriebsmodus beim Ein- und Ausschalten der Klimaanlage.

Und das letzte HVACmain-Skript:

 commandArray = {} local cmnd for deviceName,deviceValue in pairs(devicechanged) do if (deviceName=='HVAC-Mode' or deviceName=='HVAC-FanSpeed' or deviceName=='HVAC-Temp') then if (otherdevices['HVAC-Mode']=='Off') then cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"Off"}' else cmnd = 'http://10.40.20.254/cm?cmnd=IRhvac{"Protocol":"COOLIX","Power":"On","Mode":"'..otherdevices['HVAC-Mode']..'","FanSpeed":"'..otherdevices['HVAC-FanSpeed']..'","Temp":'..otherdevices['HVAC-Temp']..'}' end print(cmnd) os.execute("wget '"..cmnd.."'") end end return commandArray 

Aber dieses Skript ist das wichtigste. Es generiert die richtigen Befehle mit den erforderlichen Parametern und implementiert eine GET-Anforderung an das Gateway. Vergessen Sie nicht, die IP-Adresse Ihres Gateways darin festzulegen.

Das ist eigentlich alles. Sie können die Domoticz-Oberfläche auf die entsprechenden Registerkarten umschalten und Tasten drücken, um die Klimaanlage zu steuern. Wenn alles richtig gemacht ist, wird die Klimaanlage nach Bedarf gesteuert.


Eigenschaften


Diese Option über ein IR-Gateway hat einen Nachteil - das Fehlen von Feedback. Das heißt, Wenn jemand eine Standardfernbedienung verwendet, ändern sich die Status in Domoticz nicht und es werden Informationen angezeigt, die nicht mehr relevant sind.

Im Allgemeinen stört dies nicht wirklich (insbesondere wenn Sie nicht die IR-Fernbedienung verwenden, sondern nur die Funktionen des UD verwenden).

Sie können natürlich mit dem IR-Gateway überwachen, welche Befehle über IR gesendet werden (das Gateway überträgt diese Informationen über MQTT) und etwas mehr programmieren, sodass auch bei Verwendung der Standardfernbedienung die aktuellen Status und Parameter im DD-System eingestellt werden.

Aber obwohl ich keine Zeit dafür habe und auch keinen besonderen Bedarf habe (es ist einfacher, in das Videoüberwachungssystem zu schauen und zu sehen, ob die Klimaanlage eingeschaltet ist).

Und weiter?


Natürlich hören wir hier nicht auf.

Zumindest ist die aktuelle Management-Implementierung bereits viel funktionaler als die Option „für die Kleinsten“.

Nachdem ich die Klimaanlage in Domoticz „weitergeleitet“ hatte, übernahm ich auch die Kontrolle mit Siri:

Nachdem die Möglichkeit bestand, das UD-System (und insbesondere die Sprache über Siri) zu steuern, verschwand die Notwendigkeit, eine Standard-IR-Fernbedienung zu verwenden.

In naher Zukunft werden wir ein "Winter" -Skript schreiben, das in Abwesenheit der Eigentümer und bei einer Temperatur "außerhalb" von mindestens -10 die Ressourcen der Klimaanlage zum Heizen des Hauses nutzt (es ist in diesem Modus energieeffizienter als elektrisch beheizte Böden, aber weniger komfortabel) Wenn die Eigentümer zurückkehren, wechseln sie wieder zur Fußbodenheizung.

Natürlich wird es ein "Sommer" -Skript geben, das automatisch den Kühlmodus einschaltet und die eingestellte Temperatur des Hauses beibehält.

Natürlich sind alle möglichen Anwendungsfälle nur durch Vorstellungskraft begrenzt. Nicht zurückhalten;)

Teil III?


Das angekündigte WiFi-Modul zur Steuerung der Klimaanlage ist derzeit nicht im Handel erhältlich.

Wenn es Zeit gibt (lange Winterabende), werde ich mich dem Schnittstellenmodul der Klimaanlage anders nähern und trotzdem versuchen, die internen Klimaanlagenbefehle zu "fangen".

Also ... bleibt dran!

Source: https://habr.com/ru/post/de473680/


All Articles