LOOKOUT
NVR
Support guide

Send LookoutNVR events
over MQTT.

Motion, the objects in view, snapshots, events and camera status, sent to your MQTT broker for Home Assistant, Node-RED, openHAB or anything else that reads MQTT. Home Assistant finds every camera by itself.

Set it up

  1. You need an MQTT broker. In Home Assistant, the Mosquitto broker add-on is the usual choice. Make a user for LookoutNVR in it.
  2. In the Lookout viewer, open Settings and find Home Assistant and MQTT.
  3. Type the broker's address (for example 192.168.1.20 or homeassistant.local), the port (1883, or 8883 with TLS), and the username and password.
  4. Click Test connection. It connects with what you typed and sends one message to lookout/test. Nothing else is sent.
  5. Switch on Send to an MQTT broker and click Save MQTT settings. The status line turns to Connected within a few seconds.
The password is stored encrypted on the recorder, the same way as the email password. The viewer never shows it again once saved.

Home Assistant

With Home Assistant discovery on (the default), each camera appears as a device under the recorder, with:

  • Motion: on while Lookout sees motion on that camera.
  • Person count, Car count and a count for each other thing the camera has seen: how many are in view right now.
  • Person snapshot and so on: a picture of the latest one, when Send snapshots is on.
  • Status: connected while the camera is up and footage is arriving.

Every entity goes unavailable if the recorder stops or loses its network, so an automation never acts on a stale reading. Switching discovery off removes the entities again. Renaming a camera keeps its entities and their history.

Topics

The prefix is lookout unless you change it. Camera names become lowercase with underscores: Front Door is front_door.

TopicWhat it carries
lookout/availableonline or offline, kept by the broker
lookout/front_door/motionON or OFF
lookout/front_door/personHow many people are in view now: 0, 1, 2
lookout/front_door/person/snapshotA JPEG of the latest person
lookout/front_door/statusonline or offline
lookout/eventsA JSON message as each event starts, changes and ends

Everything except lookout/events is kept by the broker (retained), so anything that subscribes later sees the current state at once.

The event message

Every motion session is an event from its first moment, before anything has been named. Its type is new when motion starts, update when Lookout names what it is or sees more, and end when the motion stops.

{
  "type": "update",
  "id": "6f1c...",
  "camera": "front_door",
  "camera_name": "Front Door",
  "label": "person",
  "sub_label": null,
  "score": 0.87,
  "zones": ["Driveway"],
  "objects": ["person"],
  "start_time": 1791115200.0,
  "end_time": null,
  "has_snapshot": true,
  "thumbnail": "/api/events/9a2e.../snapshot"
}

sub_label carries a name you have given an object in Lookout, such as a pet. thumbnail is a path on the recorder; fetching it needs an API key.

Node-RED and openHAB

Subscribe to lookout/events for a message per event, or to lookout/+/motion and lookout/+/person for state. In openHAB, use the MQTT binding with a generic thing per camera and a channel per topic.

Troubleshooting

  • "The broker refused the username or password." Check the user in your broker. In the Mosquitto add-on, users are set in its configuration.
  • "Nothing is listening." Check the address and port, and that the broker allows connections from the recorder's network.
  • "The secure connection failed." TLS is on but the broker does not use TLS on that port, or its certificate is not trusted by the recorder.
  • Entities do not appear in Home Assistant. Check that the MQTT integration is set up in Home Assistant with discovery on, and that the recorder's status line says Connected.