Ajuda a um entusiasta

Olá comunidade. Acabei caindo de paraquedas nessa área de automação e, através dos tutoriais e discussões aqui do grupo, consegui integrar a maioria dos dispositivos que tenho.
Porém, há um dispositivo que não possui interação ao HA:
“Placa de Automação residencial - Automação Alexa / Google Home 08 Canais – Redgtech Automacao.”


Poderiam me informar, o que preciso saber para conseguir me comunicar com essa placa através do HA?
Em contato com o fabricante, o mesmo me informou a possibilidade dessa anexação, mas que nunca teria feito, apenas me passou uma linha de código que um de seus clientes executou (Vou deixar ela abaixo). Porém eu gostaria de entender como o processo funciona, onde devo digitar aquela linha de código e, quais os tópicos por trás disso tudo que devo estudar. Me sinto perdido, caso possam me ajudar, fico muito agradecido. Valeu.

   - platform: command_line
scan_interval: 10
switches:
  rele7:
    command_on: "/usr/bin/curl -X GET http://10.1.0.109/?7l"
    command_off: "/usr/bin/curl -X GET http://10.1.0.109/?7d"
    command_state: "/usr/bin/curl -X GET http://10.1.0.109/L"
    value_template: '{{ value_json["AC7"] == "1" }}'
    friendly_name: Placa Teste

Basicamente esse código vai criar um interruptor no HA para enviar os comandos via http para o relé 7 e consultar o status a cada 10 segundos. Então vc vai repetir esse código para os 8 relés fazendo as alterações necessárias.

Boa tarde Walber, obrigado pela atenção.
Mas quando digito o código, todos aparecem como “command not found”

1 Like

Tenta sem o usr/bin

command_line:
  - switch:
      name: Rele 7
      command_on: "curl -X GET http://10.1.0.109/?7l"
      command_off: "curl -X GET http://10.1.0.109/?7d"
      command_state: "curl -X GET http://10.1.0.109/L"
      value_template: '{{ value_json["AC7"] == "1" }}'
      scan_interval: 10

Walber, tu é o cara. Muito obrigado pela atenção

É interessante se possivel usar mqtt pra evitar ter que ficar pingando a placa 8 vezes a cada 10 segundos. Com MQTT o HA receberia instantaneamente o estado quando ele mudar. Dei uma olhada no site do fabricante e aparentemente o firmware padrao nao tem essa opcao. Eu diria que vale a pena investigar se eles usam um esp como MCU, se eles usarem seiral interessamte trocar firmware por tasmota ou esphome.

Bom dia Ariel. Essa placa utiliza um microcontrolador chamado ATMEGA328p, o mesmo do Arduino Uno. A respeito do MQTT, como eu faria essa conexão entre o HA / MQTT / Placa? Se puder me passar um conteúdo pra eu estudar, agradeço.

Nesse caso teria que programar um firmware em c ou em arduino. Se fosse um esp era bem mais facil com esphome. Se você não sabe programação eu deixaria quieto (a não ser que você tiver vontade de aprender programação de embarcados aí vale como um projeto de estudo) o tamanho da melhoria é muito menor que o trabalha que vai dar. Não é nada muito complicado, pra alguem que ja sabe programar seria um projeto simples na verdade mas tem muita coisa que precisa saber.

De qualquer maneira eu recomendo pro futuro como regra geral comprar hardware que integra com local push, ( o dispositivo avisa HA quando seu estado mudou) a experiência de usuário costuma ser melhor do que com local polling (o HA fica perguntando sem parar pro dispositivo se o estado dele mudou)
Caso você tenha interesse segue
Um passo a passo do que precisaria saber/estudar:

  • Aprender a programar em Arduino
  • descobrir qual modulo wifi/ethernert a placa usa (mesmo a placs tendo os dois voce pode so porgramar o que voce vai usar.
  • aprender detalhes de mqtt
  • aprender a programar mqtt para o módulo Wi-Fi/Ethernet

Para aprender detalhes do mqtt eu gosto desse guia:

O resto das coisas não tenho recomendação específica mas tem muito material grátis no Google.

Observacoes

  1. Extrair firmware original da placa ou pedir arquivo do firmware pro fabricante antes de fazer upload de um firmware seu, para ter como voltar se não der certo
  2. Algumas pessoas conseguem fazer coisas desse tipo sem saber programar copiando código da internet e tentando fazer pequenas mudanças pra funcionar pro seu caso. Eu fortemente recomendo NÃO FAZER ISSO, é bem comum dar bastante coisa errado e a pessoa perder dias com hardware sem funcionar.