cancel
Showing results for 
Search instead for 
Did you mean: 

Using MQTT in the IDE App

JacobC
Established Member

Using MQTT in the IDE App

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?

Tags (1)
1 REPLY 1
CodeShepherd
Community Moderator

Re: Using MQTT in the IDE App

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.

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