Rules Overview: add Python, update Ruby, JS and Groovy versions

Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
pull/2489/head
Jimmy Tanagra 2025-04-29 13:20:24 +10:00
parent eb248fa81e
commit 207b4be752
3 changed files with 14 additions and 13 deletions

View File

@ -22,7 +22,7 @@ In order to represent all of these, openHAB defines the following base component
- [Persistence](persistence.html) - Services to store data over time
- [Rules](rules-dsl.html) - Automation logic, the "smart" in your Smart Home!
- [Blockly Rules](blockly/) - Visually define the automation logic of your Smart Home
- [JSR223 Scripting](jsr223.html) - Define rules and other runtime objects using [JavaScript](https://openjdk.java.net/projects/nashorn/), [Jython](https://www.jython.org) or [Groovy](https://www.groovy-lang.org/)
- [JSR223 Scripting](jsr223.html) - Define rules and other runtime objects using [JavaScript](https://openjdk.java.net/projects/nashorn/), [Python](https://www.python.org), [Jython](https://www.jython.org), [JRuby](https://www.jruby.org/), or [Groovy](https://www.groovy-lang.org/)
The individual articles have all the details needed to understand the concepts behind these building blocks for your Smart Home.
For more details on the basic concepts behind openHAB, please visit the [Concepts Overview page](/docs/concepts/index.html).

View File

@ -14,7 +14,7 @@ and are comfortable working with the command line prompt of the operating system
[JSR223](https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/) ([spec](https://jcp.org/aboutJava/communityprocess/pr/jsr223/index.html)) is a standard scripting API for Java Virtual Machine (JVM) [languages](https://en.wikipedia.org/wiki/List_of_JVM_languages).
The JVM languages provide varying levels of support for the JSR223 API and interoperability with the Java runtime.
Currently the following languages are known to work well for openHAB scripting: [**Apache Groovy**](/addons/automation/groovyscripting/) (JVM scripting language), **JavaScript/ECMA - 262 Edition 5.1**, [**JavaScript/ECMAScript 262 Edition 11**](/addons/automation/jsscripting/), [**Ruby**](/addons/automation/jrubyscripting/), and [**Jython**](https://www.openhab.org/addons/automation/jythonscripting/) (Python 2.7 on the JVM).
Currently the following languages are known to work well for openHAB scripting: [**Apache Groovy**](/addons/automation/groovyscripting/) (JVM scripting language), **JavaScript/ECMA - 262 Edition 5.1**, [**JavaScript/ECMAScript 262 Edition 11**](/addons/automation/jsscripting/), [**Ruby**](/addons/automation/jrubyscripting/), [**Jython**](/addons/automation/jythonscripting/) (Python 2.7 on the JVM), and [**Python**](/addons/automation/pythonscripting/) (Python 3 on GraalVM).
Please note that **JavaScript/ECMA - 262 Edition 5.1** which is referenced here is using an older engine called NashornJS.
This version of JavaScript/ECMAScript is end of life and lacks many important features that have been added to the language since 2009.

View File

@ -13,14 +13,15 @@ additional services which interact with openHAB through its REST API.
The list is sorted alphabetically by name and it is meant as a starting point for further research.
| Name | Native | Language/Graphical | Notes |
| ----------------------------------------------------- | ------------------ | ------------------ | ---------------------------------------- |
| [Blockly](rules_blockly.html) | :heavy_check_mark: | Graphical | Only available through the UI |
| [GraalVM JavaScript](/addons/automation/jsscripting/) | :heavy_check_mark: | ECMAScript 11 | Enabled by installing an official add-on |
| [Groovy](/addons/automation/groovyscripting/) | :heavy_check_mark: | Groovy 3.0 | Enabled by installing an official add-on |
| [HABApp](https://habapp.readthedocs.io/) | :x: | >= Python 3.8 | A third-party solution |
| [JRuby](/addons/automation/jrubyscripting/) | :heavy_check_mark: | Ruby 3.1 | Enabled by installing an official add-on |
| [Jython](/addons/automation/jythonscripting) | :heavy_check_mark: | Python 2.7 | Enabled by installing an official add-on |
| NodeRed | :x: | Graphical | Own UI. A third-party solution |
| Nashorn JavaScript | :heavy_check_mark: | ECMAScript 5.1 | Deprecated |
| [RulesDSL](/docs/configuration/rules-dsl.html) | :heavy_check_mark: | RulesDSL | Built-in |
| Name | Native | Language/Graphical | Notes |
|--------------------------------------------------------------|--------------------|--------------------|------------------------------------------|
| [Blockly](rules_blockly.html) | :heavy_check_mark: | Graphical | Only available through the UI |
| [GraalVM JavaScript](/addons/automation/jsscripting/) | :heavy_check_mark: | ECMAScript 2024+ | Enabled by installing an official add-on |
| [Groovy](/addons/automation/groovyscripting/) | :heavy_check_mark: | Groovy 4.0 | Enabled by installing an official add-on |
| [HABApp](https://habapp.readthedocs.io/) | :x: | >= Python 3.8 | A third-party solution |
| [JRuby](/addons/automation/jrubyscripting/) | :heavy_check_mark: | Ruby 3.4 | Enabled by installing an official add-on |
| [Jython](/addons/automation/jythonscripting) | :heavy_check_mark: | Python 2.7 | Enabled by installing an official add-on |
| NodeRed | :x: | Graphical | Own UI. A third-party solution |
| [Nashorn JavaScript](/addons/automation/jsscriptingnashorn/) | :heavy_check_mark: | ECMAScript 5.1 | Deprecated |
| [Python](/addons/automation/pythonscripting/) | :heavy_check_mark: | Python 3.x | Enabled by installing an official add-on |
| [RulesDSL](/docs/configuration/rules-dsl.html) | :heavy_check_mark: | RulesDSL | Built-in |