@NonNullByDefault public interface BusEvent
The BusEvent allows write access to the openHAB event bus from within scripts. Items should not be updated directly (setting the state property), but updates should be sent to the bus, so that all interested bundles are notified.
Author:
Florian Hotze - Initial contribution
  • Method Details

    • sendCommand

      void sendCommand(Item item, String commandString)
      Sends a command for a specified item to the event bus.
      Parameters:
      item - the item to send the command to
      commandString - the command to send
    • sendCommand

      void sendCommand(Item item, Number command)
      Sends a number as a command for a specified item to the event bus.
      Parameters:
      item - the item to send the command to
      command - the number to send as a command
    • sendCommand

      void sendCommand(String itemName, String commandString)
      Sends a command for a specified item to the event bus.
      Parameters:
      itemName - the name of the item to send the command to
      commandString - the command to send
    • sendCommand

      void sendCommand(Item item, Command command)
      Sends a command for a specified item to the event bus.
      Parameters:
      item - the item to send the command to
      command - the command to send
    • postUpdate

      void postUpdate(Item item, String stateString)
      Posts a status update for a specified item to the event bus.
      Parameters:
      item - the item to send the status update for
      stateString - the new state of the item
    • postUpdate

      void postUpdate(Item item, Number state)
      Posts a status update for a specified item to the event bus.
      Parameters:
      item - the item to send the status update for
      state - the new state of the item as a number
    • postUpdate

      void postUpdate(String itemName, String stateString)
      Posts a status update for a specified item to the event bus.
      Parameters:
      itemName - the name of the item to send the status update for
      stateString - the new state of the item
    • postUpdate

      void postUpdate(Item item, State state)
      Posts a status update for a specified item to the event bus.
      Parameters:
      item - the item to send the status update for
      state - the new state of the item
    • sendTimeSeries

      void sendTimeSeries(@Nullable Item item, @Nullable TimeSeries timeSeries)
      Sends a time series to the event bus
      Parameters:
      item - the item to send the time series for
      timeSeries - a TimeSeries containing policy and values
    • sendTimeSeries

      void sendTimeSeries(@Nullable String itemName, @Nullable Map<ZonedDateTime,State> values, String policy)
      Sends a time series to the event bus
      Parameters:
      itemName - the name of the item to send the status update for
      values - a Map containing the timeseries, composed of pairs of ZonedDateTime and State
      policy - either ADD or REPLACE
    • storeStates

      Map<Item,State> storeStates(Item... items)
      Stores the current states for a list of items in a map. A group item is not itself put into the map, but instead all its members.
      Parameters:
      items - the items for which the state should be stored
      Returns:
      the map of items with their states
    • restoreStates

      void restoreStates(Map<Item,State> statesMap)
      Restores item states from a map. If the saved state can be interpreted as a command, a command is sent for the item (and the physical device can send a status update if occurred). If it is no valid command, the item state is directly updated to the saved value.
      Parameters:
      statesMap - a map with (Item, State) entries