             NetworkConnection.initialize(ignoreSSL: Preferences.ignoreSSL, adapter: nil)
         }
 
-        NetworkConnection.load(from: uurl!) { response in
+        var timeout = 10.0
+        if lastUrlConnected == OpenHABItemCache.URL_LOCAL {
+            timeout = 5.0
+        }
+
+        NetworkConnection.load(from: uurl!, timeout: timeout) { response in
             switch response.result {
             case .success:
                 if let data = response.result.value {

                    }
                }
            case let .failure(error):
                os_log("%{PUBLIC}@", log: .default, type: .error, error.localizedDescription)
            }
        }
    }

    func getURL() -> URL? {
        var uurl: URL?

        if Preferences.demomode {
            uurl = Endpoint.items(openHABRootUrl: "http://demo.openhab.org:8080").url
            url = uurl?.absoluteString ?? "unknown"
            lastUrlConnected = OpenHABItemCache.URL_DEMO

        } else {
            if localUrlFailed {
                uurl = Endpoint.items(openHABRootUrl: Preferences.remoteUrl).url
                url = uurl?.absoluteString ?? "unknown"
                lastUrlConnected = OpenHABItemCache.URL_REMOTE

            } else {
                uurl = Endpoint.items(openHABRootUrl: Preferences.localUrl).url
                url = uurl?.absoluteString ?? "unknown"
                lastUrlConnected = OpenHABItemCache.URL_LOCAL
            }
        }

        return uurl
