| ipAddress | text | IP address of the device | N/A | yes | no |
| keystore | text | Location of the Java Keystore | N/A | no | no |
| keystorePassword | text | Password of the Java Keystore | N/A | no | no |
+| gtvEnabled | boolean | Enable/Disable the GoogleTV protocol | true | no | no |
```java
Thing androidtv:shieldtv:livingroom [ ipAddress="192.168.1.2" ]
// List of all config properties
public static final String PROPERTY_IP_ADDRESS = "ipAddress";
+ public static final String PROPERTY_GTV_ENABLED = "gtvEnabled";
// List of all static String literals
public static final String PIN_REQUEST = "REQUEST";
GoogleTVConfiguration googletvConfig = getConfigAs(GoogleTVConfiguration.class);
String ipAddress = googletvConfig.ipAddress;
+ boolean gtvEnabled = googletvConfig.gtvEnabled;
if (ipAddress.isBlank()) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
return;
}
- googletvConnectionManager = new GoogleTVConnectionManager(this, googletvConfig);
+ if (THING_TYPE_GOOGLETV.equals(thingTypeUID) || gtvEnabled) {
+ googletvConnectionManager = new GoogleTVConnectionManager(this, googletvConfig);
+ }
if (THING_TYPE_SHIELDTV.equals(thingTypeUID)) {
ShieldTVConfiguration shieldtvConfig = getConfigAs(ShieldTVConfiguration.class);
shieldtvConnectionManager.handleCommand(channelUID, command);
return;
}
+ } else if (googletvConnectionManager == null) {
+ shieldtvConnectionManager.handleCommand(channelUID, command);
+ return;
}
}
public boolean shim;
public boolean shimNewKeys;
public String mode = "";
+ public boolean gtvEnabled;
}
thing-type.config.androidtv.googletv.delay.label = Delay
thing-type.config.androidtv.googletv.delay.description = Delay between messages
+thing-type.config.androidtv.googletv.gtvEnabled.label = Enable GoogleTV
+thing-type.config.androidtv.googletv.gtvEnabled.description = Enable the GoogleTV Protocol
thing-type.config.androidtv.googletv.heartbeat.label = Heartbeat Frequency
thing-type.config.androidtv.googletv.heartbeat.description = Frequency of heartbeats
thing-type.config.androidtv.googletv.ipAddress.label = Hostname
thing-type.config.androidtv.googletv.reconnect.description = Delay between reconnection attempts
thing-type.config.androidtv.shieldtv.delay.label = Delay
thing-type.config.androidtv.shieldtv.delay.description = Delay between messages
+thing-type.config.androidtv.shieldtv.gtvEnabled.label = Enable GoogleTV
+thing-type.config.androidtv.shieldtv.gtvEnabled.description = Enable the GoogleTV Protocol
thing-type.config.androidtv.shieldtv.heartbeat.label = Heartbeat Frequency
thing-type.config.androidtv.shieldtv.heartbeat.description = Frequency of heartbeats
thing-type.config.androidtv.shieldtv.ipAddress.label = Hostname
channel-type.androidtv.player.description = Player Control
# custom thing status
+
offline.protocols-starting = Protocols Starting
offline.googletv-address-not-specified = googletv address not specified
offline.shieldtv-address-not-specified = shieldtv address not specified
offline.user-forced-pin-process = User Forced PIN Process
offline.unknown = Unknown
online.online = Online
-
<description>Delay between messages</description>
<default>0</default>
</parameter>
+ <parameter name="gtvEnabled" type="boolean">
+ <label>Enable GoogleTV</label>
+ <description>Enable the GoogleTV Protocol</description>
+ <default>true</default>
+ </parameter>
</config-description>
</thing-type>
<description>Delay between messages</description>
<default>0</default>
</parameter>
+ <parameter name="gtvEnabled" type="boolean">
+ <label>Enable GoogleTV</label>
+ <description>Enable the GoogleTV Protocol</description>
+ <default>true</default>
+ </parameter>
</config-description>
</thing-type>