物联网揭晓,第1部分:一团糟,然后有家庭助理

2020-11-23 17:19:05

聪明的IoT专家们,我有两个这样的车库门开启器,您认为将它们与Apple HomeKit连接的最佳方式是什么? https://t.co/i0RmjSMkkD

-特洛伊·亨特(@troyhunt)2020年4月25日

在我看来,答案很简单:“只需购买X,将其插入电源就可以了”。相反,我发现自己进入了焊接,定制固件和社区驱动的家庭自动化套件领域的困境。终于,整整123天后,我设法使用一个应用程序打开了车库门:

今天粉碎!让Shelly 1留下深刻的印象,让它变得如此简单simple pic.twitter.com/miD8WdfUvM

-特洛伊·亨特(@troyhunt)2020年8月26日

接下来的事情是我沿着那个非常深,非常黑暗的兔子洞走下去的旅程,我以为我永远都不会出现。每当我以为自己有答案时,就会提出另外两个问题。我必须购买新设备,学习新的缩写词并使用以前从未听说过的东西。在无休止的在线讨论中,我以强烈的观点参于无休止的讨论中,而这些观点在我认为很简单的事情上经常相互矛盾。坦率地说,我从未走过如此零碎的技术道路。

在我前进的过程中,我添加到了此博客文章中,以期最终为将来的他人提供一条“幸福的道路”。我没有发表任何一篇文章,而是撰写了一个由5部分组成的史诗,我将在本周的过程中逐篇发布,希望其他人可以跟进,并最终在足够的时间和耐心下能够打开他们的车库门也一样。

这就是整个混乱的开始:您的物联网世界的中心是什么?在上面的原始推文中,我认为这将是Apple的HomeKit,考虑到我家人对iPhone,iPad,Apple Watch以及家里装有Apple TV的依赖,这似乎是一个合理的假设。那些使用Android的人可能会合理地假设Google Home将成为他们的中心。其他人可能会认为这与Alexa有关。但是不,这些答案中的每一个都是错误的,因为每个人都是一个专有的生态系统,不同设备的支离破碎的支持,以及厂商锁定的麻烦。以此为例:

卡在里面,不允许出去吗?神经壁枪! LED条形灯是来自Bunnings的Arlec,价格为60澳元/ 500万美元。 Controller应用程序加上Alexa集成,因此下一步就是完整的语音控制😎pic.twitter.com/8mP2G3CM3t

-特洛伊·亨特(@troyhunt)2020年4月9日

现在首先,Nerf的枪壁是史诗般的史诗!但是第二,Arlec LED灯条Ari固定在墙的背面是在Grid Connect生态系统上运行的,该系统包括对以下内容的支持:

谷歌和亚马逊。就这些。没有HomeKit。实际上,当我查看物联网产品时,HomeKit常常是一个奇怪的例子,我可以想象有人在解释它,因为Apple要求以Apple方式或高速公路来完成事情,因此缺乏兼容的设备。这并不是Grid Connect网站上的错字:

也不只是大公司;您会发现各种不太知名的品牌想要成为您的物联网世界的枢纽。在整个练习过程中,我决定需要在家庭娱乐设备中更换接收器,因为它的功能不足以驱动我拥有的扬声器。因此,我在家庭影院商店里,看到了制作精美的通用遥控器:

这个可爱的铝制拉丝单元由Control4制成,您猜怎么着?它们可以成为您的智能家居的枢纽!哦-但是它不是可自行配置的,您需要获得许可的安装程序才能为您进行全部设置🤦‍♂️

但这也有点不屑一顾,因为虽然从表面上看,它看起来像是对同一问题的另一种解决方案,但是在几个关键方面,它在哲学上是不同的:

开源家庭自动化,将本地控制和隐私放在首位。由世界各地的修补匠和DIY爱好者提供支持。非常适合在Raspberry Pi或本地服务器上运行。

Apple / Google / Amazon解决方案均为专有解决方案,并且与各自的科技巨头的商业产品紧密相关。他们希望人们在平台上使用云计算并购买产品。另一方面,HA不在乎谁制造了什么设备,拥有哪些设备或所处的云,它只是想以一种有意义的方式将它们捆绑在一起。这是一个非常活跃的开源项目,通常(但不是排他性地)在Raspberry Pi上运行,目的是集成您的所有内容并将其保持在自己家里,而不依赖于公共云服务。它具有出色的社区支持和忠实的支持者群体,这有助于将其推向GitHub上的顶级开源项目之一。然而...

学习曲线陡峭,边缘粗糙(截至撰写本文时尚未达到v1),您最终生活在YAML中,并且以任何合理的方式衡量,仅对那些乐于学习的极客有用大多数凡人都不熟悉的世界。幸运的是,这包括我在内,尽管整件事具有“制造者”的性质,但是HA给我留下了深刻的印象,而我在物联网之旅中所见到的其他东西甚至都无法与之相比。如果您打算以任何有意义的方式进行物联网,那么您将从HA开始。

事实是,您需要准备好使自己的手真正变脏:

phoscon是否在docker容器中运行?如果是这样,您可能需要使用vnc连接到容器,才能进入phoscon UI从那里删除设备。然后从HA中删除集成,然后阅读。如果它成为孤立对象,则可能需要整理HA配置文件。

-菲尔·埃尔米亚(@PhilErmiya)2020年6月18日

我捕捉到了这条推文,并把它放到了草稿博客中,当时我在哀叹让简单的事情以我希望的方式工作是多么的辛苦。但我不想在本博客系列中获得如此详细的信息,因为这只会吓people人,而让我专注于基础知识,并提供足够的背景,使人们从正确的方向前进。医管局出色的基本原则。

HA与其他设备和服务集成,可以用作触发器并对其执行操作。

例如,只是想马上得出结论,我现在房子周围有一堆小运动传感器,它们可以打开灯:

现在使用小米Aqara运动传感器进入我的物联网扩展的下一阶段,运动传感器遍布房屋,根据移动情况触发开灯或关灯。这些都是基于Zigbee的,具有2年的电池寿命,并且还包括光传感器。酷😎pic.twitter.com/XLIPyNz5Ej

-特洛伊·亨特(@troyhunt)2020年10月6日

首先,这是通过使用可以与传感器通信的集成实现的,在这种情况下,这是由Phoscon制造的deCONZ:

我在上面的屏幕截图中保留了其他集成,以使您了解HA可以与之通信的其他一些功能:Alexa,WeMo开关,Elgato按键灯和我家中的许多其他连接的设备。在撰写本文时,有1,713种不同的集成,包括... a我是否拥有集成!

deCONZ集成允许与Zigbee设备进行通信(第2部分中的更多内容),并且按照上面的屏幕截图,我家目前有35个。其中一个是早期推文中的第一个运动传感器,在HA中,它看起来像这样:

运动传感器是我放置在我房子楼梯底部的设备,该设备跨越3层楼。我在孩子房间附近有一个运动传感器,在我们主卧室附近的顶部有另一个运动传感器。这些运动传感器设备各自具有3个不同的实体:

这种命名法起初给我带来了一点麻烦,但它是有道理的:您可以拿在手中的一个物理设备可能会测量许多不同的事物,并且这些事物中的每一个都被视为一个实体(实体不仅仅是测量,而是让我们使用作为目前的简化示例)。我在每个房间中都没有温度传感器,并且这些设备中的每一个都可以测量湿度,压力,温度并具有电池状态:

我现在到处都是的另一种设备是称为Shelly的IoT中继,您可以在下面的推文中看到其中的两个(它们是所有电线中的蓝色小单元):

是的,这是澳大利亚墙上插座的正常接线。不,我们不使用帮派盒。是的,我知道您在世界其他地方的做法有所不同。接下来,每个Shelly都有一个实体,这只是一个电源开关:

因此,现在我们具备了将自动化结合在一起的所有机制,正如您在上面的屏幕截图中(以及在较早的显示楼梯运动传感器的屏幕截图中可以看到的)所看到的那样,我有两种使用这些设备的自动化。在本系列博客所涉及的YAML方面,我将不做任何介绍,而是将重点放在逻辑上:

如果在楼梯的底部,中间或顶部检测到运动,并且底部的光线水平低于200流明,请打开灯光开关上的Shelly

如果在过去的5分钟内所有3个运动传感器均未检测到任何运动,请关闭电灯上的雪莉

但是那种自动化只是打开一个灯,如果我想打开更多的灯怎么办?还是播放音乐?还是同时设置其他设备状态?这是我们进入“场景”的地方,它允许您定义多个预设状态,可以一次打开所有状态。例如,Ari想要一种快速的方法来将他的所有灯光恢复到他所谓的“酷”状态,因此我们制作了一个场景,该场景打开了一堆灯光并将nerf枪壁设置为红色:

可以通过各种事件(包括自动化)来触发该场景。我们将很快再来看看,但是现在,让我们先谈谈所有这些灯是如何工作的。

当您看到某个品牌下的产品时,曾经发誓会在以前的某个地方看到它时,会感到奇怪吗?最近,当我开车驾驶朋友的特斯拉Model X时,我有那种感觉,指示器杆的感觉就像我的梅赛德斯车上的一样。事实证明,因为它就像我的梅赛德斯轿车中的美国品牌一样,使用了许多德国人的零件。

任何人都知道在使Grid Connect灯光与@home_assistant配合使用时会涉及什么?这些是单元,在孩子们的房间里堆了很多,它们已经与Alexa和Google助手集成了:https://t.co/xJKdtzJKED

-特洛伊·亨特(@troyhunt)2020年7月19日

早些时候,我提到我购买了Grid Connect灯(由Arlec制造)放在Ari的Nerf Gun墙后面。它们很便宜(至少与飞利浦Hue之类的东西相比),RGB(不仅有不同的白色阴影)而且可以通过Wi-Fi通话(不仅可以通过遥控器控制)。 Grid Connect应用程序运行良好,但是正如我之前提到的那样,它无法与Apple的HomeKit一起使用,并且基于对上述推文的反馈,也没有与HA集成。但是还有另一种选择:

这些基于现成的Tuya ESP8266模块。使用Smart Life或Tuya应用程序而不是Grid Connect one-HA已将其基于云的Web服务集成在一起。或使用其他固件刷新它们-Tasmota和ESPHome是主要选项

-克里斯·福特(@chrisfordoz)2020年7月19日

好的,实际上这是几种不同的选择,但是让我们首先关注Tuya,因为这是最简单的方法。 Tuya是“世界领先的IoT平台”(是的,另一个平台🤦‍♂️),根据上述推文,他们发货的产品均运行ESP8266芯片,这是一套非常常见的套件。因此,我可以将Grid Connect灯带与Tuya应用程序配对,然后说Arlec!

事实证明,这些产品也与Tuya兼容,因此,现在,无需直接购买单个Tuya产品,我就可以在Tuya应用中运行很多产品:

这意味着很难控制诸如颜色和​​亮度之类的东西:

现在,让我们暂时回到HA,这里的价值主张是根据Chris的较早推文,有一个集成可以将这些设备带入相同的环境中,而我现在所有的其他IoT都在其中:

好的,到目前为止,到目前为止,让我们开始探讨所有相同的事物,从同一个设备在HA中的外观开始:

现在看起来还不错,但是当我第一次添加筒灯时,我没有进行颜色控制。功率和亮度,是的,但没有颜色。经过一些研究后才意识到,Tuya也杀死了许多其他人的色彩控制,答案是编辑edit.yaml文件,并为每个Tuya实体更改支持的功能以指示色彩控制。我什至不打算在这里讨论其机制,因为这并不是本系列的重点,而是我想强调一下我如何一直遇到这样的“兼容但不完全兼容”的场景。

因此,现在应该通过Tuya应用程序或HA网站或应用程序更改颜色吗?从某种意义上说,这没关系,因为状态在两个状态中都得到了相同的反映(即在HA中将其设为红色,而Tuya应用将该状态显示为红色)。换句话说,我现在正处于这种恶性循环中,越来越多的特定物联网设备的应用程序虽然与HA集成在一起,但仍然需要OEM应用程序做大量的工作。例如,Nanoleaf应用程序具有一组非常具体的控件:

这些允许在灯光面板上播放预定义的场景(也可以由HA触发),但也可以进行非常特殊的配置,例如制作单个面板的颜色。 AFAIK,该功能不是内置于HA集成中的,即使它是内置的,安装它的经验也不太可能与专用应用程序相媲美。

最重要的是,您不可避免地要在同一设备中使用多个不同的接口,无论它们是设备制造商提供的本机接口还是通过HA集成公开的接口。但这还不止于此,因为您仍然需要将这些设备放回其他IoT中心。原因如下:

早些时候,我感叹每个人都希望成为您的物联网世界的枢纽,而且幸运的是,HA可以代替现有的大型科技公司之一发挥这一作用。大多。当您开始使用那些希望通过自己的专有产品与IoT设备进行通信的公司之一的产品时,就会出现差距。例如,我两个孩子的房间里都有一个Amazon Echo Dot。我之所以把它们放在这里,部分是因为它们是有趣的学习工具,它们可以轻松地提出以下问题(他们也可以问“ Alexa,谁是Troy Hunt”并获得答案,或者,正如我昨晚与女儿学到的那样,他们可以问“ Alexa,特洛伊·亨特(Troy Hunt)很帅”,响亮的“他很帅”(🤣),部分是控制他们的IoT设备。后者甚至不需要HA即可完成,因为Tuya与Alexa本机集成并公开了所有设备:

但是在HA中,我们可能仍想通过Alexa访问其他内容,例如我之前为Ari设置的“酷”场景。为此,我们需要将数据从HA浮到Alexa中,这可以通过Amazon Alexa集成来完成。配置完成后,将出现场景,他可以与Echo Dot对话并要求Alexa“在Ari的房间里变凉”:

就像有理由将HA引入Alexa一样,也有理由将HA引入苹果的HomeKit中,这一壮举可以通过HomeKit Bridge集成来实现。 (注意:还有Homebridge,它是完全不同的野兽。)现在,我们可以将所有相同的设备引入Apple的生态系统:

请记住,Nerf的枪管正在运行Arlec LED灯带,该LED灯带使用通过Tuya应用程序浮出水面的Grid Connect,而该应用程序都不支持HomeKit,但是我们可以通过HomeKit进行控制😎

这样做的主要原因之一是,一旦您进入了Apple生态系统,便有了Siri,因此现在我可以举起手腕说“嘿Siri,打开车库门”。或者,如果我使用Apple CarPlay开车时,也可以发出相同的命令,而无需把手放开。

但是,这确实会引起其他问题,尤其是在进行故障排除时。看看此博客文章顶部的英雄形象。就像HomeKit在我的iPad上看到的那样,漂亮的Nerf枪壁代表了Ari的房间,除了...他的桌面电源显示“无响应”。呵呵,想知道他今天早上是否不小心将其拔掉了吗?所以我进了他的房间,不,他没有拔出电源,因为他的霓虹灯背光键盘发光,并且已插入连接到目前无响应的TP-Link HS100智能插头的USB集线器中。它通过HA中的HomeKit Bridge集成在HomeKit中浮出水面,因此我进入该设备,该实体被禁用。如果HA无法看到它,则HomeKit将无法看到它。好的,让我们更进一步,现在我在本地iOS Kasa应用程序中,该应用程序既存在插头,又响应开机/关机命令,这意味着它在网络上正常。我停在那里是因为坦率地说,我对整个事情有点生气,只是想立即完成本篇博客文章,但是我在此处包括了这个内容,以演示完成所有这些工作需要多少个运动部件。这些移动部件中的只有一个停止了,不仅杀死了一部分物联网,而且很有可能会进行冗长的故障排除会话。

这一切花了我一段时间来回避,这是事实,即您无法逃避拥有多个“所有事物集线器”的必要性,而且它们可以在大多数时间和谐地协同工作。这并不困难,但是很奇怪,特别是当您最终在HA中使用相同的设备时,Alexa可以与他们进行本地交谈,然后您看到重复对象,或者您进入了HomeKit,当您真的只想要几盏灯时,那里有不计其数的设备。 。有解决这些问题的方法,但是,这需要一点耐心和大量调整。

我想在这里总结第1部分,因为在剥离更多层次的复杂性之前这是一个很好的完成。为自己配备Raspberry Pi,安装HA并为现有设备添加集成,通过选择的平台浮出水面,然后开始运行。但这只是第一步,在第2部分中,我想开始研究所有这些IP地址的含义,Zigbee的作用,定制固件和焊接,并最终找到一条自己的快乐之路,了解我想要使整体变得多么复杂事情。

最后,我将每周定期更新实时流到此博客系列中,并与我的好伴侣Scott Helme一起进行,他正在经历自己的物联网之旅。它将在本星期五在黄金海岸时间17:00广播给我,这是伦敦的当天08:00和美国西海岸的星期四晚上23:00。如果您无法制作实时流,则此后仍将可用: