]> git.basschouten.com Git - openhab-addons.git/blob
4e7ae46447213130cfe629ebab277575a0f482c0
[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.common;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16
17 /**
18  * <B>Common bridge communication message scheme supported by the </B><I>Velux</I><B> bridge.</B>
19  * <P>
20  * Message semantic will be defined by the implementations according to the different comm paths.
21  * <P>
22  * In addition to the common methods defined by {@link BridgeCommunicationProtocol}
23  * each protocol-specific implementation has to provide the following methods:
24  * <UL>
25  * <LI>{@link #setActuatorIdAndLimitationType} for defining the intended actuator and the query type.
26  * <LI>{@link #getLimitation} for accessing the retrieved information.
27  * </UL>
28  *
29  * @see BridgeCommunicationProtocol
30  *
31  * @author Guenther Schreiner - Initial contribution.
32  */
33 @NonNullByDefault
34 public abstract class GetProductLimitation implements BridgeCommunicationProtocol {
35
36     /**
37      * Set the intended node identifier to be queried
38      *
39      * @param nodeId Gateway internal node identifier (zero to 199).
40      * @param getLimitationMinimum true, if we query for Minimum.
41      */
42     public abstract void setActuatorIdAndLimitationType(int nodeId, boolean getLimitationMinimum);
43
44     /**
45      * <B>Retrieval of information about the selected product</B>
46      *
47      * @return <b>limitation</b> as int.
48      */
49     public abstract int getLimitation();
50 }