无法接入 Home Assistant 的 360 摄像机怎么办

我这个360摄像机用了很久了,大概是最早的一批用户,经历了水滴直播从无到有再到关闭的风风雨雨。

360摄像机不像传统摄像头厂商的产品有开放 rtsp,也没有破解的固件可以刷,只能使用官方 app。可以预见的将来也不会开放,完全没有希望接入 Home Assistant 。

使用 Weblink 组件接入 URL Scheme

这里提供一个曲线救国的方法,使用 Weblink 组件通过 URL Scheme 打开 app,算是抛砖引玉。

Weblink 组件只支持 http 和 https 协议的链接,直接使用 URL Scheme 会出错,所以通过 html 网页进行中转。

weblink:
  entities:
    - name: 360 Camera
      url: /local/360_camera.html
      icon: mdi:webcam

360_camera.html 放在 www 文件夹中,html 代码如下:

<head>
<meta http-equiv="refresh" content="0;url=shuidilive://view"> 
</head>

点击上图中的链接,会跳转到 360 摄像机的 app。不同浏览器略有不同,可能会有“是否打开”的提示,推荐使用 Chrome。Android 和 iOS 都是支持 URL Scheme 的。

录了一个小视频作为演示,戳这里查看。

继续阅读

Home Assistant 更换 MySQL 和 PostgreSQL 数据库

Home Assistant 默认的数据库是 sqlite,随着使用时间的增加,数据库文件越来越大,查看日志和历史的速度也变得越来越慢。曾经试着把这个 sqlite 数据库文件放到 /tmp 目录下,也就是内存中,响应速度快了很多,但是内存很快就塞满导致死机。

MySQL/MariaDB 和 PostgreSQL 则成为更好性能数据库的选择。强烈推荐使用 PostgreSQL,系统负载更低。

下面以安装在本机的数据库为例,进行简单的配置。

Home Assistant 使用 MySQL/MariaDB

1、安装 MySQL/MariaDB

2、新建数据库

mysql -u root -p

输入密码后,进入 mysql 命令行,

create database hass;

如果你使用 phpMyAdmin 管理 MySQL,新建数据库之类的操作就简单多了。

3、安装依赖软件

pip3 install mysqlclient

4、在 Home Assistant 的配置文件 configuration.yaml 中添加

recorder:
  db_url: mysql://user:[email protected]_IP/DB_NAME?charset=utf8

5、监测 MySQL 数据库大小的的 sensor,可根据需要使用

- platform: sql
  db_url: mysql://user:[email protected]_IP:3306/information_schema
  queries:
    - name: hass_db_size
      query: "select concat(round(sum(DATA_LENGTH/1024/1024),0)) as db_size from TABLES where table_schema='HASS';"
      column: 'db_size'
      unit_of_measurement: MB

继续阅读

你真的不需要360安全卫士和电脑管家们

最近帮别人买了一台 HP 的笔记本电脑,7代 酷睿 i3 CPU + 4G 内存 + 256G SSD + Windows 10,秒开机,用来办公,体验非常好。

对方拿到电脑后,先是要安装 360 安全卫士,被我拦住了,告诉他不需要。

然后我看到他在百度输入 diannaoguanjia,聪明的你一定知道他想要安装什么了,又被我拦住了,再次告诉他不需要。

我觉得电脑之所以不够快,也许就是因为安全卫士电脑管家及其同行们,你真的不需要他们。

也许有人要反驳我说不是,抛开内存和CPU占用不说,弹窗广告加速球加速火箭总是他们的吧。我曾经见过一个同事不停的点击电脑管家的加速火箭,可能真的很好玩。

QQ弹窗QQ弹窗
上传两个QQ的弹窗,感受一下

也许有人要问了,不用安全卫士电脑管家们,那用什么,要是电脑中病毒了怎么办?

Windows 10 自带的杀毒软件,防病毒能力在各项测试中都没毛病,很好用,强烈推荐。 继续阅读

在斐讯 K3 路由器中运行 Home Assistant

这大概是一篇导航贴,整理一下前面的文章。

首先,斐讯 K3 路由器官方root固件运行 Debian Jessie

然后,编译安装 Home Assistant 依赖的 Python 3.6

最后,进入 Debian,安装 Home Assistant,方法是一样的。需要远程访问的话,记得打开路由器的防火墙端口。

因为 80 端口被路由器后台管理占用,所以没法使用 habridge 服务。

挺复杂的,不推荐在路由器中折腾,路由器的CPU性能有限,编译安装一个 Python 组件往往需要很久,毕竟 Orange Pi 之类的开发板也很便宜。

在斐讯 K3 路由器中运行 Home Assistant
在斐讯 K3 路由器中运行 Home Assistant

Home Assistant 支持的那些插座和灯泡

插座、排插

WiFi 智能插座可以简单的把现有家电改造成智障家电,如果自动化做的好,智障家电也可以成为智能家电,比如低湿度打开加湿器等。

Home Assistant 支持的开关插座很多,国内能买的到的却不多,整理了一个列表在这里。

品牌 名称/型号 价格 链接 其他
控客 mini k 39-49 京东 天猫 第三方插件支持
控客 mini pro 59-79 京东 天猫 同上
控客 K2 pro 128 京东 天猫 同上
米家 WiFi版 49-69 京东 天猫 基础版
米家 Zigbee版 59-69 京东 天猫 带电量统计
小米 智能插线板 65-69 京东 天猫 带电量统计
博联 SP mini3 39-49 京东 天猫
博联 mp1 99 京东 天猫 4口分别控制
鸿雁 8340B 89 京东 天猫 4口分别控制
鸿雁 8340J 89 京东 4口分别控制,京东微联版
鸿雁 8342B 119 京东 天猫 带电量统计,4口分别控制
斐讯 DC1 斐讯商城 带电量统计,3口分别控制
斐讯 TC1 斐讯商城 带电量统计,6口分别控制

米家和小米的几款插座商品页面没有型号,用名称代替。Zigbee 版插座需要配合米家网关使用。

控客的插座用第三方组件接入 Home Assistant,目前有两个方案,第二个更简单,github 项目地址:

  1. https://github.com/YinHangCode/homeassistant-ikonke-outlet
  2. https://github.com/jedmeng/homeassistant-konke

控客和博联部分产品有京东微联版,价格略低,使用京东微联app,可能无法接入 Home Assistant。部分产品在天猫上有卖阿里智能版,不知道是否可以接入 Home Assistant。

  1. 博联mp1和鸿雁8340通用,8340J 可以使用智慧星,可以接入  Home Assistant。
  2. 博联SP mini3-JD 只能使用京东微联,不能使用智慧星,无法接入 Home Assistant
  3. 博联SP mini3 天猫精灵零配版,只能通过天猫精灵接入,不能使用智慧星,无法接入 Home Assistant。

继续阅读

斐讯盒子 T1 安装 Kodi 接入 Home Assistant

斐讯盒子 T1 是斐讯最近推出的新品,性能还不错,高于当前主流配置。拿到手后就用 adb 安装了 Kodi,完美运行,再把 Kodi 接入 Home Assistant。

Kodi+NAS 是我心目中最好的家庭多媒体中心解决方案,一条龙解决视频、音乐、图片等,有空再单独说一下 Kodi。

斐讯盒子 T1 安装 Kodi

1、首先去盒子的设置-高级-远程调试打开,最好把盒子设置成固定IP

2、下载 Kodi,我下载的是64位版本

3.1、下载 adb,把 adb 解压到计算机C:\adb目录,链接: https://pan.baidu.com/s/1mjQ9DPm 密码: 7pwj

Windows命令行执行( Win键+R 输入cmd 回车)

cd c:\adb
adb connect 192.168.x.x #盒子IP
adb shell
adb install kodi.apk #把apk放在adb同一个目录下

安装成功后去盒子的应用界面找到 Kodi。 继续阅读

编译安装 Home Assistant 依赖的 Python 3.6

本文的编译环境为 Debian Jessie 8.x。

Home Assistant 公告 2018年就不支持 Python 3.4 了,然而 Debian Jessie 的官方源只能安装 Python 3.4,软件源加入 testing 倒是可以安装 Python 3.6,不过要是产生各种问题就麻烦了。

还是编译安装 3.6 比较省心。

#先安装python3.6依赖的软件包
sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
#编译安装python3.6
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
tar xzvf Python-3.6.3.tgz
cd Python-3.6.3/
./configure
make
sudo make install

时间比较久,完成后查看版本:

python -V
python3 -V
pip3 -V


如果是从Python 3.4 升级到 3.6,需要重新安装 HASS,运行前删除配置文件夹中的 deps 文件夹

rm ~/.homeassistant/deps -rf

斐讯 K3 路由器官方root固件运行 Debian Jessie

为什么要在路由器里运行 Debian?在 Entware-ng 的支持下,路由器可以运行更多的程序,可还是有些程序运行不了。

使用 chroot 运行 Debian Jessie,可以编译和安装任何软件,比如编译安装 Home Assistant 依赖的 Python 3.6。我在斐讯 K3 中运行了 Home Assistant、PostgreSQL、Resilio Sync等。

准备工作

1、本文中的斐讯 K3 路由器是恩山论坛 tianbaoha 的官方root固件

2、准备U盘或者移动硬盘,为了减少不必要的麻烦,建议格式化到 EXT4 格式,插入USB。实测 FAT32 不行,EXFAT 不支持,NTFS 不要用在 U盘,会有驱动问题。

开始安装 Debian 到 斐讯 K3

1、先安装 Entware-ng 和 coreutils-chroot

opkg install coreutils-chroot

继续阅读

WD My Cloud Gen1 安装 Entware-ng

本文仅针对 WD My Cloud Gen1 3.0 固件。Gen1 3.0 固件基于老旧的 Debian 7,虽然可以 apt-get 安装软件,不过万一不小心更新了 libc,很可能会变砖,小心为妙。

Entware-ng 是为路由器、NAS 等设备打造的软件仓库,可以方便的安装上千款软件,如 aria2, dropbear, shadowsocks 等。

安装 Entware-ng 到 WD My Cloud

#删除原来的opt目录,ln链接到共享目录,防止系统升级重置等丢失
rm /opt -rf
mkdir /shares/Public/opt -p
ln -s /shares/Public/opt /opt
cd /opt
#一键安装 entware-ng
wget http://pkg.entware.net/binaries/armv7/installer/entware_install.sh -O -|sh

#追加变量环境
sed -i '/\/opt\/bin/d' ~/.bashrc;
echo "export PATH=/opt/bin:/opt/sbin:\$PATH" >> ~/.bashrc
source ~/.bashrc

#把开机脚本加入rc.local
echo "/opt/etc/init.d/rc.unslung start" >> /etc/rc.local
#也许要把rc.local加入系统启动项
update-rc.d rc.local defaults 99

Entware 的使用

#更新源
opkg update
#升级软件
opkg upgrade
#查找软件
opkg find shadowsocks*
#安装aria2
opkg install aria2
#删除 aria2
opkg remove aria2

继续阅读

Home Assistant 用 Command line Sensor 获取硬盘温度

Home Assistant 获取 CPU 温度比较简单,官方的示例中即有。

Home Assistant 支持 hddtemp 获取硬盘温度,只是 hddtemp 不支持USB移动硬盘,所以使用 smartmontools 通过 S.M.A.R.T 获取温度。

首先安装 smartmontools,

apt-get install smartmontools

Home Assistant 用 Command line Sensor 获取温度数据,参数中的 -d sat 是关键,

#CPU温度
- platform: command_line
  name: CPU Temperature
  command: "cat /sys/class/thermal/thermal_zone0/temp"
  unit_of_measurement: "°C"
  scan_interval: 300

#硬盘温度
- platform: command_line
  name: HDD Temperature
  command: "smartctl -d sat -a /dev/sda | grep Temperature_Celsius | cut -c88-89"
  unit_of_measurement: "°C"
  scan_interval: 300

相关链接:https://home-assistant.io/components/sensor.command_line/