『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 9683|回复: 14

Amazon Echo之通过Emulated Hue Bridge控制设备

[复制链接]

5

主题

44

帖子

176

积分

注册会员

Rank: 2

积分
176
金钱
132
HASS币
0
发表于 2018-1-19 09:51:17 | 显示全部楼层 |阅读模式
本帖最后由 fabregas0313 于 2018-1-23 13:17 编辑

mulated_hue组件提供了一个完全用软件编写的虚拟飞利浦的Hue Bridge功能,允许与Hue API协同工作的服务与Home Assistant实体交互。 此功能背后的驱动用例是允许Home Assistant与Amazon Echo配合使用,而不需要在配置更改之外设置成本。 虚拟桥接具有打开或关闭实体或改变可调光灯亮度的能力。 媒体播放器的音量可以控制为亮度。

建议为运行Home Assistant的计算机分配静态IP地址。 这是因为Amazon Echo通过IP地址发现设备,如果IP更改,Echo将无法控制它。 设置静态Ip的才做可以在路由器内完成,Hassio安装的Home Assistant本身就是静态Ip不需要进行设置。

配置Emulated hue
1. 在configuration.yaml中打开emulated_hue功能:
# Amazon Echo example configuration.yaml 
emulated_hue: 

配置变量解释:

  • host_ip(可选):运行Home Assistant安装的IP地址。如果您不指定此选项,组件将尝试自行确定IP地址。
  • listen_port(可选):Hue网桥API Web服务器将运行的端口。如果未指定,则默认为8300,端口可以是系统上的任何空闲端口。
  • advertise_ip(可选):如果您需要覆盖用于UPNP发现的IP地址。(例如,在Docker中使用网络隔离)
  • advertise_port(可选):如果您需要特别覆盖通告的UPNP端口。
  • upnp_bind_multicast(可选):是否将UPNP(SSDP)侦听器绑定到多播地址(239.255.255.250),或者绑定到上面指定的(单播)host_ip地址(或自动确定的)。默认值是true,这对大多数情况都适用。在特殊情况下,如在FreeBSD或FreeNAS监狱运行,您可能需要禁用此功能。
  • off_maps_to_on_domains(可选):将“off”命令映射到“on”命令的域。
  • expose_by_default(可选):实体是否应该通过网桥而不是显式的暴露出来(参见下面的'emulated_hue'定制)。如果未指定,则默认为true。警告:如果您有很多设备(在所有暴露的域中总共超过49个设备),则应该谨慎使用此选项。暴露比Alexa支持更多的设备可能会导致它没有看到任何一个。如果您在显示任何设备时遇到问题,请尝试禁用此功能,并且一次只显示几个设备,以查看是否修复了这些设备。
  • exposed_domains(可选):如果expose_by_default设置为true ,则默认公开的域。如果未指定,则默认为以下列表:
  • switch
  • light
  • group
  • input_boolean
  • media_player
  • fan
完整的配置示例如下所示。
emulated_hue:
host_ip: 192.168.1.186
listen_port: 8300
advertise_ip: 10.0.0.10
advertise_port: 8080
off_maps_to_on_domains:
- script
- scene
expose_by_default: true
exposed_domains:
- light

2. 在customize.yaml文件中添加可识别字段。有关customize的配置参考之前这篇文章。
# Example customization
light.bedroom_light:
  # Don't allow light.bedroom_light to be controlled by the emulated Hue bridge
  emulated_hue_hidden: true
light.office_light:
  # Address light.office_light as "back office light"
  emulated_hue_name: "back office light" 

属性介绍:

  • emulated_hue_hidden(可选):是否在Alexa中隐藏,该属性的默认值expose_by_default选项控制。
  • emulated_hue_name(可选):模拟Hue将使用的名称。默认值是实体的friendly_name。
3. 您可以通过将本地浏览器指向以下URL 来验证组件是否已加载并正在响应:

  • http://<HA IP Address>:8300/description.xml - 这个URL应该以XML文件的形式返回一个描述符文件。
  • http://<HA IP Address>:8300/api/pi/lights- 这将返回一个设备,灯光,场景,组等,这emulated_hue是暴露给Alexa的列表。



设置完以上步骤以后你就可以通过Alex控制你的设备了,"Alexa,turn off gateway light" 这样就把你的网关灯关掉了。
如果你控制的时候Alexa提示没有这个设备,你可以按照以下步骤进行操作,先寻找到设备再进行控制。
1. 打开app点击左上角的menu按钮。

                               
登录/注册后可看大图
2. 点击Smart Home

                               
登录/注册后可看大图
3. 点击Devices。

                               
登录/注册后可看大图
4. 等待Echo搜索到附近的设备,之后就可以控制了。

                               
登录/注册后可看大图


                               
登录/注册后可看大图

原文链接:https://zhuanlan.zhihu.com/p/33084047



回复

使用道具 举报

5

主题

140

帖子

448

积分

中级会员

Rank: 3Rank: 3

积分
448
金钱
308
HASS币
0
发表于 2018-1-19 11:34:10 | 显示全部楼层
谢谢辛苦  支持
回复

使用道具 举报

5

主题

193

帖子

565

积分

高级会员

Rank: 4

积分
565
金钱
371
HASS币
0
发表于 2018-1-19 13:30:12 | 显示全部楼层
以上都成功了,谢谢。

但我用echo本身已经设置控制博联的rm,现在再通过ha是不是就会重复了?

我一直想用echo实现关投影仪(要按2下关机键),ha里面成功了,怎么让echo控制那个script(按2下投影机的关机键,中间间隔1秒)?
回复

使用道具 举报

5

主题

44

帖子

176

积分

注册会员

Rank: 2

积分
176
金钱
132
HASS币
0
 楼主| 发表于 2018-1-19 14:15:02 | 显示全部楼层
zjhzsz 发表于 2018-1-19 13:30
以上都成功了,谢谢。

但我用echo本身已经设置控制博联的rm,现在再通过ha是不是就会重复了?

1. 我没试过这个,常理来说应该是两种都能控制。
2. 你可以试试把投影仪模拟成开关或者灯。
回复

使用道具 举报

0

主题

4

帖子

34

积分

新手上路

Rank: 1

积分
34
金钱
30
HASS币
0
发表于 2018-1-21 04:03:26 | 显示全部楼层
本帖最后由 bynil 于 2018-1-21 04:04 编辑

楼主你好,请教一个问题:
我按照这个流程配置后,http://<HA IP Address>:8300/description.xml http://<HA IP Address>:8300/api/pi/lights 这两个 URL 都返回了内容,看起来挺正常的,但是 Echo 仍然还是说搜索不到设备,"No new devices found.",这种情况应该用什么思路查找问题呢?
两个 URL 返回的内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
    <specVersion>
        <major>1</major>
        <minor>0</minor>
    </specVersion>
    <URLBase>http://10.1.1.3:8300/</URLBase>
    <device>
        <deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
        <friendlyName>HASS Bridge (10.1.1.3)</friendlyName>
        <manufacturer>Royal Philips Electronics</manufacturer>
        <manufacturerURL>http://www.philips.com</manufacturerURL>
        <modelDescription>Philips hue Personal Wireless Lighting</modelDescription>
        <modelName>Philips hue bridge 2015</modelName>
        <modelNumber>BSB002</modelNumber>
        <modelURL>http://www.meethue.com</modelURL>
        <serialNumber>1234</serialNumber>
        <UDN>uuid:2f402f80-da50-11e1-9b23-001788255acc</UDN>
    </device>
</root>

{
    "group.all_switches": {
        "modelid": "HASS123",
        "name": "all switches",
        "state": {
            "bri": 255,
            "on": true,
            "reachable": true
        },
        "swversion": "123",
        "type": "Dimmable light",
        "uniqueid": "group.all_switches"
    },
    "switch.airx": {
        "modelid": "HASS123",
        "name": "airx",
        "state": {
            "bri": 255,
            "on": true,
            "reachable": true
        },
        "swversion": "123",
        "type": "Dimmable light",
        "uniqueid": "switch.airx"
    },
    "switch.conditioner": {
        "modelid": "HASS123",
        "name": "conditioner",
        "state": {
            "bri": 0,
            "on": false,
            "reachable": true
        },
        "swversion": "123",
        "type": "Dimmable light",
        "uniqueid": "switch.conditioner"
    },
    "switch.display": {
        "modelid": "HASS123",
        "name": "display",
        "state": {
            "bri": 0,
            "on": false,
            "reachable": true
        },
        "swversion": "123",
        "type": "Dimmable light",
        "uniqueid": "switch.display"
    },
    "switch.fan": {
        "modelid": "HASS123",
        "name": "fan",
        "state": {
            "bri": 0,
            "on": false,
            "reachable": true
        },
        "swversion": "123",
        "type": "Dimmable light",
        "uniqueid": "switch.fan"
    }
}

回复

使用道具 举报

1

主题

57

帖子

241

积分

论坛分享达人

积分
241
金钱
184
HASS币
0
发表于 2018-1-21 07:01:39 | 显示全部楼层
感谢分享!!
回复

使用道具 举报

0

主题

4

帖子

34

积分

新手上路

Rank: 1

积分
34
金钱
30
HASS币
0
发表于 2018-1-21 14:06:20 | 显示全部楼层
bynil 发表于 2018-1-21 04:03
楼主你好,请教一个问题:
我按照这个流程配置后,http://:8300/description.xml http://:8300/api/pi/ligh ...

参照这个 issue 解决了 https://github.com/home-assistant/home-assistant/issues/10287
回复

使用道具 举报

5

主题

44

帖子

176

积分

注册会员

Rank: 2

积分
176
金钱
132
HASS币
0
 楼主| 发表于 2018-1-22 10:56:31 | 显示全部楼层
bynil 发表于 2018-1-21 14:06
参照这个 issue 解决了 https://github.com/home-assistant/home-assistant/issues/10287

是版本问题吗?
回复

使用道具 举报

0

主题

4

帖子

34

积分

新手上路

Rank: 1

积分
34
金钱
30
HASS币
0
发表于 2018-1-22 23:46:43 | 显示全部楼层

我按那个 issue 里说的把端口换到 80 就解决了
回复

使用道具 举报

5

主题

44

帖子

176

积分

注册会员

Rank: 2

积分
176
金钱
132
HASS币
0
 楼主| 发表于 2018-1-23 13:13:31 | 显示全部楼层
bynil 发表于 2018-1-22 23:46
我按那个 issue 里说的把端口换到 80 就解决了

我昨天试的时候也出现了设备找不到的情况,后来是通过app搜索设备以后就可以控制了。
这个链接最后一段:
https://zhuanlan.zhihu.com/p/33084047
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-15 22:33 , Processed in 0.183648 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表