ROS
(Rune Olav Strandås)
January 7, 2021, 6:53pm
1
Hi.
I have problems to get the right DPT in OH3. Is there a place where you can specify the DPT?
I need the HAVC DPT 20.102 or any unsigned Byte type, can also use DPT 5.
Has also problems whit the current DPT 7.001 that is 2 Byte value(0…65535) that OH3 handels as float.
ROS
Specific DPT are part of the group adress configuration in the knx binding.
You have to set DPT
:GroupAdress
.
See KNX Binding Doc for Group Adress Notation for more information.
Calculator
(Calculator)
January 11, 2021, 5:07pm
4
Hi Ros,
Did you manage to get this working?
I’m not able to send values out to the bus by creating a channel with DPT 20.105 for my HVAC mode.
Honestly i’m not sure which item to create?
I tried to create a Switch and list item with mappings to the corresponding values eg:
0=auto
1=heat
2=warmup
4=cool
etc…
Did you create a switch in sitemap or a switch item?
Calculator
(Calculator)
January 11, 2021, 5:42pm
6
I created a number item and a switch in sitemap indeed.
Also tried string item and switch in sitemap.
Both no success…
I have nothing for numbers to test here unfortunately, but theoretically
Number
Item with Switch
in Sitemap (+ Mappings )
should do the trick.
How did you configure the channel?
Calculator
(Calculator)
January 11, 2021, 6:02pm
8
My channel config looks like this:
- id: Kantoor_airco_mode
channelTypeUID: knx:number
label: Kantoor airco mode
description: ""
configuration:
ga: 20.105:3/6/76+<3/6/81
I don’t now where to get a code view of the item, but it’s a number item without any extra configuration…
Then sitemap configuration looks like this:
Text icon="temp_frost" label="Airco kantoor" {
Switch icon="snow" label="Airco on/off" item=KNXgenericdevice_Kantooraircoswitch
Setpoint icon="temp_temperature" label="Setpoint" item=KNXgenericdevice_Kantooraircosetpoint
Switch icon="vent_ventilation_level_manual_m" label="Fanspeed" item=KNXgenericdevice_Kantooraircofanspeed mappings=[1="Low",2="Med",3="High"]
Switch icon="fts_blade_s_automatic" label="Swing" item=KNXgenericdevice_Kantooraircoswing
Switch icon="fts_blade_s" label="Vleugel positie" item=KNXgenericdevice_Kantooraircovanesposition mappings=[1="1",2="2",3="3",4="4",5="5"]
Switch item=KNXgenericdevice_Kantooraircomode label="Modus" mappings=[1="1",2="2",3="3"]
}
All other channels configured in sitemap work well including the 5.010 counter pulses for vanes & fan speed
ROS
(Rune Olav Strandås)
January 11, 2021, 6:04pm
9
Hi Calculator.
Yes, it works with DPT 5.010.
You need to send a Byte to your HVAC with the value you want to use.
This can be done by making a rule that.
1 Like
Calculator
(Calculator)
January 11, 2021, 6:08pm
10
@ROS :That fixes the issue, message is sent to bus and status is updated… thanks!
@Confectrician :Thank you for trying to help me out!
Question remains why it’s working with DPT5.010 and it isn’t with DPT20.105…
For people trying to create HVAC mode control:
channel config:
- id: Kantoor_airco_mode
channelTypeUID: knx:number
label: Kantoor airco mode
description: ""
configuration:
ga: 5.010:3/6/76+<3/6/81
3/6/76 being control GA & 3/6/81 being status GA
Next create item with type number without any additional class.
Then implement Switch item in your sitemap as follows:
Text icon="temp_frost" label="Airco kantoor" {
Switch icon="snow" label="Airco on/off" item=KNXgenericdevice_Kantooraircoswitch
Setpoint icon="temp_temperature" label="Setpoint" item=KNXgenericdevice_Kantooraircosetpoint
Switch icon="vent_ventilation_level_manual_m" label="Fanspeed" item=KNXgenericdevice_Kantooraircofanspeed mappings=[1="Low",2="Med",3="High"]
Switch icon="fts_blade_s_automatic" label="Swing" item=KNXgenericdevice_Kantooraircoswing
Switch icon="fts_blade_s" label="Vleugel positie" item=KNXgenericdevice_Kantooraircovanesposition mappings=[1="1",2="2",3="3",4="4",5="5"]
Switch item=KNXgenericdevice_Kantooraircomode label="Modus" mappings=[0="Aut", 1="Heat", 3="Cool", 9="Fan", 14="Dry"]
}
1 Like
According to:
Every Group Object is in fact a data point, i.e. it represents data.
In order to have a standardized interpretation of the data represented by each Group Object, data point types have been introduc...
The significant difference should be that DPT 20.105
is an 8 bit enumeration and DPT 5.010
is just an 8-bit value.
Possible that the knx library doesn’t handle the command properly.
Calculator
(Calculator)
January 11, 2021, 7:00pm
12
I also think something there…
Anyway, there is no harm implementing the way i just did, it works like a charm!
Thanks again
1 Like
franks
(Frank Seidinger)
January 19, 2021, 12:34pm
13
Confectrician:
The significant difference should be that DPT 20.105
is an 8 bit enumeration and DPT 5.010
is just an 8-bit value.
Possible that the knx library doesn’t handle the command properly.
The knx binding follows the dpt translators of the underlying calimero libraries. Calimero started to treat the 8 bit enumeration as strings to represent the allowed values and translates them from/to the knx bus accordingly.
So if, e.g. you want to send the value 0
to the knx bus for the DPT 20.105, you have to link the thing channel to a string item and send the value Auto
.
The other mappings can be found in the calimero translator code:
https://github.com/calimero-project/calimero-core/blob/master/src/tuwien/auto/calimero/dptxlator/DPTXlator8BitEnum.java
The strings follow the official knx DPT specification. So, if you have a copy of that document, just take the values from there.
Please have in mind that the values can contain blanks like Building Protection
, which is the correct value for DPT 20.102, value 4
.
1 Like
binderth
(Thomas Binder)
January 19, 2021, 12:55pm
14
Just stumbled across this. I have mostly GIRA actuators (in this case the thermostats are in the sensors: 3 Plus 5fach), which I connected with 20.102 also in ETS programming:
- id: SchlafzimmerHVAC
channelTypeUID: knx:number
label: Schlafzimmer HVAC
description: ""
configuration:
ga: 20.102:8/5/3+<20.102:8/5/13
works for me, even via alexa commands, because the item is a Number and the Alexa metadata
value: Endpoint.Thermostat
config:
category: THERMOSTAT
scale: Celsius
Communication is done via Weinzierl IP Interface 730.
don’t know, if this is helpful for others…