Nummerpladegenkendelse og TV-snapshots fra en Reolink CX810
Sådan fik jeg et Reolink CX810 4K PoE-kamera til at læse nummerplader med AI og sende et billede direkte til TV'et, når nogen kører ind i indkørslen.
Vi har aldrig fået sat en dørklokke med kamera op. Reolink CX810, der peger ned mod indkørslen, endte med at gøre mere, end en dørklokke ville have gjort: uden abonnement, uden app og med TV'et som skærm til beskederne i stedet for en telefon, man måske ikke kigger på.
Kameraet
CX810 er et 4K-kamera på 8 MP med PoE. Det kører på sit eget VLAN, taler med HA over det lokale netværk og dukker op som camera.sentinel_clear (fuld opløsning) og camera.sentinel_fluent (lavere opløsning, hurtigere). Kameraets egen AI-chip giver binære sensorer direkte:
binary_sensor.sentinel_vehicle
binary_sensor.sentinel_person
binary_sensor.sentinel_motion
Kameraets egen genkendelse af biler og personer er god nok til at sortere de åbenlyse falske alarmer fra: fugle, skygger, katten. Den er ikke perfekt, men det er det rigtige sted at starte.
Nummerpladegenkendelse
Når en bil udløser sensoren, venter automationen 2 sekunder, så bilen kan nå at køre ind, og nummerpladen er synlig. Så tager den et billede og sender det til llmvision.image_analyzer med en meget kort og præcis prompt:
message: >
Look at this surveillance camera image. Read the vehicle license plate number.
Reply with ONLY the plate number in capital letters (example: 'AB12345').
If no plate is visible or readable, reply with only the word 'none'.
max_tokens: 15
temperature: 0.1
15 tokens. Lav temperatur. Ingen plads til snak. Enten svarer den med en nummerplade eller med «none».
Kommer første forsøg tomt tilbage, venter automationen 3 sekunder mere og prøver igen med et nyt billede. To forsøg er nok. Kan pladen ikke læses efter to forsøg, skyldes det en dårlig vinkel eller mørke, ikke at modellen skulle have mere tid.
Det bedste resultat af de to forsøg vinder. Det gemmes i input_text.last_5_plates som en løbende JSON-liste: en enkel log over de seneste fem nummerplader, der er kørt ind i indkørslen, med tidspunkt.
Det, der kommer frem på TV'et
Én app gør det muligt på TV'et: Notifications for Android TV (gratis, Google Play). Den kører en lille webserver på port 7676, som HA's integration «Notifications for Android TV / Fire TV» sender til. Ingen konto og ingen cloud: beskeden går direkte fra HA til TV'et over det lokale netværk. Installer appen, notér TV'ets IP-adresse, tilføj integrationen i HA under Indstillinger → Enheder og tjenester, og du får en notify.android_tv_*-handling.
notify.android_tv_fire_tv_192_168_1_40 sender direkte til TV'et:
action: notify.android_tv_fire_tv_192_168_1_40
data:
message: "🚗 Bil registreret! Nummerplade: {{ plate_text }}"
data:
image: "http://192.168.x.x:8123/local/sentinel_latest.jpg?t={{ now().timestamp() | int }}"
interrupt: 1
interrupt: 1 tvinger beskeden frem, også når TV'et er i gang med noget. Billedet vises i hjørnet med nummerpladen nedenunder. Man ser en film, en bil kører ind, og et lille billede med nummerpladen dukker op i hjørnet. Man kaster et blik på det og ignorerer det eller tager telefonen. Man skal ikke finde telefonen frem for at tjekke eller åbne en app.
Telefonerne får det samme billede via notify.alle_enheder med et tidsstempel i adressen, så de ikke viser et gammelt billede fra cachen fra sidste besøg.
Når kameraet ser en person, er det en enklere version: ingen forsøg på at læse nummerplader, bare en besked med billede. Det er nok til at se, om det er postbuddet eller en, man ikke kender.
Det, jeg ikke tog med
Jeg prøvede en version, der læste nummerpladen højt via TV'ets højttaler. Det virkede, men føltes som en afgangstavle i en lufthavn. Beskeden på skærmen er mere diskret: man ser den, hvis man kigger, overser den, hvis man ikke gør, og TV'et afbryder ikke sig selv for at læse et nummer op.
Det, der faktisk gik galt
I den første uge holdt automationen op med at virke, uden at det kunne ses. Den kørte igennem uden fejl i sporingen, men TV'et viste kun tekst uden billede, og telefonerne fik slet ingenting.
Problemet var billedernes størrelse. Integrationen nfandroidtv sender billedet til TV-appen via HTTP POST på port 7676. Jeg brugte camera.sentinel_clear, altså strømmen i fuld opløsning, som giver billeder på cirka 1,9 MB. TV-appen brugte mere end 5 sekunder på at behandle dem. HA løb ind i en ReadTimeout og afbrød scriptet midt i kørslen, så beskederne til telefonerne blev aldrig sendt.
Derudover var integrationen havnet i tilstanden failed_unload, sandsynligvis efter en genstart af HA under en af timeoutene. Symptomet: notify.android_tv forsvandt i perioder fra de tilgængelige handlinger og kom så tilbage igen. Integrationen stod som indlæst, men HA havde ikke fået registreret dens handlinger ordentligt.
Tre rettelser i denne rækkefølge:
1. Slet integrationen, og tilføj den igen. Indstillinger → Enheder og tjenester → find «Notifications for Android TV / Fire TV» → slet → tilføj igen. Det fjerner failed_unload og registrerer notify.android_tv korrekt igen.
2. Skift kilde til billederne. Begge billedtrin i automationen er ændret fra camera.sentinel_clear til camera.sentinel_fluent. Fluent-strømmen giver billeder på 50 til 200 KB i stedet for 1,9 MB, så TV-appen behandler dem på under et sekund. Kvaliteten er stadig rigeligt til at genkende en person eller læse en nummerplade i godt lys.
3. Tilføj continue_on_error: true på trinnet, der sender til TV'et:
- action: notify.android_tv_fire_tv_192_168_1_40
continue_on_error: true
data:
message: "🚗 {{ plate_text }}"
data:
image: "http://192.168.x.x:8123/local/sentinel_latest.jpg?t={{ now().timestamp() | int }}"
interrupt: 1
Svarer TV'et ikke i tide, eller falder integrationen ud igen, kommer beskederne til telefonerne stadig igennem. TV'et er rart at have. Telefonerne er ikke til forhandling.
De tre ting løste det tilsammen. TV'et viser nu billedet inden for cirka et sekund, og hvis TV'et er slukket, eller integrationen fejler, får telefonerne altid beskeden.
Opdatering, maj 2026: Nummerpladegenkendelsen er taget ud. Den var ikke pålidelig nok om natten: plader i dårlige vinkler eller i kraftig regn gav oftere «none» end et egentligt resultat, og to kald til LLM Vision pr. bil gjorde beskeden mærkbart langsommere. Den nuværende opsætning springer nummerpladerne helt over: bil eller person, et billede fra fluent-strømmen, og så til TV og telefoner. Den løbende liste over nummerplader er væk. Kameraet, TV-integrationen og continue_on_error er der stadig. AI-laget er ikke.
Nye indlæg direkte i din RSS-læser: følg med via RSS I Google-søgning: vælg szimnau.dk som foretrukken kilde