Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
My workplace is using KEPServer EX 6.13, and has several MQTT agents sending temperature data from our AC units to a database via a broker. We moniter the temperatures in an application called Grafana. Grafana queries the database for this information. I don't know the whole setup in full detail yet.
Here's the thing. The database receives the MQTT messages, but sometimes the |DESCRIPTION| goes blank, and stays blank until I manually stop/start every single agent manually. That fixes it, but only for a while... When the problem occurs, all messages are still sent and received, and contains the temperature |VALUE|s, but with the description blank, Grafana can't tell what's what and collapses all the temperature graphs into a single broken one. Also, there is always one or two agents who do continue to send their |DESCRIPTION|, even thought the rest of them won't. That fact especially drives me kind of nuts.
Just to clarify, here's an example of what the MQTT broker forwards to the database ("Intercepted" in node-RED). Left side depicts what it looks like when |DESCRIPTION| is missing, and right side shows what it is supposed to look like (and currently does).
Here's how the message is set up in KEPServer (I have removed the leading space before |DESCRIPTION|, in case that was relevant).
I can't find any error events.
Not sure what else to provide for now, but hope I've sufficiently explained the issue, and that someone can help - Cause I'm all out of ideas.
I am one of the developers that added this content. I am sorry you are running into this issue and it is very puzzling as to why the values are going blank. Do you know of anything that is changing in the project when it starts sending the empty values? I've been trying to think of what would cause it and maybe if tags were being added that had the same name. That is just a guess. Also on the side by side screen shot above it appears the blank version has spaces in it. When the description goes blank does it send a bunch of spaces or an empty string?
Probably the best path forward is to enable diagnostics by looking at this: https://www.ptc.com/en/support/article/CS310342. In your case you would only want to do it for the MQTT Agent. Then once the issue is reproduced, open a case with out technical support team and give them an ARU which would include those diagnostics.
Thank you, I will have a look and see if I can get diagnostics enabled. If I'm able to reproduce it, I'll open a case. If not, I fear I'll have to just wait for it to happen again, and do it then.
But to your questions. Yeah, sorry, those spaces aren't really there (I should have mentioned that)... I was so dumb that I reset all the agents yesterday morning, instead of leaving some bugged for troubleshooting - They are all working as they should (for now), so I faked the right-side image in order to illustrate the problem. When the problem occurs, I think there is perhaps one space, so the name fields look like " ". I'd say this problem happened 4-5 times last fall. Last time I reset them was just before the holidays.
No changes should really be happening to the agents. No tags will be added, and all their tags have unique names. Or at least I think so, I might be mixing up terminologies. Here's an example:
So they all have the name 'PresentValue', but they are all in different unique tag groups.
No worries about the screenshot. I thought that might be the case that's why I asked.
I was hoping this was more readily reproducible but if it only happens a few times a year then keeping diagnosis running for that long is probably not the best idea. We might be able to provide some specific instrumentation around the code that keeps track of the description for the tags to try and get an idea why it is changing. The way to do that is through a case though. Opening a case is probably the best way to move forward. You can do that now or in the future when it happens again. I don't think there is much more information you can get without going down that route.
Thanks!
-Ben Macri
Alright, thanks. We will open a case.
Appreciate the advice against letting the diagnostics run, just waiting for something to happen... Because we would probably have decided to do that otherwise (I think).
Should I mark this thread as solved, or should I keep it open in case we find a solution to share later?
That's a good question but I have no clue about the answer. Moderators usually scan through these and they would know better what to do. If you do open a case I will likely learn about it and whatever the solution I will try to remember to mention it here once we find it.