Tasmota: 如何从 Wemos D1 迷你 MQTT 主题中提取 AnalogA0 输入值并在 Home Assistant 中更改值

创建于 2019-03-17  ·  3评论  ·  资料来源: arendst/Tasmota

我在 Wemos D1 mini 上安装了最新版本的 Tasmota,并评论了 ADC 语音以读取 AnalogA0 输入值。 该值在主页中正确给出,范围从 0 到 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}}

当我进入控制台时,我可以看到每 5 分钟就会触发一个带有模拟值的新 MQTT 主题。 我想取这个值,在 Home Assistant 中报告它并转换它。

但是,首先我不明白如何提取要在 Home Assistant 中报告的值。 这是我正在使用的代码,它肯定不正确。

sensor:
  - platform: mqtt
    name: "Plant Humidity"
    state_topic: "tele/wemos_3/SENSOR"
    unit_of_measurement: '%'
    value_template: "{{ value_json.A0 }}"

另一个问题是,如果您知道如何在家庭助理中直接转换此值,则该值范围从 0 到 100%,知道 1024 将是 100%。 我知道这是可以做到的,但我对此非常陌生。

最后,模拟输入连接到土壤水分传感器。 连接到同一个 Wemos 上有一个中继屏蔽。 我注意到当我打开/关闭继电器时,模拟值也会受到一点影响(例如它从 1024 变为 1018)。 这是正常的吗?

invalid

最有用的评论

一千个为我的英语道歉。 我有同样的担忧,并解决了以下问题:

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

因此,我可以以一种简单的方式将类似的读数转换为一个值,例如百分比,而无需使用 jinja 模板。

所有3条评论

应该是value_json.ANALOG.A0因为 A0 嵌套在模拟之下
另一个问题是关于家庭助理的支持,它涉及 jinja 模板并且不在 tasmota 领域

关闭此问题,因为它已得到回答。


支持信息(指南

有关更多信息,请参阅Wiki
有关更多用户体验,请参阅聊天
请参阅社区论坛。
参见行为准则

一千个为我的英语道歉。 我有同样的担忧,并解决了以下问题:

value_template: "{{(value_json ['ANALOG']. A0 | float * 100/1024) | round (1)}}"

因此,我可以以一种简单的方式将类似的读数转换为一个值,例如百分比,而无需使用 jinja 模板。

此页面是否有帮助?
0 / 5 - 0 等级