openhab-scripting 2.9.1 → 2.9.2

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openhab/version.rb +1 -1
  3. metadata +1 -61
  4. data/.github/workflows/workflow.yml +0 -327
  5. data/.gitignore +0 -17
  6. data/.java-version +0 -1
  7. data/.rspec +0 -1
  8. data/.yardopts +0 -1
  9. data/CHANGELOG.md +0 -113
  10. data/Gemfile +0 -28
  11. data/Gemfile.lock +0 -245
  12. data/Guardfile +0 -35
  13. data/LICENSE +0 -277
  14. data/README.md +0 -23
  15. data/Rakefile +0 -406
  16. data/bin/console +0 -15
  17. data/bin/setup +0 -8
  18. data/config/userdata/config/org/openhab/restauth.config +0 -3
  19. data/cucumber.yml +0 -1
  20. data/docs/_config.yml +0 -135
  21. data/docs/contributing/index.md +0 -47
  22. data/docs/examples/conversions.md +0 -123
  23. data/docs/examples/index.md +0 -61
  24. data/docs/index.md +0 -19
  25. data/docs/installation/index.md +0 -26
  26. data/docs/motivation/index.md +0 -27
  27. data/docs/usage/execution.md +0 -9
  28. data/docs/usage/execution/delay.md +0 -48
  29. data/docs/usage/execution/otherwise.md +0 -30
  30. data/docs/usage/execution/run.md +0 -70
  31. data/docs/usage/execution/triggered.md +0 -48
  32. data/docs/usage/guards.md +0 -51
  33. data/docs/usage/guards/between.md +0 -30
  34. data/docs/usage/guards/not_if.md +0 -41
  35. data/docs/usage/guards/only_if.md +0 -40
  36. data/docs/usage/index.md +0 -11
  37. data/docs/usage/items.md +0 -66
  38. data/docs/usage/items/contact.md +0 -84
  39. data/docs/usage/items/dimmer.md +0 -147
  40. data/docs/usage/items/groups.md +0 -76
  41. data/docs/usage/items/number.md +0 -225
  42. data/docs/usage/items/string.md +0 -49
  43. data/docs/usage/items/switch.md +0 -85
  44. data/docs/usage/misc.md +0 -7
  45. data/docs/usage/misc/actions.md +0 -108
  46. data/docs/usage/misc/duration.md +0 -21
  47. data/docs/usage/misc/gems.md +0 -25
  48. data/docs/usage/misc/logging.md +0 -21
  49. data/docs/usage/misc/metadata.md +0 -128
  50. data/docs/usage/misc/store_states.md +0 -42
  51. data/docs/usage/misc/time_of_day.md +0 -69
  52. data/docs/usage/misc/timers.md +0 -67
  53. data/docs/usage/rule.md +0 -43
  54. data/docs/usage/things.md +0 -29
  55. data/docs/usage/triggers.md +0 -8
  56. data/docs/usage/triggers/changed.md +0 -57
  57. data/docs/usage/triggers/channel.md +0 -54
  58. data/docs/usage/triggers/command.md +0 -69
  59. data/docs/usage/triggers/cron.md +0 -19
  60. data/docs/usage/triggers/every.md +0 -76
  61. data/docs/usage/triggers/updated.md +0 -78
  62. data/openhab-scripting.gemspec +0 -30
  63. data/openhab_rules/warmup.rb +0 -5
@@ -1,19 +0,0 @@
1
- ---
2
- layout: default
3
- title: Cron
4
- nav_order: 2
5
- has_children: false
6
- parent: Triggers
7
- grand_parent: Usage
8
- ---
9
-
10
-
11
- # Cron
12
- Utilizes [OpenHAB style cron expressions](https://www.openhab.org/docs/configuration/rules-dsl.html#time-based-triggers) to trigger rules. This property can be utilized when you need to represent complex expressions not possible with the simpler [every](#Every) syntax.
13
-
14
- ```ruby
15
- rule 'Using Cron Syntax' do
16
- cron '43 46 13 ? * ?'
17
- run { logger.info "Cron rule executed" }
18
- end
19
- ```
@@ -1,76 +0,0 @@
1
- ---
2
- layout: default
3
- title: Every
4
- nav_order: 1
5
- has_children: false
6
- parent: Triggers
7
- grand_parent: Usage
8
- ---
9
-
10
- # Every
11
-
12
- | Value | Description | Example |
13
- | ----------------- | ---------------------------------------- | ---------- |
14
- | :second | Execute rule every second | :second |
15
- | :minute | Execute rule very minute | :minute |
16
- | :hour | Execute rule every hour | :hour |
17
- | :day | Execute rule every day | :day |
18
- | :week | Execute rule every week | :week |
19
- | :month | Execute rule every month | :month |
20
- | :year | Execute rule one a year | :year |
21
- | :monday | Execute rule every Monday at midnight | :monday |
22
- | :tuesday | Execute rule every Tuesday at midnight | :tuesday |
23
- | :wednesday | Execute rule every Wednesday at midnight | :wednesday |
24
- | :thursday | Execute rule every Thursday at midnight | :thursday |
25
- | :friday | Execute rule every Friday at midnight | :friday |
26
- | :saturday | Execute rule every Saturday at midnight | :saturday |
27
- | :sunday | Execute rule every Sunday at midnight | :sunday |
28
- | [Integer].seconds | Execute a rule every X seconds | 5.seconds |
29
- | [Integer].minutes | Execute rule every X minutes | 3.minutes |
30
- | [Integer].hours | Execute rule every X minutes | 10.hours |
31
-
32
- | Option | Description | Example |
33
- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
34
- | :at | Limit the execution to specific times of day. The value can either be a String or a TimeOfDay object | at: '16:45' or at: TimeOfDay.new(h: 16, m: 45) |
35
-
36
-
37
- # Examples
38
-
39
- ```ruby
40
- rule 'Log the rule name every minute' do
41
- description 'This rule will create a log every minute'
42
- every :minute
43
- run { logger.info "Rule '#{name}' executed" }
44
- end
45
- ```
46
-
47
-
48
- ```ruby
49
- rule 'Log an entry at 11:21' do
50
- every :day, at: '11:21'
51
- run { logger.info("Rule #{name} run at #{TimeOfDay.now}") }
52
- end
53
-
54
- # The above rule could also be expressed using TimeOfDay class as below
55
-
56
- rule 'Log an entry at 11:21' do
57
- every :day, at: TimeOfDay.new(h: 11, m: 21)
58
- run { logger.info("Rule #{name} run at #{TimeOfDay.now}") }
59
- end
60
- ```
61
-
62
-
63
- ```ruby
64
- rule 'Log an entry Wednesdays at 11:21' do
65
- every :wednesday, at: '11:21'
66
- run { logger.info("Rule #{name} run at #{TimeOfDay.now}") }
67
- end
68
- ```
69
-
70
-
71
- ```ruby
72
- rule 'Every 5 seconds' do
73
- every 5.seconds
74
- run { logger.info "Rule #{name} executed" }
75
- end
76
- ```
@@ -1,78 +0,0 @@
1
- ---
2
- layout: default
3
- title: Updated
4
- nav_order: 4
5
- has_children: false
6
- parent: Triggers
7
- grand_parent: Usage
8
- ---
9
-
10
- # Updated
11
-
12
-
13
-
14
- | Options | Description | Example |
15
- | ------- | -------------------------------------------------- | ----------------------- |
16
- | to | Only execute rule if update state matches to state | `to: 7` or `to: [7,14]` |
17
-
18
- Changed accepts Items, Things or Groups.
19
-
20
- The to value restricts the rule from running to only if the updated state matches. If the updated element being used as a trigger is a thing than the to and from values will accept symbols and strings, where the symbol matches the [supported status](https://www.openhab.org/docs/concepts/things.html).
21
-
22
- The examples below assume the following background:
23
-
24
- | type | name | group | state |
25
- | ------ | ---------------- | ---------- | ----- |
26
- | Number | Alarm_Mode | AlarmModes | 7 |
27
- | Number | Alarm_Mode_Other | AlarmModes | 7 |
28
-
29
-
30
- ```ruby
31
- rule 'Execute rule when item is updated to any value' do
32
- updated Alarm_Mode
33
- run { logger.info("Alarm Mode Updated") }
34
- end
35
- ```
36
-
37
- ```ruby
38
- rule 'Execute rule when item is updated to specific number' do
39
- updated Alarm_Mode, to: 7
40
- run { logger.info("Alarm Mode Updated") }
41
- end
42
- ```
43
-
44
- ```ruby
45
- rule 'Execute rule when item is updated to one of many specific states' do
46
- updated Alarm_Mode, to: [7,14]
47
- run { logger.info("Alarm Mode Updated")}
48
- end
49
- ```
50
-
51
- ```ruby
52
- rule 'Execute rule when group is updated to any state' do
53
- updated AlarmModes
54
- triggered { |item| logger.info("Group #{item.id} updated")}
55
- end
56
- ```
57
-
58
- ```ruby
59
- rule 'Execute rule when member of group is changed to any state' do
60
- updated AlarmModes.items
61
- triggered { |item| logger.info("Group item #{item.id} updated")}
62
- end
63
- ```
64
-
65
- ```ruby
66
- rule 'Execute rule when member of group is changed to one of many states' do
67
- updated AlarmModes.items, to: [7,14]
68
- triggered { |item| logger.info("Group item #{item.id} updated")}
69
- end
70
- ```
71
-
72
- Works with things as well:
73
- ```ruby
74
- rule 'Execute rule when thing is updated' do
75
- updated things['astro:sun:home'], :to => :uninitialized
76
- run { |event| logger.info("Thing #{event.uid} status <trigger> to #{event.status}") }
77
- end
78
- ```
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'lib/openhab/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'openhab-scripting'
7
- spec.version = OpenHAB::VERSION
8
- spec.authors = ["Brian O'Connell"]
9
- spec.email = ['broconne@gmail.com']
10
-
11
- spec.summary = 'JRuby Helper Libraries for OpenHAB Scripting'
12
- spec.description = 'JRuby Helper Libraries for OpenHAB Scripting'
13
- spec.homepage = 'https://boc-tothefuture.github.io/openhab-jruby/'
14
- spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
15
-
16
- # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
17
-
18
- spec.metadata['homepage_uri'] = spec.homepage
19
- spec.metadata['source_code_uri'] = 'https://github.com/boc-tothefuture/openhab-jruby'
20
- spec.metadata['changelog_uri'] = 'https://github.com/boc-tothefuture/openhab-jruby/blob/main/CHANGELOG.md'
21
-
22
- # Specify which files should be added to the gem when it is released.
23
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bundle)/}) }
26
- end
27
- spec.bindir = 'exe'
28
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
- spec.require_paths = ['lib']
30
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'openhab'
4
-
5
- logger.info('OpenHAB warmup complete')