- Overview
- Sensor integration
- Publish entities, locations, and PLI
Publish entities, locations, and PLI
Use this workflow to publish an entity and its location under one canonical UUID.
Position Location Information (PLI) is a location associated with that UUID. Publish
it with the ordinary Location model and location wire; there is no separate PLI
model, method, topic, or entity category.
Validate offline
Section titled “Validate offline”These operations mutate the authorized MQTT target. Validate model construction offline first:
python examples/publish_entity.py --checkpython examples/publish_location.py --checkThe runnable scripts are publish an entity and publish a location.
Publish an entity
Section titled “Publish an entity”For a broker-authorized publication, first set the common connection variables from authentication. Then publish one synthetic entity event for a caller-owned UUID:
export ECN_ENTITY_ID=00000000-0000-4000-8000-000000000001export ECN_ENTITY_CATEGORY=detectionexport ECN_ENTITY_TYPE=synthetic-detectionexport ECN_ENTITY_NAME='Synthetic public-client entity'export ECN_DISPLAY_NAME='Synthetic display label'python examples/publish_entity.pyPublish a location
Section titled “Publish a location”Publish one location for that same UUID with bounded synthetic coordinates:
export ECN_ENTITY_ID=00000000-0000-4000-8000-000000000001export ECN_LATITUDE=0export ECN_LONGITUDE=0export ECN_ALTITUDE=100export ECN_BEARING=0export ECN_ACCURACY=1export ECN_CONFIDENCE=1export ECN_LOCATION_SOURCE=synthetic-public-clientpython examples/publish_location.pyPublish a location as PLI
Section titled “Publish a location as PLI”When the position is operationally described as PLI, use the same location command and authorize it as the same mutation:
export ECN_ENTITY_ID=00000000-0000-4000-8000-000000000001export ECN_LATITUDE=0export ECN_LONGITUDE=0export ECN_ALTITUDE=100export ECN_LOCATION_SOURCE=synthetic-public-clientpython examples/publish_location.pyThe entity’s integration is always the configured integration name. Set
ECN_WIRE_FORMAT=json or ECN_WIRE_FORMAT=protobuf only when that supported wire
format is authorized. PLI carries location fields on the supported location family;
it does not invent a separate API or wire path.
Interpret publication receipts
Section titled “Interpret publication receipts”For these QoS 1 operations, a PublicationReceipt means the broker returned a
non-failure PUBACK. A negative PUBACK raises a typed public error. The receipt still
does not assert that downstream consumers persisted, rendered, or accepted the
message.
TRACK entity publications use QoS 0 and receive no broker acknowledgement. Local send completion therefore does not establish broker receipt, persistence, or downstream processing. Never use these scripts in a read-only validation session. For an end-to-end design, continue with Sensor integration.
Version 0.2.0 · branch main
