Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important information on the platform change.

cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Using MQTT in the IDE App

Using MQTT in the IDE App

Anonymous
Not applicable

Hello everyone,

Has anyone sucessfuly used the MQTT blocks in the IDE App's Visual Coding Environment?

I set up a local MQTT broker and configured it in the tiger editor. However, when I try to subscribe or publish a message, I get an error "1234 NameError("name 'url' is not defined",)" threw by the get_connected_client function of the mqtt class:

def get_connected_client(self):
        if not self.connect_started:
            self.connect_started = True
            self.client.connect(url, port)
            threading.Thread(target=self.client.loop_forever).start()
        return self.client

It seems that the mqtt object does not recognize the url variable, which might be caused by the fact that this value is not stored in the __init__ function:

def __init__(self, url, port, encrypted):
        self.client = paho_mqtt_client.Client('tiger')
        self.client.on_message = lambda client, userdata, message: events.emit(
            'mqtttopic' + message.topic, 'message', message.payload.decode("utf-8"))
        if encrypted:
            self.client.tls_set()
        proxy = os.environ.get('HTTP_PROXY') or os.environ.get('http_proxy')
        if proxy:
            proxy = re.search(r"^\w*:\/\/(.*):(\d*)", proxy)
            self.client.proxy_set(proxy_type=3, proxy_addr=proxy.group(1), proxy_port=int(proxy.group(2)))

 

I tried to adjust the code in the textual coding envirnoment but it did not change the code stored in the blocks. Has anyone encountered (and hopefully solved) a similar issue?

2 REPLIES 2

CodeShepherd
Community Moderator
Community Moderator

We found that there is a bug in the MQTT extension in the IDE app that will be fixed in the patch for the actual Release RM21.1 (v1.12.1). Actually there is no workaround up to then.

Did you do some tests with a new version? Can this topic be closed.

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist