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.mielecloud.internal.webservice;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.mielecloud.internal.webservice.api.json.ProcessAction;
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
21 * Implementation of {@link MieleWebservice} that serves as a replacement when no webservice is available.
23 * @author Björn Lange - Initial Contribution
26 public final class UnavailableMieleWebservice implements MieleWebservice {
27 public static final UnavailableMieleWebservice INSTANCE = new UnavailableMieleWebservice();
29 private final Logger logger = LoggerFactory.getLogger(this.getClass());
31 private UnavailableMieleWebservice() {
35 public void setAccessToken(String accessToken) {
36 logger.warn("Cannot set access token: The Miele cloud service is not available.");
40 public boolean hasAccessToken() {
41 logger.warn("There is no access token: The Miele cloud service is not available.");
46 public void connectSse() {
47 logger.warn("Cannot connect to SSE stream: The Miele cloud service is not available.");
51 public void disconnectSse() {
52 logger.warn("Cannot disconnect from SSE stream: The Miele cloud service is not available.");
56 public void fetchActions(String deviceId) {
57 logger.warn("Cannot fetch actions for device '{}': The Miele cloud service is not available.", deviceId);
61 public void putProcessAction(String deviceId, ProcessAction processAction) {
62 logger.warn("Cannot perform '{}' operation for device '{}': The Miele cloud service is not available.",
63 processAction, deviceId);
67 public void putLight(String deviceId, boolean enabled) {
68 logger.warn("Cannot set light state to '{}' for device '{}': The Miele cloud service is not available.",
69 enabled ? "ON" : "OFF", deviceId);
73 public void putPowerState(String deviceId, boolean enabled) {
74 logger.warn("Cannot set power state to '{}' for device '{}': The Miele cloud service is not available.",
75 enabled ? "ON" : "OFF", deviceId);
79 public void putProgram(String deviceId, long programId) {
80 logger.warn("Cannot activate program with ID '{}' for device '{}': The Miele cloud service is not available.",
85 public void logout() {
86 logger.warn("Cannot logout: The Miele cloud service is not available.");
90 public void dispatchDeviceState(String deviceIdentifier) {
91 logger.warn("Cannot re-emit device state for device '{}': The Miele cloud service is not available.",
96 public void addDeviceStateListener(DeviceStateListener listener) {
97 logger.warn("Cannot add listener for all devices: The Miele cloud service is not available.");
101 public void removeDeviceStateListener(DeviceStateListener listener) {
102 logger.warn("Cannot remove listener: The Miele cloud service is not available.");
106 public void addConnectionStatusListener(ConnectionStatusListener listener) {
107 logger.warn("Cannot add connection error listener: The Miele cloud service is not available.");
111 public void removeConnectionStatusListener(ConnectionStatusListener listener) {
112 logger.warn("Cannot remove listener: The Miele cloud service is not available.");
116 public void close() throws Exception {