写了好几种逻辑实现室内温度升高或降低之后进行小爱语音播报,这里分享最后用的一版,给大家提供一种实现思路。这种思路逻辑或许在其他场景下也能复用。
结束部分将处理好的播报内容作为payload传输到播报设备。
重点展示函数判断逻辑:
流程过于简单,这里就只放函数代码。
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 为绝对值,负温服取正
如果大佬们有更简单的实现逻辑,欢迎交流讨论。
|