What you defend with · Onboarding
Getting your kit in
Pick the product you own. The catalog already knows the protocols it speaks, so nothing is typed that the protocol determines.
A vehicle announces itself and waits to be adopted. Most sensors cannot. An acoustic node has no way to say hello, I am here and I would like to be part of your picture. It publishes what it hears to somewhere it has been told to publish.
So the two flows run in opposite directions, and both start in the same place.
1 · Find the product
Settings → Assets → ADD.

Search first. A catalog of any real size is unbrowsable, and discovery is a shortcut through this screen rather than a separate door.
2 · Choose how it connects
One product usually has several ways in. A DJI aircraft can arrive over the vendor cloud or over a telemetry decoder. Each of those is a connection recipe, and picking one generates the form.

The fields change with the connection you pick. Choosing the vendor cloud asks for a tenant account; choosing the local decoder asks for an address instead.
3 · Say where it stands
Required for an emplaced sensor, and the step people skip.
A sensor's configuration is two halves: what it can see, and from where. Only the first comes from the catalog. A 300 m acoustic node with no position is a coverage radius with no origin. Its detections constrain nothing, no track forms from them, and the row looks healthy the whole time.
DomeCommand marks an unplaced sensor on its row and again on its own page, at the field where you would fix it.
A position is a place you click. Latitude and longitude stay typeable, because a surveyed coordinate has to be enterable, but they are not the primary control.
Aircraft are not asked. A drone knows where it is and tells you.
4 · Take the credential, if there is one
Whether a credential is minted is derived from the connection, not declared per product. There are three answers and all three are honest:
| Scope | When | What you get |
|---|---|---|
| None | One shared carrier, many devices: MAVLink on a bound port, ASTERIX multicast, the in-process simulator | Nothing. Inventing a per-device secret here would invent a protocol. |
| Integration | A tenant account somebody gave you, or one broker account shared across a vendor workspace | Asked once, on the integration, never again. |
| Per asset | We are the server and the topic is ours | A username and password for this device alone. |
Where a per-device credential is issued, the token is the identity. Each device gets its own subtree and its own password, so a compromised node can publish as itself and nothing else.
It is shown once. Copy it to the device then, or reissue it later.
Or import a manifest
If you already have a deployment described as a file, paste it. A manifest lists links first, then the assets attached to them.
apiVersion: dome/v1
kind: AssetManifest
metadata:
name: north-site
spec:
links:
- id: north-mast
adapter: mqtt
direction: inbound
discovery: off
assets:
- name: ACOUSTIC-01
product: batear/acoustic-node
recipe: our-broker
link: north-mast
config:
lat: "1.3521"
lon: "103.8198"
A secret in a manifest holds a reference rather than a value, which is what makes the file safe to commit. An inbound endpoint is filled in on apply from the receiving deployment's own configuration, so a manifest exported at one site imports at another and points at that site's broker.
See Publishing & exporting for exporting a manifest from a site you have already set up.
What can go wrong
| Symptom | Cause |
|---|---|
| The row is healthy and holds zero tracks | An emplaced sensor with no position. Step 3. |
| Endurance reads as a percentage | The model string does not match a catalog row exactly. See Catalog. |
| A device is connected and nothing arrives | Publishing to the wrong topic. The link's own subtree is the only one routed. |
| The protocol row cannot be switched on | The current environment cannot carry it. See Environments. |
Where to go next
- Integrations for what each protocol carries.
- Supported hardware for everything this build knows.
- Sites if a sensor has nowhere to stand yet.