                         os_log("%{PUBLIC}@ ", log: .default, type: .error, error.localizedDescription)
                     }
                 }
+
             case let .failure(error):
-                os_log("%{PUBLIC}@", log: .default, type: .error, error.localizedDescription)
+                if self.lastUrlConnected == OpenHABItemCache.URL_LOCAL {
+                    self.localUrlFailed = true
+                    os_log("%{PUBLIC}@ ", log: .default, type: .info, error.localizedDescription)
+                    self.reload(name: name, completion: completion) // try remote
+
+                } else {
+                    os_log("%{PUBLIC}@ ", log: .default, type: .error, error.localizedDescription)
+                }
             }
         }
     }

            NetworkConnection.initialize(ignoreSSL: Preferences.ignoreSSL, adapter: nil)
        }

        NetworkConnection.load(from: uurl!) { response in
            switch response.result {
            case .success:
                if let data = response.result.value {

            NetworkConnection.initialize(ignoreSSL: Preferences.ignoreSSL, adapter: nil)
        }

        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 {
