openhab-scripting 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/workflow.yml +327 -0
- data/.gitignore +17 -0
- data/.java-version +1 -0
- data/.rspec +1 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +113 -0
- data/Gemfile +28 -0
- data/Gemfile.lock +245 -0
- data/Guardfile +35 -0
- data/LICENSE +277 -0
- data/README.md +23 -0
- data/Rakefile +406 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/config/userdata/config/org/openhab/restauth.config +3 -0
- data/cucumber.yml +1 -0
- data/docs/_config.yml +135 -0
- data/docs/contributing/index.md +47 -0
- data/docs/examples/conversions.md +123 -0
- data/docs/examples/index.md +61 -0
- data/docs/index.md +19 -0
- data/docs/installation/index.md +26 -0
- data/docs/motivation/index.md +27 -0
- data/docs/usage/execution.md +9 -0
- data/docs/usage/execution/delay.md +48 -0
- data/docs/usage/execution/otherwise.md +30 -0
- data/docs/usage/execution/run.md +70 -0
- data/docs/usage/execution/triggered.md +48 -0
- data/docs/usage/guards.md +51 -0
- data/docs/usage/guards/between.md +30 -0
- data/docs/usage/guards/not_if.md +41 -0
- data/docs/usage/guards/only_if.md +40 -0
- data/docs/usage/index.md +11 -0
- data/docs/usage/items.md +66 -0
- data/docs/usage/items/contact.md +84 -0
- data/docs/usage/items/dimmer.md +147 -0
- data/docs/usage/items/groups.md +76 -0
- data/docs/usage/items/number.md +225 -0
- data/docs/usage/items/string.md +49 -0
- data/docs/usage/items/switch.md +85 -0
- data/docs/usage/misc.md +7 -0
- data/docs/usage/misc/actions.md +108 -0
- data/docs/usage/misc/duration.md +21 -0
- data/docs/usage/misc/gems.md +25 -0
- data/docs/usage/misc/logging.md +21 -0
- data/docs/usage/misc/metadata.md +128 -0
- data/docs/usage/misc/store_states.md +42 -0
- data/docs/usage/misc/time_of_day.md +69 -0
- data/docs/usage/misc/timers.md +67 -0
- data/docs/usage/rule.md +43 -0
- data/docs/usage/things.md +29 -0
- data/docs/usage/triggers.md +8 -0
- data/docs/usage/triggers/changed.md +57 -0
- data/docs/usage/triggers/channel.md +54 -0
- data/docs/usage/triggers/command.md +69 -0
- data/docs/usage/triggers/cron.md +19 -0
- data/docs/usage/triggers/every.md +76 -0
- data/docs/usage/triggers/updated.md +78 -0
- data/lib/openhab.rb +39 -0
- data/lib/openhab/configuration.rb +16 -0
- data/lib/openhab/core/cron.rb +27 -0
- data/lib/openhab/core/debug.rb +34 -0
- data/lib/openhab/core/dsl.rb +47 -0
- data/lib/openhab/core/dsl/actions.rb +107 -0
- data/lib/openhab/core/dsl/entities.rb +103 -0
- data/lib/openhab/core/dsl/gems.rb +29 -0
- data/lib/openhab/core/dsl/group.rb +91 -0
- data/lib/openhab/core/dsl/items/items.rb +39 -0
- data/lib/openhab/core/dsl/items/number_item.rb +217 -0
- data/lib/openhab/core/dsl/items/string_item.rb +102 -0
- data/lib/openhab/core/dsl/monkey_patch/actions/actions.rb +4 -0
- data/lib/openhab/core/dsl/monkey_patch/actions/script_thing_actions.rb +22 -0
- data/lib/openhab/core/dsl/monkey_patch/events.rb +5 -0
- data/lib/openhab/core/dsl/monkey_patch/events/item_command.rb +13 -0
- data/lib/openhab/core/dsl/monkey_patch/events/item_state_changed.rb +25 -0
- data/lib/openhab/core/dsl/monkey_patch/events/thing_status_info.rb +26 -0
- data/lib/openhab/core/dsl/monkey_patch/items/contact_item.rb +54 -0
- data/lib/openhab/core/dsl/monkey_patch/items/dimmer_item.rb +125 -0
- data/lib/openhab/core/dsl/monkey_patch/items/group_item.rb +27 -0
- data/lib/openhab/core/dsl/monkey_patch/items/items.rb +130 -0
- data/lib/openhab/core/dsl/monkey_patch/items/metadata.rb +259 -0
- data/lib/openhab/core/dsl/monkey_patch/items/switch_item.rb +86 -0
- data/lib/openhab/core/dsl/monkey_patch/ruby/number.rb +69 -0
- data/lib/openhab/core/dsl/monkey_patch/ruby/range.rb +46 -0
- data/lib/openhab/core/dsl/monkey_patch/ruby/ruby.rb +5 -0
- data/lib/openhab/core/dsl/monkey_patch/types/decimal_type.rb +24 -0
- data/lib/openhab/core/dsl/monkey_patch/types/on_off_type.rb +41 -0
- data/lib/openhab/core/dsl/monkey_patch/types/open_closed_type.rb +25 -0
- data/lib/openhab/core/dsl/monkey_patch/types/percent_type.rb +23 -0
- data/lib/openhab/core/dsl/monkey_patch/types/types.rb +7 -0
- data/lib/openhab/core/dsl/property.rb +85 -0
- data/lib/openhab/core/dsl/rule/channel.rb +41 -0
- data/lib/openhab/core/dsl/rule/cron.rb +115 -0
- data/lib/openhab/core/dsl/rule/guard.rb +99 -0
- data/lib/openhab/core/dsl/rule/item.rb +207 -0
- data/lib/openhab/core/dsl/rule/rule.rb +374 -0
- data/lib/openhab/core/dsl/rule/triggers.rb +77 -0
- data/lib/openhab/core/dsl/states.rb +63 -0
- data/lib/openhab/core/dsl/things.rb +93 -0
- data/lib/openhab/core/dsl/time_of_day.rb +203 -0
- data/lib/openhab/core/dsl/timers.rb +85 -0
- data/lib/openhab/core/dsl/types/quantity.rb +255 -0
- data/lib/openhab/core/dsl/units.rb +41 -0
- data/lib/openhab/core/duration.rb +69 -0
- data/lib/openhab/core/log.rb +175 -0
- data/lib/openhab/core/patch_load_path.rb +7 -0
- data/lib/openhab/core/startup_delay.rb +22 -0
- data/lib/openhab/osgi.rb +52 -0
- data/lib/openhab/version.rb +9 -0
- data/openhab-scripting.gemspec +30 -0
- data/openhab_rules/warmup.rb +5 -0
- metadata +157 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: a5c554c32f29417abb195eca4ab36ebffb6a1f5dad807e71c15b5bbe2228a6c5
|
|
4
|
+
data.tar.gz: 9355d486f42858c69feda536b8846969d6486530a13c13b2a47dfcb813869c4d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 8aaf8b2c5f27c638ef612ee0604818e845900dacfa548a37046116c55c804609b9f6e59194be101a909d140a734a5551029add33aec1713d0b0f907f1e0d320c
|
|
7
|
+
data.tar.gz: c193b11a25f445884dc88b47588697de809cbd4ea7740dcb329b89eb2137657e339e3b3ed5637df5590bf25a977b7d09db397d01bd4fa399f510dc8ffdd6cad8
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
name: Openhab-JRuby-Scripting
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
RUBY_VERSION: 2.5
|
|
11
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
|
|
15
|
+
rubocop:
|
|
16
|
+
runs-on: ubuntu-18.04
|
|
17
|
+
continue-on-error: true
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v2
|
|
20
|
+
- uses: actions/setup-ruby@v1
|
|
21
|
+
with:
|
|
22
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
23
|
+
- name: Install bundler
|
|
24
|
+
run: gem install bundler -N
|
|
25
|
+
- name: Gem Cache
|
|
26
|
+
uses: actions/cache@v2
|
|
27
|
+
with:
|
|
28
|
+
path: vendor/bundle
|
|
29
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
30
|
+
- name: Install gems
|
|
31
|
+
run: |
|
|
32
|
+
bundle config path vendor/bundle
|
|
33
|
+
bundle install --jobs 4 --retry 3
|
|
34
|
+
- name: Rubocop
|
|
35
|
+
run: bundle exec rubocop
|
|
36
|
+
|
|
37
|
+
commit-lint:
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/checkout@v2
|
|
41
|
+
with:
|
|
42
|
+
fetch-depth: 0
|
|
43
|
+
- uses: wagoid/commitlint-github-action@v2
|
|
44
|
+
|
|
45
|
+
cucumber-lint:
|
|
46
|
+
runs-on: ubuntu-18.04
|
|
47
|
+
continue-on-error: true
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v2
|
|
50
|
+
- uses: actions/setup-ruby@v1
|
|
51
|
+
with:
|
|
52
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
53
|
+
- name: Install bundler
|
|
54
|
+
run: gem install bundler -N
|
|
55
|
+
- name: Gem Cache
|
|
56
|
+
uses: actions/cache@v2
|
|
57
|
+
with:
|
|
58
|
+
path: vendor/bundle
|
|
59
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
60
|
+
- name: Install gems
|
|
61
|
+
run: |
|
|
62
|
+
bundle config path vendor/bundle
|
|
63
|
+
bundle install --jobs 4 --retry 3
|
|
64
|
+
- name: Cucumber Lint
|
|
65
|
+
run: bundle exec cuke_linter
|
|
66
|
+
|
|
67
|
+
yard-coverage:
|
|
68
|
+
runs-on: ubuntu-18.04
|
|
69
|
+
steps:
|
|
70
|
+
- uses: actions/checkout@v2
|
|
71
|
+
- uses: actions/setup-ruby@v1
|
|
72
|
+
with:
|
|
73
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
74
|
+
- name: Install bundler
|
|
75
|
+
run: gem install bundler -N
|
|
76
|
+
- name: Gem Cache
|
|
77
|
+
uses: actions/cache@v2
|
|
78
|
+
with:
|
|
79
|
+
path: vendor/bundle
|
|
80
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
81
|
+
- name: Install gems
|
|
82
|
+
run: |
|
|
83
|
+
bundle config path vendor/bundle
|
|
84
|
+
bundle install --jobs 4 --retry 3
|
|
85
|
+
- name: Yard Coverage
|
|
86
|
+
run: |
|
|
87
|
+
bundle exec yard stats --list-undoc
|
|
88
|
+
bundle exec yard stats | grep "100.00% documented"
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
openhab-setup:
|
|
92
|
+
runs-on: ubuntu-18.04
|
|
93
|
+
steps:
|
|
94
|
+
- uses: actions/checkout@v2
|
|
95
|
+
- uses: actions/setup-ruby@v1
|
|
96
|
+
with:
|
|
97
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
98
|
+
- uses: actions/setup-java@v1
|
|
99
|
+
with:
|
|
100
|
+
java-version: '11.0.8'
|
|
101
|
+
java-package: jre
|
|
102
|
+
- name: Install bundler
|
|
103
|
+
run: gem install bundler -N
|
|
104
|
+
- name: Cache Gems
|
|
105
|
+
uses: actions/cache@v2
|
|
106
|
+
with:
|
|
107
|
+
path: vendor/bundle
|
|
108
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
109
|
+
- name: Install gems
|
|
110
|
+
run: |
|
|
111
|
+
bundle config path vendor/bundle
|
|
112
|
+
bundle install --jobs 4 --retry 3
|
|
113
|
+
- name: Cache OpenHAB setup
|
|
114
|
+
id: cache
|
|
115
|
+
uses: actions/cache@v2
|
|
116
|
+
with:
|
|
117
|
+
path: tmp/
|
|
118
|
+
key: OpenHAB-setup-${{ hashFiles('bundle/*jrubyscripting*.jar') }}
|
|
119
|
+
- name: Setup OpenHAB
|
|
120
|
+
if: steps.cache.outputs.cache-hit != 'true'
|
|
121
|
+
run: bundle exec rake openhab:setup
|
|
122
|
+
|
|
123
|
+
cucumber-matrix:
|
|
124
|
+
runs-on: ubuntu-18.04
|
|
125
|
+
outputs:
|
|
126
|
+
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
127
|
+
steps:
|
|
128
|
+
- uses: actions/checkout@v2
|
|
129
|
+
- uses: actions/setup-ruby@v1
|
|
130
|
+
with:
|
|
131
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
132
|
+
- id: set-matrix
|
|
133
|
+
run: |
|
|
134
|
+
JSON=$(ruby -e '
|
|
135
|
+
require "json"
|
|
136
|
+
feature_maps = Dir["features/**/*.feature"].map { |feature| { feature: File.basename(feature,".feature"), file: feature } }
|
|
137
|
+
include_map = {}
|
|
138
|
+
include_map["include"]= feature_maps
|
|
139
|
+
puts include_map.to_json
|
|
140
|
+
')
|
|
141
|
+
echo $JSON
|
|
142
|
+
echo "::set-output name=matrix::$( echo "$JSON" )"
|
|
143
|
+
|
|
144
|
+
cucumber:
|
|
145
|
+
needs: [cucumber-matrix, openhab-setup]
|
|
146
|
+
runs-on: ubuntu-18.04
|
|
147
|
+
strategy:
|
|
148
|
+
matrix: ${{fromJson(needs.cucumber-matrix.outputs.matrix)}}
|
|
149
|
+
steps:
|
|
150
|
+
- uses: actions/checkout@v1
|
|
151
|
+
- uses: actions/setup-ruby@v1
|
|
152
|
+
with:
|
|
153
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
154
|
+
- uses: actions/setup-java@v1
|
|
155
|
+
with:
|
|
156
|
+
java-version: '11.0.8'
|
|
157
|
+
java-package: jre
|
|
158
|
+
- name: Install bundler
|
|
159
|
+
run: gem install bundler -N
|
|
160
|
+
- name: Restore Gems
|
|
161
|
+
uses: actions/cache@v2
|
|
162
|
+
with:
|
|
163
|
+
path: vendor/bundle
|
|
164
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
165
|
+
- name: Install gems
|
|
166
|
+
run: |
|
|
167
|
+
bundle config path vendor/bundle
|
|
168
|
+
bundle install --jobs 4 --retry 3
|
|
169
|
+
- name: Restore OpenHAB setup
|
|
170
|
+
uses: actions/cache@v2
|
|
171
|
+
with:
|
|
172
|
+
path: tmp/
|
|
173
|
+
key: OpenHAB-setup-${{ hashFiles('bundle/*jrubyscripting*.jar') }}
|
|
174
|
+
- name: Cucumber
|
|
175
|
+
run: bundle exec rake features[${{ matrix.file }}]
|
|
176
|
+
- name: Generate OpenHAB Dump
|
|
177
|
+
run: bundle exec rake openhab:dump
|
|
178
|
+
if: failure()
|
|
179
|
+
- name: Upload OpenHAB Logs
|
|
180
|
+
uses: actions/upload-artifact@v2
|
|
181
|
+
if: failure()
|
|
182
|
+
with:
|
|
183
|
+
name: OpenHAB-logs-${{ github.workflow }}-${{ github.run_number }}-${{ matrix.feature }}
|
|
184
|
+
path: |
|
|
185
|
+
tmp/cucumber_logs
|
|
186
|
+
tmp/karaf.log
|
|
187
|
+
tmp/openhab/userdata/logs
|
|
188
|
+
tmp/openhab/userdata/*.zip
|
|
189
|
+
tmp/openhab/conf/automation/jsr223/ruby/personal/
|
|
190
|
+
retention-days: 2
|
|
191
|
+
|
|
192
|
+
pickles-docs:
|
|
193
|
+
if: github.ref == 'refs/heads/main'
|
|
194
|
+
runs-on: windows-latest
|
|
195
|
+
steps:
|
|
196
|
+
- uses: actions/checkout@v2
|
|
197
|
+
- name: Install pickles
|
|
198
|
+
run: choco install pickles
|
|
199
|
+
- name: Generate Pickles docs
|
|
200
|
+
shell: cmd
|
|
201
|
+
run: |
|
|
202
|
+
call refreshenv
|
|
203
|
+
pickles -f features -o pickles --df html || VER>NUL
|
|
204
|
+
- uses: actions/upload-artifact@v2
|
|
205
|
+
with:
|
|
206
|
+
name: pickles-docs
|
|
207
|
+
path: pickles/
|
|
208
|
+
if-no-files-found: error
|
|
209
|
+
retention-days: 1
|
|
210
|
+
|
|
211
|
+
docs:
|
|
212
|
+
needs: [cucumber, pickles-docs]
|
|
213
|
+
if: github.ref == 'refs/heads/main'
|
|
214
|
+
runs-on: ubuntu-18.04
|
|
215
|
+
steps:
|
|
216
|
+
- uses: actions/checkout@v2
|
|
217
|
+
- uses: actions/setup-ruby@v1
|
|
218
|
+
with:
|
|
219
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
220
|
+
- name: Install bundler
|
|
221
|
+
run: gem install bundler -N
|
|
222
|
+
- name: Gem Cache
|
|
223
|
+
uses: actions/cache@v2
|
|
224
|
+
with:
|
|
225
|
+
path: vendor/bundle
|
|
226
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
227
|
+
- name: Install gems
|
|
228
|
+
run: |
|
|
229
|
+
bundle config path vendor/bundle
|
|
230
|
+
bundle install --jobs 4 --retry 3
|
|
231
|
+
- name: Build yard docs
|
|
232
|
+
run: |
|
|
233
|
+
bundle exec rake yard
|
|
234
|
+
- name: Download pickles docs
|
|
235
|
+
uses: actions/download-artifact@v2
|
|
236
|
+
with:
|
|
237
|
+
name: pickles-docs
|
|
238
|
+
path: docs/pickles
|
|
239
|
+
- name: Publish docs
|
|
240
|
+
uses: JamesIves/github-pages-deploy-action@3.7.1
|
|
241
|
+
with:
|
|
242
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
243
|
+
BRANCH: gh-pages
|
|
244
|
+
FOLDER: docs
|
|
245
|
+
CLEAN: true
|
|
246
|
+
SINGLE_COMMIT: true
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
release:
|
|
250
|
+
needs: cucumber
|
|
251
|
+
if: github.ref == 'refs/heads/main'
|
|
252
|
+
runs-on: ubuntu-18.04
|
|
253
|
+
steps:
|
|
254
|
+
- uses: actions/checkout@v2
|
|
255
|
+
- uses: actions/setup-ruby@v1
|
|
256
|
+
with:
|
|
257
|
+
ruby-version: ${{ env.RUBY_VERSION }}
|
|
258
|
+
- name: Install bundler
|
|
259
|
+
run: gem install bundler -N
|
|
260
|
+
- name: Gem Cache
|
|
261
|
+
uses: actions/cache@v2
|
|
262
|
+
with:
|
|
263
|
+
path: vendor/bundle
|
|
264
|
+
key: gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
265
|
+
- name: Install gems
|
|
266
|
+
run: |
|
|
267
|
+
bundle config path vendor/bundle
|
|
268
|
+
bundle install --jobs 4 --retry 3
|
|
269
|
+
- name: Current Version
|
|
270
|
+
id: current_version
|
|
271
|
+
run: |
|
|
272
|
+
bundle exec rake version
|
|
273
|
+
VERSION=$( bundle exec rake version )
|
|
274
|
+
echo "::set-output name=version::$( echo "$VERSION" )"
|
|
275
|
+
- name: Gets latest created release info
|
|
276
|
+
id: latest_release
|
|
277
|
+
run: |
|
|
278
|
+
git fetch --tags
|
|
279
|
+
git tag | tail -1
|
|
280
|
+
TAG_NAME=$(git tag | tail -1)
|
|
281
|
+
echo "::set-output name=tag_name::$( echo "$TAG_NAME" )"
|
|
282
|
+
- name: Prepare Release
|
|
283
|
+
if: ${{ steps.current_version.outputs.version != steps.latest_release.outputs.tag_name}}
|
|
284
|
+
run: |
|
|
285
|
+
echo "New version detected, preparing release"
|
|
286
|
+
echo "Released Version: ${{ steps.latest_release.outputs.tag_name }}"
|
|
287
|
+
echo "Current Version: ${{ steps.current_version.outputs.version }}"
|
|
288
|
+
bundle exec rake gh:package
|
|
289
|
+
- name: Get JRuby Bundle
|
|
290
|
+
id: jruby_bundle
|
|
291
|
+
if: ${{ steps.current_version.outputs.version != steps.latest_release.outputs.tag_name}}
|
|
292
|
+
run: |
|
|
293
|
+
echo "Finding JRuby Bundle"
|
|
294
|
+
BUNDLE=$(ls bundle/*.jar)
|
|
295
|
+
echo "Found: $BUNDLE"
|
|
296
|
+
echo "::set-output name=file::$( echo "$BUNDLE" )"
|
|
297
|
+
- name: Create Release
|
|
298
|
+
if: ${{ steps.current_version.outputs.version != steps.latest_release.outputs.tag_name}}
|
|
299
|
+
uses: actions/create-release@v1
|
|
300
|
+
id: create_release
|
|
301
|
+
env:
|
|
302
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
303
|
+
with:
|
|
304
|
+
prerelease: true
|
|
305
|
+
tag_name: ${{ steps.current_version.outputs.version }}
|
|
306
|
+
release_name: Release ${{ steps.current_version.outputs.version }}
|
|
307
|
+
body_path: CHANGELOG.md
|
|
308
|
+
- name: Upload OpenHAB JRuby Scripting Assets
|
|
309
|
+
if: ${{ steps.current_version.outputs.version != steps.latest_release.outputs.tag_name}}
|
|
310
|
+
uses: actions/upload-release-asset@v1
|
|
311
|
+
env:
|
|
312
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
313
|
+
with:
|
|
314
|
+
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
315
|
+
asset_path: ./pkg/OpenHABJRuby-${{steps.current_version.outputs.version}}.zip
|
|
316
|
+
asset_name: OpenHABJRuby-${{steps.current_version.outputs.version}}.zip
|
|
317
|
+
asset_content_type: application/zip
|
|
318
|
+
- name: Upload OpenHAB JRuby Bundle Assets
|
|
319
|
+
if: ${{ steps.current_version.outputs.version != steps.latest_release.outputs.tag_name}}
|
|
320
|
+
uses: actions/upload-release-asset@v1
|
|
321
|
+
env:
|
|
322
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
323
|
+
with:
|
|
324
|
+
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
325
|
+
asset_path: ${{ steps.jruby_bundle.outputs.file }}
|
|
326
|
+
asset_name: OpenHAB JRuby Bundle Jar
|
|
327
|
+
asset_content_type: application/jar
|
data/.gitignore
ADDED
data/.java-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
11.0.8
|
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--require spec_helper
|
data/.yardopts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--output-dir docs/yard
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# JRuby OpenHAB Scripting change log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
Project versioning adheres to [Semantic Versioning](http://semver.org/). <br>
|
|
6
|
+
Commit convention is based on [Conventional Commits](http://conventionalcommits.org). <br>
|
|
7
|
+
Change log format is based on [Keep a Changelog](http://keepachangelog.com/). <br>
|
|
8
|
+
|
|
9
|
+
## 2.9.0
|
|
10
|
+
### Added
|
|
11
|
+
- Support OpenHAB Actions
|
|
12
|
+
|
|
13
|
+
## 2.8.1
|
|
14
|
+
### Fixed
|
|
15
|
+
- Fixed StringItem comparison against a string
|
|
16
|
+
|
|
17
|
+
## 2.8.0
|
|
18
|
+
### Added
|
|
19
|
+
- Support for accessing item metadata namespace, value, and configuration
|
|
20
|
+
|
|
21
|
+
## 2.7.0
|
|
22
|
+
### Added
|
|
23
|
+
- SwitchItem.toggle to toggle a SwitchItem similar to SwitchItem << !SwitchItem
|
|
24
|
+
|
|
25
|
+
## 2.6.1
|
|
26
|
+
### Fixed
|
|
27
|
+
- Race condition with `after` block
|
|
28
|
+
- Unknown constant error in certain cases uses `between` blocks
|
|
29
|
+
|
|
30
|
+
## 2.6.0
|
|
31
|
+
### Added
|
|
32
|
+
- `TimeOfDay.between?` to check if TimeOfDay object is between supplied range
|
|
33
|
+
### Fixed
|
|
34
|
+
- Reference in rules to TimeOfDay::ALL_DAY
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## 2.5.1
|
|
38
|
+
### Fixed
|
|
39
|
+
- Corrected time of day parsing to be case insensitive
|
|
40
|
+
- Merge conflict
|
|
41
|
+
|
|
42
|
+
## 2.5.0
|
|
43
|
+
### Added
|
|
44
|
+
- `between` can be used throughout rules systems
|
|
45
|
+
#### Changed
|
|
46
|
+
- TimeOfDay parsing now supports AM/PM
|
|
47
|
+
|
|
48
|
+
## 2.4.0
|
|
49
|
+
### Added
|
|
50
|
+
- Support to allow comparison of TimeOfDay objects against strings
|
|
51
|
+
- Support for storing and restoring Item states
|
|
52
|
+
|
|
53
|
+
## 2.3.0
|
|
54
|
+
### Added
|
|
55
|
+
- Support for rule description
|
|
56
|
+
|
|
57
|
+
## 2.2.1
|
|
58
|
+
### Fixed
|
|
59
|
+
- `!` operator on SwitchItems now returns ON if item is UNDEF or NULL
|
|
60
|
+
|
|
61
|
+
## 2.2.0
|
|
62
|
+
### Added
|
|
63
|
+
- Support for thing triggers in rules
|
|
64
|
+
|
|
65
|
+
### Changed
|
|
66
|
+
- Updated docs to point to OpenHAB document for script locations
|
|
67
|
+
|
|
68
|
+
## 2.1.0
|
|
69
|
+
### Added
|
|
70
|
+
- Timer delegate for 'active?', 'running?', 'terminated?'
|
|
71
|
+
|
|
72
|
+
## 2.0.1
|
|
73
|
+
### Fixed
|
|
74
|
+
- Logging of mod and/or inputs can cause an exception of they are nil
|
|
75
|
+
- Timers (after) now available inside of rules
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
- DSL imports now shared by OpenHAB module and Rules Module
|
|
79
|
+
|
|
80
|
+
## 2.0.0
|
|
81
|
+
### Added
|
|
82
|
+
- Timer delegate for `after` method that supports reschedule
|
|
83
|
+
|
|
84
|
+
### Changed
|
|
85
|
+
- **Breaking:** `after` now returns a ruby Timer delegate
|
|
86
|
+
|
|
87
|
+
## 1.1.0
|
|
88
|
+
### Added
|
|
89
|
+
- Added support for channels triggers to rules
|
|
90
|
+
|
|
91
|
+
### Changed
|
|
92
|
+
- Fixed documentation for changed/updated/receive_command options
|
|
93
|
+
|
|
94
|
+
## 1.0.0
|
|
95
|
+
### Changed
|
|
96
|
+
- **Breaking:** Changed commanded method for rules to received_command
|
|
97
|
+
|
|
98
|
+
## 0.2.0
|
|
99
|
+
### Added
|
|
100
|
+
- Ability to execute rules based on commands sent to items, groups and group members
|
|
101
|
+
- Ability to send updates from item objects
|
|
102
|
+
|
|
103
|
+
### Changed
|
|
104
|
+
- Fixed documentation for comparing dimensioned items against strings
|
|
105
|
+
|
|
106
|
+
## 0.1.0
|
|
107
|
+
### Added
|
|
108
|
+
- Support for item updates within rules languages
|
|
109
|
+
### Changed
|
|
110
|
+
- Installation instructions to specify using latest release rather than a specific version
|
|
111
|
+
|
|
112
|
+
## 0.0.1
|
|
113
|
+
- Initial release
|