本帖最后由 sayinzest 于 2023-9-14 12:58 编辑
背景:
本人接触ha半年了,
做了一个库仑计是用Tasmota刷了固件,固件仅仅充当于mqtt透传,不做sensor. 真正的sensor是在Ha里面写的。mqtt返回的信息,全部sensor基于这个来写:
tele/BatteryMonitor/RESULT= {"SerialReceived":":R50=1,\n:r50=1,243,1242,0,11000,70,63,55062,125,0,0,0,0,0,\r\n"}
问题是如何将得到的数值转化成中文指示,因为不熟悉代码,试了很多的template,lambda,等等,都没有效果。
template:
- trigger:
- platform: mqtt
topic: tele/tasmota_EF28BC/RESULT
sensor:
#电池电压(数据正确)
- name: Voltage
unique_id: v001
unit_of_measurement: "V"
state: "{{ (trigger.payload.split(',')[3] | float/100) }}"
#电池充放电状态 (1表示充电,0表示放电)
- name: charge_state
unique_id: cs001
state: "{{ (trigger.payload.split(',')[12]) }}"
找过一个例子直接将他的代码复制过来,都是报错的:
sensor:
- platform: template
sensors:
pv_state_change:
friendly_name: '光伏板状态'
value_template: >
{% if is_state('sensor.pv_state', '0') %}
低电压未发电
{% elif is_state('sensor.pv_state', '1') %}
发电中
{% elif is_state('sensor.pv_state', '2') %}
过压保护
{% elif is_state('sensor.pv_state', '3') %}
光伏板未接入
{% endif %}
我的问题是:如何使我的这个电池的sensor正确显示:充电 放电状态,
恳请大神能帮助我解决问题,小弟将万分感谢!
|