(4)HomeAssistant 语言控制

中文教程:https://www.hachina.io/docs/2073.html

英文网教程: https://www.home-assistant.io/components/conversation/

 会话组件允许您与Home Assistant交谈。您可以通过按前端中的麦克风(仅支持的浏览器(无iOS))或通过conversation/process使用转录文本调用服务来进行交谈

1实践

在配置文件中添加

# Allows you to issue voice commands from the frontend in enabled browsers
# 意图生成组件,匹配语法规则后生成对应意图
conversation:
  intents:
    # 意图类型(名称),以及对应的语法匹配规则
    OpenLight:
      - 打开{item}灯
      - 把{item}灯打开
    CloseLight:
      - 关上{item}灯
      - 关闭{item}灯
 
 
# 意图执行组件,根据配置文件决定对不同意图的执行命令
intent_script:
  # 意图类型(名称)
  OpenLight:
    # speech返回
    speech:
      text: 已打开{{ item }}灯
    # 执行动作
    action:
      service: light.turn_on
      data_template: 
        entity_id: >
          {% if item=="卧室" %}
            light.test2_rgb_mqtt
          {% endif %}
 
 
  CloseLight:
    speech:
      text: 已关闭{{ item }}灯
    action:
      service: light.turn_off
      data_template: 
        entity_id: >
          {% if item=="卧室" %}
            light.test2_rgb_mqtt
          {% endif %}

  重启hass使得配置可用

或者直接重载配置

2调用此服务

本应该点击谷歌游览器下,语音输入按钮,按下后你说什么,但是我的一直显示语音没输入

第二种 测试,直接调用这个服务

【conversation.process服务】
conversation组件在系统中注册了服务conversation.process。conversation.process接受的信息格式为:
{"text":"输入的自然语言"}

 然后我再MQTT对应话题发现 on  和 off ,完美

现在要搞清楚,谷歌网页语音输入为何什么不行

还把插座混到灯里

2 扩展

原文地址:https://www.cnblogs.com/kekeoutlook/p/9499533.html