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

 找回密码
 立即注册
查看: 4968|回复: 9

[已解决] 关于 HASSMART定制版窗帘接入HA后的设置问题

[复制链接]

16

主题

135

帖子

1085

积分

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
950
HASS币
0
发表于 2018-11-15 10:48:54 | 显示全部楼层 |阅读模式
本帖最后由 roc634 于 2018-11-16 19:26 编辑

已解决。谢谢囧大给的提示。解决方法在我后面的跟帖里。谢谢!!
----------------------------------------------------

有了HASSMART定制版窗帘,感觉我家窗帘瞬间高大上了,感谢!!
但是有几个问题想请教一下:

1、我想将能操作、可实时反馈的位置属性直接显示在页面上,而不需要点开才可以看到。试了input_number,可以控制,但是不能实时反馈,请问该怎么办? 未标题-1.jpg

2、想用一个自动化实例来控制开合,但是模板这块不是很熟,下面的代码不能达到开合帘的目的,想请教一下代码应该如何写才可以?
- alias: living_win_curtain_action #厅窗帘动作
  hide_entity: false
  initial_state: on
  trigger: 
    platform: state
    entity_id: sensor.living_win_curtain_status
  action: 
    - service: cover.set_cover_position
      data: 
        entity_id: cover.hassmart_192_168_2_76
        position: 
          value_template: >-
            {% if states('sensor.living_win_curtain_status') == 'open' %}
              50
            {% else %}
              0
            {% endif %}




回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16015
金钱
11304
HASS币
45
发表于 2018-11-15 11:30:00 | 显示全部楼层
第一个:需要用一个自动化,同步cover.hassmart_xxx.attributes.current_position到input_number。
第二个:states('sensor.living_win_curtain_status')这个sensor是什么东西?
回复

使用道具 举报

16

主题

135

帖子

1085

积分

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
950
HASS币
0
 楼主| 发表于 2018-11-16 16:33:24 | 显示全部楼层
本帖最后由 roc634 于 2018-11-17 14:47 编辑
Jones 发表于 2018-11-15 11:30
第一个:需要用一个自动化,同步cover.hassmart_xxx.attributes.current_position到input_number。
第二个 ...

第一个问题,我刚开始时试了用两个自动化来控制同一个input_number来分别实现状态的同步和手动控制开合程度,但是只启用同步状态,或者只启用手动控制都没有问题,一起启用就不行了。手动拖动来打开窗帘时,一次只能开10%以内,数字随机,点出原生的那两个打开和关闭的箭头也是不能一次全开或全关了,我想应该是我的两个自动化同时控制同一个input_number的原因,两个互相影响。
想了好一会才想到解决方法,我注意到需要同步时窗帘的状态是opening或者closing,而在静止时,状态就是open或者closed,两者其他是不冲突的。于是在手动调整的那个加了condition。问题到此解决。
下面是两个自动化实例的代码。
- alias: living_win_curtain_update #厅窗帘位置同步
  hide_entity: false
  initial_state: on
  trigger: 
    platform: state
    entity_id: cover.hassmart_192_168_2_76
  action: 
    - service: input_number.set_value
      data_template:
        entity_id: input_number.living_win_curtain_position
        value: '{{ states.cover.hassmart_192_168_2_76.attributes.current_position|int }}'
        
- alias: living_win_curtain_manual #厅窗帘位置手动
  hide_entity: false
  initial_state: on
  trigger: 
    platform: state
    entity_id: input_number.living_win_curtain_position
  condition:
    condition: template
    value_template: "{{ states('cover.hassmart_192_168_2_76') == 'open' or states('cover.hassmart_192_168_2_76') == 'closed' }}"
  action: 
    - service: cover.set_cover_position
      data_template:
        entity_id: cover.hassmart_192_168_2_76
        position: "{{ states('input_number.living_win_curtain_position')|int }}" 


第二个解决了,之前写的模板不正确,用和上面一样的就解决了。这个sensor之前忘了提一下,是我用MQTT来发布窗帘是open还是close状态的。我设置了很复杂的窗帘开合规则,包括春夏、秋冬、有无人、光照度、投影是否在用等,通过好几个自动化实例来设置,我又不想让每个自动化都直接控制窗帘,于是设置了这样一个中介,上述这些自动化实例只发布状态,再通过一个自动化实例来控制实际的开合,这样我不需要自动的时候把这个自动化关闭就可以了。
这个自动化的代码如下:
- alias: living_win_curtain_action #厅窗帘动作
  hide_entity: false
  initial_state: on
  trigger: 
    platform: state
    entity_id: sensor.living_win_curtain_status
  action: 
    - service: cover.set_cover_position
      data_template:
        entity_id: cover.hassmart_192_168_2_76
        position:
            {% if states('sensor.living_win_curtain_status') == 'open' %}
              50
            {% else %}
              0
            {% endif %}



回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16015
金钱
11304
HASS币
45
发表于 2018-11-17 00:45:59 | 显示全部楼层
roc634 发表于 2018-11-16 16:33
第一个问题,我刚开始时试了用两个自动化来控制同一个input_number来分别实现状态的同步和手动控制开合程 ...

会玩!厉害
回复

使用道具 举报

12

主题

188

帖子

785

积分

高级会员

Rank: 4

积分
785
金钱
597
HASS币
0
发表于 2018-11-19 09:41:09 | 显示全部楼层
收藏,备用
回复

使用道具 举报

23

主题

660

帖子

3108

积分

论坛元老

Rank: 8Rank: 8

积分
3108
金钱
2448
HASS币
10
发表于 2018-12-13 15:25:10 | 显示全部楼层
living_win_curtain_position  请问下这个是什么,在哪里定义的?
回复

使用道具 举报

16

主题

135

帖子

1085

积分

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
950
HASS币
0
 楼主| 发表于 2018-12-14 16:39:15 | 显示全部楼层
wshc1216 发表于 2018-12-13 15:25
living_win_curtain_position  请问下这个是什么,在哪里定义的?

这个完整的应该是input_number.living_win_curtain_position,作用相当于窗帘电机原生属性中的position,见下图,
111.png
只不过我可以随意放在我想放的地方。比如这样: 222.png
回复

使用道具 举报

23

主题

660

帖子

3108

积分

论坛元老

Rank: 8Rank: 8

积分
3108
金钱
2448
HASS币
10
发表于 2018-12-14 16:48:34 | 显示全部楼层
roc634 发表于 2018-12-14 16:39
这个完整的应该是input_number.living_win_curtain_position,作用相当于窗帘电机原生属性中的position, ...

谢谢指导,已经做好了
回复

使用道具 举报

4

主题

150

帖子

592

积分

高级会员

Rank: 4

积分
592
金钱
442
HASS币
0
发表于 2020-3-17 18:46:59 | 显示全部楼层
roc634 发表于 2018-12-14 16:39
这个完整的应该是input_number.living_win_curtain_position,作用相当于窗帘电机原生属性中的position, ...

请教一下 这个input_number.应该怎么设置;我抄袭了你的代码,不知道对不对 小白不懂编程请谅解。就是把你那段代码在automations.yaml里面创建,然后,再用input_number来调用它,是这样吗。但是我照葫芦画瓢,到这个input_number 就傻眼了。。。另外 我用的是小米电机。。。

回复

使用道具 举报

16

主题

135

帖子

1085

积分

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
950
HASS币
0
 楼主| 发表于 2020-4-6 12:18:55 | 显示全部楼层
ALEXYANGTAO 发表于 2020-3-17 18:46
请教一下 这个input_number.应该怎么设置;我抄袭了你的代码,不知道对不对 小白不懂编程请谅解。就是把 ...

这个input_number是在configuration.yaml里面的,我是这样的:
input_number:
  living_win_curtain_position:
    name: 当前位置
    mode: slider
    initial: 0
    min: 0
    max: 100
    step: 1
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 06:19 , Processed in 0.272119 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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