import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.netatmo.internal.api.data.ModuleType;
+import org.openhab.binding.netatmo.internal.api.data.NetatmoConstants.VideoStatus;
import org.openhab.binding.netatmo.internal.api.dto.Event;
import org.openhab.binding.netatmo.internal.api.dto.HomeEvent;
import org.openhab.binding.netatmo.internal.api.dto.NAObject;
case CHANNEL_EVENT_VIDEO_STATUS:
return homeEvent.getVideoId() != null ? toStringType(homeEvent.getVideoStatus()) : UnDefType.NULL;
case CHANNEL_EVENT_VIDEO_LOCAL_URL:
- return getStreamURL(true, homeEvent.getVideoId());
+ return getStreamURL(true, homeEvent.getVideoId(), homeEvent.getVideoStatus());
case CHANNEL_EVENT_VIDEO_VPN_URL:
- return getStreamURL(false, homeEvent.getVideoId());
+ return getStreamURL(false, homeEvent.getVideoId(), homeEvent.getVideoStatus());
}
}
return null;
}
- private State getStreamURL(boolean local, @Nullable String videoId) {
+ private State getStreamURL(boolean local, @Nullable String videoId, VideoStatus videoStatus) {
String url = local ? localUrl : vpnUrl;
- if ((local && !isLocal) || url == null || videoId == null) {
+ if ((local && !isLocal) || url == null || videoId == null || videoStatus != VideoStatus.AVAILABLE) {
return UnDefType.NULL;
}
return toStringType("%s/vod/%s/index.m3u8", url, videoId);