Custom component: Shinobi Video

I think I know the reason why the command does not work but don’t know how to fix it. The command works for an ONVIF camera. The one that I would like to control is non-ONVIF. I am simply using RTP. I would not have thought the device type would matter as calling the API is effectively updating a config in the database ?? I think it’s a shinobi issue??

Even in the shinobi UI (bottom menu) , changing the mode there does not work for any of my non-onvif cameras. The only to change the mode is in the monitor configuration.

The command is related to Shinobi, not the camera itself, that is weird but will try it over the weekend,
For me it controls all camera with or without onvif,
Regarding the installation, I guess you are working with the master branch, to verify that it is supporting latest api, can you please post a screenshot of the login page (dashboard v2/v3)?

Thanks

Attached few screenshots…

tempsnip
login.PNG
Capture
Capture2.PNG

thanks for the screenshots, will look at it during the weekend

Shinobi crashed the PC after a while and only then that I noticed that CPU was on continuous 100% utilization. Don’t understand why when all I was doing was recording… I have disabled everything else (at least the ones that can be disabled in the UI). I ended up jumping ship to frigate. While there is no GUI for configuration, it’s not as difficult as I thought. I would have preferred a solution with a good configuration UI for other users in the house who don’t understand YAML files.

Shinobi sever or the component?
I’m the developer that wrote the integration not the server

The server, not the integration (and yes I understand you’re not the author of Shinobi server) … and really appreciate your help.

Pls write in discord channel of Shinobi, i’m there also, will try to assist

Hi, sorry for the delay in response other projects took over… you know how it goes!

Here’s the log entries when trying to retrieve the api key:

This error originated from a custom integration.

Logger: custom_components.shinobi.component.api.api
Source: custom_components/shinobi/component/api/api.py:149
Integration: Shinobi Video NVR (documentation, issues)
First occurred: 3 March 2023 at 21:57:18 (27 occurrences)
Last logged: 06:28:38

Failed to post JSON to {base_url}?json=true, HTTP Status: Not Found (404)
Failed to post JSON to {base_url}?json=true, Error: Cannot connect to host 192.168.1.41:80 ssl:False [Connect call failed ('192.168.1.41', 80)], Line: 207
Failed to post JSON to {base_url}?json=true, Error: http://192.168.1.41:80 ?json=true, Line: 207
Failed to post JSON to {base_url}?json=true, Error: http://192.168.1.41:8080 ?json=true, Line: 207
Invalid response while trying to get API keys, Payload: {'ok': False, 'msg': 'Not Authorized'}

It states Invalid credentials but these are exactly what I use to access the platform:

Logger: custom_components.shinobi.config_flow
Source: custom_components/shinobi/config_flow.py:69
Integration: Shinobi Video NVR (documentation, issues)
First occurred: 3 March 2023 at 21:57:05 (16 occurrences)
Last logged: 06:28:38

Failed to create integration, Error: invalid_admin_credentials
Failed to create integration, Error: missing_permanent_api_key
Failed to create integration, Error: invalid_server_details

The shinobi application is hosted on an ubuntu dedicated server so nothing special here…

Home assistant hosted on a dedicated mini pc… so again nothing special here with the exception of SSL enabled via duckdns add on… not sure if this would have anything to do with it as other apps are fine none https that is.

A screenshot of the integration:

I’ll keep trying with it as it seems the issue may not be to do with the integration but rather my set up

Thanks for the support

Can you please provide more details? Logs with debug level and installation method of Shinobi and version of it.

Thanks

I’m building a new dedicated Shinobi server (the old one was on docker). If I try to switch the server in the integration it doesn’t show any devices on the new server. Cam settings are identical including JPEG API enabled in camera settings.
Tried deleting the integration, redownload in HACS with no effect.
Switching back to the old shinobi server show the old cams.
Do I need to edit some files in home-assistant?

Do you have error / warning messages in HA logs?
Is the url / port is the same?

Thanks

url has changed. new server new IP

After a reload of the integration this is in the log

2023-03-28 20:59:23.469 INFO (MainThread) [custom_components.shinobi.core.api.base_api] Performing login
2023-03-28 20:59:23.469 INFO (MainThread) [custom_components.shinobi.component.managers.home_assistant] WS Status changed to Connecting, API Status: Connected
2023-03-28 20:59:23.481 INFO (MainThread) [custom_components.shinobi.component.managers.home_assistant] WS Status changed to Connected, API Status: Connected
2023-03-28 20:59:23.481 INFO (MainThread) [custom_components.shinobi.component.api.websocket] Starting to listen connected
2023-03-28 21:00:08.484 INFO (MainThread) [custom_components.shinobi.component.managers.home_assistant] WS Status changed to NotConnected, API Status: Connected

According to logs all connected, no errors,
Can you send diagnostics info in private (containing sensitive details)?

Thanks

I am looking for an easy way to switch between the live image and the recordings via a dashboard / card.

A card that displays the live image and when clicking on it displays all recordings for selection and when clicking on this recording is displayed would be nice. Is there such a thing and if so, what is it called?

I guess you would like that card to be for the specific camera as well,
I’m not familiar with that kind of card, what I can suggest is to use the hold/double click functionality of picture glance card to open the coorsponding URL of record media of the camera.