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

 找回密码
 立即注册
查看: 7105|回复: 12

[技术探讨] 怎么进行数据转换

[复制链接]

46

主题

332

帖子

3392

积分

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3060
HASS币
0
发表于 2021-8-13 09:21:36 | 显示全部楼层 |阅读模式
本帖最后由 jck773656345 于 2021-8-13 09:24 编辑

我用node red获取天气情况的数据是英文的,导致TTS出来是英文,有什么方法可以转换吗,比如当它是“sunny”的时候,转成中文“晴天”,还有一个,我用template获取一个实体的attribute属性值,也是英文的,比如当它数值是“ture”的时候我想让他显示指定的文字,比如中文“在家”,我怎么进行转换,好像是在template数据哪里写条件语句是吗,我代码小白,写不出来,有没有人帮帮我,感谢
QQ截图20210813090015.jpg
QQ截图20210813090050.jpg
QQ截图20210813090117.jpg
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2021-8-13 09:38:09 | 显示全部楼层
你用nr里的chage节点,每一条改成修改,英文==中文,这样后面就翻译出来了中文数据了,
回复

使用道具 举报

46

主题

332

帖子

3392

积分

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3060
HASS币
0
 楼主| 发表于 2021-8-13 09:48:07 | 显示全部楼层
情非殇 发表于 2021-8-13 09:38
你用nr里的chage节点,每一条改成修改,英文==中文,这样后面就翻译出来了中文数据了, ...

感谢,tts已经解决了,还有一个问题,我用template获取一个实体的attribute属性值,也是英文的,我想让他在前端显示成指定内容,比如当它数值是“ture”的时候我想让他显示指定的文字,比如中文“在家”
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2021-8-13 10:03:51 | 显示全部楼层
本帖最后由 情非殇 于 2021-8-13 10:10 编辑
jck773656345 发表于 2021-8-13 09:48
感谢,tts已经解决了,还有一个问题,我用template获取一个实体的attribute属性值,也是英文的,我想让他 ...
  - platform: template
    sensors:
      city_phase:
        value_template: '{% if is_state("sensor.youjia_city", "shandong") %}山东{% else %}未知{% endif %}'
        friendly_name: '城市'
template:
  - sensor:
      - name: "Kettle"
        state: >
          {% if is_state('switch.kettle', 'off') %}
            off
          {% elif state_attr('switch.kettle', 'kwh')|float < 1000 %}
            standby
          {% elif is_state('switch.kettle', 'on') %}
            on
          {% else %}
            failed
          {% endif %}


你参考下这段代码吧,
回复

使用道具 举报

46

主题

332

帖子

3392

积分

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3060
HASS币
0
 楼主| 发表于 2021-8-13 11:00:13 | 显示全部楼层
情非殇 发表于 2021-8-13 10:03
你参考下这段代码吧,

搞定,再次感谢
回复

使用道具 举报

46

主题

332

帖子

3392

积分

论坛元老

Rank: 8Rank: 8

积分
3392
金钱
3060
HASS币
0
 楼主| 发表于 2021-8-13 14:40:32 | 显示全部楼层
本帖最后由 jck773656345 于 2021-8-13 14:55 编辑
情非殇 发表于 2021-8-13 10:03
你参考下这段代码吧,

实体的state状态根据你那个参考代码可以显示,但是我想直接显示attributes属性值,做个几种写法,怎么试都不行,你帮我看一下是不是没写对,谢谢
QQ截图20210813143706.jpg
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24304
金钱
22873
HASS币
290
发表于 2021-8-13 22:30:15 | 显示全部楼层
本帖最后由 dscao 于 2021-8-13 22:34 编辑

官方文档肯定有你要的:
https://www.home-assistant.io/docs/configuration/templating/


Attributes examples

{% if states.device_tracker.paulus %}
  {{ state_attr('device_tracker.paulus', 'battery') }}
{% else %}
  ??
{% endif %}



回复

使用道具 举报

24

主题

884

帖子

5055

积分

论坛元老

Rank: 8Rank: 8

积分
5055
金钱
4166
HASS币
20
发表于 2021-10-26 20:36:59 | 显示全部楼层
情非殇 发表于 2021-8-13 09:38
你用nr里的chage节点,每一条改成修改,英文==中文,这样后面就翻译出来了中文数据了, ...

如果不使用nr,像ha集成的天气,lacelove界面能显示中文,但实际状态和属性是英文的,想tts播放中文,除了{% if is_state……列举翻译,还有更简单直接的翻译方法吗
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2021-10-27 08:17:28 | 显示全部楼层
chenquanhao 发表于 2021-10-26 20:36
如果不使用nr,像ha集成的天气,lacelove界面能显示中文,但实际状态和属性是英文的,想tts播放中文,除 ...

ha只能用template模板的if state翻译,所以不如NR直观简单,我个人比较推荐nr,因为测试比较方便,还有非常直观的debug输出
回复

使用道具 举报

24

主题

884

帖子

5055

积分

论坛元老

Rank: 8Rank: 8

积分
5055
金钱
4166
HASS币
20
发表于 2021-10-29 20:10:39 | 显示全部楼层
情非殇 发表于 2021-10-27 08:17
ha只能用template模板的if state翻译,所以不如NR直观简单,我个人比较推荐nr,因为测试比较方便,还有非 ...

nr用过,但是玩不转,不像ha有官方例子。
就是奇怪,既然界面能显示中文,总感觉有什么方法可以调用
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 08:48 , Processed in 0.109243 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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