Ar condicionado IT. Parte II

Nesta parte, mostrarei a opção da integração "simples" de um condicionador de ar (e, em geral, quase qualquer dispositivo controlado via IR) usando um gateway WiFi <=> IR.

Para torná-lo mais interessante, escolhi um gateway popular (a propósito, Yandex o usa para Alice). Você pode comprar um no Ali, o preço é de cerca de 1200 rublos (o Yandex é mais caro).

O dispositivo é bastante compacto (cabe facilmente na palma da sua mão); dos órgãos visíveis, há um pequeno LED azul discreto e um botão para emparelhar. Todo o resto está escondido atrás de uma caixa transparente infravermelha preta. Você pode usar qualquer porta USB disponível (fonte de alimentação, computador etc.) como fonte de energia. O gateway está conectado a ele usando um cabo microUSB (fornecido ou de qualquer maneira conveniente).

A peculiaridade desse dispositivo é que ele é construído sobre o "bem conhecido em círculos estreitos" esp8266, o que significa que pode ser "domado" com bastante facilidade.

Opção "para o menor"


Antes de alterar o dispositivo, tentei usá-lo normalmente: instalei o aplicativo TuyaSmart no meu telefone (existem versões para Android e iPhone) e, em seguida, tudo é simples:

  • registrar-se no aplicativo,
  • passaremos por um pequeno assistente para conectar um novo dispositivo (para isso, o gateway deve estar conectado à energia e entrar no modo de "emparelhamento" usando um único botão,
  • depois que o gateway aparece no aplicativo, criamos um novo "painel de controle" - outro pequeno assistente em que você seleciona o tipo de dispositivo (no meu caso - Ar condicionado) e o fabricante é selecionado (não há Electrolux no aplicativo, mas funcionou muito bem ao escolher Midea). Imediatamente criamos o "nome" do novo console (eu escolhi "Sr. White").

Isso é tudo. Depois disso, o seguinte controle remoto aparece no telefone:

Com ele, você pode controlar as funções básicas básicas:

  • on / off
  • ajuste de temperatura
  • seleção do modo de operação ("Auto", "Arrefecimento", "Aquecimento", "Ventilador"),
  • seleção da velocidade do ventilador (“Auto”, “Baixo”, “Médio”, “Alto”).

Em geral, já é possível usar o controle remoto, mas onde estão a “casa inteligente” e a integração?

Como essa é uma maneira simples, é ruim para uma casa inteligente, mas com a integração é um pouco melhor.

Primeiro, mostre a pomada - não há integração com o Apple HomeKit; portanto, o Siri ainda não está disponível, mas com outras plataformas concorrentes, tudo é muito mais divertido:

  • Para o Amazon Alexa - existe uma habilidade Tuya Smart. Basta ativá-lo e indicar nela sua conta, que você inseriu durante o registro no aplicativo - você pode controlar por voz o ar condicionado.
  • Da mesma forma, você pode conectar o Tuya Smart ao Google Assistant.

Nos dois casos, o idioma russo não é suportado, mas a voz é controlada com facilidade e simplicidade. Encontrei os seguintes comandos:
- Alexa, ligue o Sr. White
Ei, Google, defina o Sr. White para 24 graus
- Alexa, desligue Mr.White

Deixe-me lembrá-lo de que implementei o controle de voz usando o Amazon Echo Dot e o Google Home Mini - ambos os dispositivos funcionam de maneira idêntica.

A propósito, quais comandos de voz você pode controlar o modo de operação e a taxa de fluxo de ar - não encontrei. Se alguém me disser, ficarei agradecido.

E então foi feita a integração "semi-automática" com o UD: quando a temperatura na sala ultrapassa o limite - o controlador UD envia uma mensagem pedindo para ligar o ar condicionado e eu, remotamente, usando o aplicativo TuyaSmart, liguei o ar-condicionado no modo necessário.

A solução é "mais ou menos", é claro, mas pelo menos de alguma forma você pode usá-lo.

Mas este não é o nosso caminho - seguimos em frente:

Jedi Way


Autópsia e preparação


Existe uma opção para piscar o dispositivo sem abri-lo, o método é descrito aqui .

Esse método me pareceu desnecessariamente complicado (tantos movimentos, quando o firmware requer apenas 4 fios para soldar), e foi interessante olhar para dentro.

Infelizmente, no processo, me empolguei e esqueci de tirar uma foto, então mostrarei as fotos de outras pessoas:


Mais fotos podem ser vistas aqui .

A foto mostra claramente que o módulo TYWE3S é usado (a folha de dados na qual é muito simples no Google).

Agora você precisa piscar o módulo. O firmware original foi substituído e não pode ser restaurado.

O firmware é feito de maneira muito simples: pegamos o ambiente do Arduino (ou Atom, ou algo mais - escolha a seu gosto). Faça o download do esboço com o firmware Tasmota para o ambiente de desenvolvimento . Em seguida, conectamos um módulo TYWE3S RX, TX, GND, VCC a partir de qualquer serial USB (não se misture - você precisa de 3,3V de energia e os níveis de sinal correspondentes, se houver 5V, será necessário solicitar um novo gateway). Antes de aplicar energia, não esqueça de fechar (de qualquer maneira conveniente) o GPIO0 do módulo ao terra, colocando o módulo no modo de firmware. Firmware.

Não é necessário configurar o firmware - tudo pode ser deixado no código "como está", basta "domesticar" o módulo.

Se tudo for feito corretamente (depois de desconectar os fios do firmware, é claro), ligue o gateway. No seu telefone ou computador, ative a pesquisa de redes Wi-Fi - uma nova rede deve aparecer com o nome sonoff-xxxx (onde xxxx são números), que nosso dispositivo atende.

Nós nos conectamos a esta rede e vamos para o endereço: 192.168.4.1 - essa é a interface da web do nosso gateway.

Primeiro, nas configurações do gateway, especifique a rede Wi-Fi doméstica e a senha (o dispositivo será reiniciado e conectado à rede doméstica). Além disso, todas as ações são mais fáceis de executar. Naturalmente, você precisa descobrir de qualquer maneira conveniente qual endereço do gateway recebido na rede doméstica.

Vamos para a página com as versões de firmware do Tasmota . Baixe dois arquivos - sonoff-minimal.bin e sonoff-ir.bin

Agora, usando a interface da web do gateway, atualizamos o firmware em dois estágios - primeiro costuramos a versão “mínima” e o segundo passo é o sonoff-ir.

Após todas essas ações simples, já teremos um módulo com a versão atual do firmware em nossas mãos, resta apenas configurá-lo da seguinte forma:



Na verdade, essa é a configuração mínima necessária - no exemplo descrito, interagiremos com o módulo usando solicitações GET (embora seja possível também através do MQTT).

Você pode verificar a operação do módulo e, ao mesmo tempo, descobrir algo útil em seu console (um link para ele está disponível na página principal da interface da web). Abra o console e veja como o módulo "vive".

Agora você pode começar a aprender a interface de controle do ar condicionado. Para fazer isso, pegue o controle remoto padrão no ar condicionado e pressione o botão liga / desliga. Se tudo estiver bem, uma linha como:

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

O módulo recebeu e "analisou" o comando IR do controle remoto. I.e. fica imediatamente claro no console qual protocolo (no meu caso é COOLIX) é usado pela unidade de ar condicionado padrão e quais parâmetros estão codificados na embalagem.

Ótimo, agora você já pode controlar o ar condicionado. Para fazer isso de maneira significativa, é melhor se familiarizar com essa descrição dos comandos.

Para verificação, enviaremos, por exemplo, o seguinte comando pelo console do gateway (darei todos os comandos do meu ar condicionado, você pode ter um protocolo de controle diferente):

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

Milagrosamente, o ar condicionado liga imediatamente e no modo necessário. Milagre!

Desligue o ar condicionado com o seguinte comando:

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

Em geral, o módulo é preparado e testado.

Vá para integração!

Ar condicionado + Domoticz = amizade para sempre!


Eu uso o Domoticz como o principal sistema de automação, portanto seremos "amigos" desse sistema em particular.

O plano de trabalho é o seguinte:

  1. Crie vários dispositivos virtuais: um comutador, dois seletores (para selecionar modos e taxa de fluxo de ar) e um termostato.
  2. Adicione alguns scripts que, por ações com dispositivos virtuais, enviarão comandos para o gateway.
  3. Verifique se tudo está sendo gerenciado como deveria.

Dispositivos virtuais


Ao criar dispositivos, você deve especificar seus nomes. Trago o meu, você pode escolher qualquer outro, lembre-se de corrigir os scripts para eles mais tarde.

Crie um comutador comum (digite "Switch") com o nome "HVAC". Este interruptor será usado para ligar / desligar um botão.

Para selecionar os modos de operação do ar condicionado, adicione um interruptor virtual "HVAC-Mode" (tipo "Selector Switch") com as seguintes características:


Por favor, note que aqui eu criei apenas dois modos - "aquecimento" e "refrigeração". Embora o ar condicionado ainda tenha os modos "Automático" e "Ventilador", eles são inúteis para mim - o primeiro funciona de alguma forma estranho e desconfortável para as famílias, e o segundo nunca foi necessário. Se você usar esses modos, poderá simplesmente adicioná-los ao seletor.

Da mesma forma, crie o seletor "HVAC-FanSpeed":


Agora resta criar apenas o termostato HVAC-Temp (o tipo de dispositivo é ponto de ajuste do termostato).

Scripts


Estou mais perto dos scripts do Domoticz em Lua (Devices), então estou fazendo o que é mais conveniente para mim.

Por definição - o endereço IP do gateway IR na minha rede doméstica é 10.40.20.254 e esse endereço aparece em um dos scripts. Você precisará corrigi-lo no endereço do gateway.

Crie os três scripts a seguir.

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 

Este script compara a temperatura definida do ar condicionado e a temperatura do sensor "Room" para selecionar o modo correto - "refrigeração" ou "aquecimento".

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 

Este script monitora o status da chave "geral" do ar condicionado e seleciona o modo de operação desejado ao ligar ou desligar o ar condicionado.

E o último 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 

Mas esse script é o mais importante. Ele gera os comandos corretos com os parâmetros necessários e implementa uma solicitação GET para o gateway. Não se esqueça de fixar o endereço IP do seu gateway nele.

Na verdade, é tudo. Você pode alternar a interface do Domoticz para as guias correspondentes e "pressionar botões" para controlar o ar condicionado. Se tudo for feito corretamente, o sistema de ar condicionado será controlado conforme necessário.


Funcionalidades


Essa opção através de um gateway de IR tem uma desvantagem - a falta de feedback. I.e. se alguém usar um controle remoto padrão, os status no Domoticz não serão alterados e exibirão informações que não são mais relevantes.

Em geral, isso realmente não interfere (especialmente se você não usar o controle remoto IR, mas usar apenas os recursos do UD).

Obviamente, você pode monitorar com o gateway IR quais comandos são enviados via IR (o gateway transmite essas informações via MQTT) e programar um pouco mais para que, mesmo ao usar o controle remoto padrão, os status e parâmetros atuais sejam definidos no sistema DD.

Mas enquanto eu não tenho tempo para isso e também não tenho uma necessidade especial (é mais fácil "olhar" para o sistema de videovigilância e ver se o ar condicionado está ligado).

E então?


Naturalmente, não paramos por aí.

No mínimo, a implementação de gerenciamento atual já é muito mais funcional que a opção "para o menor".

Depois de "encaminhar" o ar condicionado em Domoticz, também fiz o controle com a Siri:

Depois que a oportunidade apareceu para controlar o sistema UD (e, principalmente, a voz via Siri), a necessidade de usar um controle remoto padrão por IR desapareceu.

Num futuro próximo, escreveremos um script de "inverno" que, na ausência dos proprietários e a uma temperatura "fora" de pelo menos -10, use os recursos do ar condicionado para aquecer a casa (é mais eficiente em termos de energia nesse modo do que pisos com aquecimento elétrico, mas menos confortável), e quando os proprietários retornam, eles novamente mudam para o piso radiante.

Obviamente, haverá um script de "verão" que ativará automaticamente o modo de refrigeração e manterá a temperatura definida da casa.

Naturalmente, todos os casos de uso possíveis são limitados apenas pela imaginação. Não esconda nada;)

Parte III?


No momento, o anunciado módulo WiFi para controlar o ar condicionado não apareceu à venda.

Se houver tempo (longas noites de inverno), adotarei outra abordagem do módulo de interface do ar condicionado e ainda tentarei "capturar" os comandos internos do ar condicionado.

Então ... fique ligado!

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


All Articles