智能家居软件#2

祝大家有美好的一天! 继续我以前的想法,我开发了一个程序,可以用作控制智能家居的系统。


图片


为了使读者立即感兴趣,我将演示一些使用该软件的方案:



照明,气候控制,
多媒体等
Z-WaveModbus设备,
扩展列表的能力
兼容的书写协议
插件




GPS跟踪器和地理位置触发器。

创建工作算法
具有周期和条件的脚本 ;
在其中使用一个脚本
朋友 合并的机会
多个Lazurite服务器
通过远程脚本


场景


Lazurite允许您使用条件循环创建触发器和复杂脚本 ,即 用户可以使用内置构造函数对程序进行“编程”,以满足其任何需求。


任何脚本在用户界面中都有自己的开关-“ tile”。 根据脚本数据类型,开关的外观会有所不同。


脚本切换示例。


>>了解有关数据类型和开关的更多信息。


另外,Lazurite中有三种类型的脚本:单一操作,复杂脚本和远程脚本。


用于选择要创建的脚本类型的窗口。


单动


单个动作是不需要复杂逻辑的场景,例如打开灯光或使用切换菜单中的“平铺”更改声音级别。 在这种情况下,将无法创建周期或条件,因为您只能将来自插件 (在下面有关它们)的单独操作绑定到交换机。


以创建ModbusRTU开关为例的单动作构造函数。


困难的情况


复杂方案是具有复杂逻辑的方案,其中存在循环和条件。


>>有关创建复杂脚本的详细信息。


当房间内的湿度小于或等于40%时,请调节湿度。


Z-Wave设备为例的复杂场景。


具有分组和数值比较的困难条件。


远程脚本


Lazurite具有运行WCF服务的内置服务器 。 这就是客户端应用程序可以接收有关脚本的信息并执行某些操作的原因。 但是,此外,另一台Lazurite服务器可以连接到Lazurite服务器并使用远程服务器脚本。 为了使用此功能,您必须创建一个远程脚本


对远程脚本的支持使您可以创建安装了Lazurite的设备网络。 即 在一个服务器的脚本中,您可以调用脚本或获取另一台服务器的脚本值。


例如,在一间大房子中,您可以创建一个分布式系统,其中多个安装了Lazurite的节点将站在不同的楼层(房间,建筑物)上,Lazurite中央单元将与之通信。 管理员将配置系统,并决定从设备的独立性,将它们用作简单表演者还是将某些自治功能纳入其中。



触发


触发器是发生特殊情况时触发的某些动作。 它们与方案的不同之处在于它们没有数据类型,也没有“平铺”。 触发触发器的触发器是更改选定的方案,即 如果我们想在温度变化,湿度变化,用户在家等情况下执行任何操作,则需要为相应的场景创建触发器。 触发器构造函数是脚本构造函数的副本,您可以在其中创建循环,条件,动作。


触发以触发运动传感器。


动作


在脚本构造函数中添加的任何行都是“动作”。 Lazurite中安装的每个插件都向程序添加了一些新功能-动作。 Z-Wave,Modbus,地理位置等的任何工作 通过此功能产生的。 因此,任何动作(如脚本)都具有其自己的数据类型


>> Lazurite中所有动作的列表。


在脚本构造函数中选择动作的窗口。


安全性


在Lazurite中,您可以配置访问权限以查看和更改脚本的值。 当我们在系统中为客人创建用户时 ,或者当我们只想隐藏执行辅助功能且不应显示给用户的脚本时,这可能是必要的。


脚本安全设置窗口。


以下各项可用于配置安全性:


  • “拒绝使用”;
  • “拒绝除...以外的所有群组 ”-禁止非所选群组成员的用户使用脚本;
  • “拒绝除...以外的所有用户”-禁止对除所选用户以外的所有用户使用脚本;
  • “拒绝组”-禁止执行选定的用户组;
  • “拒绝从网络运行”-具有此限制的脚本无法在客户端应用程序中显示,并且不能用作“远程脚本”;
  • “拒绝快速启动菜单”-脚本不会显示在快速启动菜单中;
  • “拒绝用户”-禁止选定用户执行;
  • “拒绝从另一个脚本/触发器使用”-无法在另一个脚本或触发器中执行该脚本。

默认情况下,禁止从网络启动和快速启动菜单使用任何脚本。


用户和团体


Lazurite的用户是系统的组成部分。 没有帐户,用户将无法访问必要的脚本并管理房屋中的设备。 如果没有身份验证,那么任何人都将连接到系统并执行任何脚本,这是非常不可取的。


为了方便起见,可以用户脚本的安全设置进行分组,例如,您可以创建一个“来宾”组,并阻止该组运行某些脚本。


>>有关用户组的更多信息。


Z波


Z-Wave是用于家庭自动化的无线通信协议。 为了实现该协议,使用了微型低功耗RF模块。 现在在ZWave市场上有相当多的设备列表,例如ZWave灯泡,插座,继电器模块,开关,锁,温度传感器(湿度,运动,泄漏),温度控制器,空调控制设备等。 多传感器也是常见的-结合了多个传感器(例如,灯光,状态,温度传感器,门传感器等)的设备,从财务成本和房间位置的角度来看,这是非常有吸引力的。


在Lazurite中,ZWave模块允许您执行所有标准设备操作,例如删除,添加设备和重置控制器。 您还可以使用多个ZWave控制器,最终用户将看不到它们之间的区别。 例如,您可以从连接到控制器“ A”的传感器获取温度读数,然后使用控制器“ B”启动空调。 没有任何限制,任何操作和验证均以标准方式进行,并已添加到脚本设计器中


在图像中选择该节点,多传感器为ZW100,然后选择其用户参数,您可以使用该参数测量房间中的温度


创建使用该节点的脚本后,将显示带有温度信息的图块。


>>有关Lazurite的Z-Wave的更多信息。


统计资料


Lazurite具有一项功能,可让您保留不同场景的值的历史记录(例如,客厅中的温度,房间中的湿度,紫外线水平,运动检测)。 用户可以选择需要保留其统计信息的方案,然后在一定时间段内查看其动态图。


以图表形式显示统计信息。


以饼图的形式显示统计信息。


>>有关统计的更多信息。


用户地理位置


Lazurite具有GPS跟踪器的功能。 任何客户端应用程序都会将地理数据信息发送到Lazurite服务器,在该服务器上可以处理,保存和显示此数据。 UserGeolocationPlugin插件显示的操作旨在与用户的地理位置配合使用,并允许您计算值,例如用户到某个位置的距离,用户在特定位置的位置等。


有些操作不仅需要用户的存在,而且还需要一个位置或一个“位置”,必须在程序中进行设置和配置。 这样的地方可以是房屋,公司,城市,地铁站。 需要使用具有此参数的操作才能对用户到此“位置”的外观或距离执行任何操作。 地点具有三个参数:中心坐标,半径和名称。


在选定日期创建的地点(房屋和单位)以及用户在其之间的路线的示例。


可以通过智能手机上的Lazurite应用程序查看用户的位置。


另外,您可以通过向统计信息中添加适当的脚本来保留移动的历史记录。


用户长时间的移动。


>>有关插件的更多信息。
>>有关运动历史的更多信息。


杂项


该程序具有创建脚本以在用户之间交换消息并从系统接收有关各种事件的通知的能力。


收件箱显示窗口。


向其他用户发送消息。


此外,还有各种其他功能,例如网络唤醒Windows上的多媒体键仿真,Windows上的 声音控制 ,Windows进程的使用Modbus设备的控制等。


在此处了解如何创建插件。


目前,该系统的进一步开发如下:


  • 该程序的体系结构将以一种现成的引擎或语音识别服务可以用作插件的方式进行现代化;
  • 将来,插件和脚本功能的进一步分解和现代化将使您能够从平板电脑或智能手机创建脚本;
  • 计划创建一个视频监视模块,其中将具有录制视频,将视频流广播到移动设备,运动识别等功能。

>> WIKI项目
>>项目网站
>>在GOOGLE PLAY上
>>最新版本


Source: https://habr.com/ru/post/zh-CN416977/


All Articles