Home AMX User Forum AMX Technical Discussion

AMX - KNX integration problem

So I've been tasked to integrate KNX shading control to a house we have that is fully AMX packed already.

I've been going around with that and ended up setting up all the KNX control and was now doing the integration with AMX with a NXB-KNX

I'm using AMX module for that and having success to an extent, I can communicate and control the shades, however my problem is that if I send the AMX control to put the shades down, it will do the trick, however it won't allow to send "down" again. I would need to give an "go up" command, and only then the down will work, once again.
Same happens doing the reverse (UP)

I would understand that it's as it was coded, however, it's of the clients interest that he may stop the shades movement, whenever they want (let's say halfway down). While I can indeed stop the shades with a stop command, I can't put them to move down again, only up!

I'm adding the movement Group Adresses in the NXB Table file like:

KNXAdd(dvNxbKnx, 41, knxSWITCH, '2/1/22', "knxPollstart")
KNXAdd(dvNxbKnx, 42, knxSWITCH, '1/0/12', "knxPollstart")

And to activate the Group Adresses, I've been using the send_level:

send_level dvNxbKnx, 41, KNX_DIR_UP


And it does work, once, but never twice in a row, I'd have to call a "down" and then an "UP" again, for example.
I can tell that it is an AMX Module problem that I am having, and not a KNX problem, because the NXB-KNX led lights up when it gets commands from the NI controller, which it does at the first time, but not at the second.

Has anyone else experienced this problem?

Comments

  • AuserAuser Posts: 506
    Prodigal wrote: »
    And to activate the Group Adresses, I've been using the send_level:

    send_level dvNxbKnx, 41, KNX_DIR_UP

    And it does work, once, but never twice in a row, I'd have to call a "down" and then an "UP" again, for example.

    AMX level events are non-retriggerable. No matter how many times you send the same value to the same level on a device in a row, only one event will be generated.

    Possible work arounds are sending the value for stop before sending a movement value (if stop can be activated by sending a value to the level - it's not clear from your post), or sending a dummy value that is ignored by the module (0 or 99 perhaps) after sending a movement value.
  • You are indeed, completely right Auser.
    Never noticed that send_level's aren't retriggable when they have the same value.

    I did try those workarounds after to see if I could fix the snag, but they were of no use, since AMX module sees these Shader relays as KNX Switches, thus having only values of 0 or 1. If you send anything higher then 1, the module "corrects" the value to 1.

    The Stop function is actually a different level, so it doesn't affect this action, nor can one use it to "reset" the level.

    Anyway, I was able to find another way of controlling the shaders through send_commands, completely avoiding the send_levels.

    Up and working!
    Thanks Auser
  • Prodigal wrote: »
    So I've been tasked to integrate KNX shading control to a house we have that is fully AMX packed already.

    I've been going around with that and ended up setting up all the KNX control and was now doing the integration with AMX with a NXB-KNX

    I'm using AMX module for that and having success to an extent, I can communicate and control the shades, however my problem is that if I send the AMX control to put the shades down, it will do the trick, however it won't allow to send "down" again. I would need to give an "go up" command, and only then the down will work, once again.
    Same happens doing the reverse (UP)

    I would understand that it's as it was coded, however, it's of the clients interest that he may stop the shades movement, whenever they want (let's say halfway down). While I can indeed stop the shades with a stop command, I can't put them to move down again, only up!

    I'm adding the movement Group Adresses in the NXB Table file like:

    KNXAdd(dvNxbKnx, 41, knxSWITCH, '2/1/22', "knxPollstart")
    KNXAdd(dvNxbKnx, 42, knxSWITCH, '1/0/12', "knxPollstart")

    And to activate the Group Adresses, I've been using the send_level:

    send_level dvNxbKnx, 41, KNX_DIR_UP


    And it does work, once, but never twice in a row, I'd have to call a "down" and then an "UP" again, for example.
    I can tell that it is an AMX Module problem that I am having, and not a KNX problem, because the NXB-KNX led lights up when it gets commands from the NI controller, which it does at the first time, but not at the second.

    Has anyone else experienced this problem?

    I have seen some Knx systems acting like this before...
    Actually the KNX wall buttons are not able to do an "Up" direction after a previus up.
    Same with lightning.

    May it be a KNX issue?

    NXB-KNX is actually 50% Amx product and 50% Knx isn't it?



    Kenneth
  • I never had problems with KNX and re-sending a value of a group address. Maybe this behavior is actuator specific .
  • No it was really a send_level issue.

    The actuators were working fine and could get the same instruction several times.

    Instead of a Send_Level as the AMX module says, I used a function which is also in the module:

    DEFINE_FUNCTION KNXSet(DEV dvKNX, INTEGER nAmxNr, LONG lValue)
    {
    SEND_COMMAND dvKNX,"'SET=', ITOA(nAmxNr), ':', ITOA(lValue)"
    }
Sign In or Register to comment.