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

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

[流程系列] Call service节点的data里面怎么添加变量

[复制链接]

1

主题

10

帖子

48

积分

新手上路

Rank: 1

积分
48
金钱
38
HASS币
0
发表于 2023-3-19 23:29:18 | 显示全部楼层 |阅读模式
请教各位大佬怎样在Call service节点的data里面添加变量

                               
登录/注册后可看大图

回复

使用道具 举报

18

主题

555

帖子

3986

积分

元老级技术达人

积分
3986
金钱
3396
HASS币
182
发表于 2023-3-20 11:33:17 | 显示全部楼层
本帖最后由 louis_lee 于 2023-3-20 11:35 编辑

利用jinja模板

e.g

"{{ trigger.event.data.message }"

"{{ states('sensor.abc') }}"


jinja教程:

【YAML+Jinja】教程与经验,庆祝论坛人数过万,解除回帖可见 - 『HomeAssistant』新手入门区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)

回复

使用道具 举报

7

主题

162

帖子

1244

积分

论坛技术达人

积分
1244
金钱
1077
HASS币
60
发表于 2023-3-20 13:36:21 | 显示全部楼层
本帖最后由 arthurfsy 于 2023-3-20 13:47 编辑

可以新增一个function节点,然后这个节点的msg.payload为Call service需要的变量信息。如你提到的data,一般可以点近call service这个节点,里面有“load example data”,这样你就可以看需要传入哪些变量了。
如load example data的示意数据如下:
{"summary":"Department Party","description":"Meeting to provide technical review for 'Phoenix' design.","start_date_time":"2022-03-22 20:00:00","end_date_time":"2022-03-22 22:00:00","start_date":"2022-03-22","end_date":"2022-03-23","in":"{"days": 2} or {"weeks": 2}"}
那我们就要照着定义变量信息(可以只定义必填的变量)


举个例子:
print1 = { 
      "data": {     //下面为data传入的变量
           "summary":a.raceName,  //这里的变量是a.raceName,a也是一个变量,但是在前面定义了,这里仅为一个示例。下面同理
         "description":"报名时间:" +dateFormat(a.signUpStartTime) 
                        +" - "+ dateFormat(a.signUpEndTime)
                        +"\n联系方式:"+a.contactPhone,
         "start_date_time":dateFormat(a.raceStartTime),    //dateFormat是我自己定义的函数,也可以不用管,仅为示意
         "end_date_time":dateFormat(a.raceEndTime),

        }
    }
msg.payload = print1




回复

使用道具 举报

5

主题

38

帖子

194

积分

注册会员

Rank: 2

积分
194
金钱
156
HASS币
0
发表于 2023-7-5 10:49:56 | 显示全部楼层
请问你弄好了吗?第一次玩Node-RED,不是很熟悉
回复

使用道具 举报

0

主题

1

帖子

28

积分

新手上路

Rank: 1

积分
28
金钱
27
HASS币
0
发表于 2023-8-16 17:34:48 | 显示全部楼层
arthurfsy 发表于 2023-3-20 13:36
可以新增一个function节点,然后这个节点的msg.payload为Call service需要的变量信息。如你提到的data,一 ...

非常感谢大佬,终于解决了    这个困扰了我好久
回复

使用道具 举报

5

主题

96

帖子

646

积分

高级会员

Rank: 4

积分
646
金钱
550
HASS币
0
发表于 2023-8-25 19:28:35 | 显示全部楼层
本帖最后由 yuejr 于 2023-8-26 11:09 编辑
arthurfsy 发表于 2023-3-20 13:36
可以新增一个function节点,然后这个节点的msg.payload为Call service需要的变量信息。如你提到的data,一 ...

用这个方法,小爱音箱却只播报一个英文单词payload,哪里需要修改?  找到原因了,去掉前后引号就行了





回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 01:10 , Processed in 5.156006 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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