树莓派3b+安装好 Ubuntu Server 20.04.3 LTS 32bit 后即可适用此脚本,其他版本树莓派/系统可能需要微调脚本
*为方便一些未知/已知错误排查 脚本存在冗余部分,足够了解linux的可自行精简,Y/N在需要时手动键入
下面HA驱动处根据需要修改
# 树莓派3b+安装好 Ubuntu Server 20.04.3 LTS 32bit 后即可适用此脚本,其他版本树莓派/系统可能需要微调脚本
# 下面HA驱动处根据需要修改
# author: bright

# docker安装
# 更新源
cat>/etc/apt/sources.list<<EOF
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb [arch=armhf] https://download.docker.com/linux/ubuntu focal stable
# deb-src [arch=armhf] https://download.docker.com/linux/ubuntu focal stable

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

EOF

# 服务密钥重置
gpg --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E
gpg --export --armor 9165938D90FDDD2E | sudo apt-key add -
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update && sudo apt-get upgrade
# 安装步骤
sudo apt-get install docker-ce
apt-get install docker.io
apt-get install runc >= 1.0.0
apt install docker # docker拉取&&安装homeassistant
docker pull homeassistant/raspberrypi3-homeassistant # 启动homeassistant
docker run -d --name homeassistant -p 8123:8123 homeassistant/raspberrypi3-homeassistant # 配置HA自启动
# 获取容器id
cid=$(docker ps -a|grep "homeassistant" | awk '{print $1}')
echo $cid
# 添加homeassistant自启动配置文件
touch /etc/init.d/homeassistant.sh
cat>/etc/init.d/homeassistant.sh<<EOF
#!/bin/bash
docker restart $cid
exit 0
EOF
touch /etc/rc.local
cat>/etc/rc.local<<EOF
#!/bin/bash
docker restart $cid
exit 0
EOF
# 权限+自启
chmod 755 /etc/rc.local
chmod 755 /etc/init.d/homeassistant.sh
update-rc.d homeassistant.sh defaults 90 # homeassistant配置Xiaomi_gateway3 和 air_condition驱动
# 进入容器 # 如需直接跑跳到终端不运行可将下面命令新建一个setup.sh 脚本
# docker exec -it $cid /bin/bash
# docker ps -a 可以拿到cid
# touch setup.sh # 复制下面这些命令到脚本中在ha container中跑 # vi setup.sh # bash setup.sh

# 驱动相关

# 进行驱动拉取
docker restart $cid
docker exec -i $cid mkdir custom_components
docker exec -i $cid cd custom_components
docker exec -i $cid mkdir bak
docker exec -i $cid cd bak
# XiaomiGateway3
docker exec -i $cid git clone https://github.com/AlexxIT/XiaomiGateway3
docker exec -i $cid cp -r XiaomiGateway3/custom_components/xiaomi_gateway3 ../../custom_components/
# 01 02 11LM 空调伴侣驱动
docker exec -i $cid git clone https://github.com/syssi/xiaomi_airconditioningcompanion.git
docker exec -i $cid cp -r xiaomi_airconditioningcompanion/custom_components/xiaomi_miio_airconditioningcompanion ../../custom_components/
# 如需其他驱动仿照此中方式添加进来 # 修改yaml主配置文件
docker exec -i $cid cd /config && mv configuration.yaml configuration.bak
docker exec -i $cid touch configuration.yaml
docker exec -i $cid cat>configuration.yaml<<EOF
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
climate:
- platform: xiaomi_miio_airconditioningcompanion
name: Aqara Air Conditioning Companion
host: 192.168.1.xx # 需要修改空调伴侣的ip
token: xx # 修改空调伴侣对应的token
target_sensor: sensor.temperature_158d0001f53706
scan_interval: 60
EOF
docker exec -i $cid exit

apt install ntpdate
ntpdate us.pool.ntp.org

reboot

其他home assistant iot参考:

https://www.cnblogs.com/cutesnow/p/15511959.html

一键部署Home Assistant ubuntu 20.4.3 树莓派3b+脚本的更多相关文章

  1. 直接使用!安装WordPress一键部署轻松建站教程

    关于 WordPress WordPress (opens new window)简称WP,最初是一款博客系统,后逐步演化成一款功能强大的企业级 CMS(内容管理/建站系统),目前是公认的全球最佳建站 ...

  2. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群及部署集群管理工具

    一.环境准备: 集群版本:kubernetes 1.22.4 服务器系统 节点IP 节点类型 服务器-内存/CUP hostname Ubuntu 20.04 192.168.1.101 主节点 2G ...

  3. 如何自动化一键部署PHP项目

    1.技能需求 完成自动化一键部署PHP需要:PHP(略懂),Shell(略懂),git(略懂) 2.最终效果 输入密码,回车,5~20秒后(一般一天一次持续交付,部署的代码量和sql脚本都不会很大) ...

  4. Centos 环境一键部署脚本(shell脚本)

    谨以此文纪念吊炸天的Centos环境一键部署方案的新鲜出炉 辛苦大半年,产品准备上线了,BOSS亲自体验安装部署,看着超过200+页的安装文档直接崩溃了(需要部署23个基础服务),经历了超过3个小时的 ...

  5. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken

    前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...

  6. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  7. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  8. Docker Compose 一键部署多节点爬虫程序

    Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── cento ...

  9. 基于Docker一键部署大规模Hadoop集群及设计思路

    一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...

  10. docker开启2376端口CA认证及IDEA中一键部署docker项目

    嘿,大家好,今天更新的内容是docker开启2376端口CA认证及IDEA中一键部署docker项目... 先看效果 我们可以通过idea一键部署docker项目,还以通过idea的控制台实时查看容器 ...

随机推荐

  1. [转帖]Oracle数据库下PreparedStatementCache内存问题解决方案

    https://github.com/alibaba/druid/wiki/Oracle%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8BPreparedStatementCac ...

  2. [转帖]058、集群优化之PD

    PD调度基本概念 调度流程 调度中还有这还缺来了merge,例如合并空region. store: 基本信息,容量,剩余空间,读写流量等 region: 范围,副本分布,副本状态,数据量,读写流量等 ...

  3. [转帖]ansible 安装 K8S

    作者:山河已无恙链接:https://www.zhihu.com/question/315497851/answer/2898814729来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  4. [转帖]淫技巧 | 如何查看已连接的wifi密码

    https://blog.csdn.net/DynmicResource/article/details/120134984?spm=1001.2014.3001.5502 主题使用方法:https: ...

  5. [转帖]细说Redis监控和告警

    https://blog.csdn.net/sD7O95O/article/details/78096956 对于任何应用服务和组件,都需要一套完善可靠谱监控方案.尤其redis这类敏感的纯内存.高并 ...

  6. 简单定位占用最高CPU的java进程信息

    公司里面一个应用不小心点击就会导致系统性能下降很明显. 性能组的同事定位到了, 我这里以学习的态度重现一下这个过程. 1. 问题再现 产品一个非常大数据量的帮助, 点击之后就会占用非常多的cpu 因为 ...

  7. 记一次flex布局中子项目尺寸不受flex-shrink限制的问题

    预期是写一个如下所示的布局内容: 即有一个固定高度的外部容器,顶部的header已知高度,在header占据了固定高度后,剩下的都分给body部分.因此采用flex布局,header设置flex-sh ...

  8. express实现批量删除和分页

    后端代码批量删除 // 批量删除 router.get('/manyDel', function (req, res) { let { ids } = req.query if (ids&&a ...

  9. 通过dotnet-dump分析生产环境docker容器部署的应用问题

    首先找到对应的docker id并exec进去,然后执行命令并更新apt包+下载procps和wget用于等下拉取dotnet-dump和查看线程 sed -i -e "s@deb.debi ...

  10. SignalR系列文章01---MVC项目中创建demo

    1.  新建mvc项目,引入指定的nuget包 2.  新增加一个集成器类添加如下的代码 /// <summary> /// 供客户端调用的服务器端代码 /// </summary& ...