尼斯堡七桥_我们为什么不能拥有尼斯物联网? 家庭自动化入门

尼斯堡七桥

现成的消费类家庭自动化已落入相当标准的模式。 您有一个智能设备(例如灯泡或门锁),可以与您放在网络上的某种集线器进行通信。 它与设备供应商拥有的云服务进行通信,并且您可以通过移动应用程序与该服务交互。 这提供了简便的即用即用的体验,并允许供应商在云和移动设备上迭代其服务。 但是,此模型有很多缺点,并且只能做些限制。

the standard consumer pattern in off-the-shelf home automation

该模型的某些逻辑依赖于云,而云是您无需为维持云而付费的,这意味着经济性完全基于销售更多设备来维持该云。 这也意味着互联网中断现在会使您的房屋退化。 如果从家庭到该云服务的路径的任何部分中断,您可能会失去房屋内部的功能。 此外,您正在从互联网上获取入站命令,这些命令确定家庭的工作方式。 尽管可以安全地执行此操作,但这会增加风险。 当做得不好时,您最终会遇到Mirai僵尸网络之类的东西,该僵尸网络去年秋天破坏了美国大部分互联网。

此模型还取决于移动应用程序,这意味着您选择的产品可能取决于您选择的移动设备。 您可以构建的自动化类型取决于供应商以及他们在移动应用程序中展示的内容。 在不同平台之间进行真正的集成是不可能的。 例如,如果打开门触发了灯的开启,那很好,但很有可能您连接的门和连接的灯位于完全不同的生态系统中。

为什么不能做到无缝?

我们采用这种模式的主要原因之一是末脚网络和设备发现是分散的。 确实有原因。 最初,我们认为在各处使用Wi-Fi可能是个好主意,但在拥挤的环境中Wi-Fi太糟糕了。 此外,安全Wi-Fi假定有人可以在进入网络的每个设备中键入Wi-Fi密码。 这对于手机或笔记本电脑来说效果很好,但对于灯泡却效果不佳。 要使之成为可能的各种变通办法包括让灯泡运行您所连接的Wi-Fi接入点。 与其他技术选择相比,Wi-Fi还耗电,因此不适合使用AA电池供电的传感器。 此外,大多数家用路由器最多可配置250个设备,这在推出连接设备时成为真正的考虑因素。

How different technologies use radio spectrum

替代品包括X10 RF,Zigbee,Z-Wave甚至蓝牙。 它们在安全性,可发现性,范围,功耗和网络方面都有不同的权衡。 几乎所有东西都比Wi-Fi更好。 有些可以直接使用网状网络。 有些具有对消息的主动确认,这对于在其之上构建自动化系统非常重要。 为了使消费者可以使用这些设备中的任何一种,您需要将它们桥接回家庭网络的设备,因此您必须拥有一个集线器。

那时,供应商的选择是将所有逻辑写入集线器,并希望消费者定期升级其集线器(他们不会这样做),或者在异地保留尽可能多的逻辑,以使供应商继续迭代和改进平台。 从供应商的角度来看,这一切都是有意义的。 但是,它极大地限制了您使用这些设备的功能,老实说,这使它们的吸引力降低了。

输入家庭助理

这就是家庭助理的作用。 家庭助理(Home Assistant)是一个开源的家庭自动化中心,可以安装在各种设备上-从完整的Linux系统到某些网络连接的存储(NAS)环境,甚至是Raspberry Pi。 该项目做出了重大的早期决策,例如使用Python编写代码,这使数百人可以轻松向平台添加设备支持。 该用户界面基于实现Web组件标准的Google库Polymer ,因此它看起来干净利落。 内部状态和事件模型是干净的,这使不同组件之间的自动化交互变得容易。

Home Assistant Polymer UI. Notice Hue bulb icons match the color the bulbs currently are.

家庭助理Polymer UI。 注意,Hue灯泡图标与当前灯泡的颜色匹配。

开箱即用,您可以与700多个不同的组件进行集成,从极为流行的平台(例如Hue,Nest和Sonos)到大量以前从未听说过的平台。 该项目尽可能使用UPnP和其他发现协议尝试自动发现网络上的设备并将其集成。

我对该项目的第一项贡献是Proliphix温控器的连接器。 Proliphix生产工业和商业联网的HVAC系统,十年前,它试图通过我当时购买的以太网连接的家用恒温器进入消费者领域。 该公司几年前停止生产该产品,但是它具有本地Web服务API,因此该设备可继续正常运行。 通过大约100行代码 ,我能够为其编写一个插件到Home Assistant,并将其贡献给上游,并Swift被接受。 当时,这是一个非常古老的平台,事实上我可能是唯一的用户并不重要,因为Home Assistant项目想与任何平台合作,无论它多么晦涩。 社区的友好感使我着迷了,从那时起我一直是开发社区的成员。

家庭助理中的自动化

要了解Home Assistant中可能具有的各种自动化功能 ,请考虑以下内容。 我有一个经过筛选的门廊,我们将一年中的六个月用作餐厅。 我将Hue灯泡放在天花板上,安装了Aeotec Z-Wave MultiSensor 6 ,然后在AV接收机的第2区运行室外扬声器。 我希望人们在晚上进入门廊时开灯,但白天却不开,因为那将是毫无意义的能源浪费。 有时我也忘记关闭立体声,所以如果在没有人在场的情况下,出于对我们邻居的礼貌而关闭2区,我真的很喜欢它。



   
   
    scene:
      - name: Porch Lights On
        entities:
          script.porch_on:
            state: on
          switch.deck_lights_48:
            state: on
      - name: Porch Lights Off
        entities:
          light.porch_fan_1:
            state: off
          light.porch_fan_2:
            state: off
          light.porch_3:
            state: off
          light.porch_4:
            state: off
          switch.deck_lights_48:
            state: off
          media_player.living_room_stereo_zone_2:
            state: off

    script:
      porch_on:
        alias: "Turn On Porch Lights"
        sequence:
          - service: light.hue_activate_scene
            data:
              group_name: "Porch"
              scene_name: "Porch Orange"

    automation:
      - alias: Turn on porch lights after dark
        trigger:
          platform: sun
          event: sunset
          offset: "-1:00:00"
        condition:
          condition: and
          conditions:
            - condition: state
              entity_id: light.porch_fan_1
              state: "off"
            - condition: state
              entity_id: binary_sensor.porch_ms6_1_129
              state: "on"
        action:
          service: scene.turn_on
          entity_id: scene.porch_lights_on

      - alias: Turn on porch lights on motion
        trigger:
          platform: state
          entity_id: binary_sensor.porch_ms6_1_129
          to: "on"
        condition:
          condition: and
          conditions:
            - condition: state
              entity_id: light.porch_fan_1
              state: "off"
            - condition: sun
              after: sunset
              after_offset: "-1:00:00"
        action:
          service: scene.turn_on
          entity_id: scene.porch_lights_on

      - alias: Turn off porch
        trigger:
          platform: state
          entity_id: binary_sensor.porch_ms6_1_129
          to: "off"
        action:
          service: scene.turn_on
          entity_id: scene.porch_lights_off

这种情况的复杂性肯定会给YAML模型带来一定的压力,但是要忍受,因为这个复杂的示例显示了很多事情。

自动化是由一个事件触发的,但就我而言,我有两个潜在的触发因素:运动传感器跳闸,并且为时已晚,无法打开灯。 因此,我需要查找任一事件,并检查其他事件是否处于预期状态。 我还必须检查照明灯当前是否熄灭,以便如果手动将其打开,则此自动化操作不会随机更改其颜色或亮度。

自动化程序调用一个场景,该场景打开甲板灯(由Z-Wave开关控制),并调用一个脚本,该脚本使用Hue控制器中嵌入的场景名称来打开灯。 在Hue的轻按开关和移动应用程序中可以看到相同的Hue场景,因此在任何一种情况下,Home Assistant都像在该场景上轻按。 在关闭自动化规则中,您可以看到指示灯,开关和接收器的关闭。

请注意,此自动化集成了五个不同制造商(飞利浦Hue灯泡/集线器,Z-Wave集线器,Z-Wave开关,Z-Wave传感器和音频接收器)制造的设备,并且通过三个不同的网络进行通话-Zigbee,Z-Wave和以太网-形成一种一致的感觉。 所有这些都以我可以提交到Git存储库中的格式完成,因此当我进行更改时,如果它破坏了我的房子,我可以轻松地还原(这非常关键,因为家庭自动化错误是最难调试的一些东西)并进行诊断)。

生态系统

家庭助理社区充满活力并且正在发展。 该项目每两周发布一次版本,并继续收集贡献者。 诸如App Daemon之类的生态系统项目正在解决复杂的自动化方案(如上述方案)中的一些挑战,该项目使您可以用Python编写自动化代码。 因为Home Assistant守护程序将整个事件和状态结构公开为Web服务,所以为这些环境构建这些自定义加载项甚至您自己的专用UI真的很容易。

如果您正在考虑将脚趾伸入家庭自动化领域,请确保签出Home Assistant项目。 将开源置于家庭自动化的核心,将使您能够按自己的节奏进行构建,随着时间的流逝而适应,并确保您能够控制诸如自己的房屋之类的关键资源。

本文基于肖恩(Sean)的OpenWest演讲,即为什么我们不能拥有“物联网”:家庭自动化入门 OpenWest将于2017年7月12日至15日在犹他州盐湖城举行。

翻译自: https://opensource.com/article/17/7/home-automation-primer

尼斯堡七桥

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值