]> git.basschouten.com Git - openhab-addons.git/blob
f9fa9fbbcfc091f9e035b319848a32a560d3f0b6
[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 import org.eclipse.jdt.annotation.Nullable;
17 import org.openhab.binding.velux.internal.bridge.slip.FunctionalParameters;
18 import org.openhab.binding.velux.internal.things.VeluxProductPosition;
19
20 /**
21  * <B>Common bridge communication message scheme supported by the </B><I>Velux</I><B> bridge.</B>
22  * <P>
23  * Message semantic will be defined by the implementations according to the different comm paths.
24  * <P>
25  * In addition to the common methods defined by {@link BridgeCommunicationProtocol}
26  * each protocol-specific implementation has to provide the following methods:
27  * <UL>
28  * <LI>{@link #setNodeIdAndParameters} for defining the intended node and the main parameter value.
29  * </UL>
30  *
31  * @see BridgeCommunicationProtocol
32  *
33  * @author Guenther Schreiner - Initial contribution.
34  */
35 @NonNullByDefault
36 public abstract class RunProductCommand implements BridgeCommunicationProtocol {
37
38     /**
39      * Modifies the state of an actuator
40      *
41      * @param nodeId Gateway internal actuator identifier (zero to 199).
42      * @param mainParameter target device state.
43      * @param functionalParameters the target Functional Parameters.
44      * @return true if the method succeeds
45      */
46     public abstract boolean setNodeIdAndParameters(int nodeId, @Nullable VeluxProductPosition mainParameter,
47             @Nullable FunctionalParameters functionalParameters);
48 }