openv / vcontrold

:fire: vcontrold Daemon for control and logging of Viessmann® type heating devices
https://github.com/openv/openv/wiki
GNU General Public License v3.0
100 stars 54 forks source link

Parsing and processing large config files (vcontrold.xml/vito.xml) lets vcontrold crash #91

Open dirkbaechle opened 2 years ago

dirkbaechle commented 2 years ago

I'm currently starting to use vcontrold/vclient for monitoring and controlling my Vitodens200 (WBC2). Since I still don't know a few of the memory addresses, I wrote a Python script that can generate a "special" vito.xml. In this vito.xml I will define a single command "getVitoXXXX" for each address in a configurable range (see create_shell.py and create_vito.py in "scripts" folder of https://github.com/dirkbaechle/pyvctrl ). By checking all memory addresses before and after I changed the wanted values at the Vitodens200 directly, I can then do a simple diff to find the memory addresses by brute-force. When starting the vcontrold daemon with a vito.xml file for the addresses 0x2000-0x4000 (yes, that's a lot) the process crashes on my mini laptop (Samsung EE PC, 32bit, 2GB RAM, Linux Mint 19.3).

dirkbaechle commented 2 years ago

I have already opened a pull request for solving this problem at https://github.com/openv/vcontrold/pull/90 .