【问题标题】:Openhab comparing data on MQTT topic to a stringOpenhab 将 MQTT 主题的数据与字符串进行比较
【发布时间】:2015-10-20 13:25:51
【问题描述】:

我正在尝试比较 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

【问题讨论】:

    标签: arduino mqtt openhab


    【解决方案1】:

    我将项目定义定义为字符串而不是数字

    正确的定义是

    Number feedingsensor {mqtt="<[home:{topic}:state:default]"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 2012-10-06
      相关资源
      最近更新 更多