๐Ÿ“ˆ GH Trending Explorer ๐ŸŽฒ Surprise me

โ† all repos

oleost / VisionState

git clone https://github.com/oleost/VisionState.git v0.9.2 ยท 1d ago

Turn your cameras into Home Assistant sensors with a local AI: garage door open/closed, people and cars, water, gas and power meters read by any camera or ESP32-CAM. 100% local, any CPU.

โ€”
stars, 24h
โ€”
stars, 7 days
+131
stars, 30 days ยท #1,789
131
โ˜… total
5
forks ยท 1 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseApache-2.0
Created2026-09-28 (22d ago)
Last pushtoday
Watchers2
OwnerUser

GitHub topics

Links

README excerpt
Turn your cameras into Home Assistant sensors โ€” with a local AI you teach in minutes. 
 Is the garage door open? Who just came home, and is that our car? What does the water meter say?
## Three kinds of sensor
| | What you get | How |
|---|---|---|
| ๐Ÿšช **States** | *Garage door open, closed or halfway*, gate shut, lights on in the shed | Click a few examples of each state; it learns in about a second |
| ๐Ÿง **Objects & people** | *Emma is home*, *our car is in the driveway*, a cat on the lawn, an unknown person at the door | Pick from 80 objects โ€” no training. Name people by their face once; every camera knows them |
| ๐Ÿ”ข **Readings** | The water, gas or power meter โ€” a cheap ESP32-CAM above it is enough โ€”, the minutes left on the washer | Draw a box around the number. Counters only go up and land in the Energy dashboard |
 Real meters โ€” the rolling wheels of a water meter, read right even while a wheel is half way between two digits. 
 People โ€” a few photos from your phone are enough to start; faces never leave your Home Assistant. 
## Read a water, gas or power meter with an ESP32-CAM
Put an ESP32-CAM (or any camera) above the meter, add it to Home Assistant with ESPHome or use its
snapshot URL, and draw a box around the digits. VisionState reads the rolling wheels of a
mechanical water or gas meter and the digits of an LCD or LED power meter, checks every value
before it is published (a counter never goes down or jumps), and the total lands in the Energy
dashboard โ€” with a rate (mยณ/h, kW) if you want one. For a dark meter cabinet it switches a light
on for each reading; a battery camera can trigger a check when it has a new picture.
## Highlights
- ๐Ÿง  **100 % local on any CPU** โ€” Intel, AMD, Raspberry Pi 4/5. No cloud, no GPU, no subscription, no telemetry.
- ๐Ÿ  **Native Home Assistant** โ€” a sidebar app; every sensor is a normal device through MQTT discovery.
- ๐ŸŽฅ **Any camera** โ€” every `camera.*` entity (an ESP32-CAM with ESPHome, Reolink, Frigate โ€ฆ), or an RTSP / HTTP snapshot URL.
- ๐ŸŽฏ **Watch only what matters** โ€” draw a region around the door or the driveway; the rest is ignored.
- โšก **Checks when something happens** โ€” on motion, a door contact or a change in the image, and can switch on a light for a camera in the dark.
- ๐Ÿ” **Gets better as you use it** โ€” unsure frames go to a review queue, wrong boxes are fixed with a tap, and suspicious labels are flagged.
## In Home Assistant
 State sensor โ€” the state with its confidence, the last frame, a button to check now and a switch to pause it. 
 Object sensor โ€” an on/off sensor and a count for every object, person and own label. 
 [code] 
## Install
**Requirements:** Home Assistant OS or Supervised (2025.10 or newer), the **Mosquitto broker** app
with the **MQTT** integration, and a camera.
1. Click **Add repository** above โ€” or add `https://github.com/oleost/VisionState` under
 **Settings โ†’ Apps โ†’ App store โ†’ โ‹ฎ โ†’ Repositories**.
2. Install **VisionState**, start it and open it from the sidebar.
3.