HI everyone - so a few people have been having issues with Shinobi and after a bit of messing around here is my successful install (on docker)
so been using Shinobi for a week now (quite a few different builds, but finally found one that works and VERY well too)
they also havent yet documented their Monitor states (set a custom mode like armed, that turns all cameras and motion detector on, or disarmed that sets all cameras motion detectors off)
So here is what i used for a docker set up on Synology…
Using this repo from Gitlab I cloned it
BUT i notice the image was pointing to the dev-microservices
build - so i modified that in the docker-compose.yaml to use this:
image: migoller/shinobidocker:microservice-debian
it builds a separated db image and shinobi image.
keep an eye on the docker log, and once shinobi is ready goto:
http://<hostIP>:8080/super
use
username: [email protected]
password: admin
then create a new user account.
navigate http://<hostIP>:8080
and log in with the new account creds.
Add your monitors and use default settings.
In the Stream
section use MJPEG
Then in the Global Detector Settings
Enabled = Yes
use defaults, but set indifference to say 2 or 3
Set save to SQL as yes
create regions (save at this point)
Wait for the monitor to update and then go back into settings.
under Motion Detection
there is a section to send GET or send command (use as needed to tell HA motion) ie sent to Node-red or HA input_boolean.
Finally under Traditional Recording
set the video encoder to copy
[this will fix the issue where motion wasnt actually being recorded]
Now the ‘New’ monitor state - do this AFTER you have all your monitors set up
click on your username in the top left and click Monitors` and you'll see a list of monitors (and most importantly the URLs - copy the URL to your code editor). now the first part after the port is
API Key, the part after /mjpeg/ is the
group key``
ie:
http://192.168.1.31:8080/EtyFt0ylv3HQ2ZQzZBhWzDPxsv0NyN/mjpeg/x5Us8AVw59
API Key = EtyFt0ylv3HQ2ZQzZBhWzDPxsv0NyN
Group Key = x5Us8AVw59
To build the url to tell Shinobi what to do in a monitor state first set modes of the monitors within this state:
{
"monitors": [
{
"mid": "monitor1",
"mode": "start",
"details": {
"detector": "1"
}
},
{
"mid": "monitor2",
"mode": "stop"
}
]
}
start
= WatchOnly (motion triggered if enabled)
stop
= disabled
record
= continual recording
detector: 0
= motion detection OFF
detector: 1
= motion detection ON
then you chose the name of the monitor state = [NAME OF STATE]
you can then use delete
or insert
(where insert
is also used to modify``
So all assembled URL is:
http://192.168.1.31:8080/EtyFt0ylv3HQ2ZQzZBhWzDPxsv0NyN/monitorStates/x5Us8AVw59/[NAME_OF_STATE]/insert?data={“monitors”:[{“mid”:“monitor1”,“mode”:“start”,“details”:{“detector”:“1”}},{“mid”:“monitor2”,“mode”:“stop”}]}
if you forget or lose track of your monitor states you can get a list by using this url:
http://192.168.1.31:8080/EtyFt0ylv3HQ2ZQzZBhWzDPxsv0NyN/monitorStates/x5Us8AVw59
Hope this helps folks