2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.velux.internal.bridge;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.velux.internal.config.VeluxBridgeConfiguration;
17 import org.openhab.binding.velux.internal.things.VeluxExistingProducts;
18 import org.openhab.binding.velux.internal.things.VeluxExistingScenes;
21 * This interface is implemented by classes that deal with a specific Velux bridge and its configuration.
23 * <B>Configuration</B>
26 * <LI>{@link org.openhab.binding.velux.internal.config.VeluxBridgeConfiguration VeluxBridgeConfiguration}
27 * for specification by a specific Velux bridge,</LI>
33 * Two methods for bridge-internal configuration retrieval:
35 * <LI>{@link #existingProducts}
36 * for retrieving scene information,</LI>
37 * <LI>{@link #existingScenes}
38 * for retrieving product information.</LI>
41 * @see VeluxBridgeProvider
43 * @author Guenther Schreiner - Initial contribution
46 public interface VeluxBridgeInstance {
49 * Bridge configuration
51 * @return VeluxBridgeConfiguration containing all bridge configuration settings.
53 VeluxBridgeConfiguration veluxBridgeConfiguration();
56 * Information retrieved by {@link org.openhab.binding.velux.internal.bridge.VeluxBridgeActuators#getProducts}
58 * @return VeluxExistingProducts containing all registered products, or <B>null</B> in case of any error.
60 VeluxExistingProducts existingProducts();
63 * Information retrieved by {@link org.openhab.binding.velux.internal.bridge.VeluxBridgeScenes#getScenes}
65 * @return VeluxExistingScenes containing all registered scenes, or <B>null</B> in case of any error.
67 VeluxExistingScenes existingScenes();