Instalei a última versão do Tasmota em um mini Wemos D1 e também comentei a voz do ADC para ler o valor de entrada AnalogA0. Este valor é fornecido corretamente na página principal, variando de 0 a 1024.
09:14:01 MQT: tele/wemos_3/STATE = {"Time":"2019-03-17T09:14:01","Uptime":"0T00:40:20","SleepMode":"Dynamic","Sleep":50,"LoadAvg":38,"POWER":"OFF","Wifi":{"AP":1,"SSId":"In_medio_stat_virtus-2GHz","BSSId":"A0:63:91:E0:A4:87","Channel":1,"RSSI":98}}
09:14:01 MQT: tele/wemos_3/SENSOR = {"Time":"2019-03-17T09:14:01","ANALOG":{"A0":1024}}
Quando eu entro no console, posso ver que a cada 5 minutos um novo tópico MQTT é disparado com o valor Analog. Eu gostaria de pegar esse valor, relatá-lo no Home Assistant e também convertê-lo.
Porém, primeiro não entendi como extrair esse valor para ser informado no Home Assistant. Este é o código que estou usando e que com certeza não está correto.
sensor:
- platform: mqtt
name: "Plant Humidity"
state_topic: "tele/wemos_3/SENSOR"
unit_of_measurement: '%'
value_template: "{{ value_json.A0 }}"
Outra dúvida seria se você sabe converter diretamente no assistente domiciliar esse valor que varia de 0 a 100% sabendo que 1024 seria 100%. Eu sei que pode ser feito, mas sou muito novato nisso.
Finalmente, a entrada analógica é conectada a um sensor de umidade do solo. Anexado ao mesmo Wemos há uma blindagem de relé. Percebi que quando eu ligo / desligo o relé, também o valor analógico é um pouco influenciado (como muda para 1018 de 1024 por exemplo). Isso é normal?
Deve ser value_json.ANALOG.A0
visto que A0 está aninhado em analógico
a outra questão é para o suporte do assistente doméstico, envolve modelagem de jinja e está fora do reino tasmota
Encerrando este problema conforme foi respondido.
Consulte o Wiki para obter mais informações.
Consulte Chat para obter mais experiência do usuário.
Consulte Comunidade para ver o fórum.
Veja o Código de Conduta
Mil desculpas pelo meu inglês. Tive a mesma preocupação e resolvi da seguinte forma:
value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"
Assim, posso converter uma leitura análoga em um valor, por exemplo, porcentagem, de uma forma simples, sem ter que usar modelos jinja.
Comentários muito úteis
Mil desculpas pelo meu inglês. Tive a mesma preocupação e resolvi da seguinte forma:
value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"
Assim, posso converter uma leitura análoga em um valor, por exemplo, porcentagem, de uma forma simples, sem ter que usar modelos jinja.