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.tibber.internal.handler;
15 import java.io.ByteArrayInputStream;
16 import java.io.InputStream;
17 import java.nio.charset.StandardCharsets;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
22 * The {@link TibberPriceConsumptionHandler} class contains fields mapping price info parameters.
24 * @author Stian Kjoglum - Initial contribution
27 public class TibberPriceConsumptionHandler {
29 public InputStream connectionInputStream(String homeId) {
30 String connectionquery = "{\"query\": \"{viewer {home (id: \\\"" + homeId + "\\\") {id }}}\"}";
31 return new ByteArrayInputStream(connectionquery.getBytes(StandardCharsets.UTF_8));
34 public InputStream getInputStream(String homeId) {
35 String query = "{\"query\": \"{viewer {home (id: \\\"" + homeId
36 + "\\\") {currentSubscription {priceInfo {current {total startsAt level } tomorrow { startsAt total } today { startsAt total }}} daily: consumption(resolution: DAILY, last: 1) {nodes {from to cost unitPrice consumption consumptionUnit}} hourly: consumption(resolution: HOURLY, last: 1) {nodes {from to cost unitPrice consumption consumptionUnit}}}}}\"}";
37 return new ByteArrayInputStream(query.getBytes(StandardCharsets.UTF_8));
40 public InputStream getRealtimeInputStream(String homeId) {
41 String realtimeenabledquery = "{\"query\": \"{viewer {home (id: \\\"" + homeId
42 + "\\\") {features {realTimeConsumptionEnabled }}}}\"}";
43 return new ByteArrayInputStream(realtimeenabledquery.getBytes(StandardCharsets.UTF_8));
46 public InputStream getWebsocketUrl() {
47 String websocketquery = "{\"query\": \"{viewer {websocketSubscriptionUrl }}\"}";
48 return new ByteArrayInputStream(websocketquery.getBytes(StandardCharsets.UTF_8));