- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是一个奇怪的问题,因为通常您可以获得日志信息,更不用说 Openhab 的内部结构已经完成,但我已经简单地提取了 OpenHab Z-wave Bundle 和所有必需的库,以运行多传感器的模拟 Aeon Labs MultiSensor Model:DSB05-ZWUS
。
我使用的 Controller 是 AEOTEC Z-Stick S2
,我将通过在本地计算机上使用 Maven 设置的 OSGI 系统启动 OpenHab bundle 。我测试了一个二进制开关来关闭和打开灯,这通过发送“关闭”或“打开”消息(即 00 或 FF)相当简单,但对于多级传感器,您必须向其发送消息来检索信息。
我似乎找不到工作流程,因为没有 GUI 示例说明如何获取所有传感器读数。我深入研究了代码,据我了解,多级传感器具有保存数字和相应传感器类型的枚举类型。
我能够 getMessage(sensorType) 并且它返回给我类似这样的内容,例如:SendData (0x13)
, type = Request (0x00
), playload = 0D 02 31 04 01
。我怀疑播放负载是用于确定传感器读数的信息,但我找不到任何资源来解码它。
但是我找到了一个 Converter 类:ZWaveMultiLevelSensorConverter.java
有一个名为 public void handleEvent(ZWaveCommandClassValueEvent event, Item item, Map<String,String> arguments)
的方法它对温度读数进行了一次转换,但我不确定参数中会包含什么内容。
所以我的具体问题是为每种传感器类型(例如:温度)提供读数的具体方法是什么,如果可能的话代码的工作流程是什么?
资源:https://github.com/openhab/openhab/tree/master/bundles/binding/org.openhab.binding.zwave
最佳答案
首先,您需要配置您的设备以发送您想要的信息。添加“Habmin”(HABmin)作为插件来配置传感器。需要设置的关键事项:
由于该设备是电池供电的,因此您无法随时轮询其读数。它将按照您在配置中指定的时间间隔向组 1(您的 ZStick)发送一份报告,其中包含传感器读数。不然就 sleep 了。但是,如果运动检测开启,它将立即响应运动。
OpenHAB 使用 OpenZWave 库(请参阅 Z-Wave Binding)。一切都通过一个 Manager 类进行。基本上,您监听诸如添加或删除节点或更新值之类的事件。下载 OpenZWave 控制面板 ( OpenZWave Control Panel ) 并查看“ozwcp.cpp”以了解您需要执行的操作。我已经用 C++ 完成了所有工作——我不确定 Java。
当多传感器发送带有读数的报告时,您会收到Notification::Type_ValueChanged。例如:
// this is the node number that triggered the event
uint8 const nid = notification->GetNodeId();
// this is the internal value that identifies what was changed
ValueID const vid = notification->GetValueID();
// this is the English version of what was changed
string vLabel = Manager::Get()->GetValueLabel(vid);
vLabel 将为运动周期开/关的“温度”、“相对湿度”、“亮度”、“电池电量”或“传感器”。
检测到运动时的基本报告会触发 Notification::Type_NodeEvent。
关于java - 对于 OpenHab Zwave Bundle,MultiLevelSensor 显示读数的底层代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286082/
在 openHAB 的规则文件中,我可以执行 postUpdate和 sendCommand .有什么不同? 我注意到,当我使用 postUpdate(zwaveLamp1, ON) ,仅更改其值,不
我正在尝试使用 eclipse 构建 OpenHAB 开源项目。但在 pom.xml 中出现以下错误 我不知道 Maven 构建系统,目前只是尝试编译和构建 OpenHAB。 生命周期配置未涵盖插件执
当我浏览到 http://localhost:8082/openhab.app?sitemap=demo 时我收到以下错误(即使在清除我的完整历史缓存和 cookie 之后): Could not c
这是一个奇怪的问题,因为通常您可以获得日志信息,更不用说 Openhab 的内部结构已经完成,但我已经简单地提取了 OpenHab Z-wave Bundle 和所有必需的库,以运行多传感器的模拟 A
我在建立与我的 KNX 的连接时遇到了一些问题。超过 USB .运行演示项目甚至我的项目都没有问题。 我在 openHAB 上配置了我的房间但无法建立连接,即使调试日志告诉我其他信息。 我的配置如下所
所以我在 Raspberry Pi 中运行 OpenHAB,并将 .jar 文件保存在我的 OS X 中,然后在 OS X 中运行它终端,我收到以下错误。您能告诉我如何解决这个问题吗? java -j
我使用Visual Code,将文件保存在正在运行的openHAB实例中时进行编译,如果我已登录并执行log:tail,则会看到错误。我希望在IDE中出现错误。当前是否可以在任何IDE中使用? 最佳答
根据openhab tutorial他们说 openhab 开发人员应该在 Mac OSX 上使用 JDK 8 - 32 位,我如何安装 JDK 8 - 32 位,JDK 8 唯一可用的版本是 64
我正在尝试使用 Python 中的 requests.put 更新 openhab 的 REST API 中的值。但是我收到错误 404。 下面复制我的代码 import requests im
我是一名优秀的程序员,十分优秀!