零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

不知道按照上一篇文章一步步搭建成功的值友有多少,也不知道大家有没有遇到一个楼主碰到的问题,就是domoticz有时候会自己关掉……,这个发生的概率很不稳定,有时候两天好好的,有时候可能隔2个小时就没了。当然,手动重启下domoticz或直接重启树莓派就可以解决这问题。但是,楼主搞智能家居是为了让自己生活方便的,而不是在用语音呼唤你之后发现你没动静,除了先要自己去手动打开设备之后,还要去查你这破烂玩意究竟怎么了。智能家居是应该给生活带来便利的,事情你来伺候爷的,不是让爷来伺候你的。所以,我们首先要解决的是如何避免domoticz自己死掉。当然,下面的解决途径来自于domoticz官方WIKI(想来你们也是自己知道自己的应用也没有那么稳定是么……)

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

这里要请出的应用是MONIT,看图就知道了,这是一款看门狗似的应用,它的主要作用就是监测系统和系统内的进程,当发现系统负载过高时可以重启系统,或者发现监控的某一个进程失去响应时,可以重启该进程。下面我们来说说MONIT的安装和设置。

首先还是老样子,用putty登入树莓派

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

什么也别管,先更新一把源。(这一步在安装软件前都操作一把,能确保你安装的软件应用都是最新版的)

sudo apt-get update

然后就是安装MONIT,只要一条命令就好。不知道大家感觉到了没,虽然linux看起来简陋,但是基本上安装软件都非常方便。

sudo apt-get install monit

对,就这么一条命令,MONIT就在我们的树莓派里安装好了。接着我们就要对MONIT进行配置,命令如下:

sudo nano /etc/monit/monitrc

然后我们就打开了monitrc的配置文件:

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

set daemon 300的意思是每300秒检测一次进程,设的太短会加重系统负担,设的太长有没有意义,5分钟差不多是一个合适的值,这样的话,即使domoticz死掉了,最长5分钟也会重新启动。

with start delay 300的意思是系统启动后300秒后再开始监测,这个值主要是预防一开机就开始监控的话domoticz可能还没开始运行。配置文件很长,可以设置MONIT的服务端口,邮件服务器啥的,这些这儿就不说了,大家有兴趣可以自己研究。这里只说如何将domoticz添加进MONIT

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

如图:我们在文件的尾部添加进如下文本:

 check process domoticz with pidfile /var/run/domoticz.pid
start program = “/etc/init.d/domoticz.sh start”
stop  program = “/etc/init.d/domoticz.sh stop”
if failed
url http://127.0.0.1:8080/json.htm?type=command&param=getversion
and content = \'”status” : “OK”\’
for 2 cycles
then restart
if 5 restarts within 5 cycles then exec “/sbin/reboot”

然后Ctrl X,按Y建保存之后就完成了。然后我们重启下MONIT服务,让配置生效

sudo service monit reload

然后我们在浏览器中输入树莓派的IP地址 :2812(默认端口号,可以在配置文件里修改)。例如楼主的机器就是 http://192.168.10.24:2812/

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

这时候我们就能看到系统的运行状态和时间以及domoticz的运行状态(用户名密码使用树莓派的)。当然,但就用MONIT楼主觉得还不是很放心,因为树莓派上还装了很多其他的服务。而保持系统最稳定的方法无非是定时重启。所以我们下面要添加一个定时重启的功能,首先,我们要编写一个重启的脚本,这个脚本非常简单,就两行

我们现在想要存放脚本的目录里新建个叫reboot.sh的文件:

sudo nano reboot.sh

然后在脚本里添加如下内容:

#!/bin/bash

sudo reboot

然后Ctrl X,按Y保存就好。

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

接着我们就要让这个脚本定时运行了,这里我们就用到了domoticz的事件触发器(EVENT)功能:

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

楼主设定的是每天凌晨3:30分重启系统,如果你觉得你的系统够稳定的话,也可以设定一个星期重启一次例如,每周一的凌晨3:30重启系统:

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

这个具体就看你自己高兴了。

楼主一直觉得小米开关是一件非常巧妙的事情,它使得智能家居不那么智能的时候,我们可以有一种简单的方式来控制设备。

楼主也在床头贴了一个小米开关,通过对其双击,单击来控制网关灯和aqara墙壁开关的开合。毕竟开关就在手边,谁还会去打开手机,或是深井冰似的对着手机喊,嘿,SIRI是么,你这不是在秀智能家居,简直就是在秀智商啊。而楼主客厅的落地灯,也是用了一个无线开关贴在沙发边上,通过其控制小米智能插座的开关来实现的。这样省去了跑沙发边踩落地灯开关的麻烦,特别是现在客厅成了萌宝的天地,茶几被挪到了落地灯边上,根本就够不到开关了……。所以对于小米的无线开关,楼主真的是爱死了。而折腾出这么多,就是因为想用小米无线开关来控制博联的插座(家里有4个spmini2)。下面来说说实现过程:

首先是把小米开关添加到domoticz里。

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

我们可以看到,小米开关在domoticz的开关类型是一个selector类型的开关,也就是多段开关(注意,此类型开关不被homekit支持,我们也不需要他支持)。我们只要记住它的几种状态分别是:

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

然后我们就直接在房间区域里把它隐藏到$Hidden Devices里,这样在开关菜单里它就不会出现了。因为其只是起到一个桥接的作用,而被它控制的开关在domoticz里都有相应的开关,所以它完全没有显示的必要。

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

然后我们再次打开事件触发器,我们现在想要把它设置成单击开关,打开落地灯使用的博联插座。

因为刚开始的时候对if else if 的blocky的使用并没有掌握,所以把明明可以做成一个事件的联动做成了3个。后来也就懒得改了,大家将就着看:

零基础打造全屋智能控制系统 篇二:domoticz的实时监控和小米无线开关在domoticz中的应用

第一第二条是当双击无线开关的时候,对博联插座进行开合操作,因为使用同一个动作来激发两种状态,所以之前要加个判断条件,判断现在插座的状态是开还是关。而最后一条是因为多段开关,如果触发了一个状态后,它就不会自己复位到off,然后根据设定的两条触发命令就会无止尽的开关。加了最后的复位事件,就是在感应到开关操作后,开关自动复位到OFF状态。


本文稿源:什么值得买,作者:casatift

留下您的回复和评论吧,我们将很高兴听到您的想法:

登录并回复

智能品
注册新帐户
重设密码