NodeRED - 全局变量的使用笔记
NodeRED - 全局变量的使用笔记
global
global.get(..):获取全局范围的上下文属性global.set(..):设置全局范围的上下文属性global.keys(..):返回所有全局作用域上下文属性键的列表
语法
// 设置全局变量的值
global.set("variable",true);
// 将全局变量取出并赋值给myvariable
var my_variable = global.get("variable");
//如果上下文对象中不存在variable,则使我们的局部变量variable为零
var my_variable = global.get('variable') || false;
使用示例
插座状态值反馈
//查找当前插座状态值
var outlet_status_current = global.get('outlet_status') || false;
//定义目标插座状态值
var outlet_status_target = msg.payload.outlet;
//定义新对象
var newMsg = {};
if(outlet_status_target != outlet_status_current)
{
newMsg= {payload :outlet_status_target,topic:"智能插座" };
//设置当前状态值到全局变量
global.set("outlet_status",outlet_status_target);
return newMsg;
}
else{
return null;
}
判断当前开关并发送指令
//查找当前插座状态值
var outlet_status_current = global.get('outlet_status') || false;
//定义目标插座状态值
var outlet_status_target = msg.payload;
// 定义新对象
var msg1= {};
if(outlet_status_target != outlet_status_current)
{
if(msg.payload === true)
{ msg1 = {payload:'{"outlet":true}'};}
else
{ msg1 = {payload:'{"outlet":false}'};}
global.set("outlet_status",outlet_status_target)
return msg1;
}
else{
return null;
}
NodeRED - 全局变量的使用笔记的更多相关文章
- SQL 笔记 By 华仔
-------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...
- 分享一下我研究SQLSERVER以来收集的笔记
分享一下我研究SQLSERVER以来收集的笔记 前言 为什麽分享??因为像现在网上很多人攻城师那样,转行去卖水果,卖早餐,总有一日我也会离开这个行业的 由于本人不是在大公司上班工资很低,我希望有一天存 ...
- 云笔记项目-补充JS面向对象编程基础知识
简单介绍: 此部分知识为在做云笔记项目中补充,因为云笔记项目中涉及到前端js,里面写了很多js脚本,用到了创建js属性和方法,在js中直接声明的属性和方法最终都会变成window的对象,即其成为了全局 ...
- python学习第三天 -----2019年4月23日
第三周-第03章节-Python3.5-集合及其运算 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 ...
- Google开源项目风格指南
Google开源项目风格指南 来源 https://github.com/zh-google-styleguide/zh-google-styleguide Google 开源项目风格指南 (中文版) ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- (转)Shell全局变量、局部变量与特殊变量笔记总结
Shell全局变量.局部变量与特殊变量笔记总结 原文:http://blog.csdn.net/apollon_krj/article/details/70148022 变量类型:全局变量(环境变量) ...
- Webpack4 学习笔记四 暴露全局变量、externals
前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 暴露全局变量 通过 expose-loader 内联配置 在 webpack中配置 每个模块通过注入的方式 通过CD ...
- 【学习笔记】Shell-1 变量:命名规范、变量赋值/取值/取消、局部变量/全局变量、预设环境变量
1.Shell变量 从变量的实质上来说,变量名是指向一片用于存储数据的内存空间. Shell变量是一种弱类型的变量,即声明变量时不需要指定其变量类型,也不需求遵循“先声明再使用”的规定,想用即可用. ...
随机推荐
- Ubuntu/Liinux睡眠无法唤醒解决方法:ACPI设置
最近给笔记本换了一个固态,顺便就重装了一下系统,版本是Ubuntu 20.10.装完之后各种功能基本都是正常的,触摸板轻触单击.双指右键等功能开箱即用.但是在安装完最新的Nvidia驱动之后就出现了问 ...
- mysql The used table type doesn’t support FULLTEXT indexes 解决方案 (phpstudy 会出现),coten不会
mysql The used table type doesn't support FULLTEXT indexes 是不支持全文索引,解决方案: 1.停掉mysql服务2.打开my.ini,搜索de ...
- ABP vNext EventBus For RabbitMQ 分布式事件总线使用注意事项_补充官网文档
[https://docs.abp.io/zh-Hans/abp/latest/Distributed-Event-Bus-RabbitMQ-Integration](ABP vNext官方文档链接) ...
- tp where使用数组条件,如何设置or,and
1 //where条件数组拼接 2 $where['status'] = 1; 3 $maps['id'] = ['in', implode(',', $r_ids)]; 4 $maps['uid'] ...
- Navcat连接Mysql报错1521
原因是新版的MySql密码加密算法改变,导致旧版本的Navcat连接报错. 解决方案: 1.升级Navcat 因为只是本地的Mysql,所以没验证这个方法,网传可以,此处不介绍. 2.修改Mysql加 ...
- element el-table表格的vue组件二次封装(附表格高度自适应)
基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...
- python3 最基本且简单的实现组合设计模式
组合模式是把一个类别归为一个整体,并且组织多个整体之间的关系,使用通过树形结构来描述所有整体. 一般的编写方式为一个类别对象下添加多个该对象的元素,该对象又为其它对象下的元素.简单来说就是一个学校有一 ...
- 【Oracle】查询执行慢的sql
查询执行最慢的sql select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round ...
- 转发:[服务器]SSL安装证书教程
[服务器]SSL安装证书教程 来自阿里云教程 Tomcat服务器安装SSL证书 安装PFX格式证书 https://help.aliyun.com/document_detail/98576.ht ...
- oracle dg库因为standby_file_management参数导致应用停止
DG库的standby_file_management=manual,主库添加文件的时候,备库无法自动创建对应的文件而报错 File #154 added to control file as 'UN ...