Skip to content

Anchors

A WIN anchor is a placed beacon — a fixed beacon positioned on a floorplan, identified by its server-issued uid. It carries a name, a type (ANCHOR or BRIDGE), and a position object.

An anchor has no MAC address. The MAC belongs to a Node; the binding between hardware and a placed beacon is an Association. The desktop site-plan client aggregates the three for display, but the server keeps them separate.

Quick reference

Method What it does
client.anchors.list() All anchors in scope.
client.anchors.create(*, name, position, type="ANCHOR", **fields) Create a placed anchor.
client.anchors.update(uid, **fields) Update; validates type if passed.
client.anchors.delete(uid) Delete; server-side closes open associations.

Creating

The server's createWinAnchor schema requires name, type (ANCHOR or BRIDGE), and position. The position object must include x, y, z, and either sublocation_uid or sl_uid.

anchor = client.anchors.create(
    name="Anchor 7",
    position={"x": 1.0, "y": 2.0, "z": 0.0, "sublocation_uid": area.uid},
)

type defaults to "ANCHOR". Other values raise ValueError before the HTTP call.

Anchor vs node vs association

If your workflow is "I have a MAC and want a placed anchor bound to it," call three primitives:

anchor = client.anchors.create(name=..., position=...)
node = client.nodes.create(mac_address=...)
client.anchor_associations.create(node.mac_address, anchor.uid)

See client.anchor_associations for the full surface (create / list / list_all / update / close / delete). A compound anchors.create_with_node(...) that wraps the three calls is planned for a future milestone.

Model — Anchor

Field Type Notes
uid str Server-assigned.
name str \| None Display.
mac_address str \| None Joined display field from the bound node (read-only).
sublocation_uid str \| None Parent area.
position_x / position_y / position_z float \| None Placement.
rotation float \| None Degrees.

Full field list.

  • Hardware: Nodes. Anchors and nodes bind via Associations.
  • Parent: Areas. Position's sublocation_uid references this area.

See also