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

 找回密码
 立即注册
查看: 709|回复: 0

[教程系列] 室内温度波动播报实现

[复制链接]

12

主题

84

帖子

688

积分

高级会员

Rank: 4

积分
688
金钱
604
HASS币
10
发表于 2023-11-18 09:43:11 | 显示全部楼层 |阅读模式


写了好几种逻辑实现室内温度升高或降低之后进行小爱语音播报,这里分享最后用的一版,给大家提供一种实现思路。这种思路逻辑或许在其他场景下也能复用。

温度波动.png
结束部分将处理好的播报内容作为payload传输到播报设备。
重点展示函数判断逻辑:
函数节点.png

流程过于简单,这里就只放函数代码。
msg.current = Math.floor(msg.payload);
msg.before = global.get("shufangwendu_before") || msg.current;
msg.wencha = msg.current - msg.before;

if( msg.wencha != 0 ){
    if( msg.wencha > 0 ){
        msg.payload = "主人好:\n书房温度升高"+ msg.wencha +"度,当前为:" + msg.payload + "度";
    }else if (msg.wencha < 0 ){
        msg.payload = "主人好:\n书房温度降低"+ Math.abs(msg.wencha) +"度,当前为:" + msg.payload + "度";
    }
    global.set("shufangwendu_before", msg.current);
    return msg;
}else{
    
    global.set("shufangwendu_before", msg.current);
}
math.floor 为向下取整,比如1.6取1 -1.1      
math.abs  为绝对值,负温服取正


如果大佬们有更简单的实现逻辑,欢迎交流讨论。

评分

参与人数 1金钱 +1 收起 理由
wt3333 + 1 感谢楼主分享!

查看全部评分

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-6 13:12 , Processed in 0.047797 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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