首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openHAB规则中的变量cron

openHAB规则中的变量cron
EN

Stack Overflow用户
提问于 2015-11-20 21:23:23
回答 1查看 625关注 0票数 1

为了从GUI中设置一个警报,我想将一个变量作为参数传递给cron。

这样做是可行的:

代码语言:javascript
复制
rule "Wake up"
when
  Time cron "00 00 06 * * ?"
then
  // ...
end

这样做是行不通的:

代码语言:javascript
复制
var morning = "00 00 06 * * ?"

rule "Wake up"
when
  Time cron morning
then
  // ...
end

这应该是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2022-04-07 01:03:53

无法更改Cron字符串,但我使用这段代码来绕过它:

代码语言:javascript
复制
import org.joda.time.Duration
import org.quartz.CronExpression

var Timer wateringtimer = null

// Start watering at 03:00 AM, all days except Saturday (5)                               
val wateringCronString = "0 0 3 ? * 1,2,3,4,5,6"
...
rule "Set Cron" 
...
var cronExpression = new CronExpression(wateringCronString)
var triggerTime = cronExpression.getNextValidTimeAfter(now.plusMinutes(1).toDate)
Seconds::secondsBetween(now,new DateTime(triggerTime)).getSeconds()
if (watertimer !== null) 
  watertimer.cancel()

wateringtimer = createTimer(now.plusSeconds(diff),
    [
        ...Do something... 
    ])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33836291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档