Class: OpenHAB::Core::Events::TimerEvent

Inherits:
AbstractEvent show all
Defined in:
lib/openhab/core/events/timer_event.rb

Overview

Adds methods to core openHAB TimerEvent to make it more natural in Ruby

This event can be triggered by a DateTimeTrigger, cron, or TimeOfDay trigger.

Since:

  • openHAB 4.0

Instance Attribute Summary collapse

Attributes inherited from AbstractEvent

#attachment, #inputs

Method Summary

Methods inherited from AbstractEvent

#inspect, #payload

Instance Attribute Details

#cron_expressionString? (readonly)

Returns The cron expression that triggered this event. nil when this event wasn't triggered by a cron trigger.

Returns:

  • (String, nil)

    The cron expression that triggered this event. nil when this event wasn't triggered by a cron trigger.

Since:

  • openHAB 4.0



24
25
26
# File 'lib/openhab/core/events/timer_event.rb', line 24

def cron_expression
  payload&.[](:cronExpression)
end

#itemItem? (readonly)

Returns The DateTime item that triggered this event. nil when this event wasn't triggered by a DateTimeItem trigger.

Returns:

  • (Item, nil)

    The DateTime item that triggered this event. nil when this event wasn't triggered by a DateTimeItem trigger.

Since:

  • openHAB 4.0



33
34
35
# File 'lib/openhab/core/events/timer_event.rb', line 33

def item
  payload&.[](:itemName)&.then { |item_name| EntityLookup.lookup_item(item_name) }
end

#timeLocalTime? (readonly)

Returns The configured time for this TimeOfDay trigger event. nil when this event wasn't triggered by a TimeOfDay trigger.

Returns:

  • (LocalTime, nil)

    The configured time for this TimeOfDay trigger event. nil when this event wasn't triggered by a TimeOfDay trigger.

Since:

  • openHAB 4.0



42
43
44
# File 'lib/openhab/core/events/timer_event.rb', line 42

def time
  payload&.[](:time)&.then { |time| LocalTime.parse(time) }
end