coolchip / node-red-contrib-luxtronik2

Node-RED node, that reads heat pumps based on the Luxtronik 2.0 contol unit. Supports for example Alpha Innotec and Siemens Novelan (WRP NET).
MIT License
7 stars 2 forks source link

Not able to update: payload.parameters.hotWaterOperationTimerTableWeek[0].on #9

Closed trulsant closed 8 months ago

trulsant commented 2 years ago

I am trying to control the time when hotWaterOperation is on or off. This is in the parameter hotWaterOperationTimerTableWeek[0].on or .off These are populated with whatever I have entered on the Luxtronik controller manually.

When trying to inject a value, the same was as it is working for e.g. payload.parameters.heating_curve_end_point, it don't work, no error messages, just is not updated.

Are there any special way of "adressing" an array, other than using "hotWaterOperationTimerTableWeek[0].on" as parameter?

image

Truls

coolchip commented 2 years ago

Hello. Every parameter that you want to write into your heatpump has to be defined in the luxtronik.js implementation. Check this: https://github.com/coolchip/luxtronik2/blob/9cd0f1e31c75438b6d952158d338ea4fd108bb7f/luxtronik.js#L590

Feel free to send me a pull request with all data you would like to send to your heatpump.

Andy-W4n commented 1 year ago

Was there already done a pull request? I would have the same use case and some other like temperature night reduction.

coolchip commented 1 year ago

Unfortunatelly not. I would need at least the matching IDs fir this. You can slso look here: https://github.com/Bouni/Luxtronik-2/blob/master/documentation.md#meaning-of-the-data

Andy-W4n commented 1 year ago

Is there a "trick" how to get the correct matching IDs?!

I wolud need at least

Do you know what i mean?!

"Nice to have" would be the array for hotWaterOperationTimerTableWeek[0].on, but perhaps that could be not as easy as setting only one value.

coolchip commented 1 year ago

The best way is to clone the depend none module https://github.com/coolchip/luxtronik2 There you can do and test the extensions you need. Do the changes and look at yout heatpump if the changes appears.

waldbaer commented 1 year ago

Even if there is no user-friendly abstraction yet for hot water operation timer table you could use the RAW write operations (see node docu with parameter msg.raw_parameter and msg.payload. In the luxtronik.js in added in the past several hints about the meaning of these timer table parameters.

for hotWaterOperationTimerWeek these parameter numbers are 406..415

// hot water operation table 0: week.
'hotWaterOperationTimerTableWeek': utils.createTimerTable(heatpumpParameters, 406, 5, true), // 406..415

In my setup I am not modifying the hot water operation but the circulation pump timer. The timer settings (in seconds) might be identical.

// turn on circulation pump at 09:00
msg.raw_parameter = 507;
msg.payload=9*60*60;

// turn off circulation pump  at 22:00
msg.raw_parameter = 508;
msg.payload=22*60*60;
coolchip commented 1 year ago

Again, thank you very much @waldbaer for helping me answering questions.