请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 88|回复: 2

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

[复制链接]

1

主题

8

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
28
HASS币
0
发表于 6 天前 | 显示全部楼层 |阅读模式
请教各位大佬怎样在Call service节点的data里面添加变量

                               
登录/注册后可看大图

回复

使用道具 举报

17

主题

406

帖子

2710

积分

论坛技术达人

积分
2710
金钱
2269
HASS币
182
发表于 5 天前 | 显示全部楼层
本帖最后由 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)

回复

使用道具 举报

6

主题

141

帖子

963

积分

论坛技术达人

积分
963
金钱
822
HASS币
40
发表于 5 天前 | 显示全部楼层
本帖最后由 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




回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2023-3-25 05:25 , Processed in 0.054861 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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