SmartConnector Forum
Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.
Link copied. Please paste this link to share this article on your social media post.
Hi, we have successfully set-up the MQTT interface on an EBO v3 server using the YouTube video "How to Publish EBO Data to Azure IoT Hub via MQTT Protocol | Schneider Electric Support" - however we are not connecting to an Azure instance, we are connecting to a self hosted mosquitto broker.
My problem is that I am seeing an "=" sign at the start of the topic structure which I am not expecting to see and I cannot work out why. For example on my broker at mqtt.cetools.org I am seeing:
/UCL/EBO which contains the value "= /SarelES/Escalators/E24/Values/Response_2/Value = 0"
what I was hoping to get was:
/UCL/EBO/SarelES/Escalators/E24/Values/Response_2/Value = 0"
ie without the = before the /SarelES
Have been looking through settings but cannot see where I am going wrong. Any suggestions on where to look or if the MQTT configuration is not designed to work in this way?
Link copied. Please paste this link to share this article on your social media post.
No that does not mean a client for each topic, it means a new datagroup under the client for each device you want to publish data to a separate topic.
BR,
Erwin
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
What are your settings in the data group?
Perhaps moving from the Topic to Prefix could help you, and how does your Value Format look?
I have used this as Value Format for example:
{
"value":@(VALUE)
}
Link copied. Please paste this link to share this article on your social media post.
The data group currently contains 3 test endpoints - one a live temperature, the other two sample values.
For the Topic I am using:
UCL/EBO/
For the Payload I have:
{"propertyID": "@(EBO_DEVICE_ID)", "value": @(VALUE)}
The attached screenshot shows the results in a payload (it also show a couple with experiments with device_id)
What I was anticipating being able to do is pass a variable into the Topic structure. e.g.:
UCL/EBO/@(device_id)
For Value Format do you mean Payload Format? Or have a I missed a setting somewhere?
If anyone has any pointers to documentation for the MQTT functions it would be greatly appreciated! Am feeling around in the dark a little here!
Link copied. Please paste this link to share this article on your social media post.
The = sign is something that is showed by MQTT Explorer but is not actually in front of the payload (you can see the actual payload without the "=" in the value pane when set to formatted JSON)
You cannot use a substitution code in the topic field, his is always a static value.
BR,
Erwin
Link copied. Please paste this link to share this article on your social media post.
Thanks for the quick reply. Having a static Topic and all the data in the payload seems like an anti pattern for MQTT? I have 4500 sensor endpoints which I want to expose via MQTT - the topic structure defines where they are in the building and what type of sensor they are plus their unique id - the payload just contains their current status / value.
For example: UCL/90TCR/100/EM/son-caffeine_A4CF12B64989
UCL/90TCR/100 represents org, building, floor zone
EM represents and energy meter
son-caffeine_A4CF12B64989 represents a unique identifier for a sensor endpoint
the payload looks like:
{
"current":0,
"voltage":244,
"power":0,
"reactive":0,
"apparent":0,
"factor":100,
"energy":338303175,
"time":"2022-10-25 11:40:31",
"mac":"A4:CF:12:B8:15:C6",
"host":"son-hydro",
"ip":"10.129.100.70",
"id":1203106
}
Does this mean I should be setting up an individual MQTT client per endpoint? That seems unlikely.
Any insights really appreciated.
Link copied. Please paste this link to share this article on your social media post.
No that does not mean a client for each topic, it means a new datagroup under the client for each device you want to publish data to a separate topic.
BR,
Erwin
Link copied. Please paste this link to share this article on your social media post.
Ah - got it! Thanks for that pointer. I am using the web interface and cannot see a way to add another data group (is that only available via the windows application?) but I get the logic. So I can set up groups of data but this still means I would need to, for example, subscribe to all AHU end points (if they were grouped) even if I only wanted a single local endpoint.
In case any product owners are listening it would be really useful to be able to dynamically pass in a property to the topic structure as per the functionality in the payload.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Awesome! That is exactly what I was after - didn't think to just use prefix for authentication path and then leave topic empty! This is exactly what I was after - thank you so much! Will change the solved to this reply.
Link copied. Please paste this link to share this article on your social media post.
Hi Erwin
I'm interested in investigating the MQTT posibilities in EBO. can you direct me to some documentation and perhaps some examples?
regards
Henrik
Link copied. Please paste this link to share this article on your social media post.
Hi Henrik,
Have you seen this topic? It should answer your questions..
There is also a nice sumary document created by @Jack_Roberts see:
I also include an extra import file, but in the topic above are also several import samples.
Good luck!
BR,
Erwin
Link copied. Please paste this link to share this article on your social media post.
Hi Erwin
Thanks.
No, haven't seen those topics, and I get an access denied to those areas 😅.
Thanks for the xml too.
Regards
Henrik
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Thanks Erwin, that was very helpful!
I have successfully set up a MQTT client but I still need some documentation, maybe you can direct me to where I can find information about which values can be published (and subscribed) to?
e.g. where does these two come from
Link copied. Please paste this link to share this article on your social media post.
Hi,
Those are substitution codes (and are documented in the system ref guide) of the objects available in the datapoint list.
You can see them quickly by pressing the ... button at the end of the field.
BR,
Erwin
Link copied. Please paste this link to share this article on your social media post.
Hello everyone,
I have got Schneider IIoT Gateway TM172SIG (Link: https://www.se.com/us/en/product/TM172SIG/m172-iiot-secure-interface-gateway/).
I am using the software from Schneider: Schneider Electric EcoStruxureâ„¢ Machine Expert - HVAC
I am using MQTT and can configure as well as PUBLISH but there no option to SUBSCRIBE any messages from Cloud. I wonder how shall I SUBSCRIBE to messages from Azure? I went through the documentation of this product and still could not find SUBSCRIBE. See page 75 onwards on the link below.
I need help to understand how shall I go forward? Thank you for your help in advance.
Looking forward to hearing from you.
Best regards,
Ahmed
Link copied. Please paste this link to share this article on your social media post.
You can only subscribe to a payload that is holding the keyword mapping of the Point ID and Value on your client's subscription tab (default /pointId and /value), so in your payload needs to be a value pair like these 3 samples:
{"value":"20.3","pointId":"here the point ID of your EBO point"}
or
{"value":"20.3","pointId":"here the propertyPath of your EBO point"}
or
{"value":"20.3","pointId":"here the unique foreign value of your EBO point"}
The PropertyPath and PointId can be found in the Point List under the client, note that this only shows the objects of the data points that are added to a datagroup under the client.
Link copied. Please paste this link to share this article on your social media post.
Hi sir erwin
good day
I am new in MQTT integration i follow the simple simple mqtt setup, but the status is offline
Link copied. Please paste this link to share this article on your social media post.
@braynnekean Can you specify what the host 192.168.10.150 is? Is that a local MQTT broker? From the naming in the pictures i guess it's the ES, if that is the case this won't work as the ES is not a MQTT broker, you need either a local MQTT broker running somewhere or use a cloud based broker, this can be AWS, Azure, Mosquitto or any other public available broker..
Link copied. Please paste this link to share this article on your social media post.
Hi sir @Erwin-vd-Zwart thank you for your response,
192.168.10.150 is ES sir. I already download mosquito broker and ensure it is running. Does broker need to config?
Link copied. Please paste this link to share this article on your social media post.
@braynnekean Should work without config.. If you have the MQTT exporer on the same system, does it work with localhost?
If that is working i would check firewall and/or change C:\Program Files\mosquitto\mosquitto.conf with documentation https://mosquitto.org/man/mosquitto-conf-5.html
or watch https://www.youtube.com/watch?v=72u6gIkeqUc
You probably want to change these 2 items in the config file to have it remotely accessible:
# listener port-number [ip address/host name/unix socket path]
listener 1883 0.0.0.0
# Defaults to false, unless there are no listeners defined in the configuration
# file, in which case it is set to true, but connections are only allowed from
# the local machine.
allow_anonymous true
Don't forget to restart the service after modifying mosquitto.conf
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.
With achievable small steps, users progress and continually feel satisfaction in task accomplishment.
Usetiful Onboarding Checklist remembers the progress of every user, allowing them to take bite-sized journeys and continue where they left.
of