0
Waiting for user's reply

Read 4bit event from feedback

Martin Sundström 7 years ago in iRidium Script updated 7 years ago 12

I am trying to read the event from a 4bit dimming feedback channel and cannot get anything to show in the log. I am using the following code to catch all events and write them to the log:


IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("KNX Router (KNXnet/IP)"), function(name, value)
{
IR.Log(name+":"+value) // output the tag name and its new value in the log

}


It works well for events from other types, KNX touch buttons, temperature from sensors etc. But when I send a 4bit dimming event from either a touch button or through ETS4 I get nothing. Should I use another type of event to catch that specific value or should IR.EVENT_TAG_CHANGE work?


Thanks!



Waiting for user's reply

Hello!


This method should work for all types of channels. First, make sure that the channel receives at least some values.

For this you can bind the desired channel feedback to the item in the "inText" mode. Try to change the value in this channel and see what is displayed on the item.

Also can try to use the global listener.


Hi and thanks for your reply!


Ok, I haven´t got any panel for this project, I only use the server for logic. But I will create a panel project for and give it a try...

Ok, so I have done some tests, I can´t get a proper value from any device sending 4bit dimming nor if I send it in ETS4, I can only get Iridium to register that as true/false if I change the value to 1bit switching. But I don´t get anything when sending 4 bit dimming at all. Any ideas?


Also, the gloabl listner doesn´t work either, it behaves the sae way. What I can get is switching values and temperature...

Hello!


Are you sure that you have correctly programmed the desired channels in ETS?

Open your project in the ETS and see what type you set up for the desired channel. Maybe you set up a 1bit type for a channel which you trying to read.

Hi, Yes, in ETS the channel is programmed as a Dimming Control. I have attached a couple of images, the first one show where I manually send to the channel and the second image is of the touch button settings.


Also, in Iridium I have the correspinding Feedback/channel as below.

Have you tried to control the channel directly from the control panel without any involvement of the server?


No I haven´t, I can give that a try aswell. It all works fine if done only through the KNX devices, the pushbutton and the Dali Gateway.

Hello!


By the way this channel doesn't return feedback.



So you need to bind to this device another channel with type "1 byte".


For example




Ok, does this apply even if the KNX button I am trying to use sends a 4 bit message? In your example you have a 4 bit dimming type bound to group 1/0/1, would you not be able to catch anything on that group at all then since it is a 4 bit message? Or would that 4 bit message on group 1/0/1 be read by Iridium if it was bound to a 1 byte channel?


I haven´t had time to test this yet but will give it a go later today, I just thought I should ask...

Ok, does this apply even if the KNX button I am trying to use sends a 4
bit message? In your example you have a 4 bit dimming type bound to
group 1/0/1, would you not be able to catch anything on that group at
all then since it is a 4 bit message? Or would that 4 bit message on
group 1/0/1 be read by Iridium if it was bound to a 1 byte channel?

A channel with type 4 bit never returns anything, it is only used to send a command to the device.

To control, and also get the state of the light level, you need to use a channel with the type 1 bite.

If you do not have such a channel, then you need to first program it in the KNX bus.


For example.

In my project there are three channels for controlling the light, as I showed you above.


In iridium, I can use any of these channels. 

But each of these channels has its own type, so in order to control the level of light and get the status of this level, I must use a channel with the type 1byte.




HI and thanks for the answer. So in short: If I use a physical button, like the MDT BE-GTT4W.01, to send a 4-bit command to the KNX bus, I can´t catch that command in Iridium?


If not, I will have a very hard time building logic  in Iridium based on physical buttons, do you have any other suggestion on how to make this work?

Ok, So I´m a bit confused, I don´t think I can change how the physical KNX pushbutton sends information when I hit the button. I have looked through all the settings in ETS for the button and I cannot change the data type:


I tried to edit the channels in Iridium to 1 byte but that didn´t change anything. Iridium doesn´t even read the value on startup as it does for the other channels... This is a major showstopper for me, If I can´t get this to work I will have to look for another product for the logic functions for this project.