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.hue.internal.api.dto.clip1;
15 import java.lang.reflect.Type;
16 import java.time.Duration;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.eclipse.jdt.annotation.Nullable;
22 import com.google.gson.reflect.TypeToken;
25 * Detailed light information.
27 * @author Q42 - Initial contribution
28 * @author Thomas Höfer - added unique id and changed range check for brightness and saturation
29 * @author Denis Dudnik - moved Jue library source code inside the smarthome Hue binding
30 * @author Samuel Leisering - added GSon Type to FullLight, refactored content to {@link FullHueObject}
33 public class FullLight extends FullHueObject {
34 public static final Type GSON_TYPE = new TypeToken<Map<String, FullLight>>() {
37 public @Nullable Capabilities capabilities;
38 private @NonNullByDefault({}) State state;
39 private final long fadetime = 400; // milliseconds
42 * Returns the current state of the light.
44 * @return current state
46 public State getState() {
50 public Duration getFadeTime() {
51 return Duration.ofMillis(fadetime);