Home AMX User Forum NetLinx Studio

Advice on NXB-KNX IP communication

Hi guys,

So I have a NXB-KNX on system 1(server) and I want system 2 (client) to be able to communicate with system 1 by sending a button_event to open up a light.

How can I do that?

Regards all!

Comments

  • champchamp Posts: 261
    Add a URL list on one of the masters to point to the other system, then talk directly to the KNX from system 2.
  • MarkCoMarkCo Posts: 18
    On the other hand, its not possible.
    You see, NXB-KNX is communicating via IP.
    What I have is this setup:
    System 1:
    1xNXB-KNX connected to the System 1 master
    1xTouchPanel can control light 1 on KNX system

    System 2:
    1xSystem 2 master
    1xTouchPanel should be able to turn on Light 2 on the KNX System.


    How would the IP communication be setup?
    I did the following:
    System 1:
    DEFINE_CONSTANT
    system1 = 0:3:0
    port = 8000
    DEFINE_START
    IP_SERVER_OPEN (system1.port, port, IP_TCP)


    System 2:
    DEFINE_DEVICE
    dvNXB = 13001:1:1 // on system 1
    dvTP2 = 10001:1:2 //on system 2
    DEFINE_CONSTANT
    system2 = 0:4:0
    serverip[] = {192.168.40.55}
    port = 8000
    DEFINE_START
    IP_CLIENT_OPEN (system2.port, serverip, port, IP_TCP)

    button_event[dvTP2, 1]
    {
    push:
    {
    switch(button.input.channel)
    {
    case 1: { KNXSet(dvNXB, 3, 1) }
    case 2: { KNXSet(dvNXB, 3, 0) }
    }
    }
    }


    but the problem is that its not even working.
  • nickmnickm Posts: 152
    With Master-to-Master communication, you don't need to set up any sockets manually. Once you have the URL List properly configured, there is constant communication between the two. Using D:P:S, you have direct access to any of the other system's devices.

    System 1:
    DEFINE_DEVICE
      dvNXB = 13001:1:1
      dvTP1 = 10001:1:1
    

    System 2:
    DEFINE_DEVICE
      dvNXB_on_System_1 = 13001:1:1  // you can name it 'dvNXB' just added the extra for clarity
      dvTP2 = 10001:1:2
    
    DEFINE_EVENT
      BUTTON_EVENT [dvTP2,1] {
        PUSH : {
          SEND_COMMAND dvNXB_on_System_1,"'*** Insert Command Here ***'"
        }
      }
    

    That's all you have to do. The dvNXB device definition within System 2 is pointing to System 1. Therefore, you can send commands, channels, etc. Just as you would from System 1.
Sign In or Register to comment.