多维表对接小米 home assistant,控制小米设备教程

先看效果(盗用了大圣的视频😂😂😂

准备工作:

一台服务器,服务器内部署系统 linux ubuntu 22.0.4,这里就不介绍了,自己百度

第一步 服务器内安装docker

github.com/tech-shrimp/docker_installer

一键安装命令

sudo curl -fsSL https://get.docker.com| bash -s docker --mirror Aliyun

备用命令(每天自动从官网定时同步)

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun
备用2(如果Github访问不了,可以使用Gitee的链接)
sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

启动docker

sudo service docker start

Linux配置镜像站

sudo vi /etc/docker/daemon.json

输入下列内容,最后按ESC,输入 :wq! 保存退出。

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live",
        "https://hub.rat.dev"
    ]
}

重启docker

sudo service docker restart

第二步 安装 home assistant

官网地址:www.home-assistant.io

进入 get started

安装指南看linux

sudo docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=MY_TIME_ZONE \
  -v /PATH_TO_YOUR_CONFIG:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

改两个地方,一个是系统内自定义目录

以及时区

改之前先创建目录(目录可自定义)

mkdir -p /home/youth/homeassistant

时区改成Asia/Shanghai

改完后最终生成以下指令,执行

sudo docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Shanghai \
  -v /home/youth/homeassistant:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

执行命令后要下载1.7g资源,要等一段时间(半小时左右,期间可以浏览下面步骤

下载完成后可以输入下面指令查看

sudo docker images

另外输入以下命令查看正在运行的docker

sudo docker ps

第三步 浏览器输入 服务器ip:8123 访问

创建ha账号

第四步:安装米家插件

https://github.com/XiaoMi/ha_xiaomi_home

执行以下命令先进入到docker容器内

sudo docker exec -it homeassistant bash

如果执行上面命令后已经进入到 config目录内,那么下面代码中第一行不用执行

cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config

执行后让我们重启ha

先执行exit命令退出容器

exit

再执行重启命令

sudo docker restart homeassistant

刷新浏览器

点击 设置-》设备与服务

点击右下角添加集成

输入 “xiaomi”,点击 xiaomi home

打钩 下一步

下一步

点击登录

跳转小米账号登录页面,输入账号密码登录

登陆后会显示错误网址,要修改前面 homeassistant.local 替换为服务器ip地址,再回车

打钩导入设备,下一步

显示成功,说明添加成功了

第五步 创建自动化

点设置-》自动化与场景

右下角创建自动化

点击添加触发条件-》其他触发条件

选择 webhook触发方式

添加动作

这里 以打开电脑房灯为例

保存

复制webhook,再浏览器访问测试下

如果灯开启了说明配置成功啦~~~

第六步 服务器内安装花生壳(因为多维表脚本不支持端口访问需要内网映射)

创建downloads目录,

输入下载花生壳指令

wget "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb" -O phddns_5.3.0_amd64.deb

输入指令安装(文件名phddns_5.3.0_amd64.deb 以上面下载的文件名为准)

dpkg -i phddns_5.3.0_amd64.deb

浏览器访问网址:http://b.oray.com

点击 sn码登录

输入上面获取到的sn码和默认密码 admin登陆

在服务器输入 ip a 获取内网ip地址,这里获取到的是10.4.2.2

在花生壳控制台界面,点击内网穿透,添加映射

验证:在浏览器输入花生壳的外网域名,验证是否能进入home assistant

能进入说明映射成功,映射后的电脑房灯开启请求网址是:花生壳网址/api/webhook/-xOCaLV0P4Q5sBAoo9q0o2ZlC

第七步:配置多维表

创建 功能、id 按钮字段,id字段填的是对应功能的webhook id

创建脚本

const host="http://*****.imdo.co" //花生壳映射的域名
const sid=Context.argv.sheetId[0]
const rid=Context.argv.id[0]

const sht=Application.Sheets.ItemById(sid)
const id=sht.RecordRange(rid,"@id").Text

const url=`${host}/api/webhook/${id}`
HTTP.get(url)

添加网络API服务,并手动运行一次脚本,点击允许

配置自动化,按钮字段绑定脚本

大功告成!!!! 来回点击两个按钮体验一下,开关灯的效果

吉林省
浏览 2004
收藏
8
分享
8 +1
7
+1
全部评论 7
 
江浩
· 浙江省
回复
 
saAE86
学习
· 广东省
回复
 
自愈
自愈

WPS产品体验官

......
· 新疆
1
回复
 
王禹成
王禹成

WPS寻令官 | 创作者俱乐部成员

我的天
· 浙江省
回复
 
HC.旋
HC.旋

WPS寻令官

点赞再走
· 福建省
回复
 
HC.旋
HC.旋

WPS寻令官

厉害呀,但看了第一步,我先走了
· 福建省
回复
 
幸福春
长见识了!牛掰!
· 山东省
回复