Hi everyone,
I built a Node-RED node for Viewtron LPR cameras. This is the first Node-RED node that I have published, so if I messed anything up or if the veterans here have any recommendations, please let me know.
And for full disclosure, my name is Mike Haldas. I am the co-founder of CCTV Camera Pros and founder of the Viewtron brand. We are a small US business with 20 years experience. I am our sole software engineer and product designer.
The Viewtron AI Camera node receives license plate reads directly from the camera — plate number, which database group the plate belongs to (for access control), and optionally the cropped license plate snapshot image and a full scene overview snapshot. The camera does all the plate recognition on-device and pushes events over HTTP POST. There is no cloud dependency or no middleware required. The IP camera does the AI inference and talks straight to Node-RED.
Install from palette manager (search node-red-contrib-viewtron) or:
cd ~/.node-red
npm install node-red-contrib-viewtron
Here's what it looks like receiving live plate reads in Node-RED:
What you get for each plate read:
plate_number— the plate textplate_group— which group the plate is in on the camera's database (allow list, block list, or custom group names on the NVR). Empty if the plate isn't in the database.- Plate crop image + full scene overview (as base64 or Buffer)
- Camera IP, timestamp
The camera has its own on-device plate database. You add plates to groups — allow list, block list, temporary, or on the NVR you can create custom groups like "Residents" or "Delivery". When a plate is read, the camera tells you which group it belongs to. Your flow just acts on it.
Here's a simple dashboard showing the plate images coming through:
Works with both Viewtron IP cameras (direct) and IP cameras connected to Viewtron NVRs (forwarded). The NVR also sends vehicle attributes — brand, color, type, model. Version detection is automatic.
Applications it can be used for:
- Gate access — different groups get different treatment (residents open gate, delivery opens service entrance, unknown triggers alert)
- Loading dock — log which trucks show up and when
- Parking — track entry/exit by plate
- Car Wash Automation
The node also has outputs for person detection, vehicle detection, face recognition, and people / vehicle counting. Those are built in and parse correctly, however testing and documentation is not 100% done. LPR is done and working now.
Links:
Happy to answer any questions. If anyone else is working with security camera events or license plate reader cameras in Node-RED, I'd be curious to learn about what you're building.
Thank you!

