Rokid_pebble联动homeassistant


(bob-hjl) #1

背景

本文首发于我的blog

rokid pebble

Rokid是一家做智能音箱的企业. 现在有两代产品: alienpebble.

在一个智能家居的群上我第一次听到了这个公司和当时的第一代产品alien. 当时在群上面更多的是比较她和小智音箱, 那个时候好像叮咚音箱还没怎么拓展市场, 国内也不是现在这样智能音箱井喷的时代. 所以她给我第一印象还是很深刻的, 唤醒准确, 智能联动. 不过第一代产品alien的外观和价格, 让我没有狠心剁手.

这是第二代产品pebble. 外观和价格都是我能够接受的范围之内, 所以我就果断买了.

homeassistant

homeassistant是我近半年时间一直在工作之余玩耍的对象, 是一个本地化, 开源的智能家居平台, 可以自由的将智能家居设备加入到这个平台中, 然后用统一的方式控制, 实现不同厂家设备的联动. 同时这个平台将设备的数据可以保存到本地数据库中, 保证了数据的安全性, 也为以后AI算法的加入提供了数据支持.

目的

将homeassistant的设备加入到rokid pebble平台homebase上, 使用语音控制homeassistant平台上的设备

能做什么

  • 2017.07.06
    • 能够将homeassistant中switch, light, media_player, fan这四类设备自动的加入homebase上.
    • 加入homebase中的设备可以进行开关的操作.
    • 自动识别homeassistant的friendly_name, 并设置为homebase中设备的tag.

开始之前

  • 学习使用rokid的app打开远程调试驱动. 现在还没有验证过使用SSDP进行自动检测, 所以最稳妥的方式是使用远程调试驱动手动添加设备.
  • 会使用docker, 或者在宿主机上安装nodejs8.x.x. 我本地是在群晖上使用docker的方式运行的, 且没有验证过别的方式. 但是原则上能够运行nodejs8.x.x的设备, 都能够胜任此项任务.

宿主机安装

Docker安装

1.搜索并下载schumyhao/rhome_hass_bridge:latestdocker image.

2.创建容器:

  • 设置网络为host模式.
  • 设置ENV值HASS_IP为局域网内homeassistant的IP地址
  • 如果homeassistant的port不是默认的8123的话, 设置ENV值HASS_PORT为homeassistant的port

nodejs安装

1.确定自己的nodejs版本为8.x.x, 如果版本过低, 请升级nodejs版本

# node --version
v8.1.3

2.使用npm安装包homebase-hass-bridge.

npm install -g homebase-hass-bridge

3.设置环境变量, 设置homeassistant的IP地址, 如果homeassistant的port不是默认的8123的话, 同样要设置port

export HASS_IP=YOUR_HASS_IP
export HASS_PORT=YOUR_HASS_PORT

4.启动

rhass

手机App配置

1.打开app的远程调试驱动.

2.在配置项中URL输入上述运行rhass机器的URL.端口是9999. 例如http://192.168.1.1:9999

3.userId可以随意填写字符串.

4.userToken输入homeassistant的登陆秘钥.

结束

正常情况下, 上述操作完成后就可以在rokid的app中扫描到homeassistant中现在支持的设备了. 下一步可以自行对每个设备的tag进行定义.享受使用rokid控制家中设备的乐趣.

已知问题

  • 如果homeassistant没有设置登陆密码, 可能会运行出错.
  • 可以将homeassistant登陆秘钥设置为环境变量, 这样可以进一步使用SSDP进行自动发现, 免去了手机端的配置.

(1206403782) #2

很好,也是安装Homebridge之类的软件?


(bob-hjl) #3

原理类似homebridge.

我更新了代码, 现在可以直接自动发现了.


(1206403782) #4

請問樓主,可不可以在樹莓派上搞定? 流程是不是這樣?樹莓派安裝Docker,創建容器,把這個鏡像放進去后啟動。安裝nodejs(不知道7.0行不行呢?) ,在npm安裝homebase-hass-bridge. 設置環境變量。


(bob-hjl) #5

在树莓派上面直接npm安装rhass就可以了 不需要单独安装docker


(格林剑雨) #6

我能加你微信或者扣扣对这个进行深入的了解吗??


(1206403782) #7

只要Hass上已经配置对接好的设备,就能通过homebase-hass-bridge来使Rokid来控制了??


(bob-hjl) #8

最前面的blog的连接里面有我的微信二维码


(bob-hjl) #9

是的