我不得不更新一个旧的房屋自动化系统,并正在考虑西门子的Logo控制系统。一个要求是可以从c#应用程序读取输入和输出端口的状态。
由于一些徽标模块具有以太网端口,我认为它们可能支持通过http读取和写入端口状态。然而,我还没有找到关于这样一个功能的信息。
是否有人在c#中读取和写入西门子标识的端口状态?有没有文档化的API,最好是HTTP-API?或者有人可以向我推荐另一个自动化系统,它有这样的API?
发布于 2015-01-12 23:19:16
我知道这个问题已经有2年多的历史了,但为了完整起见,如果有人在寻找Siemens Logo HTTP-API时遇到了这个问题:
较新的模块(0ba7和0ba8)配备了以太网端口,因此能够说出S7协议。在网上有一些免费的库实现了这个协议,比如libnodave或snap7。
我用C#/WCF实现了一种“中间件”,它通过libnodave与Logo进行通信,并公开一个简单的REST/JSON API进行控制。多亏了单声道,这也运行在好的老树莓派24/7低功耗。你可以找到它的here,不幸的是我的网站只有德语。
发布于 2012-12-18 16:06:08
我是西门子Logo自动化系统的新手。
如果它支持HTTP (不是HTTPS),并且您希望对API进行反向工程,那么您也许能够嗅探发送到Ethernet接口的消息。
然而,这个任务是残酷的,至少你有足够的时间/耐心,我不建议你这样做。
你在市场上有更多的选择。任何支持X10 (古老的)、Insteon或Z-Wave的东西都可能让你找到正确的方向。
我有使用Insteon.They的经验,软件开发工具包收费200美元,有传言说软件开发工具包没有很好的文档记录,开发起来可能很痛苦,但你可以在这里获得一个免费的库。
http://soapboxautomation.com/support-2/fluentdwelling-support/
您只需要调制解调器COM / USB,就可以控制X10和Insteon设备了。
发布于 2019-12-13 06:09:18
在最新的内置web服务器的Logo 8上,这是可能的,甚至不是那么困难。
我在这里记录我的发现:https://github.com/jankeymeulen/siemens-logo-rest,也许有一天我会写一个包装器,但使用它非常简单,例如与Node-RED一起使用。
例如,要从I1读取状态:
curl 'http://192.168.1.100/AJAX' -H 'Security-Hint: ABCDEFGHIJKLMNOPQRSTUVWXYZ123456' --data-binary 'GETVARS:v1,129,0,0,1,1'
安全提示您需要嗅探一次,但它可以无限期地重复使用(从相同的IP地址)。
https://stackoverflow.com/questions/13711193
复制相似问题