官网: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        (客厅)的(传感器)的(亮度)是多少?

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

(二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇的更多相关文章

  1. (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 esp8266程序

    设备1 上电自动注册自己是个1个开关 HASS网页和手机APP控制 外部开关上升沿中断控制 天猫精灵语音控制 一键配网 记录以往WIFI信息 设备2 上电后,自动注册自己有三个开关控制 HASS网页和 ...

  2. (二 -3) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列

    参考网站 1该mqtt光平台可以让您控制您的MQTT启用灯.它支持设置亮度,色温,效果,闪烁,开/关,RGB颜色,过渡,XY颜色和白色值. https://www.home-assistant.io/ ...

  3. (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  4. (二 -2) 天猫精灵接入Home Assistant-自动发现Mqtt设备

    参考中文教程:  https://www.hachina.io/docs/7230.html 英文官网 两个温度传感器:https://www.home-assistant.io/docs/mqtt/ ...

  5. (二 -3-3) 天猫精灵接入Home Assistant-自动发现Mqtt设备-自动生成配置信息

    http://www.hassmart.com/products/switches/#tab=config switch: - platform: mqtt name: keting state_to ...

  6. (二 -4) 天猫精灵接入Home Assistant-自动发现Mqtt设备--传感器系列

    https://www.home-assistant.io/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/ 最 ...

  7. (四) 天猫精灵接入Home Assistant-ESP-WIFI模块通过mqtt协议接入HASS

    总过程 1 ESP8266上电后,初始化 连接MQTT服务器 发布自身配置信息----hass自动发现该设备 订阅hass的命令话题---接收命令 发布hass的状态话题---返回自身状态 2 ESP ...

  8. (二 -1) 天猫精灵接入Home Assistant-控制Mqtt设备

    关于hass对接mqtt 请参考官网 https://www.hachina.io/docs/7083.html 1 登陆运行着hass的阿里云服务器 2 修改hass配置文件,添加mqtt服务信息 ...

  9. (零 ) 天猫精灵接入Home Assistant-总说明

    天猫精灵设备管理 https://bbs.hassbian.com/tmall 自己的hass访问地址 http://[自己的IP或域名]:8123/states 自己的MQTT服务器访问 http: ...

随机推荐

  1. js 毫秒转天时分秒

    formatDuring: function(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt ...

  2. springboot Redis 缓存

    1,先整合 redis 和 mybatis 步骤一: springboot 整合 redis 步骤二: springboot 整合 mybatis 2,启动类添加 @EnableCaching 注解, ...

  3. Android 布局巧用之include、merge、ViewStub

    原文链接:https://mp.weixin.qq.com/s/bTA2gztUzqvqER2rz56RRQ 相信大家经常听到include.merge.ViewStub这样的标签,官方也提到这三种布 ...

  4. Elasticsearch Search APIs

    Elasticsearch Search APIs By:授客 QQ:1033553122 1. 搜索 1 在单个索引的所有类型中搜索 1 在单个索引的指定类型中搜索 1 在多个指定的索引中搜索 1 ...

  5. leetcode-66.加一

    leetcode-66.加一 题意 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字. 你可以假设除了整数 0 之外,这个 ...

  6. HttpWebRequest 请求带OAuth2 授权的webapi

    OAuth 2.0注意事项: 1. 获取access_token时,请使用POST private static string GetAuthorization(string username, st ...

  7. Integert 与 int例子详解

    public final class Integerextends Numberimplements Comparable<Integer> Integer 类在对象中包装了一个基本类型 ...

  8. MySQL 5.7安装指南

    1.下载 1)进入官网下载5.7.23压缩包 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 2.安装与配置 1)将下载的压 ...

  9. MongoDB数据创建与使用

    MongoDB数据创建与使用 创建数据库 代码功能:读取本地文本文件,并保存到数据库中 import pymongo #连接mongo数据库 client = pymongo.MongoClient( ...

  10. SQL Server最大内存设为0后的处置办法

    故障说明: 远程调整实例内存时疏忽,将实例最大内存调整为了0,因此最大内存变成了128MB的最小值. 解决方式: 1.正常关闭SQL Server服务,如果是集群,需要先关停止集群角色防止故障转移,然 ...