- Home
- Security cameras
- Ubiquiti
Does the Ubiquiti UniFi Protect G4 Bullet (UVC-G4-BULLET) work without internet?
Still checking this one. 6 of 7 criteria ticked so far for the Ubiquiti UniFi Protect G4 Bullet (UVC-G4-BULLET).
Verdict · as sold
UnverifiedNot checked enough to say yet. What is known is shown, with sources.
- Checked
- 6/7 checked
- Brand
- Ubiquiti · US
- Model
- UniFi Protect G4 Bullet (UVC-G4-BULLET)
- Home Assistant
unifiprotect· vendor cloud: never- Track record
- Not reviewed yet
Seven questions, as sold.
6 of 7 checked. Every yes or no links to its source and the date it was checked. Nothing here assumes a flash: that’s the next section.
- Works with the internet cut 01 · Yes
Does the main function survive with the WAN cable pulled?
Ubiquiti documents local management for internet outages and fully air-gapped deployments, and states that all Protect recordings are stored on the console.
- No vendor account needed 02 · Yes
Can it be set up without creating an account with the manufacturer?
The console setup wizard describes the UI Account as optional (recommended for remote access and cloud backups); the camera itself is adopted by the console.
- Documented local API 03 · Yes
Is there a publicly documented local protocol: HTTP, MQTT, ONVIF, RTSP, Zigbee, Z-Wave, Matter, Modbus?
The camera has no API of its own; the Protect console exposes the local Protect API (and RTSP re-streams) that Home Assistant and other clients use over the LAN.
- Can be firewalled off for good 04 · Yes
Can it be cut off from the internet permanently without anything breaking?
Ubiquiti documents a fully air-gapped setup without any cloud management as a supported way to run UniFi and Protect.
- Firmware updates without the cloud 05 · Not checked
Can it be updated by hand, with no forced auto-update?
- Runs alternative firmware 06 · No
Can it run ESPHome, Tasmota, OpenBeken, Valetudo or OpenIPC?
Not on OpenIPC's supported-devices list nor on Thingino's camera list.
- Home Assistant talks to it locally 07 · Yes
Is the Home Assistant integration local_push or local_polling?
iot_class: local_push
Already own one? Into Home Assistant, then.
A different question from the verdict. Home Assistant can talk to a device locally and still need Ubiquiti’s servers to get started, or for good. This is what the integration itself needs.
Yes, and Ubiquiti is not involved: Home Assistant talks to the Ubiquiti UniFi Protect G4 Bullet (UVC-G4-BULLET) directly. Nothing in the integration needs the vendor's servers.
- Route
- Built-in integration
- Integration
unifiprotect- Vendor cloud
- Never
- Verified
- 2026-09-22
Home Assistant connects to the UniFi OS console running Protect by its LAN IP with a local console user; the docs state Ubiquiti SSO cloud users will not work. The camera is never talked to directly, only through the console.
Question 08 · the company
Ubiquiti’s track record.
Nothing on record. That isn’t a clean bill yet: it takes a proper look through the vendor’s changelog, and that hasn’t been done for Ubiquiti. Community reports say modern UniFi Protect cameras no longer expose an RTSP stream directly and need Protect or a config hack to be used elsewhere (community.home-assistant.io), but no opened source shows a dated firmware that removed RTSP or standalone mode from a camera that shipped with it. UniFi Protect itself still re-streams RTSP locally. Unknown until a changelog or announcement can be cited.
Editor’s note
In plain words.
This camera is half a product: it only works adopted by a UniFi console running Protect (a Cloud Gateway, Cloud Key or NVR you buy separately), and everything local about it is really about that console. Set the console up with a local admin, skip the optional UI Account, and recordings, AI detections and the API all stay on your LAN; Ubiquiti documents air-gapped operation. Firmware for the camera still comes from Ubiquiti's download servers via the console, and an offline update path is not documented.
Wrong? Probably somewhere.
Say where. A link and a sentence is enough. Every claim above carries its source so it can be checked.