/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.ebus;
import java.util.List;
import org.openhab.core.binding.BindingProvider;
/**
* This interface can parse information from the binding format and provides eBus
* binding informations.
*
* @author Christian Sowada
* @since 1.7.0
*/
public interface EBusBindingProvider extends BindingProvider {
public String getSet(String itemName);
/**
* Return the configurated command for this item or null if not set
*
* @param itemName The openhab item name
* @return The value or null
*/
public String getCommand(String itemName);
/**
* Return the configurated id for this item or null if not set
*
* @param itemName The openhab item name
* @return The value or null
*/
public String getId(String itemName);
/**
* Return the item name for the ebus id
*
* @param id The ebus id (see ebus-configuration.json)
* @return The openhab item names
*/
public List<String> getItemNames(String id);
/**
* Return the refresh rate for a polling commands
*
* @param itemName
* @return The value or null
*/
public int getRefreshRate(String itemName);
/**
* Return the byte data to send
*
* @param itemName The itemName
* @return data or null
*/
public byte[] getTelegramData(String itemName);
/**
* Return the byte data to send for a type
*
* @param itemName
* @param type
* @return
*/
public byte[] getTelegramData(String itemName, String type);
/**
* Return the configurated destination for this item or null if not set
*
* @param itemName
* @return
*/
public Byte getTelegramDestination(String itemName);
/**
* Return the configurated source for this item or null if not set
*
* @param itemName
* @return
*/
public Byte getTelegramSource(String itemName);
}