ESPHOME node yaml configuration

Alguém tem experiencia com os custom sensor component? Estou a tentar integrar uma série de sensores de temperatura analógicos com LM35, de uma instalação desativada, cá em casa. Como os espelhos são legrand e já estão instalados, gostaria do os aproveitar.
Habitualmente uso esp01 ou esp8266 e não tenho qualquer problema em integrá-los com o Tasmota ou o esphome addon. Desta vez, como não existe biblioteca/platform do LM35, acho que é preciso fazer um custom sensor component, dando para importar as bibliotecas do arduino. Eu já tenho o sensor a ler temperaturas corretas sobre um D1 mini, quer no monitor serie do arduino quer no web server. Não consigo é dar o passo seguinte para colocar no ficheiro yaml do nó do esp. Alguma ajuda? Se chatear muito, compro os sensores DS18b20, que é digital e são também TO-92, devem encaixar na perfeição. Mas gostaria de aprender a lidar com estes custom components.

Já leste, esta documentação?
https://tasmota.github.io/docs/ADC/

Para usares esse sensor tens que instalar a versão tasmota-sensors.bin
image

O LM35 tenho para ai um mas nunca testei, salvo erro dá saida analogica , no wemos (esp8266) só tens 1 entrada analogica pino “A0”, se tens varios LM35, vais precisar varios ESP, se calhar é melhor pensares noutras soluções, ex:

  • usas um conversor analogico digital com vairas entradas e uma interface i2c por exemplo
  • vais para os onewire DS18b20, que são baratos e consegues por vários a funcionar no mesmo bus/gpio
    image

Obgdo pela resposta, mas tentei instalar essa versão mas devolveu-me erro por falta de espaço de memoria no d1 mini e no nodemcu. Estranhei mas segui em frente. Vou tentar novamente com o esphome, já que estava a trabalhar com o tasmotizer. Se tiver novidades partilharei!

PDM, obrigado pela pista. Como só tinha cá em casa o 74157 (quad 2x1multiplexer) e o 74138 (1/8 decoder multiplexer), achei que seria mais trabalho do que justificaria. Talvez experimente esta solução de multiplexagem com o 4051 que pode usar os 3,3V ou os 5V, embora só necessite de 1 canal.
Como só tenho um LM35 por piso, se colocar um ESP/piso, tenho o problema resolvido de termos só um canal analógico. Postarei as novidades. Obgdo

Se é para aquisição de temperaturas , tens tb outras soluções mais praticas, sensores ZB (zigbee) por exemplo, são alimentados a pilhas por isso de facil instalação é só pousar, usar iman ou colar.
Em termos de investimento, se já tiveres Home assistant , precisas de um gateway ZB que pode custar à volta de 15€ e depois cada sensor fica por volta de 8€.

isso aconteceu, porque primeiro tens que instalar a versao minimal.bin e so depois a que disse, pensei que soubesses.

Não! não sabia! Ainda não tinha chegado aí. Só estou nisto há uns meses, o certo é, que tenho aprendido muito com a comunidade.
Quer dizer que instalando a minimal, depois quando se vai fazer a instalação da versão sensors, faz-se o disable na checkbox de “apagar o firmware anterior” para não apaga a instalação anterior, é isso?
ABC

Se estiveres a flashar via hardwire TTL , com tasmotizer podes meter o bin directo

Obrigado pelas dicas, mas o critério principal seria aproveitar os espelhos da legrand que tenho instalados, com cabos passados para a zona dos expansores. Claro que o preço é sempre outro critério.
Como tal, a solução dos DS18B20 seria sempre a mais económica. comprei 5 por 4,95€. Já vem a caminho! Depois para quem está em casa ao fim de semana em confinamento, vem a questão da aprendizagem. Porque não investigar e ver como se poderá integrar um sensor analógico no HA?
Quanto ao Zigbee não tenho nada contra, mas por principio e sempre que possível, desenvolvo os meus módulos, embora recentemente tenha feito umas aquisições pelos hubs da Ikea, Lidl, Mi e aqui há uns meses atrás comprei um shelly EM, para fazer o controle de consumo da minha viatura eléctrica, mas sempre com a integração no HA. Mas obgdo na mesma pela dica. Tenho a certeza um dia destes farei umas brincadeiras com o zigbee. .

Ok, vou tentar. Obgdo

Tb faço algumas coisas (poucas) com wemos, a maior parte é testar modulos , ver que funciona e arrumo no monte.
LM35 tem decadas , acho que não faz sentido qd temos DS18B20 que dá leitura directa com tasmota “normal” sem ter de andar com firm´s sensor, num GIPIO testei pelo menos com 4 e funciona, não testei foi com distancias de cabo longas.

Só esclarecer que existem conversor que são ligados ao ESP, que permite ligar mais canais analógicos. Trabalho por I2C. Eu fiz um analisador de energia e usei apenas um esp e um desses conversores. Se precisar posso procurar a referência mas no google deve aparecer logo.

sim por i2c há milhares de soluções :wink:

Acham que funcionará publicando a temperatura do sensor através de mqtt client do esp para o mqtt server do HA? ou isso não funciona para a entrada analógica?

Mas já tem o sensor ligado ao ESP? Pensei que era esse o problema?! Onde ligou o sensor? Na entrada analógica, se sim qual o módulo ESP que está a usar?

Já tenho leituras na webpage do D1 mini. O sensor está ligado no A0. Qdo usei o tasmota as temperaturas são na ordem dos 186°C, mas consigo integrar no HA. Qdo desligo o data PIN a temperatura sobe para 286°C. Gostaria era de publicar as leituras corretas que leio no serial monitor ou na webpage. Portanto publicar para o Mqtt server á manápula, á moda antiga, porque o esphome não tem a biblioteca do LM35.

Boas,

Se o sensor está ligado no A0, pode usar o ESPHOME directamente. Sinceramente tentei usar o ADC com o tasmota mas nunca gostei. Prefiro o ESPHOME, tem de ter em atenção o seguinte:

  • Tem de ter uma função de conversão de tensão para temperatura.
  • O ADC só aceita tensões entre 0 e 1 volt, no entanto no caso do D1 Mini ele tem um divisor de tensão que permite aplicar tensões até 3,3V.
  • O LM35 tem uma saída que é em tensão e igual a 10mV por grau centigrado.
  • A Escala do LM35 é de 2 a 150ºC
    Logo tendo tudo isto em conta:
  • A tensão máxima na saída do LM35 vair ser (150-2)+10mV = 1.48V
  • Como a saída do LM35 está ligada ao divisor de tensão do D1 mini, o valor que chega ao ADC é de + ou - 1/3 do valor total, neste caso é de 0.4625
  • Usando os valores para calculo da recta, y2=150, y1=2, x2=0.4625 e x1=0, iremos ter a equação da recta: y= 320*x + 2

Resultado, se colocar no ESPHOME a seguinte configuração:

sensor:
  - platform: adc
    pin: A0
    name: "Temperatura LM35"
    update_interval: 5s
    filters:
      - lambda: return (x * 320) + 2;
    unit_of_measurement: "ºC"

Deverá ter o valor da temperatura que está a ler. Também deverá aparecer no Homeassistant, presumindo que tem o esphome instalado.

Nota final: Não analisei completamente os dados do LM35, portanto estou a considerar uma saida de 10mV por grau centigrado, numa escala entre 2 e 150ºC. Além disso estou a considerar que está a usar o D1 mini. Portanto se usar outra montagem que não o D1 mini teremos de analisar se existe divisor de tensão na entrada.

Sim é o D1 mini e é os 10mV/ºC, sendo que a gama é de 0-100ºC por ser um LM35D.
Pelo que percebo, basta incluir/adicionar este script ao gerado pelo ESPHOME quando se cria inicialmente o Node, é isso?
Já agora, os 320 é devido à tensão de alimentação do D1 mini? Não deveria ser 330 uma vez que são 3,3V e já os confirmei?
Os “+2”, significa o quê?
Obrigado pela ajuda!

Desculpa a pergunta dos +2. Já percebi depois de ter lido a tua explicação anterior.
Foi à japonesa, comecei a ler do fim! :slight_smile:


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade