news 2026/9/17 2:40:59

Home Assistant 中 Mastodon Get account 操作完全指南:账户查询、响应变量与自动化实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant 中 Mastodon Get account 操作完全指南:账户查询、响应变量与自动化实战

Home Assistant 中 Mastodon Get account 操作完全指南:账户查询、响应变量与自动化实战

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

本指南以 Home Assistant 官方文档库中的mastodon.get_account操作文档为核心,系统讲解如何在自动化与脚本中查询 Mastodon 账户信息、解析返回的响应数据,以及如何基于这些数据构建粉丝数展示、新帖监控等实用场景。读完本文,你将掌握该操作的完整配置方式(UI 与 YAML 双模式)、响应变量使用技巧,以及结合其他 Mastodon 操作(发帖、静音、改资料)的联动方案。

操作概览:mastodon.get_account能做什么

mastodon.get_account是 Home Assistant Mastodon 集成提供的操作之一,用于按用户名查询一个 Mastodon 账户,并返回其详细信息,包括显示名称(display name)、粉丝数(follower count)和帖子数量(posts)等。

从仓库的版本记录可以确认,该操作在 Home Assistant Core 2026.3 版本中随 Mastodon 集成新增(见 source/changelogs/core-2026.3.markdown 中 "Add get_account service to Mastodon" 条目)。

它的典型用途包括:

  • 在仪表盘上展示你关注的某个账户的粉丝数,随数据更新自动变化;
  • 触发自动化:例如当某个账户发布新帖子时执行后续动作(监控方法详见下文"响应数据"一节);
  • 作为脚本中的中间查询步骤,把返回结果交给后续操作使用。

需要特别注意的是:该操作只能查询与你的实例已经联合(federated)的账户,未联合的账户无法被查找到。

前置条件:先完成 Mastodon 集成配置

使用该操作的前提是已在 Home Assistant 中配置好 Mastodon 集成。配置流程参考 source/_integrations/mastodon.markdown:

  1. 登录你的 Mastodon 实例 Web 界面,进入Preferences(偏好设置)→Development(开发);
  2. 创建一个新应用(Application);
  3. 至少勾选以下权限范围(scopes):read:accountswrite:accountswrite:statuseswrite:mediawrite:mutes
  4. 提交后生成客户端密钥(client key)、客户端密文(client secret)和访问令牌(access token);
  5. 在 Home Assistant 中添加 Mastodon 集成,依次填入:
配置项说明
URL你的 Mastodon 实例地址,例如https://mastodon.social
Client keyMastodon Web 界面创建应用后生成的客户端密钥
Client secret创建应用后生成的客户端密文
Access token创建应用后生成的访问令牌

集成文档提示:如果使用操作时日志中出现权限相关报错,请回到 Mastodon 账户检查上述权限范围是否设置正确(参见 source/_integrations/mastodon.markdown 的 "Unable to use actions" 排障章节)。

在 UI 中创建 Get account 操作

在自动化或脚本中添加该操作,按以下步骤操作:

  1. 进入Settings(设置)>Automations & scenes(自动化与场景)
  2. 打开一个已有的自动化或脚本,或选择Create automation(创建自动化)>Create new automation(创建新自动化)
  3. 如果新建的是自动化,先在When(何时)区域添加一个触发器;脚本不需要触发器,它们在被其他流程调用时运行;
  4. Then do(执行)区域选择Add action(添加操作)
  5. 在搜索框中搜索并选择Mastodon: Get account
  6. 选择要使用的Mastodon instance(Mastodon 实例),并输入要查询的Account name(账户名)
  7. 点击Save(保存)

与部分实体类操作不同,该操作不支持 targets——在 UI 中你不会被提示选择区域(area)、设备(device)、实体(entity)或标签(label)。

UI 中的选项

选项必填说明
Mastodon instance用于查询账户的 Mastodon 实例
Account nameMastodon 账户用户名,格式为@user@instance

在 YAML 中使用:响应变量与配置入口 ID

如果直接在 YAML 中编写配置,操作引用名称为mastodon.get_account。由于该操作会返回结果,官方推荐**将结果存储到响应变量(response variable)**中,以便在自动化或脚本的后续步骤继续使用:

action: mastodon.get_account data: config_entry_id: 6b4be47a1fa7c3764f14cf756dc9899d account_name: "@account@instance.online" response_variable: account_details

YAML 参数详解

参数类型必填说明
config_entry_idstring要使用的 Mastodon 配置条目(config entry)的 ID
account_namestringMastodon 账户用户名,格式为@user@instance

如何获取config_entry_id:进入Settings(设置)>Tools(工具)>Actions(操作),选中该操作,选择你的 Mastodon 实例,然后切换到 YAML 模式,即可看到该实例对应的config_entry_id

关于响应变量

Home Assistant 的操作系统会在执行带返回值的操作时,把结果写入response_variable指定的变量中。该变量仅在同一个自动化或脚本的后续步骤中可用,这正是"先查询、再使用"类流程的构建基础。若省略response_variable,返回数据将无法被后续步骤引用。

响应数据结构:解析账户详情

执行成功后,响应中包含一个account映射(mapping),承载该账户的详细信息。文档中明确列出的有用字段如下:

字段含义
display_name账户资料中展示的显示名称
username账户的用户名
followers_count关注该账户的人数
following_count该账户关注的人数
statuses_count该账户发布的帖子总数
last_status_at最近一次发布帖子的日期
note账户简介(bio)
url账户个人资料页的公开 URL

在 YAML 自动化中引用响应变量字段的示例写法(供参考):

- action: mastodon.get_account data: config_entry_id: 6b4be47a1fa7c3764f14cf756dc9899d account_name: "@account@instance.online" response_variable: account_details - action: notify.mobile_app_phone data: title: "账户动态" message: "{{ account_details['account']['display_name'] }} 当前有 {{ account_details['account']['followers_count'] }} 位粉丝"

实战场景一:监控账户发布新帖

这是该操作最有价值的用法之一。Mastodon 集成文档在"已知限制"一节中给出了一条关键的实测提示(见 source/_integrations/mastodon.markdown):

Mastodon 账户详情只显示最近一条帖子的日期,不显示时间。如果使用mastodon.get_account操作来监控新帖,应改为监视操作响应中的statuses_count字段是否发生变化。

因此,一个"检测到新帖就通知我"的自动化思路是:

  1. 周期触发(例如用time_pattern每小时执行);
  2. 调用mastodon.get_account,把结果存入响应变量;
  3. 用模板将本次的statuses_count与上一个周期记录的值(可通过input_number或自动化变量保存)比较;
  4. 若数值变大,说明发布了新帖,触发通知,并更新记录值。

由于该操作返回的是快照式数据,这种"比对计数增量"的方式比依赖last_status_at的日期字符串更可靠。

实战场景二:仪表盘展示粉丝数

如果你关注某个账户(例如本地天气服务号),希望把它的粉丝数实时呈现在 Lovelace 仪表盘上,可以结合mastodon.get_account与 Home Assistant 的模板传感器思路:

  • 用自动化定期(如每小时,与集成传感器刷新频率一致)执行该操作,将followers_count写入input_number或模板 sensor;
  • 在仪表盘卡片中渲染该值,即可实现"粉丝数卡片"。

更简单的替代方案:Mastodon 集成本身就会为你自己的账户创建Followers(粉丝数)Following(关注数)Posts(帖子数)Last post(最后发帖时间)等传感器(每小时更新一次,参见 source/_integrations/mastodon.markdown 的 "Sensors" 一节)。mastodon.get_account的增量价值在于查询任意联合账户,而非仅限自己的账户,因此更适合"监控他人账户"的场景。

与相关操作联动

mastodon.get_account在文档中与以下操作互为关联(见文档 frontmatter 的related_actions及各自的独立文档):

  • mastodon.post:发布状态帖,可配置可见性、内容警告、媒体附件、幂等键(idempotency key)等;
  • mastodon.mute_account:静音某个账户(支持时长与隐藏通知选项),配套的 mastodon.unmute_account 用于取消静音;
  • mastodon.update_profile:更新自己的资料,如显示名称、简介、头像、横幅等。

典型联动示例:先get_account查询某新闻账号是否活跃,再用mute_account在度假期间临时静音(完整自动化示例见 source/_actions/mastodon.mute_account.markdown 的 "Automation: mute an account while you are away")。这些操作均需在 Mastodon 应用权限中配置对应 scope,权限不足会在日志中报错。

功能边界与注意事项

  • 仅限联合账户:该操作只能返回与你的实例已联合的账户信息;
  • 不支持 targets:无法按区域、设备、实体或标签批量执行;
  • 不提供内容流功能:集成不支持获取时间线、收藏、书签或转嘟(boost)等功能(见 source/_integrations/mastodon.markdown 的 "Known limitations");
  • 实时性说明:Mastodon 账户详情中的last_status_at只有日期粒度,做新帖监控请改用statuses_count增量判断;
  • 权限要求:读取账户信息需要read:accounts权限范围,操作报错时请先核对应用权限配置(排障步骤见 source/_integrations/mastodon.markdown 的 "Troubleshooting" 章节)。

动手验证

完成配置后,你可以立即在Settings(设置)>Tools(工具)>Actions(操作)中搜索mastodon.get_account,选择你的实例、填入账户名,点击Perform action(执行操作)直接测试,无需编写任何 YAML 即可在返回结果中看到完整的账户详情——这是验证配置与理解响应结构最快的方式。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 2:40:41

C++ using关键字深度解析:命名空间、类型别名与继承隐藏一次讲透

用了这么多年C,using几乎天天见,但很多人真到了面试或者写复杂工程的时候,反而容易在这个“简单关键字”上栽跟头。using不光是using namespace std;那一句,它在 C98 里就有声明语义,在 C11 里又被扩展成模板别名&…

作者头像 李华
网站建设 2026/9/17 2:40:36

SOLIDWORKS插件选型指南:五大分类与实操避坑法

用SOLIDWORKS十年,电脑上装过的插件少说也有几十种,踩过的坑堆起来能写一本书。前阵子帮三家非标设备公司做插件选型,发现绝大多数人选插件的方式还是“同事推荐什么用什么”,或者“网上搜到免费的先装上再说”——结果就是插件装…

作者头像 李华
网站建设 2026/9/17 2:39:42

FastapiAdmin生产级日志体系:可审计、可追溯、可告警的七参数配置军规

1. 这不是个“后台管理模板”,而是一套可审计、可追溯、可告警的生产级日志中枢FastapiAdmin 不是那种装完就能跑、跑起来就不管的玩具型后台框架。我用它搭过三个中型 SaaS 系统,从电商订单调度中心到医疗设备远程监控平台,最后都卡在同一个…

作者头像 李华
网站建设 2026/9/17 2:37:33

MATLAB椭圆拟合:从散点数据稳健估计几何参数

简介:本资源是一套面向MATLAB初学者与数据处理实践者的椭圆拟合工具包,适用于物理实验分析、工程测量、生物图像轮廓提取等需从二维散点中建模椭圆结构的场景。压缩包共3个文件(2个Excel数据表用于存放原始及拟合验证数据,1个核心…

作者头像 李华
网站建设 2026/9/17 2:37:22

用open-code-review重构代码审查流程:架构、部署与调优实践

代码审查这件事,在很多团队里已经从“必须做”退化成了“走个过场”。PR 挂了两三天没人理,CI 全绿就 merge,reviewer 偶尔回一句 LGTM,甚至有人会在周五下午一口气把攒了一周的 PR 全点了同意。以前我也觉得这没什么,…

作者头像 李华