实战演练:从零搭建你的第一个 n8n 自动化工作流 (获取天气并推送到手机)

2026-01-18 29 0

场景导入:别让“查天气”这种小事偷走你的专注力

笔者见过太多朋友,每天早上到了公司,第一件事就是打开手机查天气,然后纠结要不要带伞。如果只是顺手倒也罢了,但如果你像我一样,是个需要根据天气调整出行工具(开车还是骑车)、穿着(加不加外套)的人,这种重复的机械操作其实非常消耗心力。

实战演练:从零搭建你的第一个 n8n 自动化工作流 (获取天气并推送到手机)

真正的极客精神,不是把时间花在“执行”上,而是花在“设计”上。今天,N8N大学就带你用 n8n 搭建一个全自动工作流:每天早上 7 点,自动抓取你所在城市的天气预报,如果下雨就直接发一条通知到你的手机。这不仅是技术实战,更是对你生活效率的一次升级。

准备工作:你需要这三样东西

在开始之前,请确保你手头有以下资源。别担心,门槛很低:

  1. 一个 n8n 环境:可以是官方 Cloud 账号,也可以是本地部署(Docker 最推荐)。
  2. 一个天气 API:笔者推荐 WeatherAPI.com,它对新用户很友好,注册即可获得免费 Key。
  3. 一个通知渠道:为了演示,我们使用 Telegram(因为它对 n8n 集成最简单)。当然,钉钉、飞书、Bark(iOS)都同理。

核心实操:手把手搭建“天气闹钟”

我们将整个流程拆解为四个核心步骤。打开你的 n8n 编辑器,跟着笔者一步步来。

步骤一:设定定时触发器 (Cron)

自动化的第一步是“何时启动”。我们在画布上添加一个 Cron 节点。

点击节点,在右侧参数中设置 Trigger Times。假设我们想在工作日早上 7:30 获取天气,可以设置如下规则:

  • Hour: 7
  • Minute: 30
  • Weekday: Monday to Friday

这个节点就像闹钟,时间一到,就会向后发送一个信号。

步骤二:获取天气数据 (HTTP Request)

这是核心逻辑部分。添加一个 HTTP Request 节点。这里我们要调用天气 API。

在参数设置中:

  • Authentication: 选择 Generic Credential Type -> Query Auth(根据你的 API 文档调整,WeatherAPI 通常需要 Query 参数)。
  • URL: 填入 API 地址,例如:http://api.weatherapi.com/v1/forecast.json
  • Parameters: 添加两个参数:
    • Key: key, Value: 你的 API Key
    • Key: q, Value: 你的城市代码(如 Beijing
  • Response Format: 务必选择 JSON

测试一下,你应该能看到返回的 JSON 数据,里面包含了温度、湿度和 condition(天气状况)。

步骤三:逻辑判断 (IF)

我们不需要在晴天收到通知,只在下雨时需要。添加一个 IF 节点。

我们需要从上一步的 JSON 中提取天气描述并判断。假设 WeatherAPI 返回的条件在 current.condition.text 字段中(你可以通过点击上一步节点查看 Output 数据来确认路径)。

在 IF 节点中设置:

  • Condition: String
  • Operation: contains
  • Value: (注意:API 返回中文还是英文?如果是英文,这里填 Rain)

这样,只有当天气描述包含“雨”字时,流程才会继续向下走。

步骤四:发送通知 (Telegram)

最后,我们需要把消息“推”到手机。添加一个 Telegram 节点。

首先需要在 n8n 中配置 Telegram Bot 的 Credentials(需要 BotFather 创建机器人并获取 Token,以及你的 Chat ID)。

在节点参数中:

  • Chat ID: 填入你的个人或群组 ID。
  • Text: 这里可以写入简单的文本,比如 ⚠️ 注意!今天可能下雨,记得带伞!。为了更硬核,你甚至可以利用上一步获取的温度数据,拼接成:`今天温度是 {{ $('HTTP Request').item.json.current.temp_c }} 度,记得带伞!`。

连接好所有节点,点击右上角的 Execute Workflow。如果一切正常,你的手机应该会收到一条机器人发来的消息。

避坑指南:新手最容易卡住的两个地方

1. 时区问题(Timezone)

这是无数自动化流程的“隐形杀手”。默认情况下,n8n 的 Cron 节点可能使用的是 UTC 时间。如果你在中国,设置 `8:00` 可能会在凌晨 4 点触发。解决办法:在 Cron 节点设置中,找到 Timezone,手动选择 Asia/Shanghai

2. JSON 路径解析错误

在 IF 节点或发送消息时,如果你直接复制网上的 `{{ $json.data.weather }}` 写法,很可能会报错。请务必使用 n8n 的“小魔法”:点击输入框旁边的 Expression 标签,然后在左侧点击上一步的节点,n8n 会自动帮你生成正确的路径(例如 `{{ $('HTTP Request').item.json.current.condition.text }}`),这能避免 90% 的路径错误。

FAQ 问答

Q1: 我没有 Telegram,可以用微信吗?
A: 微信对个人开发者非常不友好(接口申请繁琐)。推荐使用钉钉群机器人、飞书群机器人,或者 iOS 用户可以直接使用 Bark App(它生成一个 URL,n8n 请求这个 URL 就能推送通知),非常简单。

Q2: 如果我想获取多个城市的天气怎么办?
A: 可以在工作流开头添加一个 Spreadsheet File 节点读取城市列表,或者简单地复制几份 HTTP Request 节点。进阶玩法是使用 Loop 节点遍历城市列表。

Q3: 这个工作流免费吗?
A: n8n 本身是开源的,完全免费(自托管)。WeatherAPI 的免费版每天有 1000 次调用,对于个人自动查询完全够用。Telegram 也是免费的。

总结与资源

恭喜你!通过这四个步骤,你已经完成了从 0 到 1 的自动化思维转变。你不再被动地去“获取”信息,而是让信息主动“服务”于你。

这只是 n8n 强大能力的冰山一角。在 N8N大学,我们致力于把复杂的技术拆解成你能直接复用的积木。

资源推荐:

相关文章

寻找免费的 Zapier 替代品?深度解析 n8n 社区版为何是最佳选择
不只是 n8n!2025年值得关注的 5 款开源自动化工具推荐与评测
省钱攻略:如何将 Zapier 自动化工作流无缝迁移到 n8n?
防止数据丢失:n8n 工作流与凭证(Credentials)的自动备份方案
Node.js 开发者首选:使用 npm 全局安装 n8n 及 PM2 进程守护教程
本地部署痛点解决:配合 Cloudflare Tunnel 实现 n8n 外网远程访问

发布评论