This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

BACNET IP and IP filters comm
#41
If you block by individual address then it's not possible to pass any specific telegrams. Group address filtering provides more flexibility in this case.
Reply
#42
ok, thanks
Reply
#43
Good afternoon,

I need to review this conversation thread again. I'll try to recall the original problem. I had a building controlled by four logic machines: three receiving KNX data from sensors in apartments across three entrances (P1, P2, and P3) and Modbus data from the energy meters; the fourth logic machine was for the building's garage.

The problem I had was that I had grouped the SCADA displays under LM_P1. Because of this, LM_P1 was receiving data from LM_P2 and LM_P3 for temperature, CO2, and relative humidity, as well as from the energy meters (kWh).

The resulting problem is that the bus load on LM_P1 is very high, at 100%, and I can't reduce it. I just blocked it from receiving data from the other logic machines, but it's still receiving a constant load.

For some reason, certain addresses are duplicated, and I don't know why. I'm not sure if it's a scripting issue or an ETS configuration problem. I've even considered the possibility that the line coupler is in repeater mode. I've attached screenshots of everything.

Attached Files Thumbnail(s)
                       
   
Reply
#44
LM with KNX address 1.1.250 is spamming the bus with read telegrams. Disable poll interval for all objects and check your scripts for grp.read calls.
Reply
#45
How do I disable the polling interval? Is there a parameter to disable it, or do I have to go through each group address individually? Also, it's in remote mode; I don't have the logic machine here.

Could the following scripts be to blame?

Attached Files Thumbnail(s)
           
Reply
#46
Just make sure that pool interval is empty. You can use mass edit in objects to do all at once.
------------------------------
Ctrl+F5
Reply
#47
Poll interval - use Mass edit > Object properties > Field list = Poll interval (seconds). Set to 0 and save.

Scripts - use grp.checkwrite instead of grp.write to lower the bus load.

grp.read - go to Scripting > Tools > Print script listing. Use find to look for any grp.read calls.
Reply
#48
Okay, I removed the interval and the bus load percentage dropped significantly.

Regarding the readings, I didn't find any `grp.read` commands, but I did find many `grp.write` commands. I've attached images.



Is there a way to globally replace all `grp.write` statements with `checkwrite`?

Attached Files Thumbnail(s)
       
Reply
#49
There's no mass edit for script - you have to edit scripts manually.

It's possible that you have a loop in the KNX where several LMs are connected to the KNX/TP segment. This causes telegrams to be duplicated many times because LMs also communicate over KNX/IP between each other.
Reply
#50
Okay, I'll modify them.

Yes, that's right, the logic machines are connected via KNX/IP, and physically they're connected to a rack with UTP cables.
Reply
#51
(27.04.2026, 12:19)admin Wrote: Poll interval - use Mass edit > Object properties > Field list = Poll interval (seconds). Set to 0 and save.

Scripts - use grp.checkwrite instead of grp.write to lower the bus load.

grp.read - go to Scripting > Tools > Print script listing. Use find to look for any grp.read calls.

If I want to change the `grp.write("address group")` command to `grp.checkwrite`, I have to use this command:

For example, how do we modify `>>>>> grp.write(GA_MAX_TEMP, 0)`?
Reply
#52
Use this:
Code:
grp.checkwrite(GA_MAX_TEMP, 0)

But this is a minor thing compared to the possible loop in KNX. Provide a screenshot of active ETS group monitor.
Reply
#53
Good morning,

I'm not there right now; I have to go. When I get there, I'll connect and show you what you're asking for.

As I mentioned, I have four logic machines connected by UTP cable to the same point, and they've all been loaded with the same ETS file.


Regarding that potential loop, I want to clarify how we've set up the topology:

We have three logic machines (LMs) at each entrance of a building:

- Via KNX/TP, each LM receives data from 27 temperature, humidity, and CO2 sensors and 27 touch displays.

- Modbus RTU, data from 27 residential electricity meters.

One LM receives data from a garage.

At the IP level, the LMs are connected via UTP to a point where we've installed a router. If I connect via Wi-Fi or Ethernet cable, I can access the logic machines through their IP addresses. Additionally, LM1, LM2, and LM3 have the same KNXPROD file loaded; it's an ETS6 file I created for group addresses.
Reply
#54
Draw up your KNX topology and show it as a picture.
------------------------------
Ctrl+F5
Reply
#55
Yes, sure.

I'm attaching an image of the building's topology.

Attached Files Thumbnail(s)
   
Reply
#56
And where are the LM2/3/4 connected? Is it the same KNX/TP or seperate?
------------------------------
Ctrl+F5
Reply
#57
They are separated
Reply
#58
Good morning,

I have two questions.

First, as you know from these conversations, I have four Logic Machines (LMs) connected to the same point via UTP cable. This should mean that LM_1 (192.168.0.11), LM_2 (192.168.0.12), LM_3 (192.168.0.13), and LM_4 (192.168.0.16) should be neighbors. However, only the fourth Logic Machine (LM_4) appears as a neighbor for LM_1, 2, and 3, and no neighboring LM_s appear for Logic Machine 4. This is very strange. I've attached photos.

Second, I just configured the following on LM_2: in KNX connection > Local > IP filter > block sending data to LM_1 (1.1.250) > drop selected individual addresses 1.1.* > OK, but it's not working. LM_1 is receiving data from LM_2. I know that if I do this from LM_1 > IP filter > Local > 1.2.* it will work, but I want to try other ways to filter the information. In fact, what I want is for communication to be filtered by objects; that is, I want to block or allow IP communication between LMs using the IP > Loc Filter and Loc > IP filter columns in the objects tab. I've attached an image.

Attached Files Thumbnail(s)
           
Reply
#59
What is the filtering policy?
Do you have the same firmware on all LMs?
------------------------------
Ctrl+F5
Reply
#60
Regarding the firmware, I'm sending screenshots.

Regarding the filter policy, let me explain what I want:

1- I don't want communication between LM1, LM2, and LM3. I think I've achieved this by setting the KNX addresses in IP filter > local, and dropping the selected individual addresses on each LM.

2- What I'd like is to choose which common group addresses can be shared between LM4 and each individual LM by clicking on the object filters.

Attached Files Thumbnail(s)
           
Reply


Forum Jump: