Full ALPR Database System for Blue Iris!

Wow so I figured it out what the issue was, thanks so much @PeteJ and everybody else who helped debug this. Originally, I was on 5.9.9.19 and the settings shown in post 933 did NOT work for me.
I then UPGRADED TO 5.9.9.44, adjusted my settings to post980, and it started working. So I downgraded back to 5.9.9.19 (last version available to my lifetime license, SMH), using these settings, same as post980 and it still works!

So, full set of instructions to my brethren struggling with this in this thread. Install the docker container via the website instructions, make sure you update the API key in the web interface.
You can run an MD5 check on the migrations.sql and schema.sql if you wish, mine matched the repository exactly but still gave me errors.

If you get this error
5/1/2025, 1:21:28 PM [ERROR] Error processing request: error: there is no unique or exclusion constraint matching the ON CONFLICT specification

Then run these commands in your docker (the db one, not the app one):
psql -d postgres -U postgres -f /docker-entrypoint-initdb.d/schema.sql
psql -d postgres -U postgres -f /docker-entrypoint-initdb.d/migrations.sql
which may then result in logs like these:
5/1/2025, 3:00:12 PM [ERROR] Error processing request: error: null value in column "plate_number" of relation "plate_reads" violates not-null constraint

Then make sure your AI Configuration, under AI settings in BlueIris are set to this, and it worked for me! Whew...
1746133421450.png
 
Why the *:30 in the "To confirm" field?

It sets the min confidence to 30, which overrides whatever it is set in the GUI in BI. I left it in while I was trouble shooting some issues where CPAI would return values that fall below the threshold (in my case it's 70% in CPAI) and it should have been rejected by BI, but BI sends it to ALPR. As odd as it sounds, having this value reduced the issue by a lot. No, I don't know why. I asked on this thread if anyone else was seeing this, and no one replied, so I guess it's just me :)
 
It sets the min confidence to 30, which overrides whatever it is set in the GUI in BI.
I understand how it works, but it's supposed to be used when you want different confidence levels for detecting multiple object. In the case of an LPR camera, where you are only detecting a license plate, it doesn't make sense.
 
Last edited:
Hi, question.

Took a while to get this to work but updating the schema was one key.

The other was as mention before that we can (as I understand) only use alpr in the ai model. i had ipcam-general,alpr and I could not figure it out to send the right http post message.

So with that as I also not only want to get plates but also vehicles and person I created a clone camera and have ipcam-general as the ai model.

So that works and is ok for me but I’m still a bit curious if somebody has this working with a combined ai models and some changes to the post message (instead of ai_dump, plate_number:&Plate as these does not work)

Ps. It seems I cant setup notification of plates that hasnt been seen before and that would be good to have.

Br
 
The &JSON that is sent when the ALPR module has found a plate is different than when other objects are found.

If you want to use the same camera for both plates and objects, you should do exactly what you did and separate the ALPR processing to its own instance so that it isn't trying to treat a non-plate detection as an LPR hit.
 
The &JSON that is sent when the ALPR module has found a plate is different than when other objects are found.

If you want to use the same camera for both plates and objects, you should do exactly what you did and separate the ALPR processing to its own instance so that it isn't trying to treat a non-plate detection as an LPR hit.
yep, seems right but I guess in the future it should be possible to do some filtering and send the right post message.

But as u say, current setup is flying :)

Thanks for the feedback