问题标签 [openhab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 如何将 Honeywell Tuxedo Touch 用于 OpenHAB?
我有 Honeywell Tuxedo Touch,它支持 Z-Wave 技术。如何将 Tuxedo 警报面板从属到在 Raspberry Pi 上运行的 OpenHAB(也支持 Z-Wave)?还是我需要将 OpenHAB 从属于 Tuxedo?进行这样的设置需要什么硬件?
这甚至可能吗?如果不是,哪种警报系统最适合与 OpenHAB 一起使用?
我真的更愿意让 OpenHAB 成为大师,因为我自己的系统具有所有编程和规则功能。
html - 如何使用 PhoneGap 从客户端应用程序访问 OpenHAB?
我正在为 openHAB 开发一个混合应用程序(使用 PhoneGap)。目前我正在努力建立从我的混合到 OpenHAB 运行时的连接。有什么建议么?
openhab - 两个或更多家庭的 openHAB
我开始为我的家庭自动化探索 openHAB。看起来是家庭自动化的一个很好的应用程序。我想自动化两个家庭,并希望在一台集中放置的服务器上运行 openHAB。是否可以分离我的两个家庭的数据并为两个家庭提供基于使用的访问权限。
或者我将不得不在我的服务器上运行实例。
请建议是否有人早些时候这样做过。
server - 如何使用 Mosquitto 设置我自己的 MQTT 服务器?
我正在为我的新 diy 家庭自动化系统设置传感器网络,但遇到了一个主要障碍。我使用 OpenHAB 作为系统的“基地”,并且由于它具有 MQTT 绑定,我认为这将是让所有节点与之对话的好方法。我知道我可以连接到 test.mosquitto.org,这非常适合测试。但是,显然,到目前为止,对于永久服务器来说,这还不够安全(而且,我很确定他们明确表示不要将该服务器用于永久事物)。
经过大量的谷歌搜索,我找到了大量关于 Mosquitto 和 MQTT 的信息,但老实说,因为我刚刚开始,大部分信息都在我脑海中。我的问题是,大多数人似乎已经知道了,我该如何在 Raspberry Pi 上设置自己的 MQTT 服务器来运行所有内容?或者这不是常态,我应该找一个公共服务器(比如 test.mosquitto.org)吗?这似乎不是最实用的方法。
在此先感谢您的帮助。
java - 如何使用Java计时器放弃所有快速连续完成的任务,除了最后一个
如果我没有正确解释这一点,请帮助我纠正我的问题。我的问题可能与 Java 计时器有关,也可能与一般问题解决有关。
亲爱的读者,您不需要了解什么是 OpenHAB,什么是 OpenHAB 规则,或者实际上 MQTT 做了什么。但无论如何我都会使用这些术语来设置我的问题的场景。
在 OpenHAB 中,我有一个规则来响应发布到 MQTT 主题的消息。当我调暗调光器时,会向代理发送一连串“关闭”的 MQTT 消息。每条消息都会触发一个 OpenHAB 规则,该规则读取光的当前值并减去 1,然后将其写回。
为了确保规则不会在不同的线程中同时触发(从而防止灯光以正确的速率变暗),我的一位同事建议我像这样添加lock.lock:
这是一种享受。
现在我的执行器不会错过“关闭”消息。
然而,由于执行器需要一点时间来响应每个单独的消息(它运行在 433MHz 射频传输上,每条射频消息消息需要 0.5 秒才能发送),所以到执行器的调光命令正在排队。
所以我需要介绍一种方法来检查规则是否在最后(例如 0.6 秒)内运行。如果是,则增加该值,但不发送命令。如果没有,则增加值并最终发送命令。
例如,这意味着我可以连续上下调暗灯光,只要我不停下来,灯光水平就不会改变。然后,一旦我决定停止调高或调低,亮度水平就会被最终确定和设置。
更好的是一个定时“规则”,它可以让我不断改变水平,但只根据最新水平每 0.5 秒设置一次光水平。
我确定这只是创建一个在运行规则时检查的计时器的情况,但我无法理解何时应该创建和检查计时器。这对很多人来说可能是非常明显的。
java - 对于 OpenHab Zwave Bundle,MultiLevelSensor 显示其读数的底层代码在哪里?
这是一个奇怪的问题,因为通常您可以获得日志信息,更不用说 Openhab 的内部结构已经完成,但我只提取了 OpenHab Z-wave Bundle 和所有必需的库,以运行模拟多传感器Aeon Labs MultiSensor Model:DSB05-ZWUS
。
我正在使用的控制器是一个AEOTEC Z-Stick S2
,我正在通过在本地机器上使用 Maven 设置的 OSGI 系统启动 OpenHab 包。我已经测试了一个二进制开关来关闭和打开灯,通过发送00或FF的OFF或ON消息非常简单,但是对于多级传感器,您必须向它发送消息以检索信息.
我似乎找不到工作流程,因为没有关于如何获取所有传感器读数的 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
android - wAsync 抛出 ClassNotFondException
我一直在尝试使用 wAsync 为OpenHab 服务器编写一个 android 客户端。
我正在使用带有 sdk 版本 21 的 android studio。
我的代码:
我添加了互联网和访问网络状态的权限。
添加了来自 Maven Central 的依赖 wasync-2.0.0-all。
但连接并不成功。我得到的错误是:
有人请帮我解决这个问题。
openhab - What is the difference between postUpdate and sendCommand in openHAB
In a rules file in openHAB I can execute postUpdate
and sendCommand
. What is the difference?
I noticed, that when I use postUpdate(zwaveLamp1, ON)
, only its value is changed, no actions are performed - the light stays dark. sendCommand(zwaveLamp1, ON)
will perform the bound action and switch the light on and the item is updated.
Whats the use case of postUpdate
? What is it good for?
openhab - 如何编写增加数字的openHAB规则?
我想在 openHAB2 中编写一个规则,它增加所有组项的计数器。这几项:
我的规则尝试:
但这不起作用。例外:
Error during the execution of startup rule 'Increase value .1 per minute': Could not invoke method: org.eclipse.xtext.xbase.lib.DoubleExtensions.operator_plus(double,byte) on instance: null
我试图探索 counter.state 的类型,并用logInfo(counter.state.class)
它正确地记录日志...DecimalType
。
openhab - 如何使用 openHAB 在 eth 上获取 UDP 消息?
我可以使用绑定 tcp/udp 向 eth 上的远程 IP 节点发送 UDP 消息,即:
udp=">[ON:10.44.212.60:3000:'MAP(mydevice.map)'],
[OFF:10.44.212.60:3000:'MAP(mydevice.map)']"
但我不知道我必须做什么来获取和存储返回的响应。
请问谁能帮忙?
谢谢并恭祝安康
马可