denpamusic / homeassistant-plum-ecomax

Plum ecoMAX boiler controller integration for Home Assistant.
MIT License
29 stars 7 forks source link

modify any regulation parameter ecoMAX810 #41

Closed jerguitariste closed 8 months ago

jerguitariste commented 11 months ago

Is there an existing issue for this?

I want to suggest:

Feature description

Good morning

Would it be possible to modify any regulation parameter (I use the ecoMAX810)? For example, is it possible to modify the heating curve coefficient k? I would like to modify the coefficient of the heating curve depending on the outside temperature

image

THANKS

Webpage of the product, that I'm suggesting:

No response

My diagnostics data:

Good morning

Would it be possible to modify any regulation parameter (I use the ecoMAX810)? For example, is it possible to modify the heating curve coefficient k? I would like to modify the coefficient of the heating curve depending on the outside temperature

THANKS

Code of Conduct

denpamusic commented 11 months ago

Hi,

You can modify any parameter you like using Set parameter service.

The parameter name for the heating curve is heating_heat_curve. To change it depending on the temperature you can setup an automaton, that will watch for changes in the outside temperature sensor and call the set_parameter service.

To learn more about how to use services, visit HomeAssistant documentation.

jerguitariste commented 11 months ago

Good morning

Thank you so much I managed to modify the parameters which are "heat_curve" instead of "heating_heat_curve" in the HA services.

On the other hand, I don't know how to display and modify the parameter in lovelace from Homeassistant Do you have a solution? thank

jerguitariste commented 11 months ago

Good morning

Thank you so much I managed to modify the parameters which are "heat_curve" instead of "heating_heat_curve" in the HA services.

On the other hand, I don't know how to display and modify the parameter in lovelace from Homeassistant Do you have a solution? thank

Le mer. 18 oct. 2023 à 12:21, Denis Paavilainen @.***> a écrit :

Closed #41 https://github.com/denpamusic/homeassistant-plum-ecomax/issues/41 as completed.

— Reply to this email directly, view it on GitHub https://github.com/denpamusic/homeassistant-plum-ecomax/issues/41#event-10690829588, or unsubscribe https://github.com/notifications/unsubscribe-auth/AV5CXAKYFDCKXNBN6PLK4LLX76UTRAVCNFSM6AAAAAA6FDFXCOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQGY4TAOBSHE2TQOA . You are receiving this because you authored the thread.Message ID: <denpamusic/homeassistant-plum-ecomax/issue/41/issue_event/10690829588@ github.com>

-- Mr OLLAGNON Jerome 80 c chemin de la vigne 38360 Noyarey tel 0683542719

denpamusic commented 11 months ago

Sorry, I didn't notice that you wanted to modify mixer parameter. You're totally right, for mixers this parameter is called "heat_curve".

As for the changing parameters in Lovelace, you can create an input_number helper and automation that will watch for changes, and call set_parameter service.

I've provided an yaml, describing such integration in another issue.

More advanced way is to create a fork of this integration, add all the parameters you need by yourself and use this fork as a custom repository to HACS.

Other then that, I'm working out a proccess for adding a new entities. There should probably be voting system in place. Since adding all parameters and sensors for EM is trivial, but having too many entities will negatively impact HomeAssistant performance.

jerguitariste commented 11 months ago

good job thank

denpamusic commented 11 months ago

good job thank

You're very welcome! Sorry I couldn't help you more.

Performance-wise there's been a lot of improvements to PyPlumIO in latest versions, so hopefully in the future we can add all parameters without affecting performance too much.

Don't hesitate to ask if you need anything else. You can also use French if you like. I can use translator and I think French is beautiful language😉

jerguitariste commented 11 months ago

Ah c'est super si tu veux que j'écrive en francais En faite se que j'aimerai faire c'est de récupérer la valeur de la variable avec un "get_parameter" puis de faire un "set_parameter" pour envoyer la nouvel valeur de la variable, mais pour l'instant j'ai vraiment du mal si tu y arrives je suis preneur de ton code Yaml.

merci beaucoup

denpamusic commented 11 months ago

I understand what you're trying to do, but using a service calls to create an full blown entity is not really the way they are intended to be used by the HASSes developers.

I think it's better if I just add heat_curve slider for mixers to make it easier for you. Are there any other parameters that you want added, or just heat_curve?

jerguitariste commented 11 months ago

J'aimerai rajouté

low_target_temp heat_curve parallel_offset_heat_curve weather_temp_factor

Mais le mieux serais de choisir les paramètres que j'aimerai afficher dans HASS est que c'est possible? en suivant une méthode précise? même si il faus modifié certain fichier en python (.py)

Pourrais tu me dire également ou trouve tu le nom de chaque paramètres interne au régulateur? moi j'ai trouvé dans mixer_parameters.py et ecomax_parameters.py

denpamusic commented 11 months ago

There's currently really no way to add parameters yourself without modifying the code a bit. If you want to add entities yourself by modifying this integration, I've prepared a couple of examples for you.

This is how you add a mixer entity: https://github.com/denpaforks/homeassistant-plum-ecomax/commit/5fc8d6ddfd47d019de871767312bca402376fbd5

And this is how you add a regulator entity: https://github.com/denpaforks/homeassistant-plum-ecomax/commit/7d433e6b59153f89adb5d7a5111630d6a756af48

Note that they are added to the same number.py file but in a different places. As you can see, it's pretty easy.

As for parameter names, the easiest way would be to download diagnostics data from HASS and look inside. Please, follow the steps below:

  1. Click on the integration name. Screenshot of integrations page in Home Assistant

  2. Click three dots in the right hand corner, and in the popup click "Download diagnostics". Modal window with Download diagnostics selected

  3. Open diagnostics file in your favorite text editor, and look for the following:

This is mixer parameter named 'heat_curve':

"heat_curve": {
  "__type": "<class 'pyplumio.structures.mixer_parameters.MixerParameter'>",
  "repr": "MixerParameter(device=Mixer, description=MixerParameterDescription(name='heat_curve', cls=<class 'pyplumio.structures.mixer_parameters.MixerParameter'>, multiplier=10, offset=0), value=1.2, min_value=0.1, max_value=4.0)"
}

This is regulator parameter named 'water_heater_hysteresis':

"water_heater_hysteresis": {
  "__type": "<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>",
  "repr": "EcomaxParameter(device=EcoMAX, description=EcomaxParameterDescription(name='water_heater_hysteresis', cls=<class 'pyplumio.structures.ecomax_parameters.EcomaxParameter'>, multiplier=1, offset=0), value=5.0, min_value=1.0, max_value=30.0)"
}

This is thermostat (ecoSTER) parameter named mode:

"mode": {
  "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
  "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='mode', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=0.0, min_value=0.0, max_value=7.0)"
}

This way you can learn which parameters are supported by your device and their names.

jerguitariste commented 11 months ago

super merci beaucoup!!

denpamusic commented 11 months ago

Je vous en prie!

jerguitariste commented 10 months ago

Bonjour,

J'ai encore 3 autre question en rapport avec le fonctionnement de la régulation

1)Je recherche le paramètre "Stabilization time" connais tu le nom de la variable? dans le téléchargement des diagnostic il y a pas le nom du paramètre.

image

2)Connais tu la valeurs par défaut de tous les paramètres du régulateur ecoMAX810P3 (parametrage usine) ?

3)Connais tu une explication plus détaillé du fonctionnement du régulateur ecoMAX810P3 ? je dispose de la notice "boiler regulator max810p3-l touch.pdf" mais certain mode de fonctionnement qui sont décrit dans la notice ne reflète pas le vrai fonctionnement du régulateur le mieux serais le code source de programmation

denpamusic commented 10 months ago

I'll try to answer your questions to the best of my abilities, but except for the first question there's not a lot I can say.

1). The Stabilization time parameter is most likely called "scavenge_after_kindle". And before you ask, this is not the way I named it, this is what it is called in the ecoNET 300 (EN300) firmware.

More often then not, these names do not match ones in the user manual, probably due to original EN300 firmware developer never seeing English version of said manual and loosely translating parameter names from Polish on his/her own. I plan to rename all of the parameters to match user manual prior to v0.5.0 release of PyPlumIO as this will be a breaking change.

2-3). Firstly I'm in no way affiliated with Plum Sp. z o.o. nor it's global partners, so I don't have access to the source code of the ecoMAX (EM) firmware, so I sadly can't tell you a lot about how they work from software point of view.

Secondly, Plum produces different versions of EM controllers for a different boiler manufacturers, meaning that even controllers with the same name but different letters after the dash(-), might have different defaults and parameters. So your best bet here would be to obtain EM user manual from your boiler manufacturer.

That's all I can answer sadly.

jerguitariste commented 10 months ago

merci beaucoup pour toute ces reponses par contre je viens d'essayer scavenge_after_kindle cela ne marche pas pourtant elle apparais bien dans le régulateur, il y a peu etre une partie des parametres qui n'apparaisse pas

jerguitariste commented 8 months ago

bonjour avec la nouvel version V0.4.1 j'ai essayer de modifié le number.py qui se trouve dans le repertoire /home/homeassistant/config/custom_components/plum_ecomax mais cela ne fonctionne plus alors qu'avec la version 0.3.6 cela fonctionner tres bien Pourquoi? est que le fichier a changer de repertoire?

denpamusic commented 8 months ago

Hi,

Sorry for slow response. There hasn't been any changes with the way that integration handles entities, so number.py file is still used for number entities. There's however been a massive change in parameter names, so your entities probably don't work anymore due to changed parameter name. I advice that you re-download diagnostics and check that parameters that you're trying to add still exist after update.

That being said I recommend that you skip version v0.4.1 altogether, due to it being purely performance upgrade and the feature that I've been working for the upcoming version v0.4.2. This feature will allow you to add any entities (even regdata ones) that you want via the user interface, so you'll no longer need to modify source code. Here's a screenshot of a menu as teaser :)

screenshot

jerguitariste commented 8 months ago

super travail good job! bravo

denpamusic commented 8 months ago

To avoid duplicates, the progress on this feature can be tracked in #58.