# Mqtt publishing from gateway script

**URL:** <https://forum.inductiveautomation.com/t/mqtt-publishing-from-gateway-script/49842>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [August 12, 2021, 1:04pm UTC](https://forum.inductiveautomation.com/t/mqtt-publishing-from-gateway-script/49842 "2021-08-12T13:04:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vani161998](https://avatars.discourse-cdn.com/v4/letter/v/ee7513/32.png) [@vani161998](https://forum.inductiveautomation.com/u/vani161998)\
**Post date:** [August 12, 2021, 1:04pm UTC](https://forum.inductiveautomation.com/t/mqtt-publishing-from-gateway-script/49842/1 "2021-08-12T13:04:45Z")

</div>

i have a script in gateway tag change to publish in mqtt …but i am not getting the values in concerned topic.can anyone suggest me a solution?  
below is my code.

import json  
import urllib  
import time  
lowerpredict = system.tag.read("[Sekurit Blower Optimizer]KT/read/LowerPredict").value  
upperpredict = system.tag.read("[Sekurit Blower Optimizer]KT/read/UpperPredict").value  
publishdata = {“Lowerpredict”:lowerpredict,“Upperpredict”:upperpredict}  
jsondata = json.loads(json.dumps(publishdata))  
jsonstring = system.util.jsonEncode(jsondata)  
publishing = system.cirruslink.engine.publish(“SekuritKT”,"[MQTT Engine]Sekurit\_KTBlower\_Optimizer\_write",jsonstring,2,1)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 12, 2021, 1:08pm UTC](https://forum.inductiveautomation.com/t/mqtt-publishing-from-gateway-script/49842/2 "2021-08-12T13:08:34Z")

</div>

The payload is supposed to be a byte array.

Try:

```python
publishing = system.cirruslink.engine.publish("SekuritKT","[MQTT Engine]Sekurit_KTBlower_Optimizer_write",jsonstring.encode(),2,1)

```

edit: this topic suggests it might be a little trickier than just using `.encode()`, not sure: [Publish to topics using system.cirruslink.engine.publish() - #2 by pturmel](https://forum.inductiveautomation.com/t/publish-to-topics-using-system-cirruslink-engine-publish/33993/2)
