阅读全文

备份hassos的备份

考虑到树莓派TF卡确实容易损坏,尽管superviewer提供了备份功能,但是其备份目录也是存储在该TF卡中。因此,亟待使用另一个设备对hassos产生的备份进行备份。

hassbian社区已有的备份方案我感觉过于复杂,借助resilio sync,仅需一行命令即可完成。

resilio sync简介:

Resilio Sync(曾经名为“BitTorrent Sync”)是由BitTorrent公司开发的专有的对等网络数据同步工具,可在Windows、OS X、Linux、Android、iOS和FreeBSD上使用。 其可在局域网、互联网上通过安全的、分布式的P2P技术在不同设备之间同步文件。

step1:

方法一:

对于没有翻墙的用户,执行命令行方便一点。请执行以下操作:

打开SSH & Web Terminal插件,需注意关闭保护模式。输入命令:

docker run -d --name sync \
           -e TZ=Asia/Shanghai \
           -p 8888:8888 \
           -p 55555:55555 \
           -v /mnt/data/supervisor/homeassistant/sync:/mnt/sync \
           -v /mnt/data/supervisor/backup:/mnt/sync/folders/backup \
           --restart unless-stopped \
           resilio/sync

方法二:

 对于已经翻墙的用户,通过加载项商店安装,这样supervisor不会出现兼容性提示:

 在加载项商店增加这个仓库:https://github.com/imwyh/hassos-addons 

然后再这个仓库安装resilio_sync_for_hassos。

因为不知道怎么制作多平台的docker镜像,所以只能编译安装,速度有些慢。

step2:

打开homeassistant.local:8888,设置用户名密码,许可选择 home use (完全够用),登陆进入主界面。在右上角的设置中可以更换到中文。

点左上角的+,标准文件夹,选择/sync/folders/backup并打开。选择中间的tab,复制只读秘钥。

step3:

前往官网:https://www.resilio.com/individuals/,下载桌面版,许可可用home use。安装完成左上角的+,输入秘钥或链接,粘贴上一步的秘钥,最后新建一个备份目的地文件夹即可。

resilio sync自带内网穿透功能,因此也可以将其用docker部署到VPS上,步骤同上。也可以使用自带套件部署到群晖上。

阅读全文

写了一个响应式可自定义的简洁导航

效果预览:

https://blog.fanmiao.site/nav/

已经放到了GitHub

https://github.com/imwyh/nav

使用方法

编辑bd.js中的json,添加自定义导航页面或者搜索页面。

最终JS根据bd内容生成完整网页。

技巧

1.输入框回车直接使用默认搜索。

2.输入内容后可用方向键上下选择搜索引擎。

3.点击默认搜索(如demo中谷歌)没有任何反应是为了兼容移动端无法区分click和hover。

4.双击输入框清空内容。

5.可以设置一个默认网页使click搜索引擎时直接前往。

6.鼠标或者触屏滑动中间div部分可左右切换页。

注意事项

1.编辑json时小心标点符号。

2.可以编辑index.html中最后一行script修改动态背景。

3.可以编辑include/style.css中:root修改配色。

4.可以编辑include/style.css最后的#background修改背景颜色。

5.到这个链接获取或者修改mdi图标:https://materialdesignicons.com/ (此网页加载较慢)。

6.没有合适mdi图标可以直接使用文字代替,bd.js有示范。

阅读全文

使用小爱同学语音控制home assistant

STEP1:https://bemfa.com/注册账号。

STEP2:打开控制台,选择MQTT设备云。

STEP3:记录下私钥

STEP4:右上角新建主题,根据文档:

  • 当主题名字后三位是001时为插座设备。
  • 当主题名字后三位是002时为灯泡设备。
  • 当主题名字后三位是003时为风扇设备。
  • 当主题名字后三位是004时为传感器设备。
  • 当主题名字后三位是005时为空调设备。

建议主题名字总不要长于十二个字符,要不然小爱识别不到(具体多少字符内我没试过,但是比如ZhuWoXiDingDeng002的话会出问题)。这里创建一个名为:ZWxdd002的主题。

进入更多设置

右上角更新小爱里你要控制的名字。这里建议使用房间名+灯名的形式。这样你喊比如“小爱同学,关主卧灯”这个灯也会被关闭。

STEP5:返回home assistant,到supervisor,安装Node-red插件。

STEP6:进Node-red配置页配置,以下部分需要修改:

1.credential_secret字段配置一个随机的字母或数字即可。

2.修改ssl行为false。

3.最后加入以下代码:

require_ssl: false

然后保存,之后启动addon。如果显示502: Bad Gateway,那就等半分钟再进addon。

STEP7:进Node-red,从左侧拉一个mqtt in。双击这个节点,新建MQTT服务器,如图配置。其中客户端ID为STEP3中私钥。

STEP8:从左边拉一个debug节点,然后两个连起来。单机部署。然后返回STEP4页面,推送一个“on”命令,看看HA中有什么反应。

STEP9:拖入一个switch节点和一个call service节点,如图配置,然后部署

STEP10:打开小爱同学APP,下方智能家居页,右上角+,其他平台设备,跳转到米家。找到巴法,绑定巴法云账号密码,同步设备。注意以后每次在巴法云新增设备都要到米家同步一次。

STEP11:喊小爱同学,打开主卧吸顶灯。

现在您已经学会了使用小爱同学控制灯和开关(谷歌、小度音响、天猫精灵同理)。其实巴法云还支持控制风扇、空调、传感器状态轮询,但是要对其发送的内容进行分割,再使用switch分流不同情况交由不同call service处理,会比较复杂。如果对编程和JS稍有了解,应该都可以参照说明文档自己编程了。

课后作业:使用巴法云控制风扇和空调设备。


参考答案:

阅读全文

当网页启用gzip压缩时,node-red GET请求乱码的解决方案

home assistant中node-RED流程如图,简单来说,通过node-red get一个url,网页默认启用了gzip压缩,返回的payload乱码。

解决这个问题很简单,右上角设置,控制板,安装,安装一个 node-red-contrib-gzip 。

然后在http request设置获取二进制数据,之后后插入gzip模块即可。

阅读全文

以ubuntu为例在esxi安装虚拟机

这个比较简单,和vmware差不多的步骤。唯一需要注意的可能是选择网卡为LAN口。

首先,上传Ubuntu服务器安装镜像。下载Ubuntu服务器版并上传到服务器。

创建Ubuntu虚拟机。

自定义设置需要修改以下四个项目:

  • 内存512M(同时也要点开小三角设置预留内存512M)即可;
  • 硬盘根据需求选择,可以使用默认后期扩容,也可以一步到位;
  • 网络适配器选择接入lan的虚拟交换机;
  • CD/DVD驱动器选择刚刚上传的iso文件。

打开虚拟机电源,一路回车或者选择DONE即可。输入电脑名和用户名密码,可以不勾选“Install OpenSSH server”。

进度条在11/12时会走的很慢,是正常现象。