{"id":"mqtt-sparkplug-b","model_id":"MQTT-SparkplugB","name":"MQTT Sparkplug B","summary":"Sparkplug is an Eclipse specification that defines how industrial devices use MQTT: a fixed topic namespace, a Google Protocol Buffers payload, and birth and death messages so subscribers always know whether data is current. Version 3.0.0 was released in 2022.","study_notes":["Topic format: namespace/group_id/message_type/edge_node_id/[device_id], where namespace is spBv1.0 for Sparkplug B.","Message types: NBIRTH, NDEATH, DBIRTH, DDEATH, NDATA, DDATA, NCMD, DCMD and STATE.","Birth certificates publish every metric a node or device will report. Death certificates tell subscribers the data is stale."],"safety_notes":["NCMD and DCMD messages can write to devices. Restrict which clients may publish to command topics on the broker."],"sources":[{"url":"https://sparkplug.eclipse.org/specification/version/3.0/documents/sparkplug-specification-3.0.0.pdf","title":"Sparkplug 3.0.0 Specification","accessed":"2026-10-25"},{"url":"https://sparkplug.eclipse.org/","title":"Eclipse Sparkplug","accessed":"2026-10-25"}],"verification":{"status":"source_checked","checked_at":"2026-10-25","values":3,"method":"llm_source_check"},"updated_at":"2026-10-25","type":"protocol","spec":{"transports":["tcp"],"architecture":"publish_subscribe","encoding":"protobuf","default_ports":[],"data_types":[],"standard_body":"Eclipse Foundation (Sparkplug Working Group)","standard_ref":"Sparkplug 3.0.0","related":["mqtt"]},"url":"https://machineschema.com/protocol/mqtt-sparkplug-b","license":"https://creativecommons.org/licenses/by/4.0/"}