Skip to content

Commit 205fb86

Browse files
authored
Update rules.js
This code makes some changes to the rule generation which enables the use of the conditions. I have been running this code for almost 2 years now without any issues. I don't think this was implemented in the main fork but i made a pull requests on them. see openhab-scripters#287 and openhab-scripters#286 respectively.
1 parent 4fae85d commit 205fb86

File tree

1 file changed

+9
-4
lines changed
  • Core/automation/lib/javascript/core

1 file changed

+9
-4
lines changed

Core/automation/lib/javascript/core/rules.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,13 @@ return RuleBuilder.create(ruleDto.uid)
9595
try{
9696
var ruid = uuid.randomUUID() + "-" + obj.name.replace(/[^\w]/g, "-");
9797
logInfo("################ JSRule Line: "+__LINE__+" ################# ruid:" + ruid);
98+
99+
98100
//var rule = new SimpleRule({ setUID: function(i) { uid = i; } })
99-
var rule = new SimpleRule(){
101+
var rule = new SimpleRule({
100102
execute: obj.execute //DOES THIS WORK? AND IF YES, WHY? => execute is found in implemented SimpleRuleActionHandler
101-
};
102-
var triggers = obj.triggers ? obj.triggers : obj.getEventTrigger();
103+
});
104+
var triggers = obj.triggers ? decodeTriggers(obj.triggers) : obj.getEventTrigger();
103105

104106
rule.setTemplateUID(ruid);
105107

@@ -110,6 +112,10 @@ return RuleBuilder.create(ruleDto.uid)
110112
rule.setName(obj.name);
111113
}
112114

115+
if (obj.conditions){
116+
rule.setConditions(obj.conditions);
117+
}
118+
113119
//1. Register rule here
114120
if (triggers && triggers.length > 0) {
115121
rule.setTriggers(triggers);
@@ -126,7 +132,6 @@ return RuleBuilder.create(ruleDto.uid)
126132
}
127133
return null;
128134
},
129-
130135
//TODO like in org.openhab.core.automation.core.dto.RuleDTOMapper
131136
// or org.openhab.core.automation.sample.extension.java.internal.WelcomeHomeRulesProvider
132137
//Missing SimpleRuleActionHandler!!

0 commit comments

Comments
 (0)