2 * Copyright (c) 2010-2022 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.sonyaudio.internal.handler;
15 import org.eclipse.jetty.websocket.client.WebSocketClient;
16 import org.openhab.core.library.types.StringType;
17 import org.openhab.core.thing.Thing;
18 import org.openhab.core.types.Command;
21 * The {@link HtZ9fHandler} is responsible for handling commands for HT-Z9F, which are
22 * sent to one of the channels.
24 * @author David Ã…berg - Initial contribution
26 public class HtZ9fHandler extends SonyAudioHandler {
28 public HtZ9fHandler(Thing thing, WebSocketClient webSocketClient) {
29 super(thing, webSocketClient);
33 public String setInputCommand(Command command) {
34 switch (command.toString().toLowerCase()) {
36 return "extInput:btAudio";
40 return "extInput:hdmi?port=1";
42 return "extInput:hdmi?port=2";
44 return "extInput:line";
46 return "storage:usb1";
52 return command.toString();
56 public StringType inputSource(String input) {
57 String in = input.toLowerCase();
58 if (in.contains("extinput:btaudio".toLowerCase())) {
59 return new StringType("btaudio");
61 if (in.contains("extinput:tv".toLowerCase())) {
62 return new StringType("tv");
64 if (in.contains("extinput:hdmi?port=1".toLowerCase())) {
65 return new StringType("hdmi1");
67 if (in.contains("extinput:hdmi?port=2".toLowerCase())) {
68 return new StringType("hdmi2");
70 if (in.contains("extinput:line".toLowerCase())) {
71 return new StringType("analog");
73 if (in.contains("storage:usb1".toLowerCase())) {
74 return new StringType("usb");
76 if (in.contains("dlna:music".toLowerCase())) {
77 return new StringType("network");
79 if (in.contains("cast:audio".toLowerCase())) {
80 return new StringType("cast");
82 return new StringType(input);