bertmelis/VitoWiFi

Read/Write buffer: fixed size

kollera opened this issue · 2 comments

Installation specifics

  • Heating type: Vitotronic 200
  • Protocol: KW
  • Board: ESP8266

Symptom

Reading/Writing Datapoint KW with length > 4 does not work.

Extra info

First of all: Outstanding work!

I set MAX_DP_LENGTH to 8 to read 'cycle time' datapoints (DPRaw) with length 8, but got weird return values.
After digging into the code i figured out read/write buffers are limited to 4/6 bytes.
But i'm not an expert, so please have a look at my hack! :)

diff.txt

I tried to fix in the branch "MAX_DP_LENGTH".
Also applied to P300 protocol.

Could you try this branch. I'll merge on your call.

Works for me.
I just found out reading error entry requires a length of 9 bytes.
So i would suggest to put MAX_DP_LENGTH to 9.
That seems to be the max number of bytes used.
https://github.com/openv/vcontrold/blob/94f0db84d00d336162038b3b63580bdfa331c2ae/xml/kw/vito.xml#L864