如何个人HA服务器地址和长期密钥

下面分两步说明如何获取你的 Home Assistant 服务器地址以及创建“长期访问令牌”(Long-Lived Access Token),并给出一个简单的 Python 调用示例。


一、获取 Home Assistant 服务器地址

  1. 默认域名/端口

    • 如果你在本机或局域网内安装并使用默认设置,一般可以通过以下地址访问:
      http://homeassistant.local:8123
      
    • 或者直接用 IP + 端口,例如:
      http://192.168.1.100:8123
      
  2. 查看设置页面

    • 登录 HA 后台,点击左侧下方你的用户名 → “系统信息”(System → About),在“主机”或“URL”字段可以看到当前服务器地址。
  3. mDNS/Zero-Conf 自动发现

    • 如前一条回答所示,也可以用 zeroconf 脚本自动发现局域网内广播的 _home-assistant._tcp.local. 服务。

二、创建长期访问令牌

  1. 在左侧菜单最下方,点击你的头像 → “我的个人资料”(Profile)
  2. 滚动到页面底部,找到 “长期访问令牌”(Long-Lived Access Tokens) 区域。
  3. 点击 “创建令牌”,输入一个易识别的名称(例如 my_script_token),点击确认。
  4. 会生成一串很长的字符,请务必复制并保存,因为关闭窗口后无法再次查看。

三、Python 示例:调用 Home Assistant REST API

下面示例展示如何用刚才得到的 HA_URLTOKEN 拉取所有实体状态。

import requests

# 1. 配置你的 HA 地址和令牌
HA_URL = "http://192.168.1.100:8123"     # 或 http://homeassistant.local:8123
TOKEN  = "eyJ0eXAiOiJKV1QiLCJh..."       # 你的长期访问令牌

# 2. REST API 请求头
headers = {
    "Authorization": f"Bearer {TOKEN}",
    "Content-Type": "application/json",
}

# 3. 发起请求:获取所有实体状态
response = requests.get(f"{HA_URL}/api/states", headers=headers)
response.raise_for_status()  # 若 HTTP 状态码不是 2xx 则抛异常

# 4. 打印结果
for entity in response.json():
    print(f"{entity['entity_id']}: {entity['state']}")

在这里插入图片描述

说明:

  • Authorization: Bearer <TOKEN> 是必须的认证头。
  • 默认 Content-Type 和接受 JSON。
  • 更多 API 端点请参见官方文档:Home Assistant REST API

这样,你就可以在脚本或应用里动态地使用你的 HA 服务器地址和长期访问令牌,安全且稳定地调用各种服务和状态接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值