openhab-scripting 5.15.1 → 5.17.0

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openhab/core/entity_lookup.rb +5 -5
  3. data/lib/openhab/core/events/item_state_updated_event.rb +11 -11
  4. data/lib/openhab/core/events/item_time_series_updated_event.rb +23 -0
  5. data/lib/openhab/core/events/timer_event.rb +32 -32
  6. data/lib/openhab/core/items/generic_item.rb +12 -0
  7. data/lib/openhab/core/items/numeric_item.rb +1 -1
  8. data/lib/openhab/core/items/persistence.rb +2 -4
  9. data/lib/openhab/core/items/registry.rb +1 -3
  10. data/lib/openhab/core/items/semantics.rb +25 -15
  11. data/lib/openhab/core/profile_factory.rb +16 -1
  12. data/lib/openhab/core/sitemaps/provider.rb +3 -1
  13. data/lib/openhab/core/things/channel.rb +1 -1
  14. data/lib/openhab/core/things/profile_callback.rb +5 -0
  15. data/lib/openhab/core/things/thing.rb +7 -1
  16. data/lib/openhab/core/types/time_series.rb +121 -0
  17. data/lib/openhab/core.rb +14 -1
  18. data/lib/openhab/core_ext/java/instant.rb +14 -0
  19. data/lib/openhab/core_ext/java/list.rb +1 -1
  20. data/lib/openhab/dsl/config_description/builder.rb +1 -1
  21. data/lib/openhab/dsl/rules/builder.rb +42 -7
  22. data/lib/openhab/dsl/rules/name_inference.rb +7 -0
  23. data/lib/openhab/dsl/rules/property.rb +7 -7
  24. data/lib/openhab/dsl/rules/terse.rb +32 -15
  25. data/lib/openhab/dsl/rules/triggers/cron/cron.rb +5 -4
  26. data/lib/openhab/dsl/rules/triggers/cron/cron_handler.rb +98 -100
  27. data/lib/openhab/dsl/rules/triggers/watch/watch_handler.rb +1 -1
  28. data/lib/openhab/dsl/sitemaps/builder.rb +41 -6
  29. data/lib/openhab/dsl/version.rb +1 -1
  30. data/lib/openhab/dsl.rb +6 -2
  31. data/lib/openhab/log.rb +2 -2
  32. data/lib/openhab/rspec/helpers.rb +7 -4
  33. data/lib/openhab/rspec/mocks/synchronous_executor.rb +2 -1
  34. data/lib/openhab/rspec/mocks/thing_handler.rb +4 -0
  35. data/lib/openhab/yard/coderay.rb +1 -1
  36. data/lib/openhab/yard.rb +0 -2
  37. metadata +6 -129
@@ -449,10 +449,13 @@ module OpenHAB
449
449
 
450
450
  def parse_emacs_modeline(line)
451
451
  line[EMACS_MODELINE_REGEXP, 1]
452
- &.split(";")
453
- &.map(&:strip)
454
- &.map { |l| l.split(":", 2).map(&:strip).tap { |a| a[1] ||= nil } }
455
- &.to_h
452
+ &.split(";")
453
+ &.to_h do |l|
454
+ l.strip
455
+ .split(":", 2)
456
+ .map(&:strip)
457
+ .tap { |a| a[1] ||= nil }
458
+ end
456
459
  end
457
460
 
458
461
  def ruby_file?(script)
@@ -21,7 +21,8 @@ module OpenHAB
21
21
  attr_accessor :main_thread
22
22
 
23
23
  def initialize
24
- super(1)
24
+ # Allocate a (hopefully) big enough pool size to accommodate scheduled tasks
25
+ super(10)
25
26
  end
26
27
 
27
28
  def submit(runnable)
@@ -37,6 +37,10 @@ module OpenHAB
37
37
  callback&.state_updated(channel_uid, command) if command.is_a?(Core::Types::State)
38
38
  end
39
39
 
40
+ def send_time_series(channel_uid, time_series)
41
+ @callback&.send_time_series(channel_uid, time_series)
42
+ end
43
+
40
44
  def set_callback(callback)
41
45
  @callback = callback
42
46
  end
@@ -7,7 +7,7 @@ module OpenHAB
7
7
  module CodeRay
8
8
  module HtmlHelper
9
9
  ::CodeRay::Scanners.list.each do |scanner|
10
- define_method("html_syntax_highlight_#{scanner}") do |source|
10
+ define_method(:"html_syntax_highlight_#{scanner}") do |source|
11
11
  ::CodeRay.scan(source, scanner).html
12
12
  end
13
13
  end
data/lib/openhab/yard.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "byebug"
4
-
5
3
  Dir[File.expand_path("yard/**/*.rb", __dir__)].sort.each do |f|
6
4
  require f
7
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.15.1
4
+ version: 5.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian O'Connell
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-01-06 00:00:00.000000000 Z
13
+ date: 2024-01-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -96,20 +96,6 @@ dependencies:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
98
  version: '1.2'
99
- - !ruby/object:Gem::Dependency
100
- name: faraday-retry
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '2.1'
106
- type: :development
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - "~>"
111
- - !ruby/object:Gem::Version
112
- version: '2.1'
113
99
  - !ruby/object:Gem::Dependency
114
100
  name: gem-release
115
101
  requirement: !ruby/object:Gem::Requirement
@@ -124,48 +110,6 @@ dependencies:
124
110
  - - "~>"
125
111
  - !ruby/object:Gem::Version
126
112
  version: '2.2'
127
- - !ruby/object:Gem::Dependency
128
- name: guard-rubocop
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '1.5'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '1.5'
141
- - !ruby/object:Gem::Dependency
142
- name: guard-shell
143
- requirement: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '0.7'
148
- type: :development
149
- prerelease: false
150
- version_requirements: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: '0.7'
155
- - !ruby/object:Gem::Dependency
156
- name: guard-yard
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '2.2'
162
- type: :development
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '2.2'
169
113
  - !ruby/object:Gem::Dependency
170
114
  name: httparty
171
115
  requirement: !ruby/object:Gem::Requirement
@@ -180,34 +124,6 @@ dependencies:
180
124
  - - "~>"
181
125
  - !ruby/object:Gem::Version
182
126
  version: '0.20'
183
- - !ruby/object:Gem::Dependency
184
- name: irb
185
- requirement: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: '1.4'
190
- type: :development
191
- prerelease: false
192
- version_requirements: !ruby/object:Gem::Requirement
193
- requirements:
194
- - - "~>"
195
- - !ruby/object:Gem::Version
196
- version: '1.4'
197
- - !ruby/object:Gem::Dependency
198
- name: nokogiri
199
- requirement: !ruby/object:Gem::Requirement
200
- requirements:
201
- - - "~>"
202
- - !ruby/object:Gem::Version
203
- version: '1.13'
204
- type: :development
205
- prerelease: false
206
- version_requirements: !ruby/object:Gem::Requirement
207
- requirements:
208
- - - "~>"
209
- - !ruby/object:Gem::Version
210
- version: '1.13'
211
127
  - !ruby/object:Gem::Dependency
212
128
  name: persistent_httparty
213
129
  requirement: !ruby/object:Gem::Requirement
@@ -264,48 +180,6 @@ dependencies:
264
180
  - - "~>"
265
181
  - !ruby/object:Gem::Version
266
182
  version: '3.11'
267
- - !ruby/object:Gem::Dependency
268
- name: rubocop-inst
269
- requirement: !ruby/object:Gem::Requirement
270
- requirements:
271
- - - ">="
272
- - !ruby/object:Gem::Version
273
- version: '0'
274
- type: :development
275
- prerelease: false
276
- version_requirements: !ruby/object:Gem::Requirement
277
- requirements:
278
- - - ">="
279
- - !ruby/object:Gem::Version
280
- version: '0'
281
- - !ruby/object:Gem::Dependency
282
- name: rubocop-rake
283
- requirement: !ruby/object:Gem::Requirement
284
- requirements:
285
- - - "~>"
286
- - !ruby/object:Gem::Version
287
- version: '0.6'
288
- type: :development
289
- prerelease: false
290
- version_requirements: !ruby/object:Gem::Requirement
291
- requirements:
292
- - - "~>"
293
- - !ruby/object:Gem::Version
294
- version: '0.6'
295
- - !ruby/object:Gem::Dependency
296
- name: rubocop-rspec
297
- requirement: !ruby/object:Gem::Requirement
298
- requirements:
299
- - - "~>"
300
- - !ruby/object:Gem::Version
301
- version: '2.11'
302
- type: :development
303
- prerelease: false
304
- version_requirements: !ruby/object:Gem::Requirement
305
- requirements:
306
- - - "~>"
307
- - !ruby/object:Gem::Version
308
- version: '2.11'
309
183
  - !ruby/object:Gem::Dependency
310
184
  name: timecop
311
185
  requirement: !ruby/object:Gem::Requirement
@@ -384,6 +258,7 @@ files:
384
258
  - lib/openhab/core/events/item_state_changed_event.rb
385
259
  - lib/openhab/core/events/item_state_event.rb
386
260
  - lib/openhab/core/events/item_state_updated_event.rb
261
+ - lib/openhab/core/events/item_time_series_updated_event.rb
387
262
  - lib/openhab/core/events/thing_status_info_event.rb
388
263
  - lib/openhab/core/events/timer_event.rb
389
264
  - lib/openhab/core/items.rb
@@ -474,6 +349,7 @@ files:
474
349
  - lib/openhab/core/types/rewind_fastforward_type.rb
475
350
  - lib/openhab/core/types/stop_move_type.rb
476
351
  - lib/openhab/core/types/string_type.rb
352
+ - lib/openhab/core/types/time_series.rb
477
353
  - lib/openhab/core/types/type.rb
478
354
  - lib/openhab/core/types/un_def_type.rb
479
355
  - lib/openhab/core/types/up_down_type.rb
@@ -483,6 +359,7 @@ files:
483
359
  - lib/openhab/core_ext/ephemeris.rb
484
360
  - lib/openhab/core_ext/java/class.rb
485
361
  - lib/openhab/core_ext/java/duration.rb
362
+ - lib/openhab/core_ext/java/instant.rb
486
363
  - lib/openhab/core_ext/java/list.rb
487
364
  - lib/openhab/core_ext/java/local_date.rb
488
365
  - lib/openhab/core_ext/java/local_time.rb
@@ -608,7 +485,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
608
485
  - !ruby/object:Gem::Version
609
486
  version: '0'
610
487
  requirements: []
611
- rubygems_version: 3.5.4
488
+ rubygems_version: 3.5.5
612
489
  signing_key:
613
490
  specification_version: 4
614
491
  summary: JRuby Helper Libraries for openHAB Scripting