That sounds like the issue then - I'd seen some code in the module that looked a bit odd... It reschedules the Ping whenever it receives data... So that means if it's always getting data but not sending anything, it won't get the ping and it'll time out.
I've just made a change - can you try require("https://raw.githubusercontent.com/espruino/EspruinoDocs/master/modules/MQTT.js") again and see if that helps?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Perfect - thanks for all your debugging!
That sounds like the issue then - I'd seen some code in the module that looked a bit odd... It reschedules the Ping whenever it receives data... So that means if it's always getting data but not sending anything, it won't get the ping and it'll time out.
I've just made a change - can you try
require("https://raw.githubusercontent.com/espruino/EspruinoDocs/master/modules/MQTT.js")
again and see if that helps?