Comments (3)
Hi @goliatone
Also a big thanks for your input on this issue.
Yes, the error handling is not really existent at this point. However, I'm not really sure how to tackle this, but letting the developer handle it is certainly the right way.
On the other hand, I don't think that closing the server on error is helpful in this regard, as we have to differentiate between transactional errors (failure when sending a message) and initialization errors.
server.on('error', function(err) {
server.close();
});
Cheers
from node-bacstack.
@fh1ch I forked the project with the idea of making a fix I could use and then make a PR with the implementation as an idea for you. I faced two unrelated issues that prevented me from doing so:
- the code base is structured in a way that would make implementing error handling property more involved than ideal
- the library, ultimately, did not work.
I ran the whoIs function and that returned the expected results. Later when trying to read/write properties the library/connection would timeout. I honestly did not spend any cycles looking into this. I tried another library that wraps a C library, it worked, so I went with node-bacnet . I think it might be a segmentation related issue.
It's a bit of a shame since I had started using this library as the basis of a node-red package. I moved it to use the other node-bacnet
All in all, thanks for your work.
from node-bacstack.
Hi @goliatone
Thank you very much for the feedback and again, sorry for the delayed reaction here...
As the implementation of this project started with a strong personal need for having readPropertyMultiple in place, all the other function came a bit short and due to missing test coverage of them, would break sometimes. That's also one of the reason, why the version number is still beta.
However, a lot has changed and the encoding part is now more or less feature complete and the test coverage increased to almost 80%. This means that this library will reach a stable state in the next couple of weeks.
Anyway, errors on the transport layer are now passed to the client so each project can decide what to to (e.g. unload the client using the new client.close()
function). I will therefore close this issue.
from node-bacstack.
Related Issues (20)
- Segmentation for Outgoing Messages HOT 6
- Error: ERR_TIMEOUT HOT 1
- WriteProperty error HOT 2
- Using with MSTP Router HOT 14
- Bacnet device object and properties are not able to access but able to discover the devices HOT 7
- Structuring objects for readPropertyResponse HOT 1
- readPropertyMultiple errorCode:31 HOT 2
- TypeError: next is not a function
- Need help on how to read properties and value (and write them) HOT 1
- Only one value appearing in "value" of Status Flags
- Read Segmentation Robustness
- REFERENCE ERROR: require is not defined
- Listen to network
- Basic question about the nature of the bacstack-functions
- acknowledgeAlarm - Wrong timestamp HOT 1
- readProperty - "Invalid Date" for property 130 (event-time-stamps) HOT 1
- tag encoding for object identifier not always correct
- Function writeProperty does pass the value in the callback
- Is there an example where we can create a Bacnet virtual device and add read and write capabilities? HOT 1
- writeProperty gives no error, but I did not get a write through
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-bacstack.