]> git.basschouten.com Git - openhab-addons.git/blob
0b6af8ad7dcae8852aa5d5b438783b3baa368c10
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.velux.internal.bridge;
14
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;
19
20 /**
21  * This interface is implemented by classes that deal with a specific Velux bridge and its configuration.
22  * <P>
23  * <B>Configuration</B>
24  * </P>
25  * <UL>
26  * <LI>{@link org.openhab.binding.velux.internal.config.VeluxBridgeConfiguration VeluxBridgeConfiguration}
27  * for specification by a specific Velux bridge,</LI>
28  * </UL>
29  *
30  * <P>
31  * <B>Status</B>
32  * </P>
33  * Two methods for bridge-internal configuration retrieval:
34  * <UL>
35  * <LI>{@link #existingProducts}
36  * for retrieving scene information,</LI>
37  * <LI>{@link #existingScenes}
38  * for retrieving product information.</LI>
39  * </UL>
40  *
41  * @see VeluxBridgeProvider
42  *
43  * @author Guenther Schreiner - Initial contribution
44  */
45 @NonNullByDefault
46 public interface VeluxBridgeInstance {
47
48     /**
49      * Bridge configuration
50      *
51      * @return VeluxBridgeConfiguration containing all bridge configuration settings.
52      */
53     VeluxBridgeConfiguration veluxBridgeConfiguration();
54
55     /**
56      * Information retrieved by {@link org.openhab.binding.velux.internal.bridge.VeluxBridgeActuators#getProducts}
57      *
58      * @return VeluxExistingProducts containing all registered products, or <B>null</B> in case of any error.
59      */
60     VeluxExistingProducts existingProducts();
61
62     /**
63      * Information retrieved by {@link org.openhab.binding.velux.internal.bridge.VeluxBridgeScenes#getScenes}
64      *
65      * @return VeluxExistingScenes containing all registered scenes, or <B>null</B> in case of any error.
66      */
67     VeluxExistingScenes existingScenes();
68 }