Class: OpenHAB::DSL::Things::ChannelBuilder
- Inherits:
- 
      Object
      
        - Object
- OpenHAB::DSL::Things::ChannelBuilder
 
- Defined in:
- lib/openhab/dsl/things/builder.rb
Overview
The ChannelBuilder DSL allows you to customize a channel
Instance Attribute Summary collapse
- 
  
    
      #accepted_item_type  ⇒ String 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The accepted item type. 
- 
  
    
      #auto_update_policy  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute auto_update_policy. 
- 
  
    
      #config  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute config. 
- 
  
    
      #default_tags  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute default_tags. 
- 
  
    
      #description  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute description. 
- 
  
    
      #label  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute label. 
- 
  
    
      #properties  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute properties. 
- 
  
    
      #type  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute type. 
- 
  
    
      #uid  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute uid. 
Instance Method Summary collapse
- 
  
    
      #initialize(uid, type, label = nil, thing:, description: nil, group: nil, config: nil, properties: nil, default_tags: nil, auto_update_policy: nil, accepted_item_type: nil)  ⇒ ChannelBuilder 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Constructor for ChannelBuilder. 
Constructor Details
#initialize(uid, type, label = nil, thing:, description: nil, group: nil, config: nil, properties: nil, default_tags: nil, auto_update_policy: nil, accepted_item_type: nil) ⇒ ChannelBuilder
Constructor for ChannelBuilder
This class is instantiated by the #channel method inside a Builder#thing block.
| 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 | # File 'lib/openhab/dsl/things/builder.rb', line 332 def initialize(uid, type, label = nil, thing:, description: nil, group: nil, config: nil, properties: nil, default_tags: nil, auto_update_policy: nil, accepted_item_type: nil) @thing = thing uid = uid.to_s uid_segments = uid.split(org.openhab.core.common.AbstractUID::SEPARATOR) group_segments = uid_segments.last.split(org.openhab.core.thing.ChannelUID::CHANNEL_GROUP_SEPARATOR) if group if group_segments.length == 2 group_segments[0] = group else group_segments.unshift(group) end uid_segments[-1] = group_segments.join(org.openhab.core.thing.ChannelUID::CHANNEL_GROUP_SEPARATOR) end @uid = org.openhab.core.thing.ChannelUID.new(thing.uid, uid_segments.last) unless type.is_a?(org.openhab.core.thing.type.ChannelTypeUID) type = org.openhab.core.thing.type.ChannelTypeUID.new(thing.uid.binding_id, type) end @type = type @label = label @config = config&.transform_keys(&:to_s) @default_tags = Items::ItemBuilder.normalize_tags(*Array.wrap(default_tags)) @properties = properties&.transform_keys(&:to_s) @description = description @accepted_item_type = accepted_item_type return unless auto_update_policy @auto_update_policy = org.openhab.core.thing.type.AutoUpdatePolicy.value_of(auto_update_policy.to_s.upcase) end | 
Instance Attribute Details
#accepted_item_type ⇒ String (readonly)
Returns The accepted item type.
| 391 392 393 | # File 'lib/openhab/dsl/things/builder.rb', line 391 def accepted_item_type @accepted_item_type ||= type.channel_type&.item_type end | 
#auto_update_policy ⇒ Object (readonly)
Returns the value of attribute auto_update_policy.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def auto_update_policy @auto_update_policy end | 
#config ⇒ Object (readonly)
Returns the value of attribute config.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def config @config end | 
#default_tags ⇒ Object (readonly)
Returns the value of attribute default_tags.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def default_tags @default_tags end | 
#description ⇒ Object (readonly)
Returns the value of attribute description.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def description @description end | 
#label ⇒ Object
Returns the value of attribute label.
| 303 304 305 | # File 'lib/openhab/dsl/things/builder.rb', line 303 def label @label end | 
#properties ⇒ Object (readonly)
Returns the value of attribute properties.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def properties @properties end | 
#type ⇒ Object (readonly)
Returns the value of attribute type.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def type @type end | 
#uid ⇒ Object (readonly)
Returns the value of attribute uid.
| 304 305 306 | # File 'lib/openhab/dsl/things/builder.rb', line 304 def uid @uid end | 
 
          