Sending KNX messages does not work.
Closed this issue · 6 comments
I'm currently migrating from node-red-contrib-knx to knx-easy. Many things look better in knx-easy. Thanks for the great work. This is more a support request than a bug report. Please be gentle.
I created a KNX easy output node, configured gateway, group address, DPT and output type. The type is DPT1.008 UpDown. I linked an inject node, which sends a boolean payload to the output node. But when I hit the inject button, nothing happens. The group address drives a shade up and down ( see
. Unfortunately I can't use the ETS5 bus- or group-monitor to debug this, since the gateway is already occupied by KNX easy.
This is just a first try to send KNX messages. Receiving messages already works. Is there a limit to the number of KNX easy input/output nodes? I currently have 9 input nodes and 1 output node in my flow. One of the input nodes has the status "Not connected", all the others are connected. Could this be related to the problem of sending messages?
How can I debug this issue further?
Hi,
- There is not a limit on number of input/output nodes. ( I have more than 100 in my config)
- All nodes will need a group-address, to be connected. Maybe that is why one is not connected)
- I see that the DPT lib expects 0/1, not true false:
// 1.008 up/down
"008" : { "use" : "G",
"name" : "DPT_UpDown",
"desc" : "up/down",
"enc" : { 0 : "Up", 1 : "Down" }
You could try sending Payload 0 or 1 as Integer/Number instead of boolean.
Or try sending "Up" or "Down" as String..
Thanks for your reply (and your patience with such noob questions)
With "Up"
, "Down"
, "0"
, "1"
, 0
and 1
I can drive the shades.
These DPTs are confusing somehow and Javascripts dynamic typing doesn't make it easier to understand (at least when you're only used to strongly typed languages).
Next I want to set the slat position, which is DPT 5.001. I tried both "5"
and "5.001"
as DPT, but no luck. As payload I also tried number and string.
The message I sent looks like this:
{
"topic":"1/3/3",
"payload":70,
"knx":{
"dpt":"5",
"destination":"1/3/3"
}
}
Any hints?
For testing its probably easier to set up everything in the output node parameters page.
Using the dropdown to choose DPT.
And just use a trigger node to send only the payload.
Link to dpt5 code
Seems like 5.001 expects hex or something as string:
// 5.001 percentage (0=0..ff=100%) "001" : { "name" : "DPT_Scaling", "desc" : "percent", "unit" : "%", "scalar_range" : [0, 100] },
I guess you already tried, but try sending plain number between 0-255, or maybe like "50%" as string
Sorry for such vague answers, I never used this DPT before :)
I already checked the DPT 5 source and tried different things. This is also the first time I'm trying to set the slat position directly in my KNX setup. Next I programmed a KNX switch to send a value to that group address to set the position. This does also not work.
So it's a problem with my actor (MDT Jalousie 4x and 8x).
I already tried different parameters within the actor configuration, but all without luck. Next I'm planning to update the application program to the latest version, which means re-configuring all parameters and group address assignments :-( I hope this works.
Thanks for the help so far.
Ok,, closing issue. But feel to ask more in this same thread if you need help.