Interface ScriptBusEvent


  • @NonNullByDefault
    public interface ScriptBusEvent
    The static methods of this class are made available as functions in the scripts. This gives direct write access to the 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. Note: This class is a copy from the BusEvent class
    Author:
    Kai Kreuzer - Initial contribution, Jan N. Klug - Refactored to interface
    • Method Detail

      • sendCommand

        @Nullable Object sendCommand​(@Nullable Item item,
                                     @Nullable 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

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

        @Nullable Object sendCommand​(@Nullable String itemName,
                                     @Nullable 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

        @Nullable Object sendCommand​(@Nullable Item item,
                                     @Nullable 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

        @Nullable Object postUpdate​(@Nullable Item item,
                                    @Nullable 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

        @Nullable Object postUpdate​(@Nullable Item item,
                                    @Nullable String stateAsString)
        Posts a status update for a specified item to the event bus.
        Parameters:
        item - the item to send the status update for
        stateAsString - the new state of the item
      • postUpdate

        @Nullable Object postUpdate​(@Nullable String itemName,
                                    @Nullable String stateAsString)
        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
        stateAsString - the new state of the item
      • postUpdate

        @Nullable Object postUpdate​(@Nullable Item item,
                                    @Nullable State state)
        Posts a status update for a specified item to the event bus. t
        Parameters:
        item - the item to send the status update for
        state - the new state of the item
      • storeStates

        Map<Item,​State> storeStates​(Item @Nullable ... 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

        @Nullable Object restoreStates​(@Nullable 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
        Returns:
        null