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

 找回密码
 立即注册
查看: 335|回复: 5

[流程系列] 新手学着玩魔方,求助一个旋转调灯光

[复制链接]

1

主题

10

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
金钱
403
HASS币
0
发表于 2024-10-11 21:19:04 | 显示全部楼层 |阅读模式
我通过新建辅助元素实体直接提取出来了魔方旋转的角度(msg.jiaodu)
然后msg.data.attributes.brightness获取了灯泡的亮度(msg.liangdu)
到这里数值都是正常输出没有问题

旋转角度为正数则+20,否则-20
最大100最小为1

找AI帮我写了一个function

if (msg.jiaodu > 0) {
        msg.liangdu + 20;
    } else {
        msg.payload - 20;
    }

    // 确保msg.liangdu的值在1到100之间
    msg.liangdu = Math.min(Math.max(msg.liangdu, 1), 100);

    // 将结果存储在msg.payload中
    msg.payload = msg.liangdu;


return msg;


最后通过call service的light turn on {"brightness_pct": msg.payload}实现简单的调光

但是msg.payload输出结果不是数字(debug写的null)
自己又不会写代码,求大神帮忙看看哪里有问题

折腾一晚上了,感谢大佬们
微信图片_20241011211432.jpg
回复

使用道具 举报

20

主题

485

帖子

3178

积分

论坛元老

Rank: 8Rank: 8

积分
3178
金钱
2693
HASS币
8
发表于 2024-10-11 22:16:15 | 显示全部楼层
试试这段代码:
let liangdu = msg.liangdu;
if (msg.jiaodu > 0) {
        liangdu += 20;
} else {
        liangdu -= 20;
}

// 确保liangdu的值在1到100之间
liangdu = Math.min(Math.max(liangdu, 1), 100);

// 将结果存储在msg.payload中
msg.payload = liangdu;

return msg;
回复

使用道具 举报

1

主题

10

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
金钱
403
HASS币
0
 楼主| 发表于 2024-10-12 15:38:42 | 显示全部楼层

成功了,感谢
回复

使用道具 举报

1

主题

10

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
金钱
403
HASS币
0
 楼主| 发表于 2024-10-12 16:01:50 | 显示全部楼层

大佬,能不能帮我加一句亮度为0不开灯

if (liangdu === 0) {
    // 这里可以添加不开灯的逻辑,比如设置msg的某个属性表示不开灯
    
这里怎么写

    // 亮度不为零,将结果存储在msg.payload中
    msg.payload = liangdu;
}
回复

使用道具 举报

20

主题

485

帖子

3178

积分

论坛元老

Rank: 8Rank: 8

积分
3178
金钱
2693
HASS币
8
发表于 2024-10-12 17:05:07 | 显示全部楼层
你这个需求不需要再写代码了,流程上修改下:
拉一个switch节点到function后面,switch里设置两个规则,第一个是:==数字0,第二个是:除此以外。
原来的call service节点连接到switch第二个输出上,第一个输出重新拉一个call service,动作为light turn off。
回复

使用道具 举报

1

主题

10

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
金钱
403
HASS币
0
 楼主| 发表于 2024-10-12 17:38:18 | 显示全部楼层
cjnt007 发表于 2024-10-12 17:05
你这个需求不需要再写代码了,流程上修改下:
拉一个switch节点到function后面,switch里设置两个规则,第 ...

妙啊大佬
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-4 01:30 , Processed in 0.051473 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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