我正在尝试比较MQTT主题的价值。我已经能够成功地捕获该值,并通过logInfo()调用将该值输出到控制台。
我尝试做的是将MQTT主题上的内容与一个值进行比较,然后根据该主题上的值执行其他openhab命令。
我已经能够获得MQTT主题上的值,并使用.toString操作将其转换为字符串。
我的代码的结果是,当执行比较时,我在控制台上得到转换错误。

您可以看到该值已被捕获并输出到控制台"1023“
我的代码是
import org.eclipse.xtext.xbase.lib.*
import org.openhab.core.library.types.*
import org.openhab.core.persistence.*
import org.openhab.model.script.actions.*
import java.math.BigDecimal.*
import java.lang.Integer
import java.lang.Double
import java.lang.String
import java.lang.Number
var String feedingsensor_reading
rule "start processing feeding sensor"
when
Item feedingsensor changed
then
logInfo("Step", "***********")
logInfo("Step", "** Start **")
logInfo("Stap", "***********")
logInfo("Step", "** Step 1 **")
feedingsensor_reading = feedingsensor.state.toString
logInfo("Step", feedingsensor_reading)
if (feedingsensor_reading == "0"){
logInfo("DATA", "******* Do Nothing *****")
}else
{
... other code to be executed发布于 2015-10-21 21:02:37
我将项目定义定义为字符串,而不是数字
正确的定义是
Number feedingsensor {mqtt="<[home:{topic}:state:default]"}https://stackoverflow.com/questions/33237933
复制相似问题