2 * Copyright (c) 2010-2021 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.nhc2;
15 import java.util.List;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
21 * {@link NhcDevice2} represents a Niko Home Control II device. It is used when parsing the device response json and
22 * when creating the state update json to send to the Connected Controller.
24 * @author Mark Herwege - Initial Contribution
28 static class NhcProperty {
45 // fields for thermostats and hvac
47 String setpointTemperature;
51 String overruleActive;
53 String overruleSetpoint;
63 String ambientTemperature;
70 // fields for fans and ventilation
73 // fields for electricity metering
75 String electricalEnergy;
77 String electricalPower;
79 String reportInstantUsage;
80 // fields for access control
85 static class NhcTrait {
88 // fields for energyMeters metering
95 static class NhcParameter {
102 // fields for electricity metering
115 String technology = "";
116 String identifier = "";
121 List<NhcProperty> properties;
123 List<NhcTrait> traits;
125 List<NhcParameter> parameters;