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

#iconString, ...

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_colorsHash<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

#itemString, ...

The item whose state to show

Returns:



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

def item
  @item
end

#labelString?

Returns:

  • (String, nil)


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

def label
  @label
end

#label_colorsHash<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_iconString?

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_colorsHash<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

#visibilitiesArray<String> (readonly)

Visibility rules



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

def visibilities
  @visibilities
end

Instance Method Details

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

Adds one or more new rules for setting the icon color

Returns:

  • (Hash<String, String>)

    the current rules



198
199
200
201
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 198

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



184
185
186
187
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 184

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



191
192
193
194
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 191

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



205
206
207
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 205

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