Class: OpenHAB::DSL::Sitemaps::WidgetBuilder

Inherits:
Object
  • Object
show all
Includes:
Core::EntityLookup
Defined in:
lib/openhab/dsl/sitemaps/builder.rb

Overview

Base class for all widgets

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::EntityLookup

#items, #method_missing, #things

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class OpenHAB::Core::EntityLookup

Instance Attribute Details

#icon ⇒ String, ...

The icon to show It can be a string, or a hash of conditions and icons.

Examples:

A simple icon

sitemaps.build { text icon: "f7:house" }

A dynamic icon with conditions

sitemaps.build do
  text item: Wifi_Status, icon: {
    "ON" => "f7:wifi",
    "OFF" => "f7:wifi_slash",
    default: "f7:wifi_exclamationmark"
  }
end

Returns:

  • (String, Hash<String, String>, Hash<Array<String>, String>, nil)

See Also:



91
92
93
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 91

def icon
  @icon
end

#icon_colors ⇒ Hash<String, String>, Hash<Array<String>, String> (readonly)

Icon color rules

Returns:

  • (Hash<String, String>, Hash<Array<String>, String>)

See Also:



109
110
111
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 109

def icon_colors
  @icon_colors
end

#item ⇒ String, ...

The item whose state to show

Returns:



74
75
76
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 74

def item
  @item
end

#label ⇒ String?

Returns:

  • (String, nil)


71
72
73
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 71

def label
  @label
end

#label_colors ⇒ Hash<String, String>, Hash<Array<String>, String> (readonly)

Label color rules

Returns:

  • (Hash<String, String>, Hash<Array<String>, String>)

See Also:



101
102
103
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 101

def label_colors
  @label_colors
end

#static_icon ⇒ String?

The static icon to show This is mutually exclusive with #icon

Returns:

  • (String, nil)

See Also:

Since:

  • openHAB 4.1



97
98
99
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 97

def static_icon
  @static_icon
end

#value_colors ⇒ Hash<String, String>, Hash<Array<String>, String> (readonly)

Value color rules

Returns:

  • (Hash<String, String>, Hash<Array<String>, String>)

See Also:



105
106
107
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 105

def value_colors
  @value_colors
end

#visibilities ⇒ Array<String> (readonly)

Visibility rules



113
114
115
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 113

def visibilities
  @visibilities
end

Instance Method Details

#confirm(value) ⇒ true, ...

Configures command confirmation. A boolean enables or disables the default prompt; a String supplies an unconditional message. A Hash maps conditions to messages (nil uses the default message), with an optional :default message. An Array supplies conditions using the default message. Nested arrays combine conditions with AND; separate entries are alternatives, evaluated in order.

Examples:

switch item: Heater, confirm: true
switch item: Heater, confirm: "Change the heating?"
switch item: Heater, confirm: ["!= ON"]
switch item: Heater, confirm: { "!= ON" => "Turn on the heating?" }
switch item: Heater do
  confirm ["Alarm == ON", "Temperature > 30"] => "Continue?"
end

Parameters:

  • value (true, false, String, Hash, Array, nil)

Returns:

  • (true, false, String, Hash, Array, nil)

Since:

  • openHAB 5.3



230
231
232
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 230

def confirm(value)
  @confirm = value
end

#icon_color(rules) ⇒ Hash<String, String>

Adds one or more new rules for setting the icon color

Returns:

  • (Hash<String, String>) —

    the current rules



201
202
203
204
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 201

def icon_color(rules)
  rules = { default: rules } if rules.is_a?(String)
  @icon_colors.merge!(rules)
end

#label_color(rules) ⇒ Hash<String, String>

Adds one or more new rules for setting the label color

Returns:

  • (Hash<String, String>) —

    the current rules



187
188
189
190
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 187

def label_color(rules)
  rules = { default: rules } if rules.is_a?(String)
  @label_colors.merge!(rules)
end

#value_color(rules) ⇒ Hash<String, String>

Adds one or more new rules for setting the value color

Returns:

  • (Hash<String, String>) —

    the current rules



194
195
196
197
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 194

def value_color(rules)
  rules = { default: rules } if rules.is_a?(String)
  @value_colors.merge!(rules)
end

#visibility(*rules) ⇒ Array<String>

Adds one or more new visibility rules

Returns:

  • (Array<String>) —

    the current rules



208
209
210
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 208

def visibility(*rules)
  @visibilities.concat(rules)
end