/** * 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.heatmiser; import java.util.List; import org.openhab.binding.heatmiser.internal.thermostat.HeatmiserThermostat.Functions; import org.openhab.core.binding.BindingProvider; import org.openhab.core.items.Item; /** * Heatmiser binding provider * * @author Chris Jackson * @since 1.3.0 */ public interface HeatmiserBindingProvider extends BindingProvider { /** * Returns a list of all items at the specified thermostat address * * @param addr * Thermostat address * @return List<String> of items */ public List<String> getBindingItemsAtAddress(int addr); /** * Get the thermostat function linked to the thermostat item. * * @param itemName * The item to which the function is required * @return The Function */ public Functions getFunction(String itemName); /** * Get the thermostat address associated with a specified item name * * @param itemName * The item whose thermostat address is required * @return The Heatmiser network thermostat address */ public int getAddress(String itemName); /** * Get the item type for the specified item * * @param itemName * The item whose type is required * @return The openHAB class type */ public Class<? extends Item> getItemType(String itemName); }