使用PowerShell控制飞利浦色光
4(80%) 5投票[选举]

几年前,我买了一些飞利浦顺化灯泡,把它们放在我家的客厅里。通常我们通过手机上的色调应用程序控制它们,或者通过谷歌助手。这一切都很有效,当然,我是个技术人员,有很多其他的物联网设备,把色光和它们结合起来会很好。
这篇文章是进行集成的第一篇。设置进入飞利浦色桥和操纵灯光的通道。为了便于初始实验,我使用PowerShell来执行编排。API调用可以很容易地转换为任何其他语言,因为它们是简单的Web请求。

先决条件

首先,您需要将您的飞利浦色光设置与您的飞利浦色光桥。测试灯都是通过飞利浦顺化移动应用程序工作。
找到Philips Hue Bridge的IP地址。我发现我的很容易通过我的Unifi控制台,你应该能够得到它通过你的家庭路由器。

开始

使用浏览器及其IP地址导航到飞利浦顺化桥。您将看到一个启动屏幕,其中列出了它使用的开源模块。现在在IP地址后面加上/debug/clip.html;

http://192.168.1.124/debug/clip.html

创建帐户

其余的API接受JSON负载。我们可以在API调试器中快速创建它。请参阅下面的示例正文,并将URL更改为/api。同时按下飞利浦色桥顶部的按钮,选择Post按钮。这将创建一个帐户,然后您可以使用它来协调色调灯光。
{“devicetype”:“AzureFunction # iphone达伦"}
创建philips hue user.png
通过API,我们刚刚创建了一个帐户。从响应中复制用户名。我们在API调用中需要这个。

测试连接

如下图所示更改调试器中的URL并清除消息正文。选择GET,应该会返回连接到Philip Hue桥接器的光。

http:///api//lights(灯)

灯光.png

控制灯光

我有很多灯。我们的厨房里有三个吊灯,一排都是飞利浦色光。我将从其中一个开始测试。从上面第5点的响应中选择一个应该是中间灯。的命令是:
http:/// 在身体上穿上并真正打开。错误的做法是关掉它。选择Put。我的灯开了。将消息正文更新为false,然后按Put将其关闭。
打开灯光.png

使用PowerShell管理飞利浦色光

现在让我们使用PowerShell来操作色调灯,因为我们已经有了一个帐户,并且知道要管理的灯光。
为您的飞利浦Hue Bridge的IP地址更新以下测试脚本,您希望控制的光号和您在前面执行启用步骤时获得的用户名。然后脚本将获得当前灯光状态并将其反转(如果灯是开着的就关闭,如果灯是关着的就打开)。

翻转灯光的状态

如果您正确配置了所有内容,您的指示灯将发生变化,您将得到一个成功的答复以及它转换的状态。
反向光State.PNG

控制多个灯光

现在让我们为多个灯光做这个。在我的厨房里,我们有三个落地灯在柜台长凳上。让我们控制这三个。我创建了一个光数的集合,然后遍历每一个并翻转其状态。注意:您还可以通过组方法控制多个灯。不过,我不想掩盖这个事实

在我开始之前,我把其中一个设置成与另外两个设置相反的状态,显示每个都是单独更新的。
反转多个灯光状态.png

控制多个灯光和更改颜色

现在让我们改变颜色。如果灯还没亮,就把它调成粉红色。

如你所见,通过迭代灯光,脚本将其打开并使其变为粉红色。
打开灯光并使其变为粉红色.png

最后,多灯效果

现在让我们打开所有的灯,并将它们设置为使用颜色循环效果(通过颜色光谱过渡)15秒,然后使它们全部变为粉红色。

灯光在光谱中转换15秒,然后关闭效果并将颜色设置为粉红色。
打开灯光的颜色效果并将其设置为粉红色.png

总结

我们在Philips Hue Bridge上创建了一个账户,我们能够枚举我们拥有的灯,然后通过PowerShell对它们进行协调。
这是一个简短的视频,显示三个灯正在打开,改变颜色并重复颜色谱,然后将其设置为粉红色。

现在将它们与其他物联网设备集成。

类别:
PowerShell
标签:
,请 ,请 ,请

8个
留下一个回复

留下一个回复

订阅
最新 最老的 大多数投票
通知的
LWSRBTS
客人

我为桥编写了一个PowerShell模块(技术类),组,灯和传感器也实现了飞利浦的远程API,所以,如果你想的话,你可以通过坐在世界另一端的覆盆子派来控制你的飞利浦色调灯。
可从PowerShell库安装(install module-name poshue-scope currentuser)
https://github.com/lwsrbrts/PoSHue
不是广告,因为我不卖它,如果你想贡献或添加新功能,它是Github上的开源软件。

里卡多·默里
客人

非常惊人的命令飞利浦色调灯与PowerShell

詹姆斯
客人
詹姆斯

只是一些有帮助的事情,我对下面的内容感到沮丧。$status=invoke restmethod-method get-uri“$($huebridge)/$($username)/lights”$status度量对象计数:1平均值:总和:最大值:最小值:属性:作为一个这样的对象返回。(是的,我没有色光,不知道为什么它们也从搞笑的数字开始),我已经清除了这个例子中的唯一ID。4:@状态=;swupdate =;类型=扩展色灯;名称=学习灯;模型ID=LCT010;制造商名称=飞利浦;产品名称=色调彩灯;能力=;配置=;uniqueid=00:00:00:00:00:00:00:00-00;swversion = 1.29.0_r21169;swconfigid=6a139b19;productid=Philips-LCT010-1-A19ECLv4} 5: @{state=;swupdate =;类型=扩展色灯;名称=灯带休息室;型号ID=LST002;制造商名称=飞利浦;……阅读更多»

米娅
客人

我有34个灯泡,我有它们的传感器,可以开关所有的东西。我真的很喜欢他们的产品

玛雅
客人

非常感谢你的帮助!工作!

SGSiteWebDesign网站设计
客人

现在让我们改变颜色。如果灯还没亮,就把它调成粉红色。

跟我们来!

克劳德解决方案博客-关注我们!