UVC camera, password optional but required (despite api-key config)?

I’m trying to add my UVC-G3 (with NVR running in a docker container on the same host as HA) to HA…but it seems to be complaining on the password not configured.

The docs say the config syntax is:

camera:
  - platform: uvc
    nvr: IP_ADDRESS
    key: API_KEY

With an optional password param. Since I am using the API key config, (and the user associated with the API key has admin rights for now), I was assuming I wouldnt need to specify the camera password?

But I keep getting:

2019-07-18 22:42:40 ERROR (SyncWorker_1) [homeassistant.components.uvc.camera] Unable to login to camera

In my logs…:frowning:

But the API key config seems still to be working, since I also get during boot:

2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/bootstrap?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/bootstrap?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] Server version is 3.10.6
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/camera?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/camera?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (SyncWorker_31) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED headers={'Content-Type': 'application/json', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, sdch'} data=None
2019-07-18 22:29:53 DEBUG (MainThread) [UVC(10.9.24.22:7080)] GET /api/2.0/camera/5d2f99f8e4b036ac6c4b8d48?apiKey=API_KEY_REDACTED Result: 200 OK
2019-07-18 22:29:53 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=camera.palantir, old_state=None, new_state=<state camera.palantir=idle; access_token=91eb7cb6774bf8e0ff3eb8cf3c8ec53654843b3b1f38de436ff3d668ebd2fb51, model_name=UVC G3, brand=Ubiquiti, motion_detection=True, friendly_name=palantir, entity_picture=/api/camera_proxy/camera.palantir?token=91eb7cb6774bf8e0ff3eb8cf3c8ec53654843b3b1f38de436ff3d668ebd2fb51, supported_features=0 @ 2019-07-18T22:29:53.580819+02:00>>

What my stupid mistake?

Br,
Taisto

Beliving that an OPTIONAL password means its not needed, since I’ve used the NVR API-key…but it seems that its only optional if you’ve changed it from the default “ubnt”…which of course is the first thing you should do.

But I cant really see the purpose of using both API key and password? What is the purpose of the API-KEY?