It is great to hear your use case, that never would have occurred to me!
I live a pretty boring life. No crazy exâs or hitmen are showing up in my driveway so I had to think of something useful to use this cool little bit of technology for.
Events added
I am curious how people are using this.
My plan was this.
MotionEye notifies node red that motion is detected.
NodeRed tells platerecognizer to scan (I assume this takes a snapshot of the camera and sends it)
NodeRed reads the new state of the entity for the plate number
NodeRed switch that will either broadcast who is here, or saw nothing.
My wife parks close enough to the garage that her plate wonât get picked up so I should be good there.
Adds saving annotated images:
Rob, youâre on a roll. It works great. In testing this, Iâm realizing numbers consistently work better than letters. Especially when the plate is viewed from an angle like in this shot. That is gets it at all shows just how good this service really is.
The recognition spits out this:
Which had a partial match. The automation triggers are exact match only. Thereâs no âLIKEâ operator like in MySQL when evaluating expressions. How would I match a partial plate that just has the numbers in an automation? Iâm thinking template, but those are elusive and coding them is way above my pay grade.
Any ideas welcome!!
Jeff
This would probably need to be regex, either in the integration or in your automation. I have a proposal for this in https://github.com/robmarkcole/HASS-Sighthound/issues/22
New release, adding support for regions
For anyone who wants a simple notification if new cars are scanned.
You will need to create an input_text which holds last state with plates, Iâve named it: âcurrent_cars_in_drivewayâ. You will also need to change the push service
If you want to ignore some plates you can add it inside the [] in the variable ignored_plates
- id: '1613380190443'
alias: New cars in driveway
description: ''
trigger:
- platform: event
event_type: platerecognizer.vehicle_detected
condition: []
action:
- service: input_text.set_value
data:
value: '{{ updated_plates | join('','') }}'
entity_id: input_text.current_cars_in_driveway
- choose:
- conditions:
- condition: 'template'
value_template: '{{ new_plates|length > 0 }}'
sequence:
- service: notify.push
data:
message: '{{ ''A new car on driveway! Plate: '' + (new_plates | join('', '')) }}'
mode: single
variables:
ignored_plates: '{{ [] }}'
old_plates: '{{ states(''input_text.current_cars_in_driveway'').split('','') | list }}'
updated_plates: '{{ state_attr(trigger.event.data.entity_id, ''vehicles'') | map(attribute=''plate'') | list }}'
new_plates: '{{ updated_plates | reject(''in'', old_plates) | reject(''in'', ignored_plates) | list }}'
Done release 1.0 which adds watched_plates, making it easy to create a boolean sensor for specific number plates
Is were any way to get list of plates readed?
Hi, how can i create a template for my notification? I tried this but it wont work. for some reason i can get it to say true or false for my watched plates though.
message: {{ state_attr(âimage_processing.platerecognizer_gate_camera_2â, âvehiclesâ).vehicle_type }} detected at the gate. License Plate
{{ state_attr(âimage_processing.platerecognizer_gate_camera_2â, âvehiclesâ).plate }}
Hi!
Can someone please tell me, hogy can I fire up image_processing.platerecognizer automation only if the âcamera.doodsâ recognizes a car? I hope, it is understandable. English isnât my native language. So, I have many false uploads to platerecognizer.com, as walking people, dog, cat, etc⌠and then the free 2500 processing is running out very fast⌠I would like to upload the taken picture, if it contains a car.
Thanks!
Hi @robmarkcole
Iâve tried to create a binary sensor for each watched plate. I got two cars, so itâs them I want to keep track on. But I only get one of the cars right - so I only get 1 entity/binary sensor. Can you (or someone else) show me an example with more than one binary sensor (the yaml code)?
I did like this in my sensor.yaml (I donât get whats wrong):
- platform: template
sensors:
plate_recognizer:
friendly_name: "abc111"
value_template: "{{ state_attr('image_processing.platerecognizer_1', 'watched_plates').abc111 }}"
- platform: template
sensors:
plate_recognizer:
friendly_name: "abc123"
value_template: "{{ state_attr('image_processing.platerecognizer_1', 'watched_plates').abc123 }}"
looks fine to me
Do you know why I only get one entity/binary sensor - always the first one? If I switch places, itâs always just the first that shows up as an entity. What do I do wrong?
@robmarkcole this is my code in sensors.yaml - which only create one entity (TYT992):
- platform: template
sensors:
plate_recognizer:
friendly_name: "TYT992"
value_template: "{{ state_attr('image_processing.platerecognizer_blueiris_garageuppfarten', 'watched_plates').tyt992 }}"
- platform: template
sensors:
plate_recognizer:
friendly_name: "GXP457"
value_template: "{{ state_attr('image_processing.platerecognizer_blueiris_garageuppfarten', 'watched_plates').gxp457 }}"
- platform: template
sensors:
plate_recognizer:
friendly_name: "UHC989"
value_template: "{{ state_attr('image_processing.platerecognizer_blueiris_garageuppfarten', 'watched_plates').uhc989 }}"
Do you understand why I donât get a âGXP457â enity? Or a âUHC989â entity?
Sorry to bother you with these questionsâŚ
Is it fine to run the free trial in the long-term?
Iâm quite scare das in their T&C platerecognizer.com states that PoC/Demo Applications are also subject to paying the subscription fee, and that you have to pay it retroactively when they notice. Any experiences so far?
Iâve never heard of retrospective billing