云计算百科
云计算领域专业知识百科平台

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

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


一、获取 Home Assistant 服务器地址

  • 默认域名/端口

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

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

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

  • 二、创建长期访问令牌

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

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

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

    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 服务器地址和长期访问令牌,安全且稳定地调用各种服务和状态接口。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 如何个人HA服务器地址和长期密钥
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!