这篇https://bbs.hassbian.com/thread-21803-1-1.html里面已经有网友分享了通过https的方式,通过smartthings官方集成来接入ha,我试用几天之后,外网https访问ha老是断线,而且还影响到我nodered里钉钉markdown的一些节点,故无奈放弃。
然后我在nodered里搜索到有三星的节点,安装试用后发现可用。在nodered里下载安装node-red-contrib-samsung-automation-studio-nodes节点;
my device节点一定要设置,它是用来接入三星账号里所有设备的节点,无需跟前后节点,单独放着就行,token就是https://bbs.hassbian.com/thread-21803-1-1.html里面的方法,或者节点自带链接打开也一样;
再就是拖入Status节点,选择你要的设备即可。然后前面加个inject节点,后面加个debug节点,看一下调试窗口,有哪些是你要的数据,做成新的ha实体,或者自动化吧。唯一的缺点是没有一个类似Event state节点,能实时监测设备状态的;或者直接用inject每隔几秒监测一下。我家的三星洗衣机接了一个米家的插座,所以我触发节点就是插座的功率值变化,待机时为1kw,即当插座功率值不为1时,则接入Status节点,然后插入函数节点,写入
var washerjobstate = msg.payload.components.main.washerOperatingState.washerJobState.value
var machinestate = msg.payload.components.main.washerOperatingState.machineState.value
var completiontime = msg.payload.components.main.washerOperatingState.completionTime.value
msg.payload = {
'洗衣机工作模式': washerjobstate,
'洗衣机状态': machinestate,
'完成时间': completiontime,
}
return msg;
再分别添加三个新的home assistant实体,即洗衣机工作模式,洗衣机状态,完成时间。
然后我在home assistant里写了个button card:
type: custom:button-card
entity: sensor.yang_tai_xi_yi_ji_gong_zuo_mo_shi
name: 阳台洗衣机
show_state: true
state:
- value: none
icon: mdi:washing-machine-off
styles:
icon:
- color: grey
- animation: none
name:
- font-size: 12px
- color: grey
state:
- color: grey
state_display: 【停止】
- value: wash
icon: mdi:washing-machine
styles:
icon:
- color: orange
- animation: blink 1.5s linear infinite
name:
- font-size: 12px
- color: inherit
state:
- color: inherit
state_display: 【洗涤】
- value: rinse
icon: mdi:washing-machine
styles:
icon:
- color: orange
- animation: blink 1.5s linear infinite
name:
- font-size: 12px
- color: inherit
state:
- color: inherit
state_display: 【漂洗】
- value: spin
icon: mdi:washing-machine
styles:
icon:
- color: orange
- animation: blink 1.5s linear infinite
name:
- font-size: 12px
- color: inherit
state:
- color: inherit
state_display: 【脱水】
styles:
card:
- height: 70px
- font-weight: bold
- font-size: 12px
- border: none
state:
- font-size: 12px
还写了个模板卡片:
{% set completion_time = states('sensor.yang_tai_xi_yi_ji_wan_cheng_shi_jian') %}
{% set job_state = states('sensor.yang_tai_xi_yi_ji_gong_zuo_mo_shi') %}
{% if job_state == 'none' %}
阳台衣机已完成
{% elif completion_time %}
{% set completion_datetime = as_datetime(completion_time) %}
{% set now = now() %}
{% set remaining = completion_datetime - now %}
{% if remaining.total_seconds() > 0 %}
{% set hours = remaining.total_seconds() // 3600 %}
{% set minutes = (remaining.total_seconds() % 3600) // 60 %}
{% if hours > 0 %}
阳台洗衣机剩余 {{ hours | int }}小时{{ minutes | int }}分钟
{% else %}
阳台洗衣机剩余 {{ minutes | int }}分钟
{% endif %}
{% else %}
阳台洗衣机已完成
{% endif %}
{% else %}
未知
{% endif %}
----------------------------
好了,先分享到这。这是比较简单的,用来查看洗衣机状态的一些方式方法,如有错误,请路过大佬不要笑话。
|