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. |
Related entities¶
- Hardware: Nodes. Anchors and nodes bind via Associations.
- Parent: Areas. Position's
sublocation_uidreferences this area.
See also¶
- Compound workflows — for the planned anchor-with-node compound.