class TvChannel {
Values tvChannel;
Values tvChannelName;
+
+ public String getChannelNum() {
+ return Optional.ofNullable(tvChannel).map(a -> a.value).orElse("");
+ }
}
class Values {
}
public Number getTvChannel() {
- return Optional.ofNullable(tvChannel).map(a -> a.tvChannel).map(a -> a.value).filter(i -> !i.isBlank())
- .map(j -> parseTVChannel(j)).orElse(-1f);
+ return Optional.ofNullable(tvChannel).map(a -> a.getChannelNum()).map(j -> parseTVChannel(j)).orElse(-1f);
}
public String getTvChannelName() {
public Number getTvChannel() {
if (getCapabilityAttribute("tvChannel", "tvChannel")) {
- return Optional.ofNullable(deviceEvent).map(a -> a.getValue()).filter(i -> !i.isBlank())
- .map(j -> parseTVChannel(j)).orElse(-1f);
+ return Optional.ofNullable(deviceEvent).map(a -> a.getValue()).map(j -> parseTVChannel(j)).orElse(-1f);
}
- return -1;
+ return -1f;
}
public String getTvChannelName() {
}
}
- public Number parseTVChannel(@Nullable String channel) {
+ public static Number parseTVChannel(@Nullable String channel) {
try {
- return channel != null
- ? Float.parseFloat(
- channel.replaceAll("\\D+", ".").replaceFirst("^\\D*((\\d+\\.\\d+)|(\\d+)).*", "$1"))
- : -1f;
+ return (channel == null || channel.isBlank()) ? -1f
+ : Float.parseFloat(
+ channel.replaceAll("\\D+", ".").replaceFirst("^\\D*((\\d+\\.\\d+)|(\\d+)).*", "$1"));
} catch (NumberFormatException ignore) {
}
- return -1;
+ return -1f;
}
public void updateTV() {
}
Number tvChannel = d.getTvChannel();
if (tvChannel.intValue() != -1) {
+ logger.trace("{}: SSE Got TV Channel: {}", host, tvChannel);
updateState(CHANNEL, tvChannel);
- String tvChannelName = d.getTvChannelName();
- logger.trace("{}: SSE Got TV Channel Name: {} Channel: {}", host, tvChannelName,
- tvChannel);
+ }
+ String tvChannelName = d.getTvChannelName();
+ if (!tvChannelName.isBlank()) {
+ logger.trace("{}: SSE Got TV Channel Name: {}", host, tvChannelName);
updateState(CHANNEL_NAME, tvChannelName);
}
String Power = d.getSwitch();