Climatiseur IT. Partie II

Dans cette partie, je vais vous dire l'option d' intégration «simple» d'un climatiseur (et, en général, de presque tous les appareils contrôlés via IR) à l'aide d'une passerelle WiFi <=> IR.

Afin de le rendre plus intéressant, j'ai choisi une passerelle populaire (au fait, Yandex l'utilise pour son Alice). Vous pouvez en acheter un sur Ali, le prix est d'environ 1200 roubles (Yandex est plus cher).

L'appareil est assez compact (tient facilement dans la paume de votre main), des organes visibles il y a une petite LED bleue discrète et un bouton pour l'appairage. Tout le reste est caché derrière un boîtier transparent infrarouge noir. Vous pouvez utiliser n'importe quel port USB disponible (alimentation, ordinateur, etc.) comme source d'alimentation. La passerelle y est connectée à l'aide d'un câble microUSB (fourni ou de toute autre manière pratique).

La particularité de cet appareil est qu'il est construit sur le "bien connu dans les cercles étroits" esp8266, ce qui signifie qu'il peut être "apprivoisé" assez facilement.

Option "pour les plus petits"


Avant de changer d'appareil, j'ai essayé de l'utiliser normalement: j'ai installé l'application TuyaSmart sur mon téléphone (il existe des versions pour Android et iPhone), et puis tout est simple:

  • s'inscrire dans l'application,
  • nous allons passer par un petit assistant pour connecter un nouvel appareil (pour cela, la passerelle doit être connectée à l'alimentation et entrer en mode "appairage" en utilisant un seul bouton dessus,
  • après l'apparition de la passerelle dans l'application, nous créons un nouveau «panneau de contrôle» - un autre petit assistant où vous sélectionnez le type d'appareil (dans mon cas - la climatisation), puis le fabricant est sélectionné (il n'y a pas d'Electrolux dans l'application, mais cela a très bien fonctionné lors du choix de Midea). Immédiatement, nous trouvons le «nom» de la nouvelle console (j'ai choisi «M. White»).

C’est tout. Après cela, la télécommande suivante apparaît sur le téléphone:

Avec lui, vous pouvez contrôler les fonctions de base de base:

  • marche / arrêt
  • réglage de la température
  • sélection du mode de fonctionnement ("Auto", "Refroidissement", "Chauffage", "Ventilateur"),
  • sélection de la vitesse du ventilateur («Auto», «Low», «Medium», «High»).

En général, il est déjà possible d'utiliser pour la télécommande, mais où est la «maison intelligente» et l'intégration?

Comme c'est un moyen simple, c'est mauvais avec une maison intelligente, mais avec l'intégration, c'est un peu mieux.

Tout d'abord, une mouche dans la pommade - il n'y a pas d'intégration avec Apple HomeKit, donc Siri n'est pas encore disponible, mais avec d'autres plates-formes concurrentes, tout est beaucoup plus amusant:

  • Pour Amazon Alexa - il existe une compétence Tuya Smart. Il suffit de l'activer et d'indiquer en elle votre compte, que vous avez entré lors de l'inscription dans l'application - vous pouvez contrôler vocalement le climatiseur.
  • De même, vous pouvez connecter Tuya Smart à Google Assistant.

Dans les deux cas, la langue russe n'est pas prise en charge, mais la voix est contrôlée facilement et simplement. J'ai trouvé les commandes suivantes:
- Alexa, allume M. White
- Hé, Google, mets M. White à 24 degrés
- Alexa, éteins Mr.White

Permettez-moi de vous rappeler que j'ai mis en œuvre la commande vocale à l'aide d'Amazon Echo Dot et de Google Home Mini - les deux appareils fonctionnent de manière identique.

Soit dit en passant, quelles commandes vocales vous pouvez contrôler le mode de fonctionnement et le débit d'air - je n'ai pas trouvé. Si quelqu'un me le dit, je vous en serai reconnaissant.

Et puis l'intégration «semi-automatique» avec UD a été effectuée: lorsque la température dans la pièce dépasse le seuil - le contrôleur UD envoie un message demandant d'allumer le climatiseur, et moi, à distance, en utilisant l'application TuyaSmart, j'ai allumé le climatiseur dans le mode requis.

La solution est "so-so", bien sûr, mais au moins d'une manière ou d'une autre, vous pouvez l'utiliser.

Mais ce n'est pas notre chemin - nous continuons:

Jedi Way


Autopsie et préparation


Il existe une option pour flasher l'appareil sans l'ouvrir, la méthode est décrite ici .

Cette méthode me semblait inutilement compliquée (tant de mouvements, lorsque le firmware ne nécessite que 4 fils à souder), et c'était intéressant de regarder à l'intérieur.

Malheureusement, au cours du processus, je me suis laissé emporter et j'ai oublié de prendre une photo, donc je vais montrer les photos d'autres personnes:


Plus de photos peuvent être vues ici .

La photo montre clairement que le module TYWE3S est utilisé (la fiche technique sur laquelle est très simple dans Google).

Vous devez maintenant flasher le module. Le firmware d'origine est écrasé et ne peut pas être restauré.

Le firmware se fait très simplement: on prend l'environnement Arduino (ou Atom, ou autre chose - choisissez à votre goût). Téléchargez l'esquisse avec le firmware Tasmota dans l' environnement de développement . Ensuite, nous nous connectons sur un module TYWE3S RX, TX, GND, VCC de n'importe quelle série USB (ne pas mélanger - vous avez besoin d'une alimentation de 3,3 V et des niveaux de signal correspondants, s'il y a 5 V, vous devrez commander une nouvelle passerelle). Avant de mettre sous tension, n'oubliez pas de fermer (de quelque manière que ce soit) le GPIO0 du module à la masse, mettant ainsi le module en mode firmware. Firmware.

Il n'est pas nécessaire de configurer le firmware - tout peut être laissé dans le code «tel quel», il suffit de «dompter» le module.

Si tout est fait correctement (après avoir déconnecté les fils du firmware, bien sûr), allumez la passerelle. Sur votre téléphone ou votre ordinateur, activez la recherche de réseaux WiFi - un nouveau réseau devrait apparaître avec le nom sonoff-xxxx (où xxxx sont des nombres), que notre appareil récupère.

Nous nous connectons à ce réseau et allons à l'adresse: 192.168.4.1 - c'est l'interface web de notre passerelle.

Tout d'abord, dans les paramètres de la passerelle, spécifiez le réseau WiFi domestique et le mot de passe correspondant (l'appareil redémarrera et se connectera au réseau domestique). De plus, toutes les actions sont plus faciles à faire. Naturellement, vous devez trouver de manière pratique l'adresse de la passerelle reçue dans le réseau domestique.

Nous allons à la page avec les versions du firmware Tasmota . Téléchargez deux fichiers - sonoff-minimal.bin et sonoff-ir.bin

Maintenant, en utilisant l'interface Web de la passerelle, nous mettons à jour le firmware en deux étapes - nous cousons d'abord la version «minimale», et la deuxième étape est sonoff-ir.

Après toutes ces actions simples, nous aurons déjà un module avec la version actuelle du firmware en main, il ne reste plus qu'à le configurer comme suit:



En fait, c'est la configuration minimale nécessaire - dans l'exemple décrit, nous allons interagir avec le module à l'aide de requêtes GET (bien que cela soit également possible via MQTT).

Vous pouvez vérifier le fonctionnement du module, et en même temps trouver quelque chose d'utile dans sa console (un lien vers celui-ci est disponible sur la page principale de l'interface web). Ouvrez la console et voyez comment le module «vit».

Vous pouvez maintenant commencer à apprendre l'interface de contrôle de la climatisation. Pour ce faire, prenez la télécommande standard du climatiseur et appuyez sur le bouton d'alimentation. Si tout va bien, alors une ligne comme:

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}}} 

Le module a reçu et "analysé" la commande IR de la télécommande. C'est-à-dire il est immédiatement clair depuis la console quel protocole (dans mon cas c'est COOLIX) est utilisé par l'unité de climatisation standard et quels paramètres sont encodés dans le package.

Super, maintenant vous pouvez déjà contrôler la climatisation. Pour ce faire, il est préférable de vous familiariser avec cette description des commandes.

Pour vérifier via la console de la passerelle, nous enverrons, par exemple, cette commande (je donnerai toutes les commandes pour mon climatiseur, vous pouvez avoir un protocole de contrôle différent):

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

Miraculeusement, le climatiseur se met en marche immédiatement et dans le mode requis. Miracle!

Éteignez le climatiseur avec la commande suivante:

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

En général, le module est préparé et testé.

Allez à l'intégration!

Climatisation + Domoticz = amitié pour toujours!


J'utilise Domoticz comme système d'automatisation principal, nous serons donc «amis» avec ce système particulier.

Le plan de travail est le suivant:

  1. Créez plusieurs appareils virtuels: un interrupteur, deux sélecteurs (pour sélectionner les modes et le débit d'air) et un thermostat.
  2. Ajoutez quelques scripts qui, par des actions avec des périphériques virtuels, enverront des commandes à la passerelle.
  3. Vérifiez que tout est géré comme il se doit.

Appareils virtuels


Lors de la création de périphériques, vous devez spécifier leurs noms. J'apporte le mien, vous pouvez en choisir d'autres, n'oubliez pas de corriger les scripts pour eux plus tard.

Créez un commutateur standard (tapez «Switch») avec le nom «HVAC». Ce commutateur sera utilisé pour activer / désactiver un bouton.

Pour sélectionner les modes de fonctionnement du climatiseur, ajoutez un interrupteur virtuel «HVAC-Mode» (type «Selector Switch») avec les caractéristiques suivantes:


Veuillez noter qu'ici, je n'ai créé que deux modes - «chauffage» et «refroidissement». Bien que le climatiseur ait toujours les modes "Auto" et "Fan", ils sont inutiles pour moi - le premier fonctionne d'une manière étrange et inconfortable pour les ménages, et le second n'a jamais été nécessaire du tout. Si vous utilisez ces modes, vous pouvez simplement les ajouter au sélecteur.

De même, créez le sélecteur «HVAC-FanSpeed»:


Il ne reste plus qu'à créer le thermostat HVAC-Temp (le type d'appareil est Thermostat Setpoint).

Scripts


Je suis en quelque sorte plus proche des scripts Domoticz sur Lua (Devices), donc je fais ce qui me convient le mieux.

Pour plus de précision - l'adresse IP de la passerelle IR dans mon réseau domestique est 10.40.20.254 et cette adresse apparaît dans l'un des scripts, vous devrez la fixer sur l'adresse de votre passerelle.

Créez les trois scripts suivants.

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 

Ce script compare la température réglée du climatiseur et la température de la sonde «Pièce» afin de sélectionner le mode correct - «refroidissement» ou «chauffage».

CVC:

 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 

Ce script surveille l'état de l'interrupteur «général» du climatiseur et sélectionne le mode de fonctionnement souhaité lors de la mise en marche ou de l'arrêt du climatiseur.

Et le dernier script HVACmain:

 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 

Mais ce script est le plus important. Il génère les commandes correctes avec les paramètres nécessaires et implémente une requête GET à la passerelle. N'oubliez pas d'y fixer l'adresse IP de votre passerelle.

En fait, c'est tout. Vous pouvez basculer l'interface Domoticz sur les onglets correspondants et «appuyer sur les boutons» pour contrôler la climatisation. Si tout est fait correctement, le système de climatisation sera contrôlé selon vos besoins.


CARACTÉRISTIQUES


Cette option via une passerelle IR présente un inconvénient - le manque de rétroaction. C'est-à-dire si quelqu'un utilise une télécommande standard, les statuts de Domoticz ne changeront pas et afficheront des informations qui ne sont plus pertinentes.

En général, cela n'interfère pas vraiment (surtout si vous n'utilisez pas la télécommande IR, mais utilisez uniquement les capacités de l'UD).

Vous pouvez bien sûr surveiller avec la passerelle IR quelles commandes sont envoyées via IR (la passerelle transmet ces informations via MQTT) et programmer un peu plus afin que même en utilisant la télécommande standard, les états et paramètres actuels soient définis dans le système DD.

Mais même si je n'ai pas le temps pour ça, et je n'ai pas non plus de besoin particulier (il est plus facile de "regarder" dans le système de vidéosurveillance et de voir si la climatisation est allumée).

Et alors?


Naturellement, nous ne nous arrêtons pas là.

Au minimum, l'implémentation de gestion actuelle est déjà beaucoup plus fonctionnelle que l'option «pour les plus petits».

Après avoir «expédié» le climatiseur à Domoticz, j'ai également pris le contrôle avec Siri:

Après que l'occasion soit apparue de contrôler le système UD (et surtout la voix via Siri), la nécessité d'utiliser une télécommande infrarouge standard a disparu.

Dans un avenir proche, nous écrirons un scénario «d'hiver» qui, en l'absence des propriétaires et à une température «extérieure» d'au moins -10, utilisera les ressources du climatiseur pour chauffer la maison (il est plus économe en énergie dans ce mode que les planchers chauffants électriques, mais moins confortable), et à leur retour, les propriétaires passent de nouveau au chauffage au sol.

Bien sûr, il y aura un script «été» qui activera automatiquement le mode de refroidissement et maintiendra la température réglée de la maison.

Naturellement, tous les cas d'utilisation possibles ne sont limités que par l'imagination. Ne vous retenez pas;)

Partie III?


Pour le moment, le module WiFi annoncé pour le contrôle de la climatisation n'est pas apparu en vente.

S'il y a du temps (longues soirées d'hiver), je prendrai une autre approche du module d'interface de climatisation et j'essaierai toujours de "capturer" les commandes internes de climatisation.

Alors ... restez à l'écoute!

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


All Articles