zoukankan      html  css  js  c++  java
  • (二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇

    官网:https://www.home-assistant.io/components/fan.mqtt/

    1 添加配置文件

    要在安装中启用MQTT风扇,请将以下内容添加到您的configuration.yaml文件中:

    手动模式

    # Example configuration.yaml entry
    fan:
      - platform: mqtt
        name: "Bedroom Fan"
        state_topic: "bedroom_fan/on/state"
        command_topic: "bedroom_fan/on/set"
        oscillation_state_topic: "bedroom_fan/oscillation/state"
        oscillation_command_topic: "bedroom_fan/oscillation/set"
        speed_state_topic: "bedroom_fan/speed/state"
        speed_command_topic: "bedroom_fan/speed/set"
        qos: 0
        payload_on: "true"
        payload_off: "false"
        payload_oscillation_on: "true"
        payload_oscillation_off: "false"
        payload_low_speed: "low"
        payload_medium_speed: "medium"
        payload_high_speed: "high"
        speeds:
          - low
          - medium
          - high
    

      添加后重启hass生效。

    网友的设置,可参考

    fan:
      - platform: mqtt
        name: "fengshan2"
        state_topic: "home/fengshan/2/stat"
        command_topic: "home/fengshan/2"
        oscillation_state_topic: "home/fengshan/2/stat"
        oscillation_command_topic: "home/fengshan2" 
        speed_state_topic: "home/fengshan/2/stat"
        speed_command_topic: "home/fengshan/2" 
        retain: false
        qos: 0
        payload_on: "1"    
        payload_off: "0"
        payload_low_speed: "1"
        payload_medium_speed: "2"
        payload_high_speed: "3"
        payload_oscillation_on: "4"
        payload_oscillation_off: "5"   
        speeds:
          - low
          - medium
          - high
    

      

    自动模式

    将上述配置信息打包成 json包,发送给 配置话题,hass自动发现

    1. esp8266硬件受限制于mqtt库发送数据包有长度限制,没法一次性发送完。
    2. 可以用手机或电脑调试助手MQTT调试助手发送这个配置信息,他们能够发送的更长。

    2 具体操作

    登陆服务器

    找到配置文件

    添加风扇的信息

     保存。

    重启hass

    hass开在某一个screen里面

    找到这个背后screen,然后进去就是hass运行的命令窗口

    连着三次 ctrl + c 关闭,重启

    正常运行后,打开网页

    http://www.dongvdong.top:8123/states

    输入hass密码

    发现多了个风扇设备。

    3HASS调试

    手机mqtt调试助手---模拟风扇

    分别订阅风扇的所有命令话题--看看不同的命令收到什么消息

    点击打开

    发现收到 true

    但是风扇并没有因为网页按钮打开就开了,我们发现这个按钮马上自动回到关闭状态,它必须是风扇设备本身往状态话题里发送 我开了,网页才会更新风扇是开的状态。

    利用手机状态话题 发送一个开的命令

    然后看到网页开关自动更新为 开

    在开着的状态下电机风扇,出现更多控制界面

    这些按键都按一遍--

    三个挡位的速度

    摇头开启

    这么多话题,不如全部搞到一个话题里。

    三个挡位命令不冲突,但是开关和摇头都是 true ,放在一个话题容易误判。

    当然可以修改配置文件,不用的命令

    挡位只有三个,能不能更多,我们来看下参数说明,寻找下

    官网说明: https://www.home-assistant.io/components/fan.mqtt/

    开和关

    command_topic

    字符串(必需)要发布更改扇区状态的命令的MQTT主题。

    state_topic

    字符串(可选)订阅MQTT主题以接收状态更新。

    摇头功能

    oscillation_state_topic

    字符串(可选)订阅MQTT主题以接收振荡状态更新。

    oscillation_command_topic

    字符串(可选)用于发布更改振荡状态的命令的MQTT主题。

    速度挡位

    speed_state_topic

    字符串(可选)订阅MQTT主题以接收速度状态更新。

    speed_command_topic

    字符串(可选)用于发布命令以更改速度状态的MQTT主题。

    具体挡位--貌似就三个挡位

    payload_low_speed

    字符串(可选)表示风扇低速的有效负载。

    默认值:低

    payload_medium_speed

    字符串(可选)表示风扇中速的有效负载。

    默认值:中等

    payload_high_speed

    字符串(可选)表示风扇高速的有效负载。

    默认值:高

    下面这个不知道是干啥的

    speed_value_template

    字符串(可选)定义模板以从速度有效负载中提取值。

    4 天猫精灵控制

    上一步我们已经在hass上随意控制风扇了,现在接入天猫精灵语音控制。

    1添加hass已有设备到天猫精灵中。

     登陆  https://bbs.hassbian.com/tmall/information.php

    首先看到之前添加的设备,有的已经在hass中没有了,但是猫精这里必须手动删除,不会自动跟随消失。

    增加--真实设备

     

    这个列表只会出现hass上正存在的设备。(有的esp8266是自动配置的,必须在hass正常运行给hass发送一次自己的配置信息,hass重启后就没有了,需要重发)

    凡是和风扇相关的属性都选择

    添加

    打开天猫精灵手机APP,发现多了个设备

     点开后,按照常理,应该有教程信息

    比如  请说打开风扇

    将卧室的风扇调为慢速模式

    。。。。

    但是空白的,不管了

    6语音调试

     由于没有显示提示语,半天找不到怎么设置风速

    论坛网友: https://bbs.hassbian.com/forum.php?mod=viewthread&tid=502&highlight=%E9%A3%8E%E6%89%87

    演示视频:http://www.le.com/ptv/vplay/30322261.html

     他在视频中使用的是 苹果siri 

    hey siri 将卧室的风扇设置为 50%

    我按照类似说法,天猫精灵就是没反应。

    看了下面总说明,目前hass论坛 仅支持打开和关闭,风扇的摇头和速度没添加。

    灯倒是支持 开关 亮度 颜色

    接入总说明:

    https://bbs.hassbian.com/thread-2914-1-1.html

    -----------------------------------------------------------------论坛内容-------------------------------------------------------------------------

    配置方法:
    配置说明:
    • 目前支持HomeAssistant里以switch、light、media_player、fan、cover 前缀设备的打开、关闭和他们电源状态查询,灯光颜色亮度(‘把灯的亮度调到80’,最大100)调节。
    • sensor 温湿度传感器的查询(要求传感器id里必须包含 temperature、humidity、pm25的关键字),其他传感器天猫官方还未支持。
    • deviceId请直接在列表里勾选
    • deviceType按你实际控制的东西在列表中选择
    • deviceName请跟deviceType保持一致
    • 最开始配置的hass公网地址时    一定要带 http://     "http://你的域名:端口号"  

    特殊控制说明
    操作action
    设置颜色 SetColor          命令:把(客厅)的(落地灯)调成(白色)
    设置亮度   SetBrightness  命令:把(客厅)的(吸顶灯)亮度调到(80)【范围0-100】
    打开  TurnOn
    关闭  TurnOff

    查询action
    Query
    QueryPowerState          (客厅)的(吸顶灯)开着呢嘛?
    QueryPm2.5               (客厅)的(传感器)的(PM2.5)是多少?
    QueryHumidity            (客厅)的(传感器)的(湿度)是多少?
    QueryTemperature         (客厅)的(传感器)的(温度)是多少?
    QueryIllumination        (客厅)的(传感器)的(亮度)是多少?

     -----------------------------------------------------------------论坛内容-------------------------------------------------------------------------

  • 相关阅读:
    二维数组展示到DataGridView(c#)
    发送请求获取响应内容(c#)
    重建freescale 4.6.2 multilib toolchain
    [raspberry pi3] raspberry 充当time machine
    sublime ctags
    lua遍历文件
    pthread中如何追踪stack over flow
    Core Dump
    2 plan team 服务器搭建
    mac上编译 arm linux gnueabi交叉编译工具链toolchain
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/9494510.html
Copyright © 2011-2022 走看看