Bouni / python-luxtronik

python-luxtronik is a library that allow you to interact with a Luxtronik heatpump controller.
MIT License
37 stars 19 forks source link

New datatypes for timer programs #147

Closed gerw closed 6 months ago

gerw commented 6 months ago

I have added some datatypes to read (and change) the settings related to the timer programs of the heat pump.

Parameters 161-221 seem to have a similar meaning, but I do not know how they can be checked / set from the heat pump controller. Moreover, the reading of parameter 161 is 6 for me, which does not fit the scheme of the other settings..

I have not allowed to set the timers related to the mixing circuits (MK) and swimming pool (Swb), since these are not available at my heat pump (and so I cannot check these settings).

Finally, for the air ventilation Luf (Parameters 895-955) and for the "silent inverter" (Parameters 1092-1113), the storage format seems to be different, both time stamps (without seconds) are saved in one parameter slot. Does anybody have reasonable readings for these settings? Is the "silence" setting used for air source heat pumps to limit the noise, e.g., during nights?

One thing is open to discussion: I converted the raw value into strings, e.g., "9:00" or "10:00-14:00". I think that a string is the simplest option from the users perspective, e.g., for parameters.set(507, "9:00") or parameters.set(896, "1:00-12:00"). What do you think?

github-actions[bot] commented 6 months ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
luxtronik
   __init__.py13410621%38–54, 61–66, 69–73, 79, 83, 102–113, 116–119, 122–142, 145–160, 163–180, 183–198, 202–204, 208–209, 213–214
   __main__.py21210%2–48
   datatypes.py2351295%37, 42, 47, 57, 72–75, 80–83, 92
   discover.py433421%25–77
luxtronik/scripts
   dump_changes.py44440%5–93
   dump_luxtronik.py28280%5–64
TOTAL58824558% 

Tests Skipped Failures Errors Time
110 4 :zzz: 0 :x: 0 :fire: 0.636s :stopwatch:
Bouni commented 6 months ago

@gerw

Same for me for Parameter 161:

Number: 161   Name: ID_Einst_SuAll_akt2   Type: Unknown   Value: 6

I think there are a lot more that use this timer type, if I do a luxtronik dump 192.168.178.11 | grep "ID_Einst_.*zeit" I get 621 results.

They all follow a pattern, i guess those with Wo is "Woche", 25 is Monday through Friday and Tg is "Tag". The last few "SuLuf.." seem to bit in disorder for some reason.

My guess:

kbabioch commented 6 months ago

Is the "silence" setting used for air source heat pumps to limit the noise, e.g., during nights?

Yes, AFAIK this is the idea and I've read about it in some manual, but haven't used it myself.

One thing is open to discussion: I converted the raw value into strings, e.g., "9:00" or "10:00-14:00". I think that a string is the simplest option from the users perspective, e.g., for parameters.set(507, "9:00") or parameters.set(896, "1:00-12:00"). What do you think?

For me that is fine. The alternative (dedicated datatype?) seems more complicated ...

kbabioch commented 6 months ago

Seems like this addresses (and will close) #33.

gerw commented 6 months ago

Is the "silence" setting used for air source heat pumps to limit the noise, e.g., during nights?

Yes, AFAIK this is the idea and I've read about it in some manual, but haven't used it myself.

IIRC, you have a air heat pump? Do you have this setting available? Could you test whether the conversion is correct?

gerw commented 6 months ago

They all follow a pattern, i guess those with Wo is "Woche", 25 is Monday through Friday and Tg is "Tag". The last few "SuLuf.." seem to bit in disorder for some reason.

25 means you have a setting for the week end (2) and a different setting for Monday-Friday (5).

My guess:

* All = Allgemein

* Hkr = Heizkreis

* Mk1 = Mischkreis 1

* Bw = Brunnenwasser

* ZIP = Zirkulationspumpe

* Swb = Schwimmbad

* MK3 = Mischkreis 3

* Luf = ??

Luf is Lüftung (ventilation) I would guess. And there seem to be two sets of timer settings for the ventilation.

Finally, Luf and Silence use a compressed storage for the timer settings, therefore they only have half as many settings.