求助关于homehome assistant 安装和homebridge

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(... - 简书
树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(4):连接小米设备与HomeKit
树莓派 + Home Assistant + HomeKit
通过本篇教程,你将在 Home Assistant 中接入小米智能家居设备,并在安装配置 Home Bridge 插件后,实现 HomeKit 功能,即在 iOS 家庭 App 中控制这些设备。
智能家居是一个系统化的工程,设备之间的通信就是基础建设。消费级智能家居硬件设备的爆发,使得我们能够轻松的搭建个人智能家居系统,而平台与产品的多样性也带来了多种的通信方式,诸如 Zigbee、蓝牙、WiFi、LAN。
小米生态链企业生产的米家智能家庭组合使用的就是网关+子设备的模式,网关通过 WiFi 连入家庭网络,子设备通过 Zigbee 与网关连接。这可能是目前最适入手的智能家居模式了,体积小、功耗低、无需布线、不干扰 WiFi 设备,这也是我选择小米平台的一个主要原因。
小米旗下生态链企业众多,不同的产品也需要不同的连接方式。一般采用 Zigbee 技术的设备需要网关支持,在 Home Assistant 中只需要接入网关,就可以控制网关下的所有设备,而其他独立入网的设备,如米家扫地机器人等,需要单独接入。0.50 之后版本的 Home Assistant 提供的原生组件,支持了部分小米平台的设备。
Home Assistant 小米组件
独立整理了小米生态链设备在 Home Assistant 的支持列表(中英双语),表格使用
编辑,国内用户请通过
一、小米设备接入 Home Assistant
小米多功能网关
小米设备众多,我仅选择官方原生支持接入的作为初级教程内容,PS:第一代小米多功能网关无法接入。
我们需要准备小米多功能网关的 mac 地址和局域网通信协议密码 key。
在米家 App 中打开小米多功能网关,按图示获得相关信息。
获取 mac & key
▲获取 mac & key
获取 mac & key
▲获取 mac & key
iOS 与 Android 显示或有不同。
在 configuration.yaml 文件中添加如下代码:
- mac: 你的网关mac,不含冒号
key: 你的局域网通信协议key(注意空格与缩进)
多个网关,格式如下:
- mac: xxxxxxxxxxxx
key: xxxxxxxxxxxxxxxx
- mac: xxxxxxxxxxxx
key: xxxxxxxxxxxxxxxx
重启 Home Assistant 服务后即可识别相关设备。
小米路由器
在 configuration.yaml 文件中添加如下代码:
device_tracker:
- platform: xiaomi
host: 路由器 IP
password: 路由器 密码
Home Assistant 支持 Yeelight 以下型号产品。
YLDP01YL: LED Bulb (White)
YLDP02YL: LED Bulb (Color)
YLDP03YL: LED Bulb (Color) - E26
YLDD02YL: Lightstrip (Color)
首先你需要 Yeelight App 中打开“极客模式”,在 configuration.yaml 文件中按以下模板添加代码:
如果你在 configuration.yaml 中开启了 discovery: 功能,那么在开启极客模式后,重启 Home Assistant,系统会自动添加相关灯具。
- platform: yeelight
192.168.1.25: #改为你的 Yeelight 相应IP地址。
name: Living Room
transition: 1000
use_music_mode: True #(音乐随动模式,默认关闭)
save_on_change: False #(记忆设置,默认开启)
192.168.1.13: #多个 Yeelight 接入。
name: Front Door
二、Home Bridge 插件
是前苹果员工的作品,基于 NodeJS,模拟 iOS HomeKit API。有如其名,作为“桥”来连接 iOS 设备,使得本不支持 HomeKit 的设备能够接入。
在 Hass.io 中安装第三方插件 Home Bridge
打开侧边栏 Hass.io,点击进入插件商店
安装 Home Bridge 插件
添加插件地址: 后保存。(换行后可添加多个地址)
安装 Home Bridge 插件
在页面底部找到新的 Home Bridge 插件,进入安装。
安装 Home Bridge 插件
安装 Home Bridge 插件
此 Home Bridge 插件经过我的修改,集成了
插件,不需要额外添加。另外由于网络原因,安装可能较慢,不要着急,睡一觉起来它肯定安装好了。
homebridge-homeassistant:将 Home Assistant 设备接入 Home Bridge。
homebridge-config-ui:Home Bridge 可视化管理界面。
配置 Home Bridge 插件
打开 \\HASSIO\config\homebridge\config.json 文件,按以下模板修改:
"bridge": {
"name": "Home Assistant",
"pin": "123-45-678", /*随意八位pin码*/
"port": 51826,
"username": "XX:XX:XX:XX:XX:XX" /*你的树莓派mac地址*/
"description": "Homebridge for Home Assistant",
"platforms": [
"platform": "HomeAssistant",
"name": "HomeAssistant",
"host": "http://192.168.1.11:8123", /*你的 Home Assistant 地址*/
"password": "raspberry", /*你的 Home Assistant 密码*/
"supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"],
"default_visibility": "visible",
"logging": true
{/*homebridge-config-ui*/
"platform": "config",
"name": "Config",
"port": 8124,
"log": "/var/log/daemon.log",
"restart": "sudo systemctl restart homebridge.service"
并在 configuration.yaml 添加如下代码:
# 在 Hass.io 侧边栏添加 homebridge-config-ui 的入口
panel_iframe:
homebridge:
title: Homebridge
icon: mdi:home-automation
url: http://192.168.1.11:8124 #你的 Home Assistant IP 地址
重启 Home Assistant,并在 Hass.io 中开启 Home Bridge 插件。
Home Bridge 插件
整体而言,除了网络的问题之外,Hass.io 的安装还是很方便的,如果你曾经折腾过 Home Bridge 的话,Hass.io 使你不用费心搭建环境、设置启动、手动调试,一切都在 Hass.io 页面中就可以完成了。
如果你有其他的 Home Bridge 插件需要安装,按以下格式在 Options 内添加。
"debug": false,
"plugins": [
"homebridge-dummy --registry=https://registry.npm.taobao.org",
"homebridge-mysmartlock --registry=https://registry.npm.taobao.org"
三、设置 iOS 设备中的“家庭”App
此节 Android 用户可略过。
有了家庭 App,你就可以轻松安全地掌控各种 HomeKit 配件。比如通过 iPhone 让 Siri 帮你关灯,或者从 iPad 上看看门口是谁。家庭 App 能让你连接的各种设备,更高效、智能地为你工作。
家庭 App 会按照房间将配件分组,让你只需轻点一下,就可轻松控制家中任何角落的装置。你甚至可以对 Siri 说“关掉卧室的灯”或是“打开楼上的空调”。而通过 3D Touch,按住一个图标,就能执行调暗灯光或是调节恒温器之类更复杂的任务。
家庭 App 能让你设置多种场景,从而通过一个指令让多个配件联合工作。比如,你可以创建一个名为“我出门了”的场景,便可关闭灯光,锁好房门,以及调低恒温器的温度。
Apple ,以及。
在家庭 App 中添加 “桥”
Home Assistant 结合 Home Bridge 插件,使得原本不支持 HomeKit 的设备也能够接入 iOS 的家庭 App,Home Bridge 插件启动后,打开家庭 App 进行以下操作:
接入家庭 App
接入家庭 App
手动输入 PIN 码,就是在配置文件中任意写入的那个,你就可以通过这个“桥”连接到 Home Assistant 内的设备了。然后按照官方进行进一步命名设备。
自动化和远程访问 HomeKit 配件
你可以将 iPad 或 Apple TV(第 4 代)设置为家居中枢,以便在 iOS 设备上实现对 HomeKit 配件的自动化和进行远程控制。设为家居中枢的设备必须留在家中、且处于开机状态。
自动化和远程访问 HomeKit 配件
将 iPad 设置为家居中枢
在“设置”&“iCloud” 中打开“”和“家庭”,前往“设置”&“家庭”并打开“将此 iPad 用作家庭中枢”
将 Apple TV 设置为家居中枢
在 iOS 设备或 Mac 上,。然后,前往 iCloud 并确保“”已开启。在 Apple TV 上,前往“设置”&“帐户”并确保已登录到 iCloud,且使用的 Apple ID 与 iOS 设备上的相同。登录到 iCloud 后,Apple TV 会自动被设置为家居中枢。要检查家居中枢的状态,请前往“设置”&“帐户”&“iCloud”,然后在“HomeKit”下查看家居中枢是否已连接。
四、下节预告
完成设备的接入,智能家居系统开始有点像样了。我想你们肯定还存在很多问题,“我的设备怎么在 Home Assistant 里重新命名?”“如何分组?”“有些设备我不想加入 HomeKit 里。”“我想要更炫酷的界面!”“这不就是个遥控器嘛,我不需要。”诸如此类。下节教程将对 Home Assistant 进行进一步配置,实现个性化布局,同时对 Home Assistant 的自动化(Automations)做入门讲解。
Home Assistant 进阶设置
Home Assistant 自动化
用心打造你的智能家居。红米手机 &
电视盒子 &
智能硬件 &
发烧级手机控
楼主的荣誉
扫码下载App一键签到 升级加速
求助关于homeassistant和homebridge
&来自iPhone 6
扫一扫!手机看帖更爽
第一步安装homeassistant就出现这个请问大神们是什么原因
扫描二维码,手机查看本帖
先安装python
·来自iPhone 6 Plus
我的是ha能下载,但是太慢了,一直是几K的下载速度,然后就显示下载失败了
·来自iPhone 6 Plus
我的也是,一直安装不了Ha
·来自iPhone 6
暮雪夜星辰
14:47:39密码输对了吗?秘密是对的
·来自iPhone 6
15:45:29你安装使用的用户不对,切换到你安装pip的用户试试怎么切换呢
你安装使用的用户不对,切换到你安装pip的用户试试
·来自移动端
密码输对了吗?
·来自iPhone 6
用的是Mac电脑
没用树莓派
·来自移动端
你是用的树莓派吗?
京ICP证110507号 京ICP备号homebridge 树莓,树莓派 homekit_树莓派 homebridge_树莓派安装homebridge_homebridge_树莓派做homekit网关_树莓派接入homekit_homeassistant 树莓派_树莓派3 homekit_小米树莓派homekit - 一点通再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
威锋网7月10日消锋网7月10日消息,《植物大战僵尸2》 如今...
威锋网7月10日消息,《植物大...
近日,开发商 Esquilax Games ..
说到方块游戏,相信有很多朋友应该还会记得 Gavina Games 早...
威锋网7月10日消息,《植物大...
近日,开发商 Esquilax Games ..
说到方块游戏,相信有很多朋友应该还会记得 Gavina Games 早...
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!教你用树莓派 + IFTTT 实现 HomeKit 智能家居自动化(二)
这一章我们除了使用到上一章的 HomeBridge,还会使用 HomeAssistant。
那么,问题来了:
0. HomeKit、HomeBridge、HomeAssistant 分别是什么?关系是什么?
HomeKit:苹果于 2015 年 5 月发布的智能家居平台。
HomeBridge:一个开源程序,用于让 HomeKit 支持一些原生不支持 HomeKit 的设备(如米家家居)。
HomeAssistant:一个第三方的智能家居平台。
上一章的关系图:
可以看到,上一章米家设备通过插件 HomeBridge-Mi-Aqara 来与 HomeBridge 沟通,让我们的 iPhone 通过 Siri(HomeKit)来接入 HomeBridge 达到最终控制米家设备的目的。
本章的关系图:
可以看到,这一章将要介绍的情况,米家、IFTTT 这些智能家居并没有直接接入到 HomeBridge,而是先接入到第三方智能家居平 HomeAssistant,然后 HomeAssistant 与 HomeBridge 通过插件 HomeBridge-HomeAssistant 进行交互沟通,最后把结果反馈到你的手机上。
0.3. 我为什么要搞多一个 HomeAssistant?
因为接入了 HomeAssistant,能够给你的家居智能化上升到一个新的高度,HomeAssistant 支持一系列的组件。
HomeBridge 因为自身的一些条件限制,以及条件束缚,只能够一次控制一类家居,比如 HomeBridge-Mi-Aqara 就只能控制米家类家居。
而 HomeAssistant 能够做到,「如果天气预报说要下雨了,网关灯变红,多云变黄,晴天就变绿啊」,或者是「爸爸回家了手机自动联入 Wi-Fi,会发推送告诉我不要看小视频了」等等,可以说,让更多的事情加入到智能化这一行列。
让事情变得更好玩,更有趣,更智能,是我引入 HomeAssistant 的目的所在。
0.4. 我想告诉你的
如果你是希望「用 iPhone 或者 Siri 控制一些米家家居,或者回到家打开门台灯自动亮起来欢迎你」,那么其实 上一章内容 已经完全满足你的需求,已经 OK 了。
这一章虽然带来了很多新的有趣的「骚操作」,但是因为引入了 HomeAssistant,所以也会相应的增加了操作量,所以你要自我衡量考虑一下要不要继续折腾噢~
涉及到的新操作 IFTTT、动态域名解析、Liunx 部分新命令。
1. 开始前的准备
你需要有一个树莓派,它是一个已知 IP 地址,开启了 SSH,干净正常耐操的树莓派。
希望你最好有 linux 的基础。
通关路线:
如果对于上面两条你已经做到了,那么直接从往下看。
如果你是完全按照上一章内容操作,并且完成了所有功能实现,那么请看这里,为你跳过重复部分。
如果你对于这个准备毫无头绪,不妨先回顾一下 上一章内容,在上一章的第 0~1 章有相应的手把手教学。
如果你已经配置好了 HomeAssistant & HomeBridge,可以直接拉到下面查看关于「联动 IFTTT 的骚操作教程」。
2. 整个应用框架的安装 2.1. 安装 NodeJS
curl -sL /setup_6.x | sudo -E bash - sudo apt-get install -y nodejs
安装完要使用nodejs -v看看版本是不是 v6.xx,如果不是的话,再次执行这两条命令。
2.2. 安装 avahi 包
sudo apt-get install libavahi-compat-libdnssd-dev
2.3. 安装 HomeBridge
sudo npm install -g --unsafe-perm homebridge
2.4. 安装 HomeBridge-HomeAssistant
sudo npm install -g homebridge-homeassistant
2.5. 安装 HomeAssistant
sudo pip3 install homeassistant
2.6. 配置 HomeAssistant
2.6.1. 初始化 HomeAssistant 配置文件
mkdir ~/.homeassistantvi ~/.homeassistant/configuration.yaml
在打开的编辑器中,单击键盘的i键,进入输入状态。
复制以下初始化内容到文件中。
homeassistant: # Name of the location where Home Assistant is runningname: Home # Location required to calculate the time the sun rises and sets# 设置你的经纬度,判断日落时间latitude: 42.7683 longitude: 129.3364 # Impacts weather/sunrise data (altitude above sea level in meters)elevation: 0 # metric for Metric, imperial for Imperialunit_system: metric # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zonestime_zone: Asia/Shanghai # Show links to resources in log and frontendintroduction: # Enables the frontendfrontend: # Enables configuration UIconfig:http: # Uncomment this to add a password (recommended!)# 这里推荐设置一个登陆密码api_password: HaHb7890 # Uncomment this if you are using SSL/TLS, running in Docker container, etc.# base_url: example.duckdns.org:8123# Checks for available updates# Note: This component will send some information about your system to# the developers to assist with development of Home Assistant.# For more information, please see:# https://home-assistant.io/blog//explaining-the-updater/updater: # Optional, allows Home Assistant developers to focus on popular components.# include_used_components: true# Discover some devices automaticallydiscovery: # Allows you to issue voice commands from the frontend in enabled browsersconversation: # Enables support for tracking state changes over timehistory: # View all events in a logbooklogbook: # Track the sunsun: # Weather predictionsensor: - platform: yr # Text to speechtts: - platform: googlegroup: !include groups.yamlautomation: !include automations.yaml
然后点击键盘 esc,输入 :wq 进行保存并推出编辑器。
2.6.2. 安装 HomeAssistant 初始化所需要的插件
HomeAssistant 安装完后,其实只是安装了一个主体程序,实际上还需要安装很多小控件的安装,往往需要 Root 权限,所以在终端中输入
sudo hass --open-ui
等待程序自动运行,他会安装一些 HomeAssistant 所需要的一些组件。
我们可以在浏览器中输入http://树莓派IP地址:8123 进行访问,去了解 HomeAssistant 是否初始化成功。
当你的浏览器看到这个页面,表示已经成功初始化插件安装了。这个时候你需要多按几次 Ctrl+C(Mac 电脑是 Control+C)来退出这个程序,一直按到你出到能输出命令的终端页面。如下图所示:
注意,以 Root 权限运行的 HomeAssistant 在实际操作中发现,并不能按照我们的配置文件进行配置,所以我们还需要以当前用户 pi权限来运行 HomeAssistant。
然后在终端中输入
hass --open-ui
等待片刻,我们用浏览器访问 http://树莓派IP地址:8123,如果你在前面配置文件中有设置密码 HaHb7890,就会显示一个登陆页面,说明你能够正式使用 HomeAssistant 系统了。
2.6.3. 记录米家智能家居硬件的相关信息
打开 米家 App(小米智能家居官方硬件),选择智能网关设备,点选右上角的 ··· 功能符号,进入后点选 关于。
然后你看到的是下图左边的样子,这时候你需要疯狂输出,要不断的点击空白处,片刻后界面就会变成右边的样子,多了局域网通信协议还有网关信息选项。
这时候,分别点选他们,记录你的网关的局域网通信协议密码以及网关的 MAC 地址,请记好噢。
2.6.4. 把 HomeAssistant 配置米家智能家居
需要注意的是,HomeAssistant 在 50.0 版本后,已经从官方上集成对小米智能家居,所以我们直接在 HomeAssistant 配置文件上配置即可。
vi ~/.homeassistant/configuration.yaml
进入编辑器后,按住 shift 然后单击键盘 g 键,会自动跳转到最后一行(Vim 的 G 键代表跳到最后一行)。然后单击键盘 o 键,开始进入编辑模式。
输入以下字段:
xiaomi: gateways: - mac: B827EBDA70F9(你的小米网关MAC地址,地址中间如果加`-`会报错) key: 通讯密码(请全部大写,不然只能看智能家居状态不能控制)
然后,单击键盘esc键,再输入:wq进行保存退出。
Ok,配置好,就要软重启一下 HomeAssistant,进入 HomeAssistant 页面,选择左下角的Developer Tools(开发者工具)下的第一个图标,然后在右边的标签页中填写相应的信息:
Domain: homeassistant
Service: restart
然后点击CALL SERVICE来唤起 HomeAssistant 的重启。
原理介绍:HomeAssistant 把很多功能都以组件来看待,然后我们就是调用了核心组件homeassistant 里面其中一个方法restart 来对 HomeAssistant 进行重启。
这个时候,HomeAssistant 的页面会告诉你已经与服务器断开连接了,事实上你只要静静地等待就好了,等到重新正常连接就 OK 了。但是耐不住寂寞的你肯定想看看进度如何对吧,这个时候,你知道打开刚刚输入了hass --open-ui代码的终端窗口,就可以看到实时情况,如下面的截图就是说,我在安装的过程中,而且安装过程已经超过 10s 了。
稍安勿躁,去泡杯茶回来,网页版的 HomeAssistant 已经能够正常连接了,你点击左边栏的States按钮,回到总览页面,你就可以看到,小!米!智!能!家!居!出!现!了!
OK,那说明你的小米智能家居已经成功的接入了 HomeAssistant 平台了,恭喜你往高端玩家又进了一步请继续阅读下文哈。
2.7. 配置 HomeBridge-HomeAssistant
mkdir ~/.homebridge cd~/.homebridgevi config.json
在打开的文件界面中,单击键盘的i键,进入输入状态。
复制以下内容到文件中。
{ "bridge": { "name": "Homebridge", "username": "B8:27:EB:DA:70:F9", "port": 51826, "pin": "233-78-123"}, "platforms": [ { "platform": "HomeAssistant", "name": "HomeAssistant", "host": "http://127.0.0.1:8123", "password": "HaHb7890", "supported_types": [ "binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "sensor", "switch"] }]}
bridge-name : 你在 iPhone 的 HomeKit 上面看到桥接设备网关的名称
bridge-username : 树莓派 MAC 地址
bridge-port : HomeBridge 使用的端口,默认就好
bridge-pin : 在 iPhone 上认证 HomeBridge 网关的密码,这个按照你自己喜好来输入吧
platforms-host : 你访问 HomeAssistant 的地址+端口
platforms-password : 你在 HomeAssistant 设置的登陆密码
2.8. 配置 HomeBridge
homebridge -D
运行成功后,会如下图所示:
2.9. iOS 的 HomeKit 配置
进入家庭App,添加配件,你就可以看到 HomeBridge 了
把里面的配件添加进来,你的 HomeKit 就已经具备了他应该有的功能了。
2.10. 设置长久运行的 Homebridge
事实上,你现在如果关闭了 SSH 链接,那么你的 HomeKit 也会处于失效状态,因为你的 Homebridge 随着 SSH 的连接关闭导致被关闭了,如果解决?
使用SCREEN工具,在终端下输入:
sudo apt-get install screen
SCREEN -dmS hb homebridge # 开启一个名字叫做hb的窗口并运行homebridge命令,hb这个名字你随意取SCREEN -dmS ha hass --open-ui # 开启一个名字叫做ha的窗口并运行'hass --open-ui'命令,hb这个名字你随意取
在 screen 里开启的 Homebridge 不会随着 SSH 关闭而被关闭。那么如何暂时退出这个窗口呢?
先按Ctrl+A然后按完再按一下d就可以跳出来做其他事情了,如何回去?使用screen -x hb即可。
2.11. 设置开机自启动 HomeBridge & HomeAssistant
事实上,树莓派关机后,两个程序会被关闭,可以使用SCREEN工具,并且在rc.local里面添加开机自启动任务。
sudo vi /etc/rc.local
然后进入了编辑器,单击键盘的i键进入编辑模式。在exit 0这一行前面添加:
su -c "screen -dmS hb homebridge"-s/bin/sh pisu -c "screen -dmS ha hass --open-ui"-s/bin/sh pi
然后单击键盘esc退出编辑模式,然后输入:wq保存文件并推出编辑器。
2.12. 设置远程化运行的 HomeKit
苹果规定,HomeKit 一般情况下,只能在同一个 Wi-Fi 下操作,如果你要远程化和自动化操作。请充(yao)值(mai)信(mai)仰(mai)!
远程控制起步是iPad mini 2 或者 Apple TV 3
自动化起步是iPad mini2 或者 Apple TV 4
3. 联动 IFTTT 的骚操作开始
终于来到激动人心的时刻了,要开始真正的骚操作了。
3.1. 给 HomeAssistant 配置 IFTTT 组件
类似小米智能家居的通信密钥,IFTTT 有一个 key,从[Webhook 这个位置]获取得到。
拿到之后,在终端中输入以下命令:
vi ~/.homeassistant/configuration.yaml
进入编辑器后,按住shift然后单击键盘g键,会自动跳转到最后一行(vim 的 G 键代表跳到最后一行)。然后单击键盘o键,开始进入编辑模式,输入以下字段:
ifttt: key: xxxxx_xxxxxxxxxxxxx
然后,单击键盘esc键,再输入:wq进行保存退出。
然后按照上面的教程,重新 restart 一下 HomeAssistant。
3.2. IFTTT 作为触发条件
做一个简单演示,如果我们用 HomeAssistant 调用了 IFTTT,就给手机版的 IFTTT 发一条推送。
作为 IF 条件,Event Name 就是我们给这个事件声明的名字,我们以HA_TEST来做这个事件的声明名字。
然后触发条件,选择Notification,推送的内容,可以设置一些预设的变量函数,包含我们给这个事件声明的名字Event Name,也可以包含我们传过去的 Value 值。
创建完 IFTTT 的 Applets,我们回到 HomeAssistant 测试一下。
在 HomeAssistant 的Developer Tools的第一个图标,然后配置如图。Data 一般是以JSON格式来传输的。
点击调用后,几秒钟你的手机的 IFTTT 就会给你发来一条推送了。
实际上,用 HomeAssistant 还能用内置的automation来调用 IFTTT,相当于内置的 IFTTT,但是支持的控件没 IFTTT 那么丰富。
3.3. IFTTT 作为触发结果
OK,前面是一个小的应用,最主要的还是要介绍 IFTTT 作为触发结果。
3.3.1. HomeAssistant API
HomeAssistant 支持丰富的 API,通俗来说,就是你访问一个网络地址就能控制你家的台灯开与关。
OK,地址是http://树莓派地址:8123/api/services?api_password=登陆密码,你可以看到所有 HomeAssistant 能支持的 API,抽取其中一个给大家介绍一下。
其中一个是关于对灯光的 API 介绍。
{ domain: "light", services: { turn_on: { deion: "Turn a light on", fields: { brightness: { deion: "Number between 0..255 indicating brightness", example: 120}, color_name: { deion: "A human readable color name", example: "red"}, entity_id: { deion: "Name(s) of entities to turn on", example: "light.kitchen"}, rgb_color: { deion: "Color for the light in RGB-format", example: "[255, 100, 100]"} } } }}
所以你发起一个 POST 请求,我是使用了 Mac 版的 Paw 软件来发起请求,当然你可以使用 Chrome 上面的 PostMan 扩展来做测试。
我请求的地址是/api/services/light/turn_on然后附上 URL 的 PARAMS 是entity_id代表要开的灯的 id,然后附上 API 调用密码api_password.
然后在主体 BODY PARAMS 里面写入灯光的颜色color_name,以及亮度brightness。
POST 192.168.1.100: 8123/api/services/light/turn_on?entity_id=Gateway_Light_34ce&api_password=HaHb7890Body Params { "color_name": "red", "brightness": "50"}
调用后,你家里的网关灯就会变红了,而且亮度设定在 50。
3.3.2. 如果明天下雨,我的网关灯要变红
+ - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - -+ ' IFTTT: '' HomeAssistant: '' '' '' +----------+ +----------+ '' +-------------------+ +------+ '' | 外面下雨 | --& | 调用事件 | '--& ' | HomeAssistant API | --& | 灯亮 | '' +----------+ +----------+ '' +-------------------+ +------+ '' '' '+ - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - -+
其实关于 HomeAssistant 部分,我们在3.4.1已经介绍了。现在需要介绍IFTTT设定以及IFTTT 如何调用HomeAssistant.
3.3.2.1. 域名动态解析
我们现在调用的 API 地址是一个局域网的地址,形如192.168.x.x,这个在广域网(互联网)是无法调用的,简单来说就是,你在公司的网络是调用不了你在家里的这台树莓派的 API 的,更何况 IFTTT。
所以,为了解决这个问题,你可以:
购买固定 IP:向宽带提供商 ISP 购买一个固定 IP,无论你如何重启路由器啊,这个IP就是能指向你家路由器,这个一般费用比较高昂,不推荐。
使用动态解析域名(推荐):现在一般的路由器都内置了动态解析的组件,可以把内网的某一个机器的某一个端口映射到指定的域名端口,或者整个内网机器映射到外网,推荐前者,比较安全。具体自己找方法啦
内网穿透:可以了解一下ngrok
3.3.2.2. IFTTT 设置
在IF条件,你可以选择 IFTTT 中的Weather Underground中的Current condition changes to触发器,选择Rain。代表,如果天气预报发现你那里快要下雨了,就触发这个事件。
在THEN条件,选择IFTTT的webhook:
请求地址URL跟我们的3.4.1中的地址一样,只是树莓派的地址和端口换成动态解析后的域名与端口。
请求方法METHOD选择POST,
传输内容类型Content Type选择application/json,
传输内容Body写关于灯光的详细配置,颜色变红亮度50{"color_name":"red","brightness":"50"}
点击Creata action进行保存
最后,Review一下,给这个自动化设定一个名字,下面的按钮的意思是每次出发了这个自动化,要不要给你手机的 IFTTT 发一个推送证明它发送了。
OK,那么整个流程到这里就算是完成搞掂了~
其实这个流程有 1 点不太安全的是,IFTTT 的 POST 请求明文调用了树莓派的 API 密码,我研究了一下好像 IFTTT 的 Applet 只会针对个人,不对外分享,所以还算是安全。然后动态解析尽量针对端口吧,对外开放太多端口容易受到攻击,同时 API 密码请申请的高强度一下,SSH 使用密钥登陆。
4. 其他 4.1. 已经完全实施了上一章的读者
因为上一章的完全实施,所以你已经安装了 HomeBridge-Mi-aqara,Homebridge 对于插件好像有些蜜汁互斥,所以你需要先卸载他,再按照上面的教程继续走。
sudo npm uninstall -g homebridge-mi-aqara
本文转载自Or2=3的Blog
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点

我要回帖

更多关于 homeassistant论坛 的文章

 

随机推荐