当前位置: 首页 > article >正文

14.流程自动化工具:n8n和家庭自动化工具:node-red

n8n

安装

docker方式

https://docs.n8n.io/hosting/installation/docker/

#https://hub.docker.com/r/n8nio/n8n
docker pull n8nio/n8n:latest
docker rm -f n8n;
docker run -it \
--network macvlan --hostname n8n \
-e TZ="Asia/Shanghai" \
-e GENERIC_TIMEZONE="Asia/Shanghai" \
-e DB_TYPE=mysqldb \
-e DB_MYSQLDB_DATABASE=n8n \
-e DB_MYSQLDB_HOST=192.168.199.100 \
-e DB_MYSQLDB_PORT=3306 \
-e DB_MYSQLDB_USER=root \
-e DB_MYSQLDB_PASSWORD=admin \
--name n8n \
-d -p 5678:5678 \
-v /mnt/usb2/n8n:/home/node/.n8n \
n8nio/n8n:latestn8n start --tunnel

k8s方式

https://truecharts.org/charts/stable/n8n

helm upgrade --install -n n8n --create-namespace my-n8n oci://tccr.io/truecharts/n8n -f values.yaml

values.yaml 如下:

#https://github.com/truecharts/public/blob/master/charts/stable/n8n/values.yaml
env:- name: N8N_SECURE_COOKIEvalue: "false"

使用示例

01.定时执行脚本上报PVE温度

在之前文章中:06.Proxmox ve(PVE) 显示CPU温度、NVME硬盘温度、主板温度(三种方式),介绍了一劳永逸方式,上报温度到InfluxDB中,其中创建定时任务使用的Linux的cron,这次打算使用n8n来实现此功能。下将下面的给注释掉:

nano /etc/cron.d/influx_stats# Upload stats to InfluxDB2
#* * * * * root /root/sensors/pve_temp_stats_to_influxdb2.sh >/dev/null 2>&1

配置两个触发节点:
运行一次:Manual Trigger node
定时触发:Schedule Trigger node
在这里插入图片描述
配置SSH执行节点:
SSH Execute Command

bash pve_temp_stats_to_influxdb2.sh  >/dev/null 2>&1

在这里插入图片描述
执行结果:
在这里插入图片描述

node-red

安装

k8s方式

https://truecharts.org/charts/stable/node-red/

helm upgrade --install -n node-red --create-namespace node-red oci://tccr.io/truecharts/node-red

docker-compose 方式

  # https://nodered.org/docs/getting-started/docker#docker-stack--docker-compose################################################################################# Node-RED Stack or Compose################################################################################# docker stack deploy node-red --compose-file docker-compose-node-red.yml# docker-compose -f docker-compose-node-red.yml -p myNoderedProject up################################################################################node-red:container_name: node-redimage: nodered/node-red:3.1.9environment:- TZ=Asia/Shanghaiports:- "1880:1880"volumes:- /root/node-red:/data- /root/node-red/node_modules:/usr/src/node-red/node_modulesrestart: unless-stoppedprivileged: truenetwork_mode: host

节点管理

嫌麻烦,可以一键安装:

npm install node-red-contrib-flow-manager node-red-contrib-home-assistant-websocket

node-red-contrib-flow-manager

https://flows.nodered.org/node/node-red-contrib-flow-manager
flow-manager将您的flows.json分离为多个文件,便于今后由于越来越多的flow在一个文件里面不好维护,子目录如下:
● /flows/flow name
● /subflows/subflow name
● /config-nodes.json (global config nodes will be stored here)

安装之前这样:

d@d:/mnt/k8s-csi/pvc-5ddd6131-373b-45eb-811d-493f5fa6ae3d$ ls
flows_cred.json  flows.json  lib  node_modules  package.json  package-lock.json  settings.js

安装之后这样:

d@d:/mnt/k8s-csi/pvc-5ddd6131-373b-45eb-811d-493f5fa6ae3d$ ls
config-nodes.json      flow-manager-nodes-order.json  flows_cred.json  lib           package.json       settings.js
flow-manager-cfg.json  flows                          flows.json       node_modules  package-lock.json  subflows

node-red-contrib-home-assistant-websocket

https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket
Node-RED通过websocket和REST API与Home Assistant集成

配置

https://zachowj.github.io/node-red-contrib-home-assistant-websocket/guide/#configuration

demo

这块的内容有点多,到时候合并到home-assistant里面讲
在这里插入图片描述
里面的示例可以参考这个:
https://github.com/node-red/node-red/tree/master/packages/node_modules/%40node-red/nodes/examples/common

进阶示例:
https://cookbook.nodered.org/

编辑器教程:
https://nodered.org/docs/user-guide/editor/

问题

1.node-red下载节点很慢怎么办?
输入命令

npm config set registry http://mirrors.cloud.tencent.com/npm/
或
npm config set registry https://registry.npmmirror.com

验证命令

npm config get registry
如果返回https://registry.npmmirror.com,说明镜像配置成功

2.Error: EACCES: permission denied, copyfile
https://github.com/node-red/node-red-docker/issues/221

sudo chown 1000 /root/node-red;

相关文章:

14.流程自动化工具:n8n和家庭自动化工具:node-red

n8n 安装 docker方式 https://docs.n8n.io/hosting/installation/docker/ #https://hub.docker.com/r/n8nio/n8n docker pull n8nio/n8n:latest docker rm -f n8n; docker run -it \ --network macvlan --hostname n8n \ -e TZ"Asia/Shanghai" \ -e GENERIC_TIME…...

图形渲染: tinyrenderer 实现笔记(Lesson 1 - 4)

目录 项目介绍环境搭建Lesson 1: Bresenham’s Line Drawing Algorithm(画线算法)Lesson 2: Triangle rasterization 三角形光栅化Scanline rendering 线性扫描Modern rasterization approach 现代栅格化方法back-face culling 背面剔除 Lesson 3: Hidde…...

大规模硬件仿真系统的编译挑战

引言: 随着集成电路设计复杂度的不断提升,硬件仿真系统在现代芯片设计流程中扮演着越来越重要的角色。基于FPGA(现场可编程门阵列)的商用硬件仿真系统因其灵活性、全自动化、高性能和可重构性,成为验证大规模集成电路设…...

Kotlin问题汇总

Kotlin问题汇总 真机安装调试 查看真机的Android版本,将build.gradle文件中的minSdk改为手机的Android版本,点Sync Now更新设置 apk安装失败 在gradle.properties全局配置中设置android.injected.testOnlyfalse Unresolved reference: 在activity_…...

记一次常规的网络安全渗透测试

目录: 前言 互联网突破 第一层内网 第二层内网 总结 前言 上个月根据领导安排,需要到本市一家电视台进行网络安全评估测试。通过对内外网进行渗透测试,网络和安全设备的使用和部署情况,以及网络安全规章流程出具安全评估报告。本…...

【8】搭建k8s集群系列(二进制部署)之安装work-node节点组件(kubelet)

一、下载k8s二进制文件 下载地址: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG -1.20.md 注:打开链接你会发现里面有很多包,下载一个 server 包就够了,包含了 Master 和 Worker Node 二进制文件。…...

Sentinel-自定义资源实现流控和异常处理

目录 使用SphU的API实现自定义资源 BlockException 使用SentinelResource注解定义资源 SentinelResourceAspect 使用Sentinel实现限流降级等效果通常需要先把需要保护的资源定义好,之后再基于定义好的资源为其配置限流降级等规则。 Sentinel对于主流框架&#…...

使用 VIM 编辑器对文件进行编辑

一、VIM 的两种状态 VIM(vimsual)是 Linux/UNIX 系列 OS 中通用的全屏编辑器。vim 分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理;而编辑状态则是用来编辑文本资料&…...

visual studio 2022的windows驱动开发

在visual studio2022中&#xff0c;若在单个组件中找不到Windows Driver Kit (WDK)选项&#xff0c;可通过提升vs版本解决&#xff0c;在首次选择时选择WDM 创建好项目在Source Files文件夹中创建一个test.c文件&#xff0c;并输入以下测试代码&#xff1a; #include <ntdd…...

基于大数据的美团外卖数据可视化分析系统

【大数据】基于大数据的美团外卖数据可视化分析系统 &#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统通过对海量外卖数据的深度挖掘与分析&#xff0c;能够为美团外卖平台提供运营决策支…...

C/C++测试框架googletest使用示例

文章目录 文档编译安装示例参考文章 文档 https://github.com/google/googletest https://google.github.io/googletest/ 编译安装 googletest是cmake项目&#xff0c;可以用cmake指令编译 cmake -B build && cmake --build build将编译产物lib和include 两个文件夹…...

vue2打包部署到nginx,解决路由history模式下页面空白问题

项目使用的是vue2&#xff0c;脚手架vue-cli 4。 需求&#xff1a;之前项目路由使用的是hash&#xff0c;现在要求调整为history模式&#xff0c;但是整个过程非常坎坷&#xff0c;遇到了页面空白问题。现在就具体讲一下这个问题。 首先&#xff0c;直接讲路由模式由hash改为…...

如何将本地项目上传到Gitee的指定分支

在团队协作开发中&#xff0c;我们经常需要将本地项目代码上传到代码托管平台&#xff08;如Gitee&#xff09;的特定分支。本文将详细介绍从零开始完成这一过程的完整步骤&#xff0c;包含多种场景的解决方案和常见问题处理。 一、准备工作 1.1 安装Git 确保你的系统已安装…...

【数据结构】排序算法(中篇)·处理大数据的精妙

前引&#xff1a;在进入本篇文章之前&#xff0c;我们经常在使用某个应用时&#xff0c;会出现【商品名称、最受欢迎、购买量】等等这些榜单&#xff0c;这里面就运用了我们的排序算法&#xff0c;作为刚学习数据结构的初学者&#xff0c;小编为各位完善了以下几种排序算法&…...

AI随身翻译设备:从翻译工具到智能生活伴侣

文章目录 AI随身翻译设备的核心功能1. 实时翻译2. 翻译策略3. 翻译流程4. 输出格式 二、AI随身翻译设备的扩展功能1. 语言学习助手2. 旅行助手3. 商务助手4. 教育助手5. 健康助手6. 社交助手7. 技术助手8. 生活助手9. 娱乐助手10. 应急助手 三、总结四、未来发展趋势&#xff0…...

chromadb 安装和使用

简介 Chromadb 是一个开源的嵌入式向量数据库&#xff0c;专为现代人工智能和机器学习应用设计&#xff0c;旨在高效存储、检索和管理向量数据。以下是关于它的详细介绍&#xff1a; 核心特性 易于使用&#xff1a;提供了简洁直观的 API&#xff0c;即使是新手也能快速上手…...

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具 资源简介 DeepSeek谷歌版1.1.5是目前全球领先的免费AI助手&#xff0c;性能超越国内主流AI产品&#xff0c;提供类似GPT-4的智能体验。 版本信息 最新版本&#xff1a;1.1.5&#xff08;2024最新版&#xff09;应用…...

LeetCode第132题_分割回文串II

LeetCode 第132题&#xff1a;分割回文串 II 题目描述 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文。 返回符合要求的 最少分割次数 。 难度 困难 题目链接 点击在LeetCode中查看题目 示例 示例 1&#xff1a; 输入&#xf…...

LabVIEW 在故障诊断中的算法

在故障诊断领域&#xff0c;LabVIEW 凭借其强大的图形化编程能力、丰富多样的工具包以及卓越的功能性能&#xff0c;成为工程师们进行故障诊断系统开发的得力助手。通过运用各种算法&#xff0c;能够对采集到的信号进行全面、深入的分析处理&#xff0c;从而准确地诊断出系统中…...

SQL DB 数据类型

SQL DB 数据类型 引言 在数据库管理系统中,数据类型是定义和存储数据的方式。SQL(结构化查询语言)数据库中的数据类型决定了数据的存储格式、大小、取值范围以及如何处理数据。合理选择和使用数据类型对于确保数据库性能、数据完整性和应用程序的准确性至关重要。 SQL 数…...

Qt音频输出:QAudioOutput详解与示例

1. 简介 QAudioOutput是Qt多媒体框架中的一个关键类&#xff0c;它提供了将PCM&#xff08;脉冲编码调制&#xff09;原始音频数据发送到音频输出设备的接口。作为Qt多媒体组件的一部分&#xff0c;QAudioOutput允许开发者在应用程序中实现音频播放功能&#xff0c;支持多种音…...

springboot 启动方式 装配流程 自定义starter 文件加载顺序 常见设计模式

目录 springboot介绍 核心特性 快速搭建 Spring Boot 项目 方式一&#xff1a;使用 Spring Initializr 方式二&#xff1a;使用 IDE 插件 示例代码 1. 创建项目并添加依赖 2. 创建主应用类 3. 创建控制器类 4. 运行应用程序 配置文件 部署和监控 部署 监控 与其…...

Android学习之Material Components

以下是 Material Design 提供的核心控件列表&#xff08;基于最新 Material Components for Android 库&#xff09;&#xff0c;按功能分类整理&#xff1a; 1. 基础按钮类 控件名称类名说明MaterialButtoncom.google.android.material.button.MaterialButton遵循 Material 规…...

sentinel新手入门安装和限流,热点的使用

1 sentinel入门 1.1下载sentinel控制台 &#x1f517;sentinel管理后台官方下载地址 下载完毕以后就会得到一个jar包 1.2启动sentinel 将jar包放到任意非中文目录&#xff0c;执行命令&#xff1a; java -jar 名字.jar如果要修改Sentinel的默认端口、账户、密码&#xff…...

Ubuntu 22 Linux上部署DeepSeek R1保姆式操作详解(Xinference方式)

一、安装步骤 1.基础环境安装 安装显卡驱动、cuda&#xff0c;根据自己硬件情况查找相应编号&#xff0c;本篇不介绍这部分内容&#xff0c;只给出参考指令&#xff0c;详情请读者自行查阅互联网其它参考资料。 sudo apt install nvidia-utils-565-server sudo apt install…...

ANTLR 实战_从零开始构建自定义语言解析器

1. 引言 1.1 什么是 ANTLR ANTLR(Another Tool for Language Recognition)是一个强大的解析器生成器,用于构建语言解析器、编译器和解释器。 1.2 ANTLR 的历史与发展 ANTLR 由 Terence Parr 创建,最初发布于 1995 年。经过多次版本更新,ANTLR 已成为构建解析器的首选工…...

CTF类题目复现总结-hashcat 1

一、题目地址 https://buuoj.cn/challenges#hashcat二、复现步骤 1、下载附件&#xff0c;解压得到What kind of document is this_文件&#xff1b; 2、用010 Editor打开What kind of document is this_文件&#xff0c;发现是office文件&#xff1b; 3、将后缀名改为ppt时…...

4月5日作业

需求&#xff1a; 1.按照图示的VLAN及IP地址需求&#xff0c;完成相关配置 2.要求SW 1为VLAN 2/3的主根及主网关 SW2为VLAN 20/30的主根及主网关&#xff0c;SW1和 SW2互为备份 3.可以使用super vlan 4.上层通过静态路由协议完成数据通信过程 5.AR1为企业出口路由器…...

Bert论文解析

文章目录 BERT&#xff1a;用于语言理解的深度双向转换器的预训练一、摘要三、BERT介绍BERT及其详细实现答疑&#xff1a;为什么没有标注的数据可以用来预训练模型&#xff1f;1. 掩码语言模型&#xff08;Masked Language Model, MLM&#xff09;2. 下一句预测&#xff08;Nex…...

无招回归阿里

这两天&#xff0c;无招回归阿里的新闻被刷屏了。无招创业成立的两氢一氧公司无招的股份也被阿里收购&#xff0c;无招以这种姿态回归阿里&#xff0c;并且出任钉钉的 CEO。有人说&#xff0c;这是对 5 年前“云钉一体”战略的纠偏。现在确实从云优先到 AI 优先&#xff0c;但云…...