I've never heard of those before, but thanks for letting me know about them! Yeah, they should work perfectly fine (as far as I know), and you should be able to keep the ESP8266 code the same. The only difference is you'll have to change the MQTT broker setup, but that'll be explained on their websites. :)

Apologies for my horrendously late response to your question!I don't have an ESP8266 to hand at the moment to test it out, but try copying the Publisher loop() code and putting it just before client.loop() is called in the Subscriber code for the ESP8266. You'll also have to copy over the button variables and the bouncer code for it to work in the Subscriber code.That way, I think the code should (1) check if it's connected to WiFi, (2) check if the button is pressed and handle the publishing side, and finally (3) check for new messages using the client.loop() function before repeating all that over again (back to (1)).Hope that helps you (and works)! :)

Glad you're enjoying the Instructable. Thanks for the tip! :)

I'm so sorry for taking so long to respond to you! You might be using a different Python version (Python 3), in which case you'll need to change all of the print statements in the Python code. For example, here you'd need to change the line to read: print("Connected!", str(rc))Try adding brackets to all of the print statements like in that example.Hope that helps! :)