|
本帖最后由 wshc1216 于 2019-7-16 12:13 编辑
前段时间买了个跑步机,发现论坛里没人接入跑步机。。。跑步机支持接入阿里健康,但是我不会抓包啊。。。于是想到了一个特色的接入方法。
使用功率判断跑步机状态,跑步机可以一键设置3个速度(3/6/9),每个速度的功率肯定不同(注意有人跑和空载功率不同,如果不用这预设的速度数据就不准),所以就能获取到时间和速度。
精度比我想象的高,测试速度9跑300米,数据完全一致。速度3/6/9混合跑了500米,精度差距10米。
固定速度,距离越长误差就越小。
电表有了,一直想做个水表。于是用相同的方法做了个水表。
不过这个水表接入方法不适合一般人,因为我家比较特殊,自己打井,井到一级水池,然后一级水池(蓄水用)抽水到楼顶的二级水池(日常用水)。
计算出楼顶水池的容积,用个门窗传感器加个浮球开关做了一个水位触发器(比水浸传感器便宜多了)。满水自动关闭泵
计算出抽水泵抽水的效率。
每天定时开抽水泵把二级水池灌满水(每天最后一次12点前再灌满一次)。
计算抽水泵的开启时间就能统计出来,(我把启动抽水泵到有水出来的时间也计算上了)
有启动时间和抽水的效率就能算出 用水量了,当然这样精度可能和时间有误差,但是还是可以反应每天用水情况哪天多了不正常(毕竟我家连普通水表都没用的。。。)
再来几个我使用的一些特色配置
我家环境特殊(不仅仅是水池特殊。。。)机顶盒(用视网,这是上网的猫)经常烧坏(几乎每年一次),每次可能断网1到几天。而且路由器放一楼,其他大部分智能设备在三楼,一楼经常打雷跳闸断电,导致三楼设备全部无法正常使用。
(3楼的灯光控制开关全部安装在隐藏角落,仅小米的无线贴墙开关安装在常用位置,一控制不了开灯非常不方便,老婆会要发飙)。
为了解决这样情况,又防止hass服务挂了,就同时使用了hass和米家两个平台。
贴墙开关全部走米家平台(hass挂了,路由器甚至网关挂了,至少贴墙开关都可以正常使用)
保险起见又做了一个切换开关 ,实现一键开启米家自动化,关闭hass自动化 或者 关闭米家自动化,开启hass自动化 并且无须网络(也就是不能用米家手动触发的智能切换,防止路由器挂了),又是用门窗传感器改造,把门窗传感器用电线接上个开关就实现了。
hass做个自动化控制全局灯光开关
米家里 ,触发条件加个同时满足(门打开/关闭)即可
一键切换开关就完成了。
最后,非常头疼 的卫生间人体感应问题
以前用米家平台,就是通过 门窗传感器 实现关门不关灯的,用hass后也一样。但是最近想洗澡时候打开客厅的音响听歌(没错,就是想开着门洗澡。。。)
我家环境:卫生间要经过厨房(实际上是茶水间。。)
做了个自动化,虽然不是100%,但是目前使用比较满意。
- alias: washroom_light_auto_off
trigger:
- platform: state
entity_id: binary_sensor.motion_2 #厨房人感
to: 'off'
for:
minutes: 2
- platform: state
entity_id: binary_sensor.motion_3 #卫生间人感
to: 'on'
condition:
- condition: state
entity_id: binary_sensor.motion_3 #卫生间人感
state: "on"
- condition: state
entity_id: binary_sensor.motion_2 #厨房人感
state: "off"
- condition: state
entity_id: light.bathroom
state: "on"
action:
- service: homeassistant.turn_off
entity_id: automation.washroom_light_off #关闭卫生间自动关灯
- alias: washroom_light_auto_on
trigger:
- platform: state
entity_id: binary_sensor.motion_2 #厨房人感
to: 'on'
condition:
- condition: state
entity_id: automation.washroom_light_off
state: "off"
- condition: state
entity_id: light.bathroom
state: "on"
action:
- service: homeassistant.turn_on
entity_id: automation.washroom_light_off #打开卫生间自动关灯
最后,弱弱的请教两个问题
我把所有的传感器,灯,开关的entity_id重新命名了一次 (写和检查配置时候方便多了,特别是以后 坏了更换时,只需修改一处即可)
但是小米的zigbee 插座怎么直接用yaml文件修改ID?(看官网介绍 UI上好像支持,但是想用代码,上面也没说代码怎么改)
目前是这样改成灯的形式,请教怎么保留switch改ID
light:
#一楼水泵
- platform: switch
name: pump
entity_id: switch.plug_158d0001db1ab6
另外,我自己改的一个sensor,模板测试正常,但是没用数据,例如模板测试显示 “10分钟” 网页上状态那里空白什么都没有,请教下各位大佬是什么原因?
# - platform: template
# sensors:
# water_full:
# value_template: >-
# {% set up_time = as_timestamp(now()) - as_timestamp(states.binary_sensor.door_window_water.last_changed) %}
# {% set days = (up_time // (60 * 60 * 24)) %}
# {% set weeks = (days// 7) %}
# {% set hours = (up_time// (60 * 60)) - days * 24 %}
# {% set minutes = (up_time // 60) - (days * 24 * 60) %}
# {% set days = ((up_time // (60 * 60 * 24))) - (weeks * 7) %}
# {% set minutes = (minutes) - (hours * 60) %}
# {% macro phrase(value, name) %}
# {%- set value = value | int %}
# {{-'{}{}{}'.format(value,name,end) if value | int > 0 else''}}
# {%- endmacro %}
# {% set text = [ phrase(weeks,'周'),phrase(days,'天'), phrase(hours,'小时'), phrase(minutes,'分钟前') ] | select('!=','') | list | join('') %}
# {{ text }}
排版很乱将就一下,原谅我不懂发帖,在那里预览我也没找到。。。当年高考语文可是不及格的有错字漏字问题请见谅。。
|
|