『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 803|回复: 4

[技术探讨] 如何定义库仑计充放电状态从数值转换成文本?

[复制链接]

4

主题

31

帖子

240

积分

中级会员

Rank: 3Rank: 3

积分
240
金钱
209
HASS币
0
发表于 2023-9-14 12:43:49 | 显示全部楼层 |阅读模式
本帖最后由 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正确显示:充电 放电状态,
恳请大神能帮助我解决问题,小弟将万分感谢!




图中的sensor 能从MQTT取回1、0两个状态值。

图中的sensor 能从MQTT取回1、0两个状态值。

状态值是1和0

状态值是1和0
回复

使用道具 举报

110

主题

1605

帖子

5070

积分

元老级技术达人

积分
5070
金钱
3460
HASS币
30
发表于 2023-9-14 14:31:00 | 显示全部楼层
if states('*********')|round=1

回复

使用道具 举报

4

主题

31

帖子

240

积分

中级会员

Rank: 3Rank: 3

积分
240
金钱
209
HASS币
0
 楼主| 发表于 2023-9-14 18:02:41 | 显示全部楼层

这个代码不对,有试过类似的案例吗?
回复

使用道具 举报

54

主题

270

帖子

4523

积分

元老级技术达人

积分
4523
金钱
4243
HASS币
80
发表于 2023-9-16 19:02:52 | 显示全部楼层
sensor.pv_state的定义在哪里
回复

使用道具 举报

4

主题

31

帖子

240

积分

中级会员

Rank: 3Rank: 3

积分
240
金钱
209
HASS币
0
 楼主| 发表于 2023-9-17 00:18:24 | 显示全部楼层
ryanh7 发表于 2023-9-16 19:02
sensor.pv_state的定义在哪里

那个没有,只是举例子,我自己要处理的是charge_state的定义,这个选项会由modbus返回两个值,要么是1,要么是0,如果是1就是充电,0就是放电,现在我要做的是怎么样做一个sensor,将数值转化为文本。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-10 20:44 , Processed in 0.051731 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表