Ok … I’ll make that work … let’s use this meeting:

https://us06web.zoom.us/j/87866264471?pwd=MEQ4bnNBSzVvZEZ5VUgxaG9Ma1BWZz09

Chris


From: Darren Everley <[email protected]>
Sent: Dienstag, 8. Februar 2022 16:31
To: Christofer Dutz <[email protected]>
Cc: [email protected]
Subject: Re: A couple of questions from a PLC4X newbie. KNX related.

Great, shall we go for 10:00 CET on Thursday then?


On Tue, Feb 8, 2022 at 3:29 PM Christofer Dutz 
<[email protected]<mailto:[email protected]>> wrote:
Hi Daren,

I intentionally didn’t reply to the list, cause I wanted to make sure you were 
ok with it … now I’m brining it back to the list.

Thursday or Friday looks good for me … how about Friday morning or early 
afternoon? Some time between 10:00 and 15:00 (CET/GMT+1)?

Chris

From: Darren Everley 
<[email protected]<mailto:[email protected]>>
Sent: Dienstag, 8. Februar 2022 16:21
To: Christofer Dutz 
<[email protected]<mailto:[email protected]>>
Subject: Re: A couple of questions from a PLC4X newbie. KNX related.

Hi Chris,

I'm more than happy to have a call, I'm free almost all of this Thursday and 
Friday if that works for you at all?

As for sending the email to just you, i simply just pressed reply.  Looks like 
you might have done the same in your previous reply to me.  I'm of course happy 
for you to forward these emails to the mailing list.

I look forward to our discussions.

Darren


On Fri, Feb 4, 2022 at 11:39 PM Christofer Dutz 
<[email protected]<mailto:[email protected]>> wrote:
Hi Darren,

first of all thanks for taking the time to dig into this stuff … you can 
imagine that many people like to use our stuff, but not really to help work on 
it. So you’re a great example of being cool :-)

Could you possibly send me a knxproj file built with ets6? I think I have some 
ideas on how we could address this, but I’m still waiting for my KNX Foundation 
contact to get back to me.

As it’s pretty late here and I’m just about to call it a day … I’d be happy to 
do a one-on-one video session with you. I am sure we can figure things out this 
way. Jusging from your email url, I would assume that you’re in a similar 
timezone.

I don’t know if you’re working on this in your free time or at work … As 
weather is going to be shitty this weekend, I’ll probably be hanging out at the 
computer anyway. So if you want to .. perhaps we could even do something this 
weekend. Otherwise over the week, even if this week is going to be a bit 
stuffed with appointments. But we could try and fit something in.

By the way … did you intentionally send it to me and not to the list? Cause if 
not, I’d love to forward things to the list … just to keep everyone informed 
(That’s how things work at Apache) :)

Chris


From: Darren Everley 
<[email protected]<mailto:[email protected]>>
Sent: Freitag, 4. Februar 2022 23:40
To: Christofer Dutz 
<[email protected]<mailto:[email protected]>>
Subject: Re: A couple of questions from a PLC4X newbie. KNX related.

Hi Chris,

I've a small update for Friday evening. And first, sorry for the length of what 
you are about to read....

To start with, the assumption regarding the XML namespace different for ETS5/6 
was correct. Sadly it is of no use. The path to the XML files within the ETS5 
and ETS6 files are different, so this is the dirty discriminator that we have 
to use.

Second. I'm getting close to solving the issue I have with value decoding. It 
seems I'm digging into the code generators a bit and it's not the easiest thing 
to grasp without a few pointers.  Anyway, let me give you some insight into my 
findings so far:

- All my issues thus far are all related to Data Types within the 9.xxx range. 
Primarily, the 9.001 - DPT_Value_Temp and 9.006 - DPT_Value_Pres.
- I'm referencing the spec for Data Types found here: 
https://www.knx.org/wAssets/docs/downloads/Certification/Interworking-Datapoint-types/03_07_02-Datapoint-Types-v02.02.01-AS.pdf
- The page of interest is Page 39, section 3.10.
- The Primary Data Type for these "2-Octet Float Value" types is PDT_KNX_FLOAT, 
which is as you can see different from PDT_FLOAT, as can be found on page 44, 
section 3.15.
- The PDT_FLOAT/3.15 values follow the IEEE encoding for floats that is already 
implemented
- The PDT_KNX_FLOAT/3.10 values are actually integer values offset by 100, i.e. 
value * 0.001.
- The method KnxNetIpProtocolLogic.processCemiData() is doing something (I've 
not investigated yet) with firstByte and restBytes, which is seemingly not 
necessary (concatenating the first the remaining bytes into a single array) and 
further corrupts the decoding. i.e. This operation is not required, as the 
remaining two bytes contain the value to be decoded.


So with this information it's easy to see that the generated decoding functions 
within the KnxDatapoint.java file (e.g. line 1230) do not decode to the correct 
file.

Furthermore, the xsl templates used to translate the knx_master.xml spreadsheet 
are keyed off of the sub element 'Format/Float' within the 'DatapointSubtype' 
elements. This is the same identifier used to capture both previously 
identified types of floating point values, so some are wrong.

Sadly xsl is not something i've ever learned, so am guessing really here, and 
that doesn't make me comfortable.

If you've the time to digest all of the above, and it makes sense, then I'd be 
grateful for some pointers so I can get stuck in and make this work the way it 
needs to.

Many thanks

Darren


On Thu, Feb 3, 2022 at 1:14 PM Christofer Dutz 
<[email protected]<mailto:[email protected]>> wrote:
Hi Darren,

I would assume that the xml files have namespaces set on the root nodes … these 
will very likely contain the ets version they were created for. This is what 
I’m using for some other KNX related stuff we’re doing at mapped. This would 
have the benefit of not requiring the user to manually select, but it could be 
auto-detected.

Regarding your findings on the datatypes … this would be really helpful if we 
tracked down any problems here. As far as I know not many people have used the 
KNX drivers except me and only in my own house ;-)

Chris


From: Darren Everley 
<[email protected]<mailto:[email protected]>>
Sent: Donnerstag, 3. Februar 2022 12:04
To: Christofer Dutz 
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: A couple of questions from a PLC4X newbie. KNX related.

Hi Chris,

I have joined the mailing list as requested, so hopefully you shouldn't have to 
moderate my messages any longer.

With regard to the Ets upgrade from 5 to 6, the only differences I can see so 
far are the embedded XML files have different file names than they did in v5. 
My approach has therefore been to remove 5 from the class names and have an 
additional config parameter to specify the version. I will dig a little further 
to see if this can be automated before submitting a merge request.

With regard to the data type problem. I have debugged the problem and found two 
lines in the Ets5ModelParser class which, only work for the first 26 I think 
data types, the hard coded ones from what I can tell, but then fail for all the 
types as defined within the XML. With some local changes I have made I can then 
make this work for my case, but it will then not work for the original 26.  I 
suggest once I'm happy with this locally I will push to my forked repo and you 
can take a look there and perhaps offer an opinion? If you'd prefer to work in 
a different way then I'm more than happy to discuss.

Many thanks

Darren

On Thu, Feb 3, 2022 at 8:31 AM Christofer Dutz 
<[email protected]<mailto:[email protected]>> wrote:
HI Darren,

first of all: Welcome :-)

Regarding ETS6 support: I just learned from your email that ETS6 is available 
... guess now I'll have to update ;-)
So, any input on how things have changed is indeed highly welcome. However, we 
need to ensure to stay compatible with ETS5 as I am sure not everyone is going 
to update to 6 instantly.

Regarding the datatypes: I have learned in my own KNX setup, that if you simply 
create a group-address and use that, some times there is no datatype assigned 
to that. In the past I had similar problems with this. I simply ended up 
ensuring that I have the datatypes configured correctly in my ETS5. Could you 
please double check if in ETS all group addresses are shown the same way?

Chris

PS: Could you please subscribe to this list by sending an email to 
[email protected]<mailto:[email protected]>? I had to 
moderate your email which was sort of delivered to my spam folder. Was lucky to 
have seen it.

-----Original Message-----
From: Darren Everley 
<[email protected]<mailto:[email protected]>>
Sent: Donnerstag, 3. Februar 2022 01:09
To: [email protected]<mailto:[email protected]>
Subject: A couple of questions from a PLC4X newbie. KNX related.

Hi all,

First thanks to all the contributors for the ongoing efforts with this 
marvelous set of libraries.

I've only just started using it (the Java version specifically), for 
experimentation and research initially, but hopefully something more tangible 
in the future.

My test case is a selection of reasonably modern ABB KNX equipment. In 
particular a weather station and some air quality sensors.

My first stumbling block was that I have been provided an ETS file from ETS6, 
not ETS5. So I've modified my local copy of PLC4J to now correctly parse the 
ETS6 XML files. I'll post a merge request for this over the next few days or so.

It goes without saying, I'm more than happy to be a contributor here as well as 
a user.

My second stumbling block is that, from what I can tell, the air quality sensor 
I have and the associated group address for the temperature does not have an 
associated KnxDatapointType value, and therefore only the raw value is returned 
by the PLC4J library.  I was therefore wondering if anyone has any insight they 
can share with me so that I can either reconfigure my ETS file, or even make 
changes to the PLC4x code base?  I should say that I am very happy to provide a 
sample ETS file, albeit for version 6 if this would help?

Here's a small sample of the relevant KNX data sub type definition in XML if 
it's of use....

   <DatapointType Id="DPT-9" Number="9" Name="9.xxx" Text="2-byte float value" 
SizeInBit="16" PDT="PDT-5" Default="true">
        <DatapointSubtypes>
          <DatapointSubtype Id="DPST-9-1" Number="1" Name="DPT_Value_Temp"
Text="temperature (°C)">
            <Format>
              <Float Id="DPST-9-1_F-1" Width="16" Unit="°C" MinValue="-273"
MaxValue="670760" />
            </Format>



Many thanks in advance

Darren


--
Darren Everley - Director
[https://drive.google.com/a/xeropoint.co.uk/uc?id=1Jk5fuTk5Kyzf3eJkM8P-lnQeory9ZUHy&export=download]
Email: [email protected]<mailto:[email protected]> | 
Mobile: 07891405262 | Website: www.xeropoint.co.uk<https://www.xeropoint.co.uk/>
Company: Xeropoint Ltd. Registered in England and Wales. 11101907
Address: Henleaze House, Harbury Road, Bristol, BS9 4PN


--
Darren Everley - Director
[https://drive.google.com/a/xeropoint.co.uk/uc?id=1Jk5fuTk5Kyzf3eJkM8P-lnQeory9ZUHy&export=download]
Email: [email protected]<mailto:[email protected]> | 
Mobile: 07891405262 | Website: www.xeropoint.co.uk<https://www.xeropoint.co.uk/>
Company: Xeropoint Ltd. Registered in England and Wales. 11101907
Address: Henleaze House, Harbury Road, Bristol, BS9 4PN


--
Darren Everley - Director
[https://drive.google.com/a/xeropoint.co.uk/uc?id=1Jk5fuTk5Kyzf3eJkM8P-lnQeory9ZUHy&export=download]
Email: [email protected]<mailto:[email protected]> | 
Mobile: 07891405262 | Website: www.xeropoint.co.uk<https://www.xeropoint.co.uk/>
Company: Xeropoint Ltd. Registered in England and Wales. 11101907
Address: Henleaze House, Harbury Road, Bristol, BS9 4PN


--
Darren Everley - Director
[https://drive.google.com/a/xeropoint.co.uk/uc?id=1Jk5fuTk5Kyzf3eJkM8P-lnQeory9ZUHy&export=download]
Email: [email protected]<mailto:[email protected]> | 
Mobile: 07891405262 | Website: www.xeropoint.co.uk<https://www.xeropoint.co.uk/>
Company: Xeropoint Ltd. Registered in England and Wales. 11101907
Address: Henleaze House, Harbury Road, Bristol, BS9 4PN

Reply via email to