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.nikohomecontrol.internal.protocol.nhc1;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
19 * Class {@link NhcMessageCmd1} used as input to gson to send commands to Niko Home Control. Extends
20 * {@link NhcMessageBase1}.
22 * Example: <code>{"cmd":"executeactions","id":1,"value1":0}</code>
24 * @author Mark Herwege - Initial Contribution
26 @SuppressWarnings("unused")
28 class NhcMessageCmd1 extends NhcMessageBase1 {
30 private @Nullable Integer id;
31 private @Nullable Integer value1;
32 private @Nullable Integer value2;
33 private @Nullable Integer value3;
34 private @Nullable Integer mode;
35 private @Nullable Integer overrule;
36 private @Nullable String overruletime;
38 NhcMessageCmd1(String cmd) {
42 NhcMessageCmd1(String cmd, int id) {
47 NhcMessageCmd1(String cmd, int id, int value1) {
52 NhcMessageCmd1(String cmd, int id, int value1, int value2, int value3) {
53 this(cmd, id, value1);
58 NhcMessageCmd1 withMode(int mode) {
63 NhcMessageCmd1 withOverrule(int overrule) {
64 this.overrule = overrule;
68 NhcMessageCmd1 withOverruletime(String overruletime) {
69 this.overruletime = overruletime;