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

 找回密码
 立即注册
查看: 3345|回复: 15

[求助] 请问各位大佬,多个实体如何组合成一个实体?

[复制链接]

2

主题

37

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
206
HASS币
0
发表于 2023-7-26 21:43:51 | 显示全部楼层 |阅读模式
各位大佬,请问多个实体如何组合成一个实体?
目前hass里面有现成的两个实体:
1.开关机状态实体
switch.3429ef23bae1_onoffstatus
2.目标温度实体
number.3429ef23bae1_targettemp
如下图所示:
1.png

目前想要做成一个实体的样子,类似下图:
2.png 3.png

回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2023-7-27 09:09:45 | 显示全部楼层
你对“实体”的概念有严重的误解。

实体一词,对应entity,在HA里的定义是非常明确的,不存在两个实体合并成一个实体的逻辑。

你想要的,是前端的外观展示效果,是climate组件对应的卡片。可以用generic_thermostat实现,如果自带的不满意就找一个或者自己写一个。
回复

使用道具 举报

2

主题

37

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
206
HASS币
0
 楼主| 发表于 2023-7-27 09:50:30 | 显示全部楼层
XCray 发表于 2023-7-27 09:09
你对“实体”的概念有严重的误解。

实体一词,对应entity,在HA里的定义是非常明确的,不存在两个实体合并 ...

首先感谢X大佬回复。

其实我想要的是HK里面能显示成climate的样子。
目前两个实体,一个是swtich,一个是number。如果通过HK桥到HK里面仅仅只能桥过去一个开关(swtich)。所以才想在HA里面把两个实体“合成”一个实体climate,再桥接到HK里面控制。
回复

使用道具 举报

1

主题

12

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
120
HASS币
0
发表于 2023-7-27 10:31:48 | 显示全部楼层
两个实体是可以合并为一个实体的,就是取来源实体的一些属性,组成生成目标实体的states和属性。
应该是类似的代码,我不太记得格式了,你可以对应改一下,看看是否能够实现。

climate:
  - platform: template
    name: "Climate 3429ef23bae1"
    temperature_unit: "°C"
    current_temperature_template: "{{ states('number.3429ef23bae1_targettemp') }}"
    temperature_template: "{{ states('number.3429ef23bae1_targettemp') }}"
    target_temperature_step: 0.5
    set_temperature:
      service: input_number.set_value
      data:
        entity_id: number.3429ef23bae1_targettemp
        value: "{{ temperature }}"
    availability_template: "{{ is_state('switch.3429ef23bae1_onoffstatus', 'on') }}"
    hvac_mode_template: "{{ 'heat' if is_state('switch.3429ef23bae1_onoffstatus', 'on') else 'off' }}"
    hvac_modes:
      - "heat"
      - "off"
    turn_on:
      service: switch.turn_on
      data:
        entity_id: switch.3429ef23bae1_onoffstatus
    turn_off:
      service: switch.turn_off
      data:
        entity_id: switch.3429ef23bae1_onoffstatus

回复

使用道具 举报

2

主题

37

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
206
HASS币
0
 楼主| 发表于 2023-7-27 15:31:36 | 显示全部楼层
loveha 发表于 2023-7-27 10:31
两个实体是可以合并为一个实体的,就是取来源实体的一些属性,组成生成目标实体的states和属性。
应该是类 ...

感谢大佬!我晚上试试。
回复

使用道具 举报

1

主题

12

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
120
HASS币
0
发表于 2023-7-27 15:33:37 | 显示全部楼层
pcj 发表于 2023-7-27 15:31
感谢大佬!我晚上试试。

如果不行,你看看报错信息是什么,提供一下。
回复

使用道具 举报

2

主题

37

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
金钱
206
HASS币
0
 楼主| 发表于 2023-7-27 15:39:16 | 显示全部楼层
本帖最后由 pcj 于 2023-7-27 16:14 编辑
loveha 发表于 2023-7-27 15:33
如果不行,你看看报错信息是什么,提供一下。

目前报错信息如下,辛苦大佬再帮忙看看
Platform error climate.template - No module named 'homeassistant.components.template.climate'
Snipaste_2023-07-27_15-36-52.png

另外我看home-assistant的GitHub上有人遇到过同样的问题,但是好像没有解决
https://github.com/home-assistant/core/issues/84145

HA官方论坛找到一个类似问题,但是没有看懂是怎么解决的
https://community.home-assistant.io/t/climate-group/322683
回复

使用道具 举报

1

主题

12

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
120
HASS币
0
发表于 2023-7-27 16:51:01 | 显示全部楼层
如果template没有这个,看看能不能做个mqtt的空调

回复

使用道具 举报

1

主题

12

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
120
HASS币
0
发表于 2023-7-27 16:54:36 | 显示全部楼层
https://github.com/shaonianzhent ... b/main/README.zh.md
用这个节点,在nr做一次转换。你看看说明
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2023-7-27 17:00:37 | 显示全部楼层
loveha 发表于 2023-7-27 10:31
两个实体是可以合并为一个实体的,就是取来源实体的一些属性,组成生成目标实体的states和属性。
应该是类 ...

模板就不是干这个的呀

如果你说自己就是这么用的,那我怀疑你是用了某个定制的组件,至少我不记得官方文档里有过这种用法。

to楼主:
我前面提过generic_thermostat这个组件,估计你是没看到。
HA自带的,配置很简单,可以实现你说的把一个开关和一个温度传感器“合并成一个实体”的效果:
# Example configuration.yaml entry
climate:
  - platform: generic_thermostat
    name: Study
    heater: switch.study_heater
    target_sensor: sensor.study_temperature
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 03:43 , Processed in 0.068593 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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