From 207b4be752ed1cc31acc241a57f912846ac1a387 Mon Sep 17 00:00:00 2001 From: Jimmy Tanagra Date: Tue, 29 Apr 2025 13:20:24 +1000 Subject: [PATCH] Rules Overview: add Python, update Ruby, JS and Groovy versions Signed-off-by: Jimmy Tanagra --- configuration/index.md | 2 +- configuration/jsr223.md | 2 +- tutorials/getting_started/rules_overview.md | 23 +++++++++++---------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/configuration/index.md b/configuration/index.md index b3422d4bf..aeb65e147 100644 --- a/configuration/index.md +++ b/configuration/index.md @@ -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). diff --git a/configuration/jsr223.md b/configuration/jsr223.md index ebde31119..2574d4279 100644 --- a/configuration/jsr223.md +++ b/configuration/jsr223.md @@ -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. diff --git a/tutorials/getting_started/rules_overview.md b/tutorials/getting_started/rules_overview.md index 22e404298..ab276bfa0 100644 --- a/tutorials/getting_started/rules_overview.md +++ b/tutorials/getting_started/rules_overview.md @@ -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 |