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:



94
95
96
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 94

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:



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

def icon_colors
  @icon_colors
end

#itemString, ...

The item whose state to show

Returns:



77
78
79
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 77

def item
  @item
end

#labelString?

Returns:

  • (String, nil)


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

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:



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

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



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

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:



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

def value_colors
  @value_colors
end

#visibilitiesArray<String> (readonly)

Visibility rules



116
117
118
# File 'lib/openhab/dsl/sitemaps/builder.rb', line 116

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



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