openhab-scripting 5.15.1 → 5.17.0

Sign up to get free protection for your applications and to get access to all the features.
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