Skip to content

OmniSteward/omni-ha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniSteward 全能管家

Omni-HA

这是全能管家(Omni-Steward)的Home Assistant工具,通过自然语言控制Home Assistant中的智能家居设备,这是一个子Agent形式的工具。

注:由于现在米家官方支持Home Assistant,因此本工具也可通过HA来控制米家设备,参见 XiaoMi/ha_xiaomi_home

screenshot

工具概览

  • 工具描述: 允许Omni-Steward通过自然语言与Home Assistant进行交互,控制智能家居设备
  • 工具ID: omni_ha.HomeAssistant
  • 工具名: home_assistant
  • 工具参数: (在Omni-Steward Config中配置, 参见配置
    • openai_api_key: OpenAI API密钥
    • openai_api_base: OpenAI API基础URL
    • model: 要使用的模型名称,因为这是一个子Agent,所以也需要使用LLM来处理用户的自然语言描述
    • homeassistant.ha_url: Home Assistant的URL, 如 http://192.168.1.107:8123
    • homeassistant.ha_token: Home Assistant的API令牌,如何获取详见附录
    • homeassistant.ha_available_only: True 可选,是否只显示可用设备, 默认只显示可用设备

安装

前置条件:

随后执行:

pip install git+https://github.com/OmniSteward/omni-ha.git

使用

OmniToolID: omni_ha.HomeAssistant

1. 在Omni-Steward中注册使用工具

然后我们可以在Omni-Steward Config 中添加该工具,可以使用全路径,也可以使用name

  1. 无需导入,直接使用工具ID进行注册
# 使用全路径
tool_names.append('omni_ha.HomeAssistant')
  1. 导入后使用工具名进行注册
from omni_ha import HomeAssistant # 导入工具
tool_names.append('home_assistant') # 添加到工具列表

配置

在Config中添加homeassistant的配置项

homeassistant = Config(
    ha_url = 'http://192.168.1.107:8123',
    ha_token = '',
    ha_available_only = True,
    # 以下是可选的,如果为空,则使用Omni-Steward的openai_api_key, openai_api_base, model
    openai_api_key = None,
    openai_api_base = None,
    model = None,
)

附录

如何获取HomeAssistant的API令牌

  1. 在Home Assistant中,通过浏览器访问 http://IP_ADDRESS:8123/profile 进入个人资料页面
  2. 在页面底部的"长期访问令牌"部分,点击"创建令牌"按钮
  3. 输入令牌名称,点击"确定"按钮
  4. 复制生成的令牌(请确保完整复制整个令牌),粘贴到Omni-Steward的配置文件中 更多参见Home Assistant API令牌

About

【Omni-Steward】通过自然语言控制Home Assistant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages