🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Using MQTT deletes UI elements on M5StickC Plus

    Scheduled Pinned Locked Moved Bug Report
    3 Posts 3 Posters 5.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      mattack65
      last edited by

      I am using UI Flow V 1.7.5 in the browser.
      I am using an M5StickC Plus with the newest UI Firmware V1.7.5-plus

      When I use the M5mqtt - Library all my UI elements like labels disappear.
      When I switch from blockly to python code and move the UI-elements AFTER the mqtt block, this does not happen. That change gets lost every time I change back to blockly.

      I run very similar code on the M5Stack Fire and the problem does not appear there.

      Example 1: This is the generated code and it makes the three labels disappear

      from m5stack import *
      from m5ui import *
      from uiflow import *
      import wifiCfg
      from m5mqtt import M5mqtt

      setScreenColor(0x111111)

      wifiCfg.autoConnect(lcdShow=False)
      button_a = M5TextBox(45, 213, "Mqtt D", lcd.FONT_Default, 0xFFFFFF, rotate=0)
      mqtt_msg = M5TextBox(33, 84, "...", lcd.FONT_DejaVu72, 0xFFFFFF, rotate=0)
      button_b = M5TextBox(86, 35, "Mqtt E", lcd.FONT_Default, 0xFFFFFF, rotate=0)

      def fun_mirror_cmd_(topic_data):
      mqtt_msg.setText(str(topic_data))
      pass

      def buttonA_wasPressed():
      m5mqtt.publish(str('mirror/cmd'),str('D'))
      pass
      btnA.wasPressed(buttonA_wasPressed)

      def buttonB_wasPressed():
      m5mqtt.publish(str('mirror/cmd'),str('E'))
      pass
      btnB.wasPressed(buttonB_wasPressed)

      m5mqtt = M5mqtt('m5StickC', '192.168.1.106', 1883, '', '', 300)
      m5mqtt.subscribe(str('mirror/cmd'), fun_mirror_cmd_)
      m5mqtt.start()

      Example 2: This is the slightly altered code (the UI-Elements have been moved to the end) and the labels stay

      from m5stack import *
      from m5ui import *
      from uiflow import *
      import wifiCfg
      from m5mqtt import M5mqtt

      setScreenColor(0x111111)

      wifiCfg.autoConnect(lcdShow=False)

      def fun_mirror_cmd_(topic_data):
      mqtt_msg.setText(str(topic_data))
      pass

      def buttonA_wasPressed():
      m5mqtt.publish(str('mirror/cmd'),str('D'))
      pass
      btnA.wasPressed(buttonA_wasPressed)

      def buttonB_wasPressed():
      m5mqtt.publish(str('mirror/cmd'),str('E'))
      pass
      btnB.wasPressed(buttonB_wasPressed)

      m5mqtt = M5mqtt('m5StickC', '192.168.1.106', 1883, '', '', 300)
      m5mqtt.subscribe(str('mirror/cmd'), fun_mirror_cmd_)
      m5mqtt.start()

      button_a = M5TextBox(45, 213, "Mqtt D", lcd.FONT_Default, 0xFFFFFF, rotate=0)
      mqtt_msg = M5TextBox(33, 84, "...", lcd.FONT_DejaVu72, 0xFFFFFF, rotate=0)
      button_b = M5TextBox(86, 35, "Mqtt E", lcd.FONT_Default, 0xFFFFFF, rotate=0)

      1 Reply Last reply Reply Quote 1
      • D Offline
        DaveC
        last edited by

        I've run into similar issues, I have elements on the StickC that disappear or only work with certain fonts, the UI designer itself won't let me place items on parts of the StickC screen, and whole chunks of code don't run.

        I've worked around it for now in my Test Application, but this is a serious problem for anyone trying to build something complex.

        Most cases, I've had to shift the location of the MQTT code in the python in order to activate parts of the on screen functionality, seems like maybe a library is conflicting or interfering with the rest of the code.

        1 Reply Last reply Reply Quote 0
        • IAMLIUBOI Offline
          IAMLIUBO
          last edited by

          Sorry, there is no reply for a long time, we will investigate this bug.

          1 Reply Last reply Reply Quote 0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • First post
            Last post