这是全能管家(Omni-Steward)的Home Assistant工具,通过自然语言控制Home Assistant中的智能家居设备,这是一个子Agent形式的工具。
注:由于现在米家官方支持Home Assistant,因此本工具也可通过HA来控制米家设备,参见 XiaoMi/ha_xiaomi_home。
- 工具描述: 允许Omni-Steward通过自然语言与Home Assistant进行交互,控制智能家居设备
- 工具ID:
omni_ha.HomeAssistant
- 工具名:
home_assistant
- 工具参数: (在Omni-Steward Config中配置, 参见配置)
openai_api_key
: OpenAI API密钥openai_api_base
: OpenAI API基础URLmodel
: 要使用的模型名称,因为这是一个子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
然后我们可以在Omni-Steward Config
中添加该工具,可以使用全路径,也可以使用name
- 无需导入,直接使用工具ID进行注册
# 使用全路径
tool_names.append('omni_ha.HomeAssistant')
- 导入后使用工具名进行注册
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,
)
- 在Home Assistant中,通过浏览器访问 http://IP_ADDRESS:8123/profile 进入个人资料页面
- 在页面底部的"长期访问令牌"部分,点击"创建令牌"按钮
- 输入令牌名称,点击"确定"按钮
- 复制生成的令牌(请确保完整复制整个令牌),粘贴到Omni-Steward的配置文件中 更多参见Home Assistant API令牌