BACNet stops working
-
Hey, I have an issue with some v3 ES modules. I am using them to read some Triacta meters over Bacnet and it appears that sometimes the driver just seems to stop. Here's the scenario;
- I have the ES polling the Triacta device every 15 seconds
- On April 1 we noticed that the readings had stagnated
- Logging into the ES and going to the Bacnet IP device and clicking the "Send WhoIs" yields no results, which doesn't make sense because there's tons of BACNet devices on this network
- ma.log doesn't show anything in particular as just timeouts in reading from the configured device
- Turning the BACNet device off and then on again immediately resolves the issue, whois yields the expected results and data starts being read right away
The fact that the driver reports a timeout from the device which it is supposed to be polling kind of hints to me that the driver thinks all is well and that maybe it's a matter of the message not being "put on the wire" so to speak.
There appears to have been a related network blip on that day at this customers site. I'm assuming that after this the driver did not recover.
This was running on an ES v3.3.4 core, bacnet 3.3.2
-
This post is deleted! -
Just to add, this is on a campus where I have something like 30 Mangos and it isn't a one off, I'm currently up to three which I can confirm.
-
Hmm. Offhand I don't know what the cause would be.
There is a setting in a BACnet local device (which I don't believe is exposed through Mango) for the time to remember that a given device didn't respond when it was sought. By default, that's 30 seconds. So, it should resend a global WhoIs every thirty seconds for that instanceId if it is attempting to poll it often.
Did you get any actual stack traces you could share?
You could perhaps enable trace logging for the bacnet4j module by adding this to your Mango/classes/log4j2.xml near the similar lines at the bottom,
<Logger name="com.serotonin.bacnet4j" level="trace"/>
Which could at least show you what the device is trying to do while in that state.