# Pushing data from Ignition

**URL:** <https://forum.inductiveautomation.com/t/pushing-data-from-ignition/94480>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [August 11, 2024, 11:43pm UTC](https://forum.inductiveautomation.com/t/pushing-data-from-ignition/94480 "2024-08-11T23:43:31Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![simeonw](https://avatars.discourse-cdn.com/v4/letter/s/4da419/32.png) [@simeonw](https://forum.inductiveautomation.com/u/simeonw)\
**Post date:** [August 15, 2024, 2:32am UTC](https://forum.inductiveautomation.com/t/pushing-data-from-ignition/94480/10 "2024-08-15T02:32:05Z")

</div>

> [@Daniel.C](#):
>
> ` system.cirruslink.engine.publish`

From the looks of it, you are passing the publish method a dictionary for the payload.

If I'm not mistaken, the method is expecting a `byte[]` for the payload, not a dictionary.

`system.cirruslink.engine.publish(String serverName, String mqttTopic, ` `byte` `[] payload, ` `int` `qos, ` `boolean` `retain)`

[MQTT Publishing via MQTT Engine - MQTT Modules for Ignition 8.x - Confluence (chariot.io)](https://docs.chariot.io/display/CLD80/MQTT+Publishing+via+MQTT+Engine)

You are converting your dictionary to a JSON string ( **payloadStr** ), but not actually using it. Try this instead:

` system.cirruslink.engine.publish("Chariot SCADA", topic, payloadStr.encode(), qos, retain)`

You can also take a look at this post:

[Publish to topics using system.cirruslink.engine.publish() - Ignition - Inductive Automation Forum](https://forum.inductiveautomation.com/t/publish-to-topics-using-system-cirruslink-engine-publish/33993)

---

_[View the full topic](https://forum.inductiveautomation.com/t/pushing-data-from-ignition/94480)._
