I have read in different places about zebra printers adding MQTT protocol support.
On the set-do manual for the printer, it shows how to configure the mqtt server. And if Alerts configured to the printer. The zebra printer is sending status notifications to a mqtt server.
However I have not found any documentation on how to send data back to the printer.
Something like endpoints and objects to send. I have only seen for RFID readers but not for printers.
I have several printers, and I have successfully connected the printer to an mqtt server. If i set the printer in pause I see an alert notification on the mqtt server published in (topic)/(id)/notifications
But I do not know how to send information to the printer. What subtopic and message format to send. Is there any documentation of such?
7 Replies
Hi Javier,
I have the same problem atm.
did you already found a solution for this?
i think i know the subtopic for your commands but don't know what to send. (json / string / etc)
the subtopic = (topic)/(id)/command.
kind regards,
Robbert
I have been looking for the same this morning and agree, this is critically missing documentation. Disappointing to have no response from Zebra here.
Steven Si?
Hi Evan,
We are in the process of releasing the Zebra MQTT API Guide in a week or two. I will put a link here once the guide is published on Zebra site. Apologize for the prolonged processing time.
Regards,
Steven Si
Hi
@Steven Si, any news on this doc? We are sitting with the same issue as above. The printers are connected via MQTT but we cannot find anywhere how to send the print script to them!?
The only thing I have manage to acomplish in terms of mutual communication is if I send an invalid (formatted) JSON to the command topic. That results in error code on topic zebra/{serialnum}/notification (a topic I just just guessed in fact, is there other topic that we must know of?)
This looks like JSON-RPC:ish format to me. Is that also supposed to be used for command? I tried some samples but no luck. Nothing in printer debug log or in mqtt log either which I found strange.
Stuck for now...
//Torbjorn
UPDATE:
I actually found a doc that brings me a little bit further.
https://www.zebra.com/content/dam/support-dam/en/documentation/unrestricted/guide/software/mqtt-api-guide-en.pdf
So now I have all I need to CONFIGURE the printers via MQTT by using the JSON-RPC method "settings"
The only small missing piece still is how do I actually PRINT something. Is there a different method for this? As far as I can tell byt the doc above only configuration is supported via MQTT!?
The MQTT on Zebra Link-OS printers is currently designed and implemented for printer management and configuration. It cannot be used for printing. For label printing, you need to use other connection types, such as TCP, WebSocket, Bluetooth, USB etc.
Thanks for the update Steven! Even though I really could not believe it I started to get that feeling too. Any specific reason why printing is not avalible? It seamed like a really suitable feature just to post a ZPL code down via command subscription.
So finally any thoughs about the future, will it be avalible?
Cheers