Can a JRule be developed on the target machine via remote development?
-
Install the addon by copying the org.openhab.automation.jrule-3.x.x-BETAX.jar to openhab-addons folder Download the latest release from Releases · seaside1/jrule · GitHub
I did this. -
When the addon is started it will:
- Create JAVA source files for all items
check - Compile java source files and create a resulting jrule.jar file under /etc/openhab/automation/jrule/jar
check - Compile any java rules file under /etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/ It is possible to use package structure with subdirectories in this folder, or the can be place in a flat structure right under this folder
Mine was empty. - Create jar files with dependencies to be used when creating your java-rules (jrule-items.jar). The two jar files needed for Java rules development can be found under /etc/openhab/automation/jrule/jar
check.
I then added /etc/openhab/automation/jrule/jar as a dependency in my project.
Next, I created the MySwitchRule aka Hello World java file.
I’m getting a lot of errors that I haven’t heard others talk about, so I don’t think I can do it the way I want:
[{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "536871240",
"severity": 8,
"message": "The declared package \"rules.org.openhab.automation.jrule.rules.user\" does not match the expected package \"automation.jrule.rules.org.openhab.automation.jrule.rules.user\"",
"source": "Java",
"startLineNumber": 1,
"startColumn": 9,
"endLineNumber": 1,
"endColumn": 54
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "268435846",
"severity": 8,
"message": "The import org.openhab cannot be resolved",
"source": "Java",
"startLineNumber": 2,
"startColumn": 15,
"endLineNumber": 2,
"endColumn": 26
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "268435846",
"severity": 8,
"message": "The import org.openhab cannot be resolved",
"source": "Java",
"startLineNumber": 3,
"startColumn": 8,
"endLineNumber": 3,
"endColumn": 19
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "268435846",
"severity": 8,
"message": "The import org.openhab cannot be resolved",
"source": "Java",
"startLineNumber": 4,
"startColumn": 8,
"endLineNumber": 4,
"endColumn": 19
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "268435846",
"severity": 8,
"message": "The import org.openhab cannot be resolved",
"source": "Java",
"startLineNumber": 5,
"startColumn": 8,
"endLineNumber": 5,
"endColumn": 19
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "268435846",
"severity": 8,
"message": "The import org.openhab cannot be resolved",
"source": "Java",
"startLineNumber": 6,
"startColumn": 8,
"endLineNumber": 6,
"endColumn": 19
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "16777218",
"severity": 8,
"message": "JRule cannot be resolved to a type",
"source": "Java",
"startLineNumber": 8,
"startColumn": 35,
"endLineNumber": 8,
"endColumn": 40
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "16777218",
"severity": 8,
"message": "JRuleName cannot be resolved to a type",
"source": "Java",
"startLineNumber": 10,
"startColumn": 5,
"endLineNumber": 10,
"endColumn": 15
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "16777218",
"severity": 8,
"message": "JRuleWhen cannot be resolved to a type",
"source": "Java",
"startLineNumber": 11,
"startColumn": 5,
"endLineNumber": 11,
"endColumn": 15
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "33554515",
"severity": 8,
"message": "_MyTestSwitch cannot be resolved to a variable",
"source": "Java",
"startLineNumber": 11,
"startColumn": 23,
"endLineNumber": 11,
"endColumn": 36
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "33554515",
"severity": 8,
"message": "_MyTestSwitch cannot be resolved to a variable",
"source": "Java",
"startLineNumber": 11,
"startColumn": 53,
"endLineNumber": 11,
"endColumn": 66
},{
"resource": "/etc/openhab/automation/jrule/rules/org/openhab/automation/jrule/rules/user/MySwitchRule.java",
"owner": "_generated_diagnostic_collection_name_#4",
"code": "67108964",
"severity": 8,
"message": "The method logInfo(String) is undefined for the type MySwitchRule",
"source": "Java",
"startLineNumber": 13,
"startColumn": 9,
"endLineNumber": 13,
"endColumn": 16
}]