2 * Copyright (c) 2010-2024 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;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
18 * The {@link NikoHomeControlConstants} class defines common constants used in the Niko Home Control communication.
20 * @author Mark Herwege - Initial Contribution
23 public class NikoHomeControlConstants {
25 // Action types abstracted from NhcI and NhcII action types
26 public enum ActionType {
34 // Access control types abstracted from NhcI and NhcII access control types
35 public static enum AccessType {
42 // Meter types abstracted from NhcI and NhcII meter types
43 public static enum MeterType {
51 // switch and dimmer constants in the Nhc layer
52 public static final String NHCON = "On";
53 public static final String NHCOFF = "Off";
55 public static final String NHCTRUE = "True";
56 public static final String NHCFALSE = "False";
58 public static final String NHCTRIGGERED = "Triggered";
60 // rollershutter constants in the Nhc layer
61 public static final String NHCDOWN = "Down";
62 public static final String NHCUP = "Up";
63 public static final String NHCSTOP = "Stop";
65 // doorlock, bell and video constants in the Nhc layer
66 public static final String NHCOPEN = "Open";
67 public static final String NHCCLOSED = "Closed";
68 public static final String NHCIDLE = "Idle";
69 public static final String NHCRINGING = "Ringing";
70 public static final String NHCACTIVE = "Active";
72 // NhcII thermostat modes
73 public static final String[] THERMOSTATMODES = { "Day", "Night", "Eco", "Off", "Cool", "Prog1", "Prog2", "Prog3" };
74 public static final String[] THERMOSTATDEMAND = { "Cooling", "None", "Heating" };