Home Assistant 家庭智能中心

简介

Home Assistant 是一个基于Python 3开发的开源家庭自动化平台。可以跟踪和控制家庭中的所有设备,并实现自动化控制。 可以完美的运行在Raspberry Pi。

1.简单介绍,优势:

1完全本地化,不受服务器限制

2.支持设备广,全面打通各个平台和设备,如苹果HomeKit,博联

3.自定制开发,功能强大,无限可能

4.用户基数大,教程资源丰富

缺点,需要折腾,有问题要自己解决

2.安装,参考官网wWw.home-assistant.io,多种设备安装简单化,树莓派、群晖

安装插件HACS

参考:

  • Home Assistant 中文网

引言

在智能家居市场,米家无疑是垄断地位。但是米家对于空调控制的优化不佳。首先是每次打开空调都是从 16° 起步,无法记住上次的温度。米家智能中温度风量只能二选一,只有 16° 和高速或者其他温度和自动风速。就在一个月前,一直稳定的 Yeelight 突然抽风,无线开关开始各种不受控。经多次反馈无果,被迫弃坑。你是否也受够了一成不变的米家?厌倦了多个 App 之间的频繁切换?不应该是让你去适应智能家居系统。现在,甚至不需要太多 Linux基础,几串代码就可以 DIY 最适合自己的智能家居控制系统。

Homeassistant 能做什么

最早接触的 Homeassistnt (下简称HA)是为了把米家设备接入 Homekit 用 Siri 和自动化管理设备。随着 HA 的版本迭代,HA 越来越稳定与个性化。HA 不光是连接 Homekit 和智能家居的桥梁,更是让家居更适应你需求的管理中心。

你是否也曾想过:

  • 开关电脑时自动开关台灯和氛围灯。
  • 用 Siri 遥控家里所有的智能设备和空调。
  • 日历与灯光同步,提醒你的不光是声音,甚至可以是味道。
  • 在一块面板上直观地看到家中温湿度、NAS 运行状态、你的明日安排、车辆定位。
  • 任何一个开关、设备状态成为智能家居的一环。 

人工「智能」Siri 无法打开电脑,但可以打开「电恼」

如果你着迷于更智能的家居,更协调统一的管理,那么你一定要试试最新版本的 Homeassistant 。下面,我将用实例演示 Homeassistant 的安装与部署。

安装 Homeassistant

事先准备

Nas 、软路由、树莓派、PC,Homeassistant 可以安装在任何机器上。作为智能家居的网关,稳定是关键。本文将使用树莓派安装。

硬件需求:

  • 树莓派(推荐4代+2G)
  • 32G(或以上)SD卡
  • 网线

首先下载所需 树莓派系统 并用 balenaEtcher 刷入。拔出SD卡后再插入电脑,在 root 根目录创建新文本文档改名为  SSH 。使用终端、 putty 连接树莓派,连接默认密码为 raspberry(输入密码时不显示)。 Win 系统可使用 finalshell 查看树莓派当前网络下载速度。

sudo timedatectl set-timezone 'Asia/Shanghai'

设置完时区后重新启动进入下一步。

一键安装

经过开发者和极客用户的不断努力,让普通用户的入门门槛变得越来越低,本文使用 neroxps 制作的一键安装脚本安装。该脚本集成 Docker 安装、更换国内源和Hassio安装。

sudo -s
wget https://code.aliyun.com/neroxps/hassio_install/raw/master/install.sh
chmod a+x install.sh
./install.sh

回车运行选择自己设备即可。值得注意的是,由于国内网络原因,会出现下载速度其慢或卡死,用 Ctrl+C 停止任务后再次运行脚本。此外,也可以在路由端添加代理规则,让下载更加顺畅。

 官方文档 的安装方法,优势在于更加稳定。但是受限于国内网络,该安装方法可能会启动失败,且无法安装插件。

安装完成后,便可通过 http://树莓派IP:8123 登录 HA 管理界面。

配置 Homeassistant

HA 设备的接入方式并非一键连接,需要在树莓派目录 \usr\share\hassio\homeassistant 下修改配置文件 configuration.yaml 

进入 HA 管理界面,点击侧边栏 Supervisor 中的 Add-on store ,安装并启动 File editor 插件便可在网页对 configuration.yaml 文件进行直接编写。

下面将以案例的形式讲解设备的接入。

Yeelight

以 Yeelight 灯带为例(非原生 Homekit 设备)。HA 自动搜索无法正确配置 Yeelight 灯带,因此需要手动加入。从路由器或 App 中获取设备的 IP 地址即可无缝接入 HA。

将以下内容拷贝至 configuration.yaml 中并更改 IP 地址。(注意 yaml 格式和缩进)

# 该方法不适用于已支持 Homekit 设备
discovery:ignore:- yeelight
yeelight:devices:192.168.1.110:name: 灯带 1192.168.2.111:name: 灯带 2

在 配置 - 服务器控制 重新启动后便可在首页看到设备。

Broadlink 博联全系列

博联接入 HA 最为省心。以博联智能开关为例,

# 「switch:」只需填写一次
switch:- platform: broadlinkhost: IP地址 1mac: MAC地址 1- platform: broadlinkhost: IP地址 2mac: MAC地址 2

XIAOMI 小米系列

区别于其他智能设备,小米设备不光要获取 IP 地址,还要要获取设备 API token

Token 的获取方法有很多,这里介绍最简单的一种。由 SchumyHao1 分享,下载  apk 在手机安装。在 app  通用设置 - 网络信息 中即可看到设备 token 。iOS 用户须下载安卓模拟器运行。

以小米智能开关为例,

# 「switch:」只需填写一次
switch:- platform: xiaomi_miiohost: IP 地址token: TOKEN 码

小米智能网关需用 key 连接。还是用到之前的 App ,在网关页面中点击 关于 ,多次点击 插件版本 位置打开开发者模式。打开 局域网通信协议 便可获取 key 。

xiaomi_aqara:discovery_retry: 10gateways:- key: 获取的密码

连接成功后,小米网关下的所有智能硬件将自动接入 HA 。

Homekit

设备连接 HA 后,可利用 HA 内置的 Homekit 插件将所有设备接入家庭,用 iPhone 统一控制。在 configuration.yaml 中写入:

homekit:exclude_entities:
#以下实体不在 Homekit 中显示 (非必填,格式展示请勿复制)- binary_sensor.switch_xxxxxx- binary_sensor.wall_switch_xxxxxx- ……

重启 HA ,在通知中可看到二维码和 8 位连接码,扫描或手动接入即可。原生 Homekit 设备需先在家庭 App 中移除, HA 会自动发现,输入 Homekit 设备 8 位连接码后即可接入 HA 。

更多设备的接入可在 官方整合文档 中查询。

至此,Homeassistant 的设备接入工作完成。

Homeassistant 自动化

接入 HA 的设备,无论是开关、传感器(温湿度等特殊除外)、日历等,一般表示为 on 和 off 两个状态,HA 监测设备状态、调用服务达到家居自动化目的。

HA 前端已集成了自动化配置界面,下面将演示基础的自动化配置流程。

Google 日历 中有活动时打开灯泡为例,

在 HA 管理界面, 配置 - 自动化 中,点击右下角 + 号创建新自动化。当有活动时,日历状态从 off 变为 on ,那么将调用 switch.turn_on 服务。

当然,用户也可直接编写 automations.yaml 文件,以 小米无线开关 为例,

- alias: 工作模式trigger:platform: eventevent_type: xiaomi_aqara.click  event_data:entity_id: binary_sensor.switch_xxxxxxxxxxx click_type: single action:
#打开电脑- service: switch.turn_on entity_id: switch.mypc
#开灯并调到指定颜色- service: light.turn_on data:entity_id: light.table_lightbrightness: 255rgb_color: [255, 145, 26]
#打开空调并调整到指定温度- service: climate.set_temperaturedata:entity_id: climate.bedroomtemperature: 23hvac_mode: cool

保存后,在 服务器控制 中 重载自动化 1 即可,无需重启。

请在用户资料中开启高级模式

自动化保存后会以开关形式在 HA 和 Homekit 中显示,该开关也嵌套在新的自动化中。

课程表接入 HA ,在上课时开启房间最亮的灯,其效果不亚于上课睡觉时被点名回答问题。以至于我每次只能心惊胆战地睡觉。其次是启动电脑时开启一系列开关,HA 有自带集成 wake on lan 可 Ping 电脑,但是我总觉得不太安稳。我这里使用的是魔改的小米门窗传感器检测电脑电源状态。

Homeassistant 进阶

截至 0.109 版本,HA 可接入设备已经超过 1500 种。 PC 、 Synology 、特斯拉等都可以通过 HA 的内置插件直接连接。但是其他用户开发的自定义插件、主题、卡片还需手动添加。下面将举例演示如何在 HA 中安装自定义插件。

树莓派 Samba 安装与部署

安装 samba

sudo apt-get update
sudo apt-get install samba samba-common-bin

配置 samba

sudo nano /etc/samba/smb.conf

将以下内容(注意格式)添加到文件最下方,Ctrl+X 退出并 Y 保存文件。

[Hass]comment = Homeassistantvalid users = pi,rootpath = /usr/share/hassiobrowseable = yeswritable = yes

重启 samba 服务

sudo samba restart

添加登录账户并创建密码。

sudo smbpasswd -a pi

修改文件权限

sudo chmod 777 -R /usr/share/hassio

在访达或此电脑中输入 //树莓派IP 以账户名 pi 访问 \hass\homeassistant 配置文件。

插件安装

由于 HA 没有内置红外码库,用户想要遥控空调,只能自行学码或者安装插件。

下面演示 SmartIR 空调遥控插件的安装流程。

  • \homeassistant 下 创建新文件夹 custom_components
  • 下载 插件,将压缩包中 smartir 文件夹拖入\homeassistant\custom_components 中 。

custom_components文件夹需自行创建

  • 在 configuration.yaml 中写入:
#博联红外遥控器
smartir:
switch:- platform: broadlinkhost: 192.168.10.10          mac: '00:00:00:00:00:00'     
climate:- platform: smartirname: Office AC               unique_id: office_ac          device_code: 1000       #参照插件目录获取空调代号controller_data: 192.168.10.10       #博联RM IP地址temperature_sensor: sensor.temperature  #温湿度传感器在 HA 中的ID名humidity_sensor: sensor.humiditypower_sensor: binary_sensor.ac_power

重启 HA 后可见空调控制面板。

更多插件可访问 官方论坛 。

官方插件市场 HACS

Add-store 是功能性插件下载中心, HACS 则是自定义 UI 的下载中心。

HACS 本质上是插件,安装方式同上方。 下载 解压后将整个 hacs 文件夹拖入 custom_components 后重启即可完成安装。

之后在 配置 右下角 + 号中搜索 「hacs」。

Github 个人访问令牌请从 这里 创建。无需勾选其他选项,创建完成后复制粘贴即可完成配置。

HACS 中包含了用户制作的卡片样式,主题等,可一键安装。主题安装后,可在用户资料中更改。卡片需自行配置。

下面以 button-card 为例,在 HACS PLUGINS 中选择自己想要的卡片下载安装后,点击 ADD TO LOVELACE 按钮。

在  概览 右上角  配置UI 中添加 水平堆叠 卡片,将卡片依次加入。

type: 'custom:button-card'   #卡片类型(必填)
entity: switch.tai_deng  #设备ID (必填)
icon: 'mdi:desk-lamp'  #图标
size: null  #根据需要配置
styles:  name:- font-size: 13px- align-self: middle

官方提供了部分图标,可在 这里 选取。用户也可将自行制作的图标放在  \homeassistant\www 下,用 entity_picture: /local/xxx.png 调取。推荐在 配置 - 自定义 中进行全局更改

Homeassistant × 屏幕

树莓派上连接一块触屏,登陆 HA 管理界面,就可以直接控制家里的智能设备。

但这个方法有许多不足。大多小尺寸触摸屏(10 寸以下)非独立供电,无法自动化熄屏。DIY的小屏幕虽然可以通过连接智能开关熄屏,但是触控质量参差不齐,不建议大家踩坑。秉持「万物都应自动化」原则,我淘了一块亚马逊平板,1920*1200 的分辨率,价值 300 元。大家也可以选择手边的闲置安卓平板。

HA 提供 App ,需在 Google Play 上下载,若无此条件也可直接使用浏览器、将网页打包成 app或使用 APKPure 下载替代 App。值得注意的是,老旧安卓系统内「WebView」版本过低 时会导致自定义UI显示错误。需在 Google Play 上更新 WebView 版本。

安卓系统开发者模式中有「充电不关闭屏幕」选项,但是依旧会降低屏幕亮度。如有需要可下载app Tasker ,创建充电常量,断电熄屏任务。将充电线插在智能开关上,创建自动化便可在指定时间,或随智能灯泡开关屏幕。

我将只把最常用的开关放在了首页,其他是天气、温度、课程表、汽车状态等信息,尽量做到简单。

至于为什么要把车辆保养状态这种没用的信息放进去,仅仅是我觉得「把汽车接入智能家居」这件事太酷了。

最后,官方文档、官方论坛、瀚思彼岸、ioBroker将会帮到你很多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34483.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

头像更改

开发工具与关键技术:VS2015,ASP.NET MVC撰写时间:2019年5月7日我们平时登录账号都会有头像,账号,密码这些,而账号和密码是最基本的东西,这里就说一下更改账户号,密码,头像…

PowerShell实现双屏连接模式切换、输入法切换、软件进程开启及关闭(Quicker和uTools)ps1脚本实现

背景 最近写了个PowerShell的ps1脚本,方便我实现电脑打游戏(主要是战地2042)和工作学习打代码模式的切换。 功能 实现两个模式的切换。 模式一:游戏模式 双屏连接方式:仅第二屏幕 输入法:英文(en-US) 软件Q…

【GPT4】微软 GPT-4 测试报告(3)GPT4 的编程能力

欢迎关注【youcans的GPT学习笔记】原创作品,火热更新中 微软 GPT-4 测试报告(1)总体介绍 微软 GPT-4 测试报告(2)多模态与跨学科能力 微软 GPT-4 测试报告(3)GPT4 的编程能力 【GPT4】微软 GPT-…

OpenAI的API key获取方法

在本篇文章中,我们将介绍如何获得OpenAI的API Secret Key。 输入账号 输入密码 右上角点击“Personal”,下拉中选择View API keys 左侧页面中,找到API Keys 点击 Create new secret key 生成成功,复制保存

【转】 Vitalik:去中心化的意涵

“去中心化”或许是区块链被提到过的最高频的一个词了,但这个词的定义也是最不清楚的。 想想这件事其实挺不可思议的。区块链消耗了计算机大量宝贵的哈希算力,正是为了保证网络的去中心化,但当人们彼此在争论某个代币或者某个区块链网络究竟…

什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?

图1 三类网络拓扑结构 所谓“中心化”和“去中心化”,最早是用来刻画网络拓扑结构的术语。1964年,美国兰德公司发布了一份关于分布式通信的报告,提出了三种网络结构(如图1)。其中,(a&#xff09…

ICML征稿禁止使用大型语言模型,LeCun转发:中小型模型可以用吗?

编|昕朋 David源|新智元 AI顶会ICML征稿日在即,关于道德准则的新政策却引来网友不满!规则要求作者不能使用大型语言模型,网友评论区刷屏询问:为什么? 昨天,国际机器学习会议&#xf…

科研训练成果

一、前期准备: 1.主要文献阅读 网址作用Readpaper文献管理工具【支持在线翻译等】arXiv事先上传论文,保护成果arXiv Xplorer基于Chatgpt的文献搜索,拓宽研究思路中国知网文献管理工具 arXiv发音同“archive” 二、实验中: 1.基础服务器知识…

Google、Intel、腾讯等大厂相继入局,RISC-V 终将彻改半导体行业!

【CSDN 编者按】开源的 RISC-V 架构,正成为不少大厂发力的新方向。近期,Google 在 RISC-V 峰会上表示,想要让 RISC-V 成为 Android 的 T1 级支持架构,让其地位与 ARM 处理器处于同一水平;去年,Intel 宣布投…

中国第一个 Apache 顶级开源项目的突围之路!

【CSDN 编者按】近些年开源大热,开源创业之风随之四起。作为近两年特别火的商业方向,开源创业者如何才能在一片红海中乘风破浪,在行业中占据一席之地?第一个由中国人主导贡献到 ASF 的顶级开源项目 Apache Kylin 做出了有效探索&a…

如何让AI为你所用?——ChatGPT的实际应用及训练技巧

ChatGPT:90%以上人都用不好的AI神器,通过本文让你超过90%的使用者 自从2022年11月30日ChatGPT横空出世,它已经在国内大火了两个多月。但是,无需为此感到焦虑,因为人类永远比AI更加强大。与大多数博主炒作的不同&#…

iOS摸鱼周报 第五十期

本期概要 话题:WWDC 22 Call to Code面试模块:事件响应与传递优秀博客:复习 iOS 的 rebase 和 bind学习资料:闲话 Swift 协程开发工具:AppleParty 是三七互娱旗下37手游 iOS 团队研发,实现快速操作 App Sto…

用chatGPT来NEW个对象让“码农”的节日不再仅仅只有1024(赶鸭子上架式的成长、无效不得不立的flag)

用chatGPT来NEW个对象让“码农”的节日不再仅仅只有1024 前言一、大部分的成长都是赶鸭子上架二、节日是为了告诉自己不孤单三、做不到也要立下的flag四、New个对象吧1.php定义一个科技工作者形象2.python定义一个科技工作者形象3.javascript定义一个科技工作者形象 总结 前言 …

Redis集群模式下使用config set 命令所有节点都会生效吗?

Redis集群模式下使用config set 命令所有节点都会生效吗? 问题: Redis集群模式下使用config set 命令所有节点都会生效吗? 实践检验真理: 前置准备 Redis版本:5.0.5版本 Redis集群模式:三主三从 操作步骤: 分别连接7001节点与7002节点,准备在7001节点使用”config get”…

文法和语言的形式定义——句型、句子

Def:设G[S],若S * x,则称符号串x为文法G[s]的句型,仅由终结符组成的句型称为句子。当x为一个句型时,则x∈(VN,VT)*,当x为一个句子时,则x∈VT*。 即如果是一个…

数字化转型助力教育医疗高质量发展,华为携手伙伴创新共享未来

5月8日,主题为“数字化转型助力教育医疗高质量发展,携手伙伴创新共享未来”的华为中国合作伙伴大会2023教育医疗专题峰会盛大召开。在此次峰会上,华为深入阐述了对教育医疗数字化转型助力高质量发展的理解,并与众多行业专家、合作…

全民开发者时代到来!华为云开发者日深圳站成功举办

摘要:2月25日,华为云开发者日HDC.Cloud Day2023年首场在深圳天安云谷成功举行。 本文分享自华为云社区《全民开发者时代到来!华为云开发者日深圳站成功举办》,作者: 华为云社区精选。 2月25日,华为云开发者…

你们的小爱同学还能用blinker点灯吗

小爱同学 一.前言 昨天一个朋友说他的小爱同学没有办法控制ESP8266,因为之前玩过之后有好一阵没有玩了,所有我用之前的代码跑了一下,用blinker软件可以控制完全没有问题,到小爱同学这里就是,帮你操作了,要…

一种简单的方法远程调戏小爱音箱触屏版

小爱音箱触屏版已经购买了一段时间了,一些功能都已经试过了,突然想起是不是可以远程使用小爱的功能呢?而且实现不能过于复杂,略作思考,直接动手: 思路如下: 使用带对讲功能的网络摄像机手机ap…

“智能语音助手”的竞品分析 —— 你好小悟小爱同学(4)

竞品分析假设 背景假设: 假设,我是负责“你好小悟”的一名产品经理,负责其中的“出行”模块。 现在“导航”作为一个高频的需求,而这个功能的体验在用户反映下来仍不怎么理想。我想提升“导航”功能的用户体验,所以想…