Giter Site home page Giter Site logo

Comments (15)

dingo35 avatar dingo35 commented on August 13, 2024

Another question: with nefiteasy config data in configuration.yaml, reinstalling the integration creates a popup window asking for serial nr, password etc., even though that info is ALREADY IN configuration.yaml . When entering dummy data xxx, it is NOT entered in configuration.yaml (so not able to delete it there).
Why asking for info that is already in the config, and how the clear the caches/alternative storages that are used?

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

Home Assistant uses 2 sources for storing configuration data, configuration.yaml and core.config_entries (which is in the .storage folder). The last one you are not supposed to edit manually.

For integrations configurable through UI, using configuration.yaml is legacy, but to prevent breaking changes, the data here is imported. This is a one-time import which happens upon start of Home Assistant. When starting Home Assistant, it checks whether there is something in core.config_entries for the integration, if so, it neglects the data (even though you may have changed a property). If there is nothing in core.config_entries (when e.g. you delete it through UI), it is imported again.

If you remove it from the UI and re-add it, it doesn't care about data in configuration.yaml. It only reads that data upon restart.

I am wondering, when you don't use the integration, how do you track the status over time? The app only gives the current status but not status over time right?

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

Thanks Robbie for your quick response!

Very clear, I understand how it works, a few remarks/questions:

  1. perhaps a good idea to add a line to configuration.yaml:
    "This is a legacy configuration file, if there are any entries in core.config_entries the entries in this file are ignored"
  2. perhaps add a line to core.config_entries:
    "This file is generated by hass, do NOT edit manually."
  3. ALL readme's of all integrations that I saw refer to configuration.yaml for their config parameters. So we have to either NOT declare it legacy, OR adapt all readme's ?
  4. For nefiteasy, the configuration script only allows one device, while configuration.yaml allows multiple devices. Or is there some tool to maintain core.config_entries?
  5. When deleting the nefiteasy integration, the entries in core.config_entries still exist. They should be deleted automatically, OR at least ask when deleting the integration ("Delete configuration data from this integration Y/N"). I'm happy to make a separate issue for this, but just want to make sure it makes sense (as a HASS newby). Perhaps there is a recommended way to clean up core.config_entries after removing an integration?
  6. The only way I can track the status without the integration is looking at the app every few minutes :-( "Luckily" my heating system generates some white noise when the pump is running, so I can hear it switch on/off, and then look at the app what is happening...

Apart from these questions, do you have any ideas on how I could debug this 5 minutes on/off problem? Any suspect pieces of code? Can I log the communication from/to the Nefit server, or tap it (apart from using Wireshark)?

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

My comments:

1: See 3
2: core.config_entries is in the .storage folder which is not by default visible. It's a Home Assistant thing, any issues you have with this file you have to report to the Home Assistant project.
3: The changes to make configuration.yaml legacy are recent. The readme was updated 2 days ago. The example configuration.yaml is still there but may be removed alltogether. This is not done yet.
4: You should be able to add it multiple times.
5: If you delete it from the UI, it should clear the entry in core.config_entries. I'll test if this really works, maybe something goes wrong.
6: If I look to the behavior in my system (Nefit Easy with Trendline HRC30), it heats to a certain temperature and then goes to idle. The temperature then slowly drops and when it is below a certain value it heats again. This results in a behavior where it is idle for some time, and for short moments it heats up again. I got the info once from someone within Nefit that if you want to make a heater really dirty, you have to heat for a long time at low heat. Probably it works this way because it is better to burn with high energy for short times than burn with low energy for a longer time.
Furthermore, the heating of water is self-learning. The thermostat observes the actual room temperature and water temperature and tries to predict (as heating is a slow process) whether heat is needed. If the water temperature is low and the actual is higher then setpoint, it could still heat up because it sees a trend in actual temperature to go down.

I can't explain why you experience differences. The only real difference is that if you use the app, you only request data when the app is open. Home Assistant polls every 60 seconds data. I did quite some debugging recently and there is no suspicious code, it really only polls some endpoints for data. Writing something back to the thermostat is only triggered on user input.

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

Thanks Rob! What a coincidence I just started HA at the exact moment the configuration files were changed, just my luck, ha ha!

My other Nefit is a Proline HRC 24 and that one does not have any strange effects. That heater doesn't need the special nefit adapter, the older Ecomline does. Does your Trendline have an EUR 39,- adapter to communicate with the Easy?

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

No I don't use the adapter. The only cause I could think off, how odd it may sound, is that by requesting some data it triggers or wakes up the thermostat to do something...

You could try to greatly increase the polling interval (to e.g. 15 minutes) and see if your 5 minute problem reduces to a 15-60 minute problem or something like that.

You can change it by changing this line:

update_interval = timedelta(seconds=60)

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

With the update_interval set to 900 behaviour stays the same; I have the impression the on/off intervals are longer, but it is hard to make sure since you can no longer read it from the graphics.

My heater doesn't support reading out the pressure, but HA shows a value of 25.5 ; the app somehow knows it shouldn't readout that value and displays a simple '--'; that might be causing the problem.
if I would "hide" that entity in HA, would that prevent HA from reading out the pressure, or is it better to remove it from the config_entries file?

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

If you disable the entity from the UI, the value is not polled anymore.

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

Update: disabling the pressure entity did not help; I am now writing a script to poll the supply temperature with the script of a fellow countryman of ours, robertklep/homebridge-nefit-easy#29 ; so far that script does NOT seem to have the problems mentioned above, so the next days I will collect data with and without the nefit-easy integration running. TBC!

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

I'd say, if polling an endpoint gives issues, it most likely is the general endpoint uiStatus.

You could comment out following lines:

url = "/ecus/rrc/uiStatus"
await self._async_get_url(url)

This disables all entities which rely on uiStatus. The supply temperature is a different endpoint as well as the status.

from ha-nefiteasy.

ksya avatar ksya commented on August 13, 2024

This seems really weird to me.. You can also try my first nefit integrations, which uses robert klep's server: https://github.com/ksya/homeassistant_nefiteasy_climate

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

@ksya, I agree, but it is behaviour I can reproduce (over the last few days).
The same behaviour is there when I poll using the rklep scripts:

Look at this data:

2021-02-04_18:28:55 41 {"code":"0H","cause":0,"
"in house temp": 20.7,
"temp override duration": 0,
"temp override": false,
"temp setpoint": 20,
"temp override temp setpoint": 22,
"temp manual setpoint": 18,
"outdoor temp": 9,
2021-02-04_18:30:08 44 {"code":"-H","cause":0,"
"in house temp": 20.7,
"temp override duration": 0,
"temp override": false,
"temp setpoint": 20,
"temp override temp setpoint": 22,
"temp manual setpoint": 18,
"outdoor temp": 9,

So the first datapoint the heater is in rest (0H), the programmed temp is 20C, and the actual temp is 20.7C (because of a large overshoot, because for this experiment I have both power and supply temperature at max to avoid "pendling").
A minute later, at the second datapoint the kettle decides to start heating out of nowhere. That usually takes about 5 minutes, then it goies into standby for 5 minutes....

When I stopped the script, it took a minute or so for the heater to go back to standby...

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

This is a look on my temperatures: https://i.postimg.cc/y8tH6D01/Schermafdruk-van-2021-02-05-10-21-40.png

The blue line is the supply temperature, look at the right side, you can see it warming up normally (7:40 is programmed 19C), and then it starts pendling, and then warming up normally (9:00 is programmed) and then it starts pendling again.

Could you guys perhaps post a historic graph of a normal supply-temperature flow of a Nefit heater?

from ha-nefiteasy.

RobBie1221 avatar RobBie1221 commented on August 13, 2024

See below. As mentioned, the observed behavior makes sense to me, it heat up the water up to a certain temperature and then goes to idle. As soon as the water temperature is too low, it heats up again.
Generally, my cycles are not 5 minutes but more in the 15 minutes range. You do see in your charts that your water cools down quite fast...

Does this in any way help you?

image
image

from ha-nefiteasy.

dingo35 avatar dingo35 commented on August 13, 2024

Thanks Rob, I think my water cools down because I have Heimeier Eclipse valves in my installation; they always take care of an optimal "waterzijdige inregeling". Because of the lower flow the radiators have an optimal delivery of the heat, with a great delta T. But obviously the heater is sort of "overdimensioned" now.... I will try to squeeze the power. Also considering a new heater, and then scale down from Nefit 30 to Nefit 24; the new proline can also reduce the pump speed, I think that will solve my problem....

I also suspect this has to do with the dynamics of my system, and not with Home Assistant and/or the RKlep ; today I noticed the "strange behaviour" also without any systems polling... so closing the issue.

Big thanks for all your help!!

from ha-nefiteasy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.