-Added forgotten new files for Global Commander
Global Commander: Shorten object IDs as Alexander Jaszkowski suggested
Bug Fix: Compare string representation in Global Commander Advanced Filter, because maybe some values do not implement IComparable/object comparison will fallback to object.Equals(...).
-Add Advanced Filter to Global Commander, to filter Bacnet objects based on some property's value.
Amend function for reading multiple properties from multiple objects
Hi, Following your request, this feature has just been included in the new update. An option has been added to the chart's context menu. It allows you to save all curves (each in a file containing the device ID and the BACnet point name) to a chosen directory. Is it possible to compile the source code, or is a binary file required? Feedback is needed; no comprehensive testing has been performed. Bye.
Saving all graphic curves to CSV files
Dear Community, is it possible to save plotter data when i forgot f.e. for three days to start COV logging? Data is visible in the plotter display, with timestamp and value. Thanks in advance.
Add graphic elements for ongoing work
Bug fixes:
-"Force send rewrite" check box, as I encountered a situation where I had to resend the same value to the device to fix an error, but previously the command is only sent if the value differs from the current value.
-Move ShortenObjectId so it can be used by GlobalCommander
GlobalCommander: Handle null types for returned properties when building type list in PopulatePropertiesForPoint
Don't make loading of stored object names asynchronous yet. Because if you start the comms before this is finished it will populate the device list with no names. For future work I propose to load the names within the the QueueUserWorkItem, and then set a flag when the load is complete which will trigger the device tree to update device names (and perhaps the address space tree to update its object names if the user is very quick).
Done. Thanks.
Update BACnet Units (thanks to Eric Miller)
The 14 new BACnetEngineeringUnits values listed in ASHRAE 135-2024 don't appear to have been added through an Addendum to the spec. I checked the 9 addenda released since 135-2020cn and didn't find any containing BACnetEngineeringUnits. For these updates I used the prerelease copy of 135-2024 available at https://ashrae.iwrapper.com/ASHRAE_PREVIEW_ONLY_STANDARDS/STD_135_2024, not a licensed copy of this version of the spec, in case that matters to your acceptance process. The new units added in 135-2024...
The 14 new BACnetEngineeringUnits values listed in ASHRAE 135-2024 don't appear to have been added through an Addendum to the spec. I checked the 9 addenda released since 135-2020cn and didn't find any containing BACnetEngineeringUnits. For these updates I used the prerelease copy of 135-2024 available at https://ashrae.iwrapper.com/ASHRAE_PREVIEW_ONLY_STANDARDS/STD_135_2024, not a licensed copy of this version of the spec, in case that matters to your acceptance process. The new units added in 135-2024...
Hi, I agree with you that values from 47937 through 47967 (volume1..10, volumetric-flow1..10, and site-unit1..10) don't make any sense outside of a vendor-specific context. They are similar to values 105 through 114 (currency1..10). I don't understand why ASHRAE added them rather than asking vendors to use identifiers in the vendor-specific ranges. My additions were intended only to reflect the content of the ASHRAE document. You are right that values 47873 and 254 are very similar, I had not noticed...
Hi, Values from 47944 do not have sens. Value 47873 and 254 with the same definition. Where did your file come from ? ... I would say where come the additions ?
Hi, Values from 47944 do not have sens. Value 47873 and 254 with the same definition. Where did your file come from ?
Hi, Values from 47944 do not have sens
I modified Units.csv (attached) to include updates from Addendum 135-2020cn. Is this message the best way to get these changes into YABE, or should I be using SVN?
Store object name from Global Commander
-Make GetEditor a bit easier to modify
Add BacnetDateTimePickerEditor for completeness, maybe this is a waste of time
As of the latest commit 615 I have this working as you say. In addition, most generic values are possibly able to be edited, although a lot of the time the device will return a "Write Access Denied" error. Many specified arrays (e.g. priority array, event time stamps, etc.) remain mom-editable due to their custom implementation in the property grid. Just some more work left to do on the specified editors (i.e. still some bugs at the moment)
As of the latest commit 615 I have this working as you say. In addition, most generic values are possibly able to be edited, although a lot of the time the device will return a "Write Access Denied" error. Many specified arrays (e.g. priority array, event time stamps, etc.) remain mom-editable due to their custom implementation in the property grid.
As of the latest commit 615 I have this working as you say:
Bugfix: arrays of DateTime handled improperly if tag was BACNET_APPLICATION_TAG_TIME
Minor optimization
Bug fix - GridItems are recreated every UpdateGrid(), so shouldn't be used like a literal in this case
Minor arrow key check for very slight optimisation with frequently used keys
-When an object is selected from address tree or subscription view, auto select the Present Value in the property grid if it exists.
Handle arrays in the property grid where each element is a different type, i.e. give each array property descriptor its own type converter.
-The property grid's vertical scroll stays the same when refreshing/commanding object properties.
-Tidy up some build settings
-Better handling of type conversion in the property grid. Arrays now attempt to find a TypeConverter for each element, instead of just blindly calling ToString() on them.
-DeviceControl better error messages
Some Global Commander improvements
Update Siemens vendor-specific properties
Safer property name comparison
Handle the case properly where we have property ID numbers turned on (e.g. the ExpandedProperties list will contain "Priority Array", not "87: Priority Array", so we iterate and use case-insensitive string contains).
Device might have some nulls in its structured view if it is not 100% compliant with ASHRAE standard. We should handle nulls gracefully rather than crashing.
Uncomment line (line was partially commented out) that prevents StructuredView objects' children from being polled recursively if we are in "List" mode. It is very slow to poll these children unnecessarily.
OperationInProgress sometimes would not be released if exception was thrown
Fix threading bug with receiving a segmented response from a fast device, where segments processing would sometimes overlap and cause concurrency errors.
Another simplification with implicit port 47808
Remote BACnet/IP node notation (Id, IP, Port) syntax simplification
You can send a proposal if you want, just a modification to Device.GetNiceName method by adding the ObjectId parameter.
there isnt any section which definies that Properties cant be context specific.(its true that isn`t very elegant) and not sure but wouldn`t be such a big hassle if Objecttype for example is 1024(max object types)/1025, than use old method but if is context specific other objectnumber than differentiate Properties. if you have nothing against it, when i got some time i will look into it.
Hi, It would take a few hours to refactor the code, but the problem lies elsewhere: on BACnet, all standard properties are associated with a unique, non-content-specific identifier, and this appears to be the case for all manufacturers (minus one !) using this technique. Therefore, modifying the code here to circumvent what appears to be misuse by a vendor is questionable (even though Delta is a historical BACet seller). Bye.
Hi, It would take a few hours to refactor the code, but the problem lies elsewhere: on BACnet, all standard properties are associated with a unique, non-content-specific identifier, and this appears to be the case for all manufacturers (minus one !) using this technique. Therefore, modifying the code here to circumvent what appears to be misuse by a vendor is questionable. Bye.
Got a simple question about Vendormapping when using Delta hardware its possible that vendorporperties are context specific. like: for Program 8,1042, (Delta) TimeoutCount for controlloop its something different 8,1042, (Delta) Algorithm so after vendor there should be someting to define objecttype? Vendor ID,Objecttype,Property Id,PropertyName 8,16,1042, (Delta) TimeoutCount (Program) 8,12,1042, (Delta) Algorithm (Loop)
Fixed MS/TP serial transport in WAIT_FOR_REPLY state to accept any possible reply frame type.
Hi, I have a proprietary property, say PROP_850. Essentially something like this: [BaCSharpType(BacnetApplicationTags.BACNET_APPLICATION_TAG_NULL)] public virtual List<BacnetValue> PROP_850 => RealProperty .Select(x => new BacnetValue(BacnetApplicationTags.BACNET_APPLICATION_TAG_TIME, x.Time))) .ToList(); // Where RealProperty is a List<SomeProperty> if my List of SomeProperty has a single item, it displays the Entry correctly, as a Time. However, as soon as there are two or more Times, it won't...
Hi, Normaly Wheather2_to_Bacnet.exe is available in the AddOn directory with ReadmeWheather2.txt to have information about how to setup it (and Wheather2config.reg). Bye.
Hi, where can I find the weather server? I only find the Thermostat simulator, but no other server application. Thanks,
Hi, No need of admin right. Put the file in a user directory. Not working on Windows 10, Win11 is required. Can you add a wireshark capture of the TCP-TLS handshake ? Bye.
It seems the fix for the "Error with BACnet/SC configuration file" message was just to simply open YABE using Run as Admin. Once I did that, I no longer received the error and was able to save the entries. But now I am receiving the following error when starting the session: BACnet/SC Websocket : WebSocketSharp.WebSocketException: An exception has occurred while reading an HTTP request/response. ---> System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception:...
Hi, In https://sourceforge.net/p/yetanotherbacnetexplorer/code/HEAD/tree/trunk/Yabe/Common%20Files/ one can find a file named BACnetSCConfig.config. But normally when editing the configuration file with Yabe it is OK. So check the path and the name given. BACnet/SC is no more an experimental feature in Yabe but an operational option, so it should work for you. Bye.
Hello. I need some guidance when setting up monitoring of a BACnet/SC network. I am new to BACnet/SC and still trying to grasp the certificate exchange process. I have a signed certificate from the CA and the Hub URI. But I receive the message "Error with BACnet/SC configuration file" when attempting to save. I am not sure what else is required for the setup. I think I am just missing steps or providing incorrect file types but I am not sure what I am doing wrong. At a minimum, I would like to know...
Hi, It's due to the property grid behavior not sending a data change event if the value is the same. Can very simply be avoided by adding a space character before or after the value. Already discuss here https://sourceforge.net/p/yetanotherbacnetexplorer/discussion/general/thread/449d237605/#bc61 Bye.
Hi, YABE is very useful but a scenario was found where it was not behaving as expected (but it is a point of view). There are devices where one property is used as a heartbeat and can detect if the client (a.ka. the master) stops sending write requests. On the other hand, it seems that trying to write the SAME value as the one read with YABE doesn't result in a write request (it looks like it is filtered out by YABE, it was checked with Wireshark). Is it something that can be adapted ? Thank you
Great, thanks! Excellent Yabe and excellent maintainer!
Hi, In about 3 weeks.
Hi, Chaxel, I don't know why the previous discussion missing. But is it possible to release a formal installation for this issue?
Empty file upload
Set file size to 0 is the command set remote file empty.
It maybe preferable to send a empty content to set the remote file empty. But not sure.
When upload file which is 0KB, Yabe pops up "Done" message immediately. But I think it more reasonable for Yabe to pop up "You select an invalid file" or something like that.
File upload buffer size adjustment
Write object id patch
Allows file transfert on mstp up to ... 4Gb !
Allows Usercommand launching external app. working on linux/mono
Allows Plugins working on Linux/mono
Allows Usercommand menu working on linux/mono
One dot
last bin
Fixes GUI bug when first launching Yabe on Linux.
latestBin/Yabe.exe
... mistake correction
Patch the local broadcast reception problem on Linux/Mono
Allows to choose the IPv6 Broadcast address, by Björn Busch
Hi, A capture tool, sending frames to Wireshark for decoding is integrated into Yabe last version : menu option then Mstp capture tool. Try it. Bye.
execuse me, i need help when test yabee mstp , i use serial monitor to check request , frame data like this 55 FF 05 03 01 00 0F 67 01 04 02 73 05 0C 0C 02 3F FF FF 19 4C 29 00 61 51 i try to response, but in log's yabee show : Sending SimpleAckResponse ... Segment sequence out of order UnconfirmedServiceRequest can give me example packet data to response that request? thanks