openhab-scripting 5.19.1 → 5.21.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 509b0ee1752d832802d1193b4291ccf2d1a8f28d38452d900b7b8bf5862917d8
4
- data.tar.gz: c26c325f46def04c214d611ac85977b065eb4fed3f326de075431d93ec9baca5
3
+ metadata.gz: 756e126e160f646932df226702f4174537f335211766d9eba33c2d44cf1c1c70
4
+ data.tar.gz: 6afda8cddcc7a0fd916fe061a2eb2dab4621d46cdcef75138b4c524db05b669d
5
5
  SHA512:
6
- metadata.gz: 612d74470204eaef6f6e2f80c42220a3a111b3b2a65b86d727f4990627ea1f734605fd50f25640dda8dad11cc22771ba73ef299e419c7e7e3e10fdb53b760d2d
7
- data.tar.gz: 82bbfccf67b8895b3781504cd217b84928bca4e675223885d861865b41addbfe7259f036748d764bfec78212e01339cac26d7eb9ea908765d51a5af28fab7972
6
+ metadata.gz: c57f40667e47bacb3c2a2cc62f6fce829413cf832502e1f743cb82fbbc0e5a962800907b27261bea5513020612a8f7652378a7817aa6b0d924c88220ccca7328
7
+ data.tar.gz: 769878c8db809e0ed1815605551fc964de147329209e89517cab012a782b84e8a21e46fa445f3167723eea4f2454bd290a767991e39cfdb6495c742c874d295e
@@ -51,31 +51,85 @@ module OpenHAB
51
51
  module_function
52
52
 
53
53
  #
54
- # Send a notification.
54
+ # Send a notification using
55
+ # {https://next.openhab.org/addons/integrations/openhabcloud/#cloud-notification-actions
56
+ # openHAB Cloud Notification Action}.
55
57
  #
56
58
  # @param msg [String] The message to send.
57
- # @param email [String, nil] The email address to send to. If `nil`,
58
- # the message will be broadcast.
59
- # @param icon [String, Symbol, nil]
60
- # @param severity [String, Symbol, nil]
59
+ # @param email [String, nil] The email address to send to. If `nil`, the message will be broadcast.
60
+ # @param icon [String, Symbol, nil] The icon name
61
+ # (as described in {https://next.openhab.org/docs/configuration/items.html#icons Items}).
62
+ # @param severity [String, Symbol, nil] A description of the severity of the incident.
63
+ # @param title [String, nil] The title of the notification.
64
+ # When `nil`, it defaults to `openHAB` inside the Android and iOS apps.
65
+ # @param on_click [String, nil] The action to be performed when the user clicks on the notification.
66
+ # Specified using the {https://next.openhab.org/addons/integrations/openhabcloud/#action-syntax action syntax}.
67
+ # @param attachment [String, nil] The URL of the media attachment to be displayed with the notification.
68
+ # This URL must be reachable by the push notification client.
69
+ # @param buttons [Array<String>, Hash<String, String>, nil] Buttons to include in the notification.
70
+ # - In array form, each element is specified as `Title=$action`, where `$action` follows the
71
+ # {https://next.openhab.org/addons/integrations/openhabcloud/#action-syntax action syntax}.
72
+ # - In hash form, the keys are the button titles and the values are the actions.
73
+ #
74
+ # The maximum number of buttons is 3.
61
75
  # @return [void]
62
76
  #
77
+ # @note The parameters `title`, `on_click`, `attachment`, and `buttons` were added in openHAB 4.2.
78
+ #
79
+ # @see https://www.openhab.org/addons/integrations/openhabcloud/
80
+ #
63
81
  # @example Send a broadcast notification via openHAB Cloud
64
- # rule 'Send an alert' do
82
+ # rule "Send an alert" do
65
83
  # changed Alarm_Triggered, to: ON
66
- # run { notify 'Red Alert!' }
84
+ # run { notify "Red Alert!" }
85
+ # end
86
+ #
87
+ # @example Provide action buttons in a notification
88
+ # rule "Doorbell" do
89
+ # changed Doorbell, to: ON
90
+ # run do
91
+ # notify "Someone pressed the doorbell!",
92
+ # title: "Doorbell",
93
+ # attachment: "http://myserver.local/cameras/frontdoor.jpg",
94
+ # buttons: {
95
+ # "Show Camera" => "ui:/basicui/app?w=0001&sitemap=cameras",
96
+ # "Unlock Door" => "command:FrontDoor_Lock:OFF"
97
+ # }
98
+ # end
67
99
  # end
68
100
  #
69
- def notify(msg, email: nil, icon: nil, severity: nil)
101
+ def notify(
102
+ msg,
103
+ email: nil,
104
+ icon: nil,
105
+ severity: nil,
106
+ title: nil,
107
+ on_click: nil,
108
+ attachment: nil,
109
+ buttons: nil
110
+ )
70
111
  unless Actions.const_defined?(:NotificationAction)
71
112
  raise NotImplementedError, "NotificationAction is not available. Please install the openHAB Cloud addon."
72
113
  end
73
114
 
115
+ args = []
74
116
  if email
75
- NotificationAction.send_notification(email.to_s, msg.to_s, icon&.to_s, severity&.to_s)
117
+ args.push(:send_notification, email)
76
118
  else
77
- NotificationAction.send_broadcast_notification(msg.to_s, icon&.to_s, severity&.to_s)
119
+ args.push(:send_broadcast_notification)
78
120
  end
121
+ args.push(msg.to_s, icon&.to_s, severity&.to_s)
122
+
123
+ # @!deprecated OH 4.1
124
+ if Core.version >= Core::V4_2
125
+ buttons ||= []
126
+ buttons = buttons.map { |title, action| "#{title}=#{action}" } if buttons.is_a?(Hash)
127
+ raise ArgumentError, "buttons must contain (0..3) elements." unless (0..3).cover?(buttons.size)
128
+
129
+ args.push(title&.to_s, on_click&.to_s, attachment&.to_s, buttons[0]&.to_s, buttons[1]&.to_s, buttons[2]&.to_s)
130
+ end
131
+
132
+ NotificationAction.__send__(*args)
79
133
  end
80
134
  end
81
135
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "generic_item"
4
+
5
+ module OpenHAB
6
+ module Core
7
+ module Items
8
+ java_import org.openhab.core.library.items.CallItem
9
+
10
+ #
11
+ # A {CallItem} identifies a telephone call by its origin and destination.
12
+ #
13
+ # @!attribute [r] state
14
+ # @return [StringListType, nil]
15
+ #
16
+ class CallItem < GenericItem
17
+ # @!visibility private
18
+ def format_type(command)
19
+ return command if command.is_a?(Types::StringListType)
20
+ return Types::StringListType.new(command.to_ary.map(&:to_s)) if command.respond_to?(:to_ary)
21
+
22
+ super
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ # @!parse CallItem = OpenHAB::Core::Items::CallItem
@@ -134,7 +134,9 @@ module OpenHAB
134
134
  #
135
135
  # The similar method `command!`, however, will always send the command regardless of the item's state.
136
136
  #
137
- # @param [Command] command command to send to the item
137
+ # @param [Command, #to_s] command command to send to the item.
138
+ # When given a {Command} argument, it will be passed directly.
139
+ # Otherwise, the result of `#to_s` will be parsed into a {Command}.
138
140
  # @return [self, nil] nil when `ensure` is in effect and the item was already in the same state,
139
141
  # otherwise the item.
140
142
  #
@@ -143,6 +145,17 @@ module OpenHAB
143
145
  # @see OpenHAB::DSL.ensure_states! ensure_states!
144
146
  # @see DSL::Items::Ensure::Ensurable#ensure ensure
145
147
  #
148
+ # @example Sending a {Command} to an item
149
+ # MySwitch.command(ON) # The preferred method is `MySwitch.on`
150
+ # Garage_Door.command(DOWN) # The preferred method is `Garage_Door.down`
151
+ # SetTemperature.command 20 | "°C"
152
+ #
153
+ # @example Sending a plain number to a {NumberItem}
154
+ # SetTemperature.command(22.5) # if it accepts a DecimalType
155
+ #
156
+ # @example Sending a string to a dimensioned {NumberItem}
157
+ # SetTemperature.command("22.5 °C") # The string will be parsed and converted to a QuantityType
158
+ #
146
159
  def command(command)
147
160
  command = format_command(command)
148
161
  logger.trace "Sending Command #{command} to #{name}"
@@ -165,10 +178,27 @@ module OpenHAB
165
178
  #
166
179
  # Send an update to this item
167
180
  #
168
- # @param [State] state
181
+ # @param [State, #to_s, nil] state the state to update the item.
182
+ # When given a {State} argument, it will be passed directly.
183
+ # Otherwise, the result of `#to_s` will be parsed into a {State} first.
184
+ # If `nil` is passed, the item will be updated to {NULL}.
169
185
  # @return [self, nil] nil when `ensure` is in effect and the item was already in the same state,
170
186
  # otherwise the item.
171
187
  #
188
+ # @example Updating to a {State}
189
+ # DoorStatus.update(OPEN)
190
+ # InsideTemperature.update 20 | "°C"
191
+ #
192
+ # @example Updating to {NULL}, the two following are equivalent:
193
+ # DoorStatus.update(nil)
194
+ # DoorStatus.update(NULL)
195
+ #
196
+ # @example Updating with a plain number
197
+ # PeopleCount.update(5) # A plain NumberItem
198
+ #
199
+ # @example Updating with a string to a dimensioned {NumberItem}
200
+ # InsideTemperature.update("22.5 °C") # The string will be parsed and converted to a QuantityType
201
+ #
172
202
  def update(state)
173
203
  state = format_update(state)
174
204
  logger.trace "Sending Update #{state} to #{name}"
@@ -427,6 +427,7 @@ module OpenHAB
427
427
  end
428
428
  end
429
429
 
430
+ def_type_predicate(:call)
430
431
  def_type_predicate(:color)
431
432
  def_type_predicate(:contact)
432
433
  def_type_predicate(:date_time)
@@ -27,8 +27,7 @@ module OpenHAB
27
27
  #
28
28
  # @example Comparison using Quantity
29
29
  # # Because Power_Usage has a unit, the return value
30
- # # from average_since is a QuantityType which can be
31
- # # compared against a string with quantity
30
+ # # from average_since is a QuantityType
32
31
  # if Power_Usage.average_since(15.minutes.ago) > 5 | "kW"
33
32
  # logger.info("The power usage exceeded its 15 min average)
34
33
  # end
@@ -429,7 +428,7 @@ module OpenHAB
429
428
  # @overload persist(timestamp, state, service = nil)
430
429
  # Persists a state at a given timestamp
431
430
  # @param [#to_zoned_date_time] timestamp The timestamp for the given state to be stored
432
- # @param [Types::State] state The state to be stored
431
+ # @param [Types::State, #to_s] state The state to be stored
433
432
  # @param [Symbol, String] service An optional persistence id instead of the default persistence service.
434
433
  # @return [void]
435
434
  # @since openHAB 4.2
@@ -508,7 +507,20 @@ module OpenHAB
508
507
  # @see last_update
509
508
  # @since openHAB 4.2
510
509
 
511
- %i[last_update next_update].each do |method|
510
+ # @!method last_change(service = nil)
511
+ # Returns the time the item was last changed.
512
+ # @param [Symbol, String] service An optional persistence id instead of the default persistence service.
513
+ # @return [ZonedDateTime, nil] The timestamp of the last update
514
+ # @since openHAB 4.2
515
+
516
+ # @!method next_change(service = nil)
517
+ # Returns the first future change time of the item.
518
+ # @param [Symbol, String] service An optional persistence id instead of the default persistence service.
519
+ # @return [ZonedDateTime, nil] The timestamp of the next update
520
+ # @see last_update
521
+ # @since openHAB 4.2
522
+
523
+ %i[last_update next_update last_change next_change].each do |method|
512
524
  # @deprecated OH 4.1 remove this guard when dropping OH 4.1
513
525
  next unless Actions::PersistenceExtensions.respond_to?(method)
514
526
 
@@ -80,7 +80,10 @@ module OpenHAB
80
80
  # @param value [#to_zoned_date_time, #to_time, #to_str, #to_d, nil]
81
81
  #
82
82
  def initialize(value = nil)
83
- if value.respond_to?(:to_zoned_date_time)
83
+ if value.nil?
84
+ super()
85
+ return
86
+ elsif value.respond_to?(:to_zoned_date_time)
84
87
  super(value.to_zoned_date_time)
85
88
  return
86
89
  elsif value.respond_to?(:to_time)
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "forwardable"
4
+
5
+ require_relative "type"
6
+
7
+ module OpenHAB
8
+ module Core
9
+ module Types
10
+ StringListType = org.openhab.core.library.types.StringListType
11
+
12
+ # {StringListType} can be used for items that are dealing with telephony functionality.
13
+ #
14
+ # The entries can be accessed like an array.
15
+ #
16
+ # @example
17
+ # string_list = StringListType.new("a", "b", "c")
18
+ # logger.info "first entry: #{string_list.first}" # => "a"
19
+ # logger.info "second entry: #{string_list[1]}" # => "b"
20
+ # logger.info "last entry: #{string_list.last}" # => "c"
21
+ # logger.info "length: #{string_list.size}" # => 3
22
+ #
23
+ class StringListType
24
+ extend Forwardable
25
+
26
+ field_reader :typeDetails
27
+
28
+ # @!parse include Command, State
29
+
30
+ # @!visibility private
31
+ def inspect
32
+ "#<OpenHAB::Core::Types::StringListType #{to_a.inspect}>"
33
+ end
34
+
35
+ # @return [Array<String>] the values as an array
36
+ def to_a
37
+ typeDetails.to_a
38
+ end
39
+
40
+ # @!visibility private
41
+ def ==(other)
42
+ return super if other.is_a?(StringListType)
43
+ return to_a == other.to_a if other.respond_to?(:to_a)
44
+
45
+ super
46
+ end
47
+
48
+ # any method that exists on Array gets forwarded to states
49
+ delegate (Array.instance_methods - instance_methods) => :to_a
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ # @!parse StringListType = OpenHAB::Core::Types::StringListType
@@ -56,8 +56,7 @@ module OpenHAB
56
56
  #
57
57
  # Coerce object to a StringType
58
58
  #
59
- # @param [String] other object to coerce to a
60
- # DateTimeType
59
+ # @param [String] other object to coerce to a StringType
61
60
  #
62
61
  # @return [[StringType, StringType], nil]
63
62
  #
@@ -18,7 +18,7 @@ module OpenHAB
18
18
  # @since openHAB 4.1
19
19
  #
20
20
  # @example
21
- # time_series = TimeSeries.new # defaults to :add policy
21
+ # time_series = TimeSeries.new # defaults to :replace policy
22
22
  # .add(Time.at(2), DecimalType.new(2))
23
23
  # .add(Time.at(1), DecimalType.new(1))
24
24
  # .add(Time.at(3), DecimalType.new(3))
@@ -92,6 +92,11 @@ class Time
92
92
  to_java(java.time.ZonedDateTime)
93
93
  end
94
94
 
95
+ # @return [java.time.Instant]
96
+ def to_instant
97
+ to_java(java.time.Instant)
98
+ end
99
+
95
100
  #
96
101
  # Converts to a {ZonedDateTime} if `other`
97
102
  # is also convertible to a ZonedDateTime.
@@ -55,6 +55,8 @@ module OpenHAB
55
55
  end
56
56
  end
57
57
 
58
+ # @return [CallItem]
59
+ def_item_method(:call)
58
60
  # @return [ColorItem]
59
61
  def_item_method(:color)
60
62
  # @return [ContactItem]
@@ -1283,6 +1283,8 @@ module OpenHAB
1283
1283
  # @param [Object] attach Object to be attached to the trigger
1284
1284
  # @return [void]
1285
1285
  #
1286
+ # @see at
1287
+ #
1286
1288
  # @example
1287
1289
  # rule "Daily" do
1288
1290
  # every :day, at: '5:15'
@@ -1297,7 +1299,13 @@ module OpenHAB
1297
1299
  # run { Light.on }
1298
1300
  # end
1299
1301
  #
1300
- # @example
1302
+ # @example Trigger at the time portion of a DateTime Item
1303
+ # rule "Every day at sunset" do
1304
+ # every :day, at: Sunset_Time
1305
+ # run { logger.info "It's getting dark" }
1306
+ # end
1307
+ #
1308
+ # @example Specific day of the week
1301
1309
  # rule "Weekly" do
1302
1310
  # every :monday, at: '5:15'
1303
1311
  # run do
@@ -1305,7 +1313,7 @@ module OpenHAB
1305
1313
  # end
1306
1314
  # end
1307
1315
  #
1308
- # @example
1316
+ # @example Symbolic interval
1309
1317
  # rule "Often" do
1310
1318
  # every :minute
1311
1319
  # run do
@@ -1321,7 +1329,7 @@ module OpenHAB
1321
1329
  # end
1322
1330
  # end
1323
1331
  #
1324
- # @example
1332
+ # @example Duration interval
1325
1333
  # rule "Often" do
1326
1334
  # every 5.minutes
1327
1335
  # run do
@@ -1329,18 +1337,12 @@ module OpenHAB
1329
1337
  # end
1330
1338
  # end
1331
1339
  #
1332
- # @example
1340
+ # @example MonthDay
1333
1341
  # rule 'Every 14th of Feb at 2pm' do
1334
1342
  # every '02-14', at: '2pm'
1335
1343
  # run { logger.info "Happy Valentine's Day!" }
1336
1344
  # end
1337
1345
  #
1338
- # @example
1339
- # rule "Every day at sunset" do
1340
- # every :day, at: Sunset_Time
1341
- # run { logger.info "It's getting dark" }
1342
- # end
1343
- #
1344
1346
  def every(value, at: nil, attach: nil)
1345
1347
  return every(java.time.MonthDay.parse(value), at: at, attach: attach) if value.is_a?(String)
1346
1348
 
@@ -1735,6 +1737,8 @@ module OpenHAB
1735
1737
  # @param [Item, String, Symbol] item The item (or its name)
1736
1738
  # @return [void]
1737
1739
  #
1740
+ # @see every
1741
+ #
1738
1742
  # @example
1739
1743
  # rule "say hello when the kids get home from school" do
1740
1744
  # at HomeFromSchool_Time
@@ -288,7 +288,8 @@ module OpenHAB
288
288
  # If an array is given:
289
289
  # - Scalar elements define the command, and the label is the same as the command.
290
290
  # - Array elements contain the command, label, and optional third element for the icon.
291
- # - Hash elements contain the command, label, and optional icon defined by the corresponding keys.
291
+ # - Hash elements contain the `command`, `release` (optional), `label`, and `icon` (optional)
292
+ # defined by the corresponding keys.
292
293
  #
293
294
  # @since openHAB 4.1 added support for icons
294
295
  #
@@ -314,6 +315,12 @@ module OpenHAB
314
315
  # {command: "auto", label: "Auto"} # no icon
315
316
  # ]
316
317
  #
318
+ # @example Since openHAB 4.2, `release` is also supported in the array of hashes
319
+ # # when `release` is specified, `command` will be sent on press and `release` on release
320
+ # switch mappings: [
321
+ # {label: "On", command: ON, release: OFF, icon: "f7:power"}
322
+ # ]
323
+ #
317
324
  # @return [Hash, Array, nil]
318
325
  # @see LinkableWidgetBuilder#switch
319
326
  # @see https://www.openhab.org/docs/ui/sitemaps.html#mappings
@@ -334,8 +341,9 @@ module OpenHAB
334
341
  widget = super
335
342
  mappings&.each do |cmd, label, icon|
336
343
  mapping = SitemapBuilder.factory.create_mapping
337
- cmd, label, icon = cmd.values_at(:command, :label, :icon) if cmd.is_a?(Hash)
344
+ cmd, release_cmd, label, icon = cmd.values_at(:command, :release, :label, :icon) if cmd.is_a?(Hash)
338
345
  mapping.cmd = cmd.to_s
346
+ mapping.release_cmd = release_cmd.to_s unless release_cmd.nil?
339
347
  mapping.label = label&.to_s || cmd.to_s
340
348
  # @deprecated OH 4.1 the if check is not needed in OH4.1+
341
349
  mapping.icon = icon if icon
@@ -395,32 +403,44 @@ module OpenHAB
395
403
  # @return [true, false, nil]
396
404
  # @note This parameter only works on Android
397
405
  attr_writer :switch
406
+ # Only send the command when the slider is released
407
+ # @return [true, false, nil]
408
+ attr_writer :release_only
398
409
 
399
410
  # (see SetpointBuilder#initialize)
400
- # @!method initialize(item: nil, label: nil, icon: nil, static_icon: nil, range: nil, step: nil, switch: nil, frequency: nil, label_color: nil, value_color: nil, icon_color: nil, visibility: nil)
411
+ # @!method initialize(item: nil, label: nil, icon: nil, static_icon: nil, range: nil, step: nil, switch: nil, frequency: nil, release_only: nil, label_color: nil, value_color: nil, icon_color: nil, visibility: nil)
401
412
  # @param switch [true, false, nil]
402
413
  # A short press on the item toggles the item on or off (see {SliderBuilder#switch=})
403
414
  # @param frequency [Numeric, nil]
404
415
  # How often to send requests (in seconds) (see {SliderBuilder#frequency})
416
+ # @param release_only [true, false, nil]
417
+ # Only send the command when the slider is released (see {SliderBuilder#release_only=})
405
418
  # @!visibility private
406
- def initialize(type, builder_proxy, switch: nil, frequency: nil, **kwargs, &block)
419
+ def initialize(type, builder_proxy, switch: nil, frequency: nil, release_only: nil, **kwargs, &block)
407
420
  super(type, builder_proxy, **kwargs, &block)
408
421
 
409
422
  @switch = switch
410
423
  @frequency = frequency
411
- @switch_enabled = nil
424
+ @release_only = release_only
412
425
  end
413
426
 
414
427
  # (see #switch=)
415
428
  def switch?
416
- @switch_enabled
429
+ @switch
430
+ end
431
+
432
+ # (see #release_only=)
433
+ def release_only?
434
+ @release_only
417
435
  end
418
436
 
419
437
  # @!visibility private
420
438
  def build
421
439
  widget = super
422
- widget.switch_enabled = switch?
440
+ widget.switch_enabled = switch? unless @switch.nil?
423
441
  widget.send_frequency = (frequency * 1000).to_i if frequency
442
+ # @deprecated OH 4.1 remove the version check when dropping OH 4.1 support
443
+ widget.release_only = release_only? if OpenHAB::Core.version >= OpenHAB::Core::V4_2 && !@release_only.nil?
424
444
  widget
425
445
  end
426
446
  end
@@ -936,6 +956,7 @@ module OpenHAB
936
956
  # step: nil,
937
957
  # switch: nil,
938
958
  # frequency: nil,
959
+ # release_only: nil,
939
960
  # label_color: nil,
940
961
  # value_color: nil,
941
962
  # icon_color: nil,
@@ -4,6 +4,6 @@ module OpenHAB
4
4
  module DSL
5
5
  # Version of openHAB helper libraries
6
6
  # @return [String]
7
- VERSION = "5.19.1"
7
+ VERSION = "5.21.0"
8
8
  end
9
9
  end
@@ -5,10 +5,37 @@ module OpenHAB
5
5
  module Actions
6
6
  # redefine these to do nothing so that rules won't fail
7
7
 
8
- module_function
8
+ class NotificationAction
9
+ class << self
10
+ def send_notification(
11
+ email,
12
+ msg,
13
+ icon,
14
+ severity,
15
+ title = nil,
16
+ on_click = nil,
17
+ attachment = nil,
18
+ button1 = nil,
19
+ button2 = nil,
20
+ button3 = nil
21
+ )
22
+ logger.debug("send_notification: #{email}, #{msg}, #{icon}, #{severity}, #{title}, #{on_click}, #{attachment}, #{button1}, #{button2}, #{button3}") # rubocop:disable Layout/LineLength
23
+ end
9
24
 
10
- def notify(msg, email: nil)
11
- logger.debug("notify: #{msg}")
25
+ def send_broadcast_notification(
26
+ msg,
27
+ icon,
28
+ severity,
29
+ title = nil,
30
+ on_click = nil,
31
+ attachment = nil,
32
+ button1 = nil,
33
+ button2 = nil,
34
+ button3 = nil
35
+ )
36
+ logger.debug("send_broadcast_notification: #{msg}, #{icon}, #{severity}, #{title}, #{on_click}, #{attachment}, #{button1}, #{button2}, #{button3}") # rubocop:disable Layout/LineLength
37
+ end
38
+ end
12
39
  end
13
40
 
14
41
  class Voice
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.19.1
4
+ version: 5.21.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-05-21 00:00:00.000000000 Z
13
+ date: 2024-06-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -263,6 +263,7 @@ files:
263
263
  - lib/openhab/core/events/timer_event.rb
264
264
  - lib/openhab/core/items.rb
265
265
  - lib/openhab/core/items/accepted_data_types.rb
266
+ - lib/openhab/core/items/call_item.rb
266
267
  - lib/openhab/core/items/color_item.rb
267
268
  - lib/openhab/core/items/contact_item.rb
268
269
  - lib/openhab/core/items/date_time_item.rb
@@ -348,6 +349,7 @@ files:
348
349
  - lib/openhab/core/types/refresh_type.rb
349
350
  - lib/openhab/core/types/rewind_fastforward_type.rb
350
351
  - lib/openhab/core/types/stop_move_type.rb
352
+ - lib/openhab/core/types/string_list_type.rb
351
353
  - lib/openhab/core/types/string_type.rb
352
354
  - lib/openhab/core/types/time_series.rb
353
355
  - lib/openhab/core/types/type.rb
@@ -485,7 +487,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
485
487
  - !ruby/object:Gem::Version
486
488
  version: '0'
487
489
  requirements: []
488
- rubygems_version: 3.5.10
490
+ rubygems_version: 3.5.14
489
491
  signing_key:
490
492
  specification_version: 4
491
493
  summary: JRuby Helper Libraries for openHAB Scripting