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.tibber.internal;
16 import java.util.stream.Collectors;
17 import java.util.stream.Stream;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.thing.ThingTypeUID;
23 * The {@link TibberBindingConstants} class defines common constants, which are
24 * used across the whole binding.
26 * @author Stian Kjoglum - Initial contribution
29 public class TibberBindingConstants {
31 public static final String BINDING_ID = "tibber";
32 public static final String JSON_CONTENT_TYPE = "application/json";
34 // Tibber base URL for queries and mutations
35 public static final String BASE_URL = "https://api.tibber.com/v1-beta/gql";
37 // Tibber driver version
38 public static final String TIBBER_DRIVER = "com.tibber/1.8.3";
40 // List of all Thing Type UIDs
41 public static final ThingTypeUID TIBBER_THING_TYPE = new ThingTypeUID(BINDING_ID, "tibberapi");
43 // List of all Channel ids - Used for queries
44 public static final String CURRENT_TOTAL = "current_total";
45 public static final String CURRENT_STARTSAT = "current_startsAt";
46 public static final String CURRENT_LEVEL = "current_level";
48 public static final String TODAY_PRICES = "today_prices";
49 public static final String TOMORROW_PRICES = "tomorrow_prices";
50 public static final String DAILY_FROM = "daily_from";
51 public static final String DAILY_TO = "daily_to";
52 public static final String DAILY_COST = "daily_cost";
53 public static final String DAILY_CONSUMPTION = "daily_consumption";
54 public static final String HOURLY_FROM = "hourly_from";
55 public static final String HOURLY_TO = "hourly_to";
56 public static final String HOURLY_COST = "hourly_cost";
57 public static final String HOURLY_CONSUMPTION = "hourly_consumption";
58 public static final String LIVE_TIMESTAMP = "live_timestamp";
59 public static final String LIVE_POWER = "live_power";
60 public static final String LIVE_LASTMETERCONSUMPTION = "live_lastMeterConsumption";
61 public static final String LIVE_LASTMETERPRODUCTION = "live_lastMeterProduction";
62 public static final String LIVE_ACCUMULATEDCONSUMPTION = "live_accumulatedConsumption";
63 public static final String LIVE_ACCUMULATEDCOST = "live_accumulatedCost";
64 public static final String LIVE_ACCUMULATEREWARD = "live_accumulatedReward";
65 public static final String LIVE_CURRENCY = "live_currency";
66 public static final String LIVE_MINPOWER = "live_minPower";
67 public static final String LIVE_AVERAGEPOWER = "live_averagePower";
68 public static final String LIVE_MAXPOWER = "live_maxPower";
69 public static final String LIVE_VOLTAGE1 = "live_voltage1";
70 public static final String LIVE_VOLTAGE2 = "live_voltage2";
71 public static final String LIVE_VOLTAGE3 = "live_voltage3";
72 public static final String LIVE_CURRENT1 = "live_current1";
73 public static final String LIVE_CURRENT2 = "live_current2";
74 public static final String LIVE_CURRENT3 = "live_current3";
75 public static final String LIVE_POWERPRODUCTION = "live_powerProduction";
76 public static final String LIVE_ACCUMULATEDPRODUCTION = "live_accumulatedProduction";
77 public static final String LIVE_MINPOWERPRODUCTION = "live_minPowerproduction";
78 public static final String LIVE_MAXPOWERPRODUCTION = "live_maxPowerproduction";
80 // Lift of all config ids
81 public static final String CONFIG_BRIDGE_TOKEN = "token";
82 public static final String CONFIG_BRIDGE_REFRESH = "refresh";
84 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Stream.of(TIBBER_THING_TYPE)
85 .collect(Collectors.toSet());