openhab-scripting 4.28.0 → 4.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openhab/dsl/items/group_item.rb +7 -0
  3. data/lib/openhab/dsl/items/item_registry.rb +1 -1
  4. data/lib/openhab/dsl/rules/automation_rule.rb +10 -158
  5. data/lib/openhab/dsl/rules/rule.rb +4 -46
  6. data/lib/openhab/dsl/rules/rule_config.rb +4 -3
  7. data/lib/openhab/dsl/rules/triggers/changed.rb +51 -18
  8. data/lib/openhab/dsl/rules/triggers/conditions/duration.rb +158 -0
  9. data/lib/openhab/dsl/rules/triggers/conditions/proc.rb +150 -0
  10. data/lib/openhab/dsl/rules/triggers/cron.rb +118 -0
  11. data/lib/openhab/dsl/rules/triggers/trigger.rb +2 -1
  12. data/lib/openhab/dsl/rules/triggers/updated.rb +59 -16
  13. data/lib/openhab/dsl/rules/triggers/watch.rb +1 -3
  14. data/lib/openhab/dsl/types/date_time_type.rb +2 -2
  15. data/lib/openhab/dsl/types/decimal_type.rb +1 -1
  16. data/lib/openhab/dsl/types/hsb_type.rb +1 -1
  17. data/lib/openhab/dsl/types/increase_decrease_type.rb +1 -1
  18. data/lib/openhab/dsl/types/next_previous_type.rb +1 -1
  19. data/lib/openhab/dsl/types/on_off_type.rb +1 -1
  20. data/lib/openhab/dsl/types/open_closed_type.rb +1 -1
  21. data/lib/openhab/dsl/types/percent_type.rb +1 -1
  22. data/lib/openhab/dsl/types/play_pause_type.rb +1 -1
  23. data/lib/openhab/dsl/types/point_type.rb +1 -1
  24. data/lib/openhab/dsl/types/quantity_type.rb +1 -1
  25. data/lib/openhab/dsl/types/refresh_type.rb +1 -1
  26. data/lib/openhab/dsl/types/rewind_fastforward_type.rb +1 -1
  27. data/lib/openhab/dsl/types/stop_move_type.rb +1 -1
  28. data/lib/openhab/dsl/types/string_type.rb +1 -1
  29. data/lib/openhab/dsl/types/un_def_type.rb +1 -1
  30. data/lib/openhab/dsl/types/up_down_type.rb +1 -1
  31. data/lib/openhab/log/configuration.rb +1 -1
  32. data/lib/openhab/log/logger.rb +10 -0
  33. data/lib/openhab/version.rb +1 -1
  34. metadata +4 -3
  35. data/lib/openhab/dsl/rules/cron_trigger_rule.rb +0 -42
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.28.0
4
+ version: 4.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian O'Connell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-14 00:00:00.000000000 Z
11
+ date: 2022-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,7 +97,6 @@ files:
97
97
  - lib/openhab/dsl/openhab.rb
98
98
  - lib/openhab/dsl/persistence.rb
99
99
  - lib/openhab/dsl/rules/automation_rule.rb
100
- - lib/openhab/dsl/rules/cron_trigger_rule.rb
101
100
  - lib/openhab/dsl/rules/guard.rb
102
101
  - lib/openhab/dsl/rules/item_event.rb
103
102
  - lib/openhab/dsl/rules/property.rb
@@ -107,6 +106,8 @@ files:
107
106
  - lib/openhab/dsl/rules/triggers/changed.rb
108
107
  - lib/openhab/dsl/rules/triggers/channel.rb
109
108
  - lib/openhab/dsl/rules/triggers/command.rb
109
+ - lib/openhab/dsl/rules/triggers/conditions/duration.rb
110
+ - lib/openhab/dsl/rules/triggers/conditions/proc.rb
110
111
  - lib/openhab/dsl/rules/triggers/cron.rb
111
112
  - lib/openhab/dsl/rules/triggers/generic.rb
112
113
  - lib/openhab/dsl/rules/triggers/trigger.rb
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
- require 'openhab/log/logger'
5
-
6
- module OpenHAB
7
- module DSL
8
- #
9
- # Creates and manages OpenHAB Rules
10
- #
11
- module Rules
12
- #
13
- # Specialized rule for cron triggers with attachments because OpenHAB does not provide trigger UID for cron rules
14
- #
15
- class CronTriggerRule < Java::OrgOpenhabCoreAutomationModuleScriptRulesupportSharedSimple::SimpleRule
16
- include OpenHAB::Log
17
-
18
- def initialize(rule_config:, rule:, trigger:)
19
- super()
20
- set_name("#{rule_config.name}-cron-#{trigger.id}")
21
- set_triggers([trigger])
22
- @rule = rule
23
- @trigger = trigger
24
- logger.trace("Created Cron Trigger Rule for #{@trigger}")
25
- end
26
-
27
- #
28
- # Execute the rule
29
- #
30
- # @param [Map] mod map provided by OpenHAB rules engine
31
- # @param [Map] inputs map provided by OpenHAB rules engine containing event and other information
32
- #
33
- #
34
- def execute(mod = nil, _inputs = nil)
35
- logger.trace "Trigger #{@trigger} fired for base rule #{@rule.inspect}"
36
- inputs = { 'module' => @trigger.id }
37
- @rule.execute(mod, inputs)
38
- end
39
- end
40
- end
41
- end
42
- end