custom-components / nordpool

This component allows you to pull in the energy prices into Home-Assistant.
457 stars 110 forks source link

entity is no longer provided by the integration - unavailable since 4 pm october 14th #417

Closed typxxi closed 2 weeks ago

typxxi commented 3 weeks ago

Version of the custom_component

latest: 0.0.14

Homeassistant version

image

Configuration

Describe the bug

entity is no longer provided by the integration image

Debug log

image

lindsand commented 3 weeks ago

Same for Finland after last restart, version 0.0.14, and HA version 2024.10.2

This link doesn't lead anywhere:

File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1243, in json raise ContentTypeError( aiohttp.client_exceptions.ContentTypeError: 404, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://www.nordpoolgroup.com/api/marketdata/page/10?currency=EUR&endDate=15-10-2024'

Page Not Found The page you're looking for doesn't exist.

We hope you'll find what you need on our website: nordpoolgroup.com

If you're searching for Market Data, you can find it on our Data Portal.

Logger: homeassistant.config_entries Source: config_entries.py:594 First occurred: 09:16:05 (2 occurrences) Last logged: 10:13:24

Error setting up entry Nordpool for sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 131, in async_setup_entry return await hass.data[DATA_COMPONENT].async_setup_entry(entry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 183, in async_setup_entry raise ValueError( ValueError: Config entry Nordpool (01J7KR6QMDV34E6ND7M5HWS7X0) for nordpool.sensor has already been setup!

Logger: homeassistant.config_entries Source: config_entries.py:594 First occurred: 09:15:31 (2 occurrences) Last logged: 09:19:07

Error setting up entry Nordpool for sensor Traceback (most recent call last): File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry ret = await target(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/aio_price.py", line 228, in fetch res = await asyncio.gather(jobs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/aio_price.py", line 182, in _fetch_json return await self._io( ^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/aio_price.py", line 171, in _io return await resp.json() ^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/aiohttp_client.py", line 80, in json return await super().json(args, loads=loads, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1243, in json raise ContentTypeError( aiohttp.client_exceptions.ContentTypeError: 404, message='Attempt to decode JSON with unexpected mimetype: text/html', url='https://www.nordpoolgroup.com/api/marketdata/page/10?currency=EUR&endDate=15-10-2024'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 131, in async_setup_entry return await hass.data[DATA_COMPONENT].async_setup_entry(entry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 194, in async_setup_entry return await self._platforms[key].async_setup_entry(config_entry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 328, in async_setup_entry return await self._async_setup_platform(async_create_setup_awaitable) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 369, in _async_setup_platform await asyncio.gather(*pending) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 644, in async_add_entities await add_func(coros, entities, timeout) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 909, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1365, in add_to_platform_finish await self.async_added_to_hass() File "/config/custom_components/nordpool/sensor.py", line 516, in async_added_to_hass await self.handle_new_hr() File "/config/custom_components/nordpool/sensor.py", line 478, in handle_new_hr today = await self._api.today(self._area, self._currency) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/init.py", line 127, in today return await self._someday(area, currency, "today") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/init.py", line 111, in _someday await self.update_today(areas=self.areas) File "/config/custom_components/nordpool/init.py", line 87, in update_today await self._update("today", areas=self.areas if len(self.areas) > 0 else None) File "/config/custom_components/nordpool/init.py", line 78, in _update data = await spot.hourly(end_date=dt, areas=self.areas if len(self.areas) > 0 else None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/aio_price.py", line 244, in hourly return await self.fetch(self.HOURLY, end_date, areas) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 183, in retry await asyncio.sleep(seconds) File "/usr/local/lib/python3.12/asyncio/tasks.py", line 665, in sleep return await future ^^^^^^^^^^^^ asyncio.exceptions.CancelledError: Global task timeout

michaelehlers commented 3 weeks ago

Same for me (also DE-LU), also 14th. I was suspecting the problem being the API change referenced to in the 0.0.15 release notes. Maybe that is the problem as I also have 0.0.14 installed. At least it is what is shown on the 'local' integrations page. I have no option to update to 0.0.15 in 'updates' of home assistant. Just a thought what COULD be the problem. Did not do detailed logging but what I personally get is:

2024-10-15 09:05:18.981 DEBUG (MainThread) [custom_components.nordpool] Added nordpool to hass.data 2024-10-15 09:05:18.987 DEBUG (MainThread) [custom_components.nordpool.sensor] Dumping config mappingproxy({'region': 'DE-LU', 'currency': 'EUR', 'VAT': True, 'precision': 3, 'low_price_cutoff': 1.0, 'price_in_cents': True, 'price_type': 'kWh', 'additional_costs': '{{0.153|float}}'}) 2024-10-15 09:05:18.987 DEBUG (MainThread) [custom_components.nordpool.sensor] timezone set in ha 'Europe/Berlin' 2024-10-15 09:05:18.988 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up nordpool platform for sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform await asyncio.shield(awaitable) File "/config/custom_components/nordpool/sensor.py", line 129, in async_setup_entry _dry_setup(hass, config, async_add_devices) File "/config/custom_components/nordpool/sensor.py", line 104, in _dry_setup sensor = NordpoolSensor( ^^^^^^^^^^^^^^^ File "/config/custom_components/nordpool/sensor.py", line 166, in init self._vat = _REGIONS[area][2]


KeyError: 'DE-LU'

MAYBE re-installing COULD work if that is the problem but did not have time to check that as of now. But maybe I am completely wrong too :D 
lindsand commented 3 weeks ago

I updated to 0.0.15 and rebooted, now the values are

nordpool Version 0.0.15 will be downloaded

michaelehlers commented 3 weeks ago

maybe that is the reason that no update is shown by HA 'update function' and so if you do not update manually you still have the version in place that does not work with the changed api. but just a wild speculation (sorry if that does not technically help)

typxxi commented 3 weeks ago

OK, at least I am not alone and have caused it somehow somewhere due to improving other parts yesterday cause I had been using it on sunday a lot to get the card for tomorrows "day ahead prices " hidden till 1 p.m. each day to get rid of the empty chart.

And then out of nowhere yesterday todays chart was empty while the reminder for tomorrow release date was shown properly. That says that the day ahead prices for tomorrow will become available at 1pm so please stay patient.

image

I hope that there will be a fix soon cause during autumn the car will be charged based on these prices during the night if the day ahead expectation for surplus solar power are low. And that is based on these dynamic tibber prices.

Still a shame that tibber is not able to get their solution working again when the depreciation of the mathplot libary killed it 6 months ago or even longer when I became a customer and the prices disappeared.

Thanks for sharing the progress.

typxxi commented 3 weeks ago

I have checked the link provided

and I fear that they are not really happy about our HA traffic and that they might have removed this access cause it seems to be customer only solution for traders which we are not (in most cases I bet). Here is the url to find this description

image

For all those who are using EVCC for surplus charging the EV there "integration" of the tibber prices seems to work cause they are showing the tibber prices based on the tibber token I had provided. I am using evcc as addon under Home Assistant so it might become usefull if I can import the evcc data into HA maybe via mqtt or by a sensor if evcc is providing that.

image

michaelehlers commented 3 weeks ago

just a thought. Does one of you DE-LU users have the configuration 'adjustable' (in configuration.yam) and some minutes ? If I would do I would try changing DE-LU with GER, reload an test again. The reason I would try this is that first of all many germans commenting here (not only but....), secondly in my logs I see a key error (DE-LU) -> can be all and nothing and I did see on https://data.nordpoolgroup.com/auction/day-ahead/prices that germany is labeled 'GER' and the others seem to match the configuration parameter. Maybe that could be an easy try on error. Just a thought

typxxi commented 3 weeks ago

but the entry point , that url has gone - at least that api/10 is no longer available an shows an 404 error.

But I will give it a try in my sensors yaml file. REBOOTING with GER instead of DE-LU.

There is a nordpool sensor but the prices are way off I guess. Now they should bei 28,49 Cent and then 27,7 cent none of these sensor prices are anywhere close to those figures I got from the tibber app and also from evcc

today: 33.623, 32.93, 33.202, 32.571, 32.097, 33.372, 37.034, 47.406, 46.12, 36.45, 33.846, 32.426, 31.756, 30.772, 31.379, 32.471, 33.301, 37.935, 40.292, 34.513, 31.432, 30.026, 29.001, 26.239

image

typxxi commented 3 weeks ago

and now back in DE-LU

same old picture as before with missing sensors aka unavailable.

Conclusion: Api is working somehow and delivering something for GER, but that does not match my tibber app prices. Just a small progress. Before my Nordpool Tibber prices in HA were matching those in the tibber app.

image

typxxi commented 3 weeks ago

Is there an alternative source for tibber prices ? I will write a complain to tibber that the tibber HA integration is no longer working which it was when I had signed the contract.

And I guess we all shoud do that to put pressure on tibber to deliver now and not some times in the unknown future.

Brandyellow commented 3 weeks ago

I updated the integration in HACS. After reloading it works perfectly.

typxxi commented 3 weeks ago

I updated the integration in HACS. After reloading it works perfectly.

What do you mean with reloading ? I have now installed 0.0.15

But I got an error during reboot in my notifications

2024-10-15 17:04:30.930 DEBUG (MainThread) [custom_components.nordpool.sensor] Dumping config mappingproxy({'region': 'DE-LU', 'currency': 'EUR', 'VAT': True, 'precision': 3, 'low_price_cutoff': 1.0, 'price_in_cents': True, 'price_type': 'kWh', 'additional_costs': '{{ (0.202 + (current_price * 0.19)) | float }}'}) 2024-10-15 17:04:30.930 DEBUG (MainThread) [custom_components.nordpool.sensor] timezone set in ha 'Europe/Berlin'

steinkjer73 commented 3 weeks ago

The region settings have been changed, I had to change my 3 sensors region settings in core.config.entries from Tr.Heim to NO3 in norway to get it working again. After restart 3 new sensors came up and online again. It also seems to be working if you delete old nordpool sensors and add new one. Capture

typxxi commented 3 weeks ago

The region settings have been changed, I had to change my 3 sensors region settings in core.config.entries from Tr.Heim to NO3 in norway to get it working again. After restart 3 new sensors came up and online again. It also seems to be working if you delete old nordpool sensors and add new one.

Not sure if I wanna delete the sensors, but I have just upgraded to HA 2024.10.2 or so which means I have a new backup and will try to change that entities line to GER - as a german customer.

So I did it and it seemed to work , graph is back, but with a complete different and unusual patter: highest price in the morning

That can not be true and is wrong! GER delivers a price, but not the proper one and the pattern is completely off or quite the opposite. image

Here is the real price from tibber which I got from evcc which matches the TIBBER App prices I did not have any differences before between evcc, tibber and nordpool integration when I had used DE-LU instead of GER.

Here the price comparison for the cheapest time 20.6 versus 19.4 cents tomorrow image

and here for tomorrow evening the most expensive price at 7 pm 33.2 versus 29.7 cents which is 2.5 cents off

There must be something wrong at least when using this GER parameter. image

tmikoss commented 3 weeks ago

Chiming in - had the same issue with 0.0.14, update to 0.0.15 has fixed it. Latvia region, did not have to update configuration.

typxxi commented 3 weeks ago

Chiming in - had the same issue with 0.0.14, update to 0.0.15 has fixed it. Latvia region, did not have to update configuration.

I had updated too today but after 2 reboots nothing had changed, the sensor was still unavailable.

michaelehlers commented 3 weeks ago

@typxxi thanks for checking. I think it's two problems. The first being that obviously an update to newest version is necessary but also for some regions including germany there is some additional change. I am back home now and will play around with it to see if I get it working and valid prices.

But just one little info. today the price was higher in the morning. The graph pattern is ok. The offset seems a bit high (highest tibber price for me this morning was 39.6 ct

typxxi commented 3 weeks ago

@typxxi thanks for checking. I think it's two problems. The first being that obviously an update to newest version is necessary but also for some regions including germany there is some additional change. I am back home now and will play around with it to see if I get it working and valid prices.

But just one little info. today the price was higher in the morning. The graph pattern is ok. The offset seems a bit high (highest tibber price for me this morning was 39.6 ct

no, the offset is changing from 1 to 2.5 cents from 20 to 30 cents. If you roughly increase the price by 50% then the offset can not increase by 150% from 1 to 2,5 - that gap should be rather close to 1,5 Cent than 2,5 cents.

Not sure what is going on. I also got 2 sensors this time - before I had just one.

sensor.nordpool_kwh_ger_eur_3_10_023 is available with the DE-LU in the yaml file and also when I am using the GER

sensor.nordpool_kwh_ger_eur_3_095_023 is only available for the GER location, otherwise it becomes unavailable. The values of both in GER mode are quite similiar , but different cause I recogniced that the flag for the highest price moved by 1 hour when I exchanged the sensor in the apex chart I use. Very close to each other, but not the same .

michaelehlers commented 3 weeks ago

I now changed my config (in fact re-installed the integration and configured GER instead of DE-LU) and sesor same as for you @typxxi works n´again. I would assume that I was right with my guess that they changed the region 'code' for germany. I also compared my charts with the actual tibber prices and the graph pattern is 100% right for me (comparing to tibber, again). Only 'problem' that the prices do not match (as you said). I already had differences before, never got it to match 100% but now it seems that the difference between the nordpool prices and tibber is bigger, between 2,3 and 1,8 ct for tomorrow depending on the price being high or low (with same setting for 'additional cost). I will again play around a bit with additional cost and see if it still is applied (or if maybe there is a problem, because I lookedup DE-LU and that value is also in some js code). If I get the values to halfway match I am ok.

I think those code changes (and docs) will have to be implemented and updated one day

typxxi commented 3 weeks ago

Meanwhile I reinstalled the tibber custom integration and also copied the token again.

It works and the prices are spot on, but now I have to get those prices here into the chart again, which I had been using for quite a while and all are familiar too.

On the top of the screenshot in the middle you can see the current price of 27.08 cent price is the same in the tibber app for the third last hour of the day (makes it easier to find that in the long list of figures).

image

Any ideas or suggestions to get that tibber sensor data to power the chart ?

phsdv commented 3 weeks ago

[edit]looks like the keys have changed. Using NO1 instead of OSLO works[/edit] Norway also has issues

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/nordpool/sensor.py", line 129, in async_setup_entry
    _dry_setup(hass, config, async_add_devices)
  File "/config/custom_components/nordpool/sensor.py", line 104, in _dry_setup
    sensor = NordpoolSensor(
             ^^^^^^^^^^^^^^^
  File "/config/custom_components/nordpool/sensor.py", line 166, in __init__
    self._vat = _REGIONS[area][2]
                ~~~~~~~~^^^^^^
KeyError: 'Oslo'
typxxi commented 3 weeks ago

So I have moved back to the tibber implementation using this integration

and then this rest sensor and apex chart and improved it a bit image

ATTENTION: the following code has not been cleaned, therefore these explanations

It is designed to be used for the prices of tomorrow and the chart is hidden, if it is before 1 pm release time of the prices for tomorrow. The hiding is realised by an input helper. An automation will set the input helper = 1 at 1 pm, at midnight another automation will reset it to 0 again.

If it is before 1 pm then there is a message to be patient till 1 pm till the new prices will be released.

Those protected spaces around "now" are used to make the marker bigger and more visible but DO NOT work for this code as that is for tomorrow only and NOW will never match with tomorrow, but I keep the code the same in both graphs.

  - type: vertical-stack
    cards:
      - type: horizontal-stack
        cards:
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: input_number.tibber_morgige_preise_verfugbar
                below: 1
                above: -1
            card:
              type: horizontal-stack
              cards:
                - type: markdown
                  content: |-
                    {% set uhrzeit = now().strftime('%H:%M:%S') %}
                    # UM 13 UHR WERDEN
                    # DIE "1 TAG IM VORAUS"  
                    # BÖRSEN STROM PREISE 
                    # VERÖFFENTLICHT 
                    {{ "\n\n" }}
                    # Es ist jetzt {{ uhrzeit }}
                    # BITTE NOCH EIN WENIG GEDULD
          - type: conditional
            conditions:
              - condition: numeric_state
                entity: input_number.tibber_morgige_preise_verfugbar
                above: 0
                below: 2
            card:
              type: horizontal-stack
              cards:
                - type: custom:apexcharts-card
                  experimental:
                    color_threshold: true
                  all_series_config:
                    unit: "\_\_Cent / kWh"
                  apex_config:
                    grid:
                      show: true
                      borderColor: black
                    chart:
                      height: 250px
                    tooltip:
                      enabled: true
                      followCursor: false
                      x:
                        show: false
                      fixed:
                        enabled: true
                  graph_span: 24h
                  span:
                    start: day
                    offset: +1d
                  now:
                    show: true
                    label: "\_\_\_\_ J\_\_E\_\_T\_\_Z\_\_T \_\_\_\_"
                  header:
                    show: true
                    title: ""
                    show_states: true
                    colorize_states: true
                    standard_format: false
                  yaxis:
                    - min: 10
                      max: ~50
                      decimals: 0
                      apex_config:
                        tickAmount: 4
                  series:
                    - entity: sensor.tibber_prices
                      name: Preis
                      show:
                        in_header: before_now
                        name_in_header: false
                        extremas: true
                      color_threshold:
                        - value: 0
                          color: 4DD0E1
                        - value: 10
                          color: 26A69A
                        - value: 15
                          color: 4CAF50
                        - value: 20
                          color: 7CB342
                        - value: 25
                          color: FBC02D
                        - value: 30
                          color: EF6C00
                        - value: 40
                          color: B71C1C
                      type: line
                      curve: stepline
                      extend_to: false
                      stroke_width: 2
                      float_precision: 1
                      data_generator: >
                        const noon = new Date()

                        noon.setHours(0, 0, 0, 0)

                        const prices =
                        entity.attributes.today.concat(entity.attributes.tomorrow);

                        const data = [];

                        for(let i = 0; i < prices.length; i++) {
                          data.push([noon.getTime() + i * 1000 * 3600, prices[i].total * 100])
                        }

                        return data;
    title: "TIBBER: MORGIGE PREISE [C / kWh]"
henrikhermansen commented 3 weeks ago

Guys, it's literally in the changelog, under breaking changes. There's a new API integration (#413), and you need to use NO1 instead of Oslo. Just make a new integration entry and update the sensor name wherever you need to.

corvy commented 2 weeks ago

Or update in configuration.yaml if using that option.

  - platform: nordpool
    VAT: true
    currency: "NOK"
    region: "NO1"
    price_type: kWh
typxxi commented 2 weeks ago

I now changed my config (in fact re-installed the integration and configured GER instead of DE-LU) and sesor same as for you @typxxi works n´again. I would assume that I was right with my guess that they changed the region 'code' for germany. I also compared my charts with the actual tibber prices and the graph pattern is 100% right for me (comparing to tibber, again). Only 'problem' that the prices do not match (as you said). I already had differences before, never got it to match 100% but now it seems that the difference between the nordpool prices and tibber is bigger, between 2,3 and 1,8 ct for tomorrow depending on the price being high or low (with same setting for 'additional cost). I will again play around a bit with additional cost and see if it still is applied (or if maybe there is a problem, because I lookedup DE-LU and that value is also in some js code). If I get the values to halfway match I am ok.

I think those code changes (and docs) will have to be implemented and updated one day

OK, as mentioned above by @henrikhermansen there was that mayor api change and looks like GER should be the new normal, untfortunatelly the prices are not matching at all.

Have you found a solution cause my "tibber adaption calculation" to get my zip code based price has not changed. additional_costs: "{{ (0.2027 + (current_price * 0.19)) | float }}" The difference before the "GER" change was about 0,01 Cent comparing with the prices mentioned in the app when you tap on the graph. Yesterday morning I had a roughly 390 cent figure, but the 0.15 nordpool GER version showed 47 cents, so 8 cents more compared to the previous deviation of 0,01 cents.

Here is a comparison from August from my sensor yaml cause I check it regualary every 6 months.

  # BEISPIELE    BÖRSEN + ABGA- = PREIS     BÖRSEN + NETZ- = PREIS
  #               PREIS    BEN             PR.inkl.  ENT-
  #                                           19%    GELTE
  ###################################################################
  # 18 - 19 Uhr:  12,35 + 22,62 = 34,97      14,70 + 20,27 = 34,97
  # 13 - 14 Uhr:   4,52 + 21,14 = 25,66       5,38 + 20,27 = 25,65
  # 20 - 21 Uhr:  28,93 + 25,77 = 54,70      34,43 + 20,27 = 54,70

So I went back to the tibber integration to get the chart back alive with proper figures and that worked out for me.

But only partially cause I had forgotten about my plan for end of october to start using the AIO energy management for AC Charging during night or to LOWER the consumption during the cheapest AC prices in the night or to turn of the hybrid inverter production during the cheapest hour to make the battery last longer in the morning to cut out those expensive early morning hours for 40 cents. If I can use grid power for 20 Cent at 1 am for 2 hours I can save 40 cents during peak hours without the round trip losses of 15 - 20% I have from charging. Charging would mean to pay 20Cent plus 4 cent losses = 24 Cent to save 16 Cent instead of using cheap grid power for 20 Cent and use that kWh saved (for 20 Cent) in the morning when price is 40 Cent.

I need to get the nordpool solution running again as accurate as before or at least have to find the cheapest hours during the night to save energy in my battery for the morning hours.

I wanna use this solution based on nordpool and quite well described there which also has gotten a brother based on the entso integration modell as well.

0.2.2 is the most recent AIO verision on github so keep that in mind when readin the following.

Nordpool AIO - best to start with cause here you can find the whole story https://www.creatingsmarthome.com/index.php/2024/07/27/home-assistant-nord-pool-cheapest-hours-with-aio-energy-management/

Entso E - which is the description how to get the extra steps done to get from Nordpool to Entso only, so start above. https://www.creatingsmarthome.com/index.php/2024/09/24/home-assistant-entso-e-cheapest-hours-with-aio-energy-management-0-2-0/

So I hope that you find a fix to get proper prices again. Thanks a lot.

Hellowlol commented 2 weeks ago

I now changed my config (in fact re-installed the integration and configured GER instead of DE-LU) and sesor same as for you @typxxi works n´again. I would assume that I was right with my guess that they changed the region 'code' for germany. I also compared my charts with the actual tibber prices and the graph pattern is 100% right for me (comparing to tibber, again). Only 'problem' that the prices do not match (as you said). I already had differences before, never got it to match 100% but now it seems that the difference between the nordpool prices and tibber is bigger, between 2,3 and 1,8 ct for tomorrow depending on the price being high or low (with same setting for 'additional cost). I will again play around a bit with additional cost and see if it still is applied (or if maybe there is a problem, because I lookedup DE-LU and that value is also in some js code). If I get the values to halfway match I am ok. I think those code changes (and docs) will have to be implemented and updated one day

OK, as mentioned above by @henrikhermansen there was that mayor api change and looks like GER should be the new normal, untfortunatelly the prices are not matching at all.

Have you found a solution cause my "tibber adaption calculation" to get my zip code based price has not changed. additional_costs: "{{ (0.2027 + (current_price * 0.19)) | float }}" The difference before the "GER" change was about 0,01 Cent comparing with the prices mentioned in the app when you tap on the graph. Yesterday morning I had a roughly 390 cent figure, but the 0.15 nordpool GER version showed 47 cents, so 8 cents more compared to the previous deviation of 0,01 cents.

Here is a comparison from August from my sensor yaml cause I check it regualary every 6 months.

  # BEISPIELE    BÖRSEN + ABGA- = PREIS     BÖRSEN + NETZ- = PREIS
  #               PREIS    BEN             PR.inkl.  ENT-
  #                                           19%    GELTE
  ###################################################################
  # 18 - 19 Uhr:  12,35 + 22,62 = 34,97      14,70 + 20,27 = 34,97
  # 13 - 14 Uhr:   4,52 + 21,14 = 25,66       5,38 + 20,27 = 25,65
  # 20 - 21 Uhr:  28,93 + 25,77 = 54,70      34,43 + 20,27 = 54,70

So I went back to the tibber integration to get the chart back alive with proper figures and that worked out for me.

But only partially cause I had forgotten about my plan for end of october to start using the AIO energy management for AC Charging during night or to LOWER the consumption during the cheapest AC prices in the night or to turn of the hybrid inverter production during the cheapest hour to make the battery last longer in the morning to cut out those expensive early morning hours for 40 cents. If I can use grid power for 20 Cent at 1 am for 2 hours I can save 40 cents during peak hours without the round trip losses of 15 - 20% I have from charging. Charging would mean to pay 20Cent plus 4 cent losses = 24 Cent to save 16 Cent instead of using cheap grid power for 20 Cent and use that kWh saved (for 20 Cent) in the morning when price is 40 Cent.

I need to get the nordpool solution running again as accurate as before or at least have to find the cheapest hours during the night to save energy in my battery for the morning hours.

I wanna use this solution based on nordpool and quite well described there which also has gotten a brother based on the entso integration modell as well.

0.2.2 is the most recent AIO verision on github so keep that in mind when readin the following.

Nordpool AIO - best to start with cause here you can find the whole story https://www.creatingsmarthome.com/index.php/2024/07/27/home-assistant-nord-pool-cheapest-hours-with-aio-energy-management/

Entso E - which is the description how to get the extra steps done to get from Nordpool to Entso only, so start above. https://www.creatingsmarthome.com/index.php/2024/09/24/home-assistant-entso-e-cheapest-hours-with-aio-energy-management-0-2-0/

So I hope that you find a fix to get proper prices again. Thanks a lot.

There is nothing to fix. The prices are as is from the API.

typxxi commented 2 weeks ago

I now changed my config (in fact re-installed the integration and configured GER instead of DE-LU) and sesor same as for you @typxxi works n´again. I would assume that I was right with my guess that they changed the region 'code' for germany. I also compared my charts with the actual tibber prices and the graph pattern is 100% right for me (comparing to tibber, again). Only 'problem' that the prices do not match (as you said). I already had differences before, never got it to match 100% but now it seems that the difference between the nordpool prices and tibber is bigger, between 2,3 and 1,8 ct for tomorrow depending on the price being high or low (with same setting for 'additional cost). I will again play around a bit with additional cost and see if it still is applied (or if maybe there is a problem, because I lookedup DE-LU and that value is also in some js code). If I get the values to halfway match I am ok. I think those code changes (and docs) will have to be implemented and updated one day

OK, as mentioned above by @henrikhermansen there was that mayor api change and looks like GER should be the new normal, untfortunatelly the prices are not matching at all. Have you found a solution cause my "tibber adaption calculation" to get my zip code based price has not changed. additional_costs: "{{ (0.2027 + (current_price * 0.19)) | float }}" The difference before the "GER" change was about 0,01 Cent comparing with the prices mentioned in the app when you tap on the graph. Yesterday morning I had a roughly 390 cent figure, but the 0.15 nordpool GER version showed 47 cents, so 8 cents more compared to the previous deviation of 0,01 cents. Here is a comparison from August from my sensor yaml cause I check it regualary every 6 months.

  # BEISPIELE    BÖRSEN + ABGA- = PREIS     BÖRSEN + NETZ- = PREIS
  #               PREIS    BEN             PR.inkl.  ENT-
  #                                           19%    GELTE
  ###################################################################
  # 18 - 19 Uhr:  12,35 + 22,62 = 34,97      14,70 + 20,27 = 34,97
  # 13 - 14 Uhr:   4,52 + 21,14 = 25,66       5,38 + 20,27 = 25,65
  # 20 - 21 Uhr:  28,93 + 25,77 = 54,70      34,43 + 20,27 = 54,70

So I went back to the tibber integration to get the chart back alive with proper figures and that worked out for me. But only partially cause I had forgotten about my plan for end of october to start using the AIO energy management for AC Charging during night or to LOWER the consumption during the cheapest AC prices in the night or to turn of the hybrid inverter production during the cheapest hour to make the battery last longer in the morning to cut out those expensive early morning hours for 40 cents. If I can use grid power for 20 Cent at 1 am for 2 hours I can save 40 cents during peak hours without the round trip losses of 15 - 20% I have from charging. Charging would mean to pay 20Cent plus 4 cent losses = 24 Cent to save 16 Cent instead of using cheap grid power for 20 Cent and use that kWh saved (for 20 Cent) in the morning when price is 40 Cent. I need to get the nordpool solution running again as accurate as before or at least have to find the cheapest hours during the night to save energy in my battery for the morning hours. I wanna use this solution based on nordpool and quite well described there which also has gotten a brother based on the entso integration modell as well. 0.2.2 is the most recent AIO verision on github so keep that in mind when readin the following. Nordpool AIO - best to start with cause here you can find the whole story https://www.creatingsmarthome.com/index.php/2024/07/27/home-assistant-nord-pool-cheapest-hours-with-aio-energy-management/ Entso E - which is the description how to get the extra steps done to get from Nordpool to Entso only, so start above. https://www.creatingsmarthome.com/index.php/2024/09/24/home-assistant-entso-e-cheapest-hours-with-aio-energy-management-0-2-0/ So I hope that you find a fix to get proper prices again. Thanks a lot.

There is nothing to fix. The prices are as is from the API.

But those are unuseable for my area in germany cause 47 cents versus 39 cents in the tibber app is a bit too much. Before that api change we had a difference of 0 cents or 1 time 0,01 cents not worth to mention. Therefore there must be a bug or we had gotten the wrong source - at least yesterday morning we had such a huge gap.

And I wanna continue to use the AIO energy management based on nordpool integration so I need proper prices and not a guess work. Finally the gap was changing during the day a lot from 1 to 7 cent between nordpool api results and tibber app prices incl. all the fees - of cause in both systems the same.

Therefore I hope that someone will find the cause for the current deviation which is right now 26,5 cent in the tibber app and 29,3 cent via nordpool plus our usual fees and vat (the calculation had worked before with 0,01 Cent deviation) +2,8 cent

tibber value for now image

nordpool value image

So the source must have changed its pricing level cause it had been 7 cent yesterday morning (40 cent versus 47 cent)

tmikoss commented 2 weeks ago

@typxxi could you please verify that the prices you are seeing via the custom component match with https://data.nordpoolgroup.com/ ? Maybe some other region more closely aligns with what you are seeing in your app?

Hellowlol commented 2 weeks ago

Yeah, and please remove any additional costs so you compare apples to apples. Remember that the prices you see on their webpage is in Mwh

typxxi commented 2 weeks ago

Same for me (also DE-LU), also 14th. I was suspecting the problem being the API change referenced to in the 0.0.15 release notes. Maybe that is the problem as I also have 0.0.14 installed. At least it is what is shown on the 'local' integrations page. I have no option to update to 0.0.15 in 'updates' of home assistant. Just a thought what COULD be the problem. Did not do detailed logging but what I personally get is: MAYBE re-installing COULD work if that is the problem but did not have time to check that as of now. But maybe I am completely wrong too :D

Here is the solution for german tibber users.

The VAT for germany in the backend is wrong if you use the dialog and click on VAT.
It will use 23% this way. I had been using the yaml only and it had worked that way.

Here is the full story and how I solved it. The guide for german users is at the very end. Back on track with 0 cent deviation, but be carefull with copy and paste.

typxxi commented 2 weeks ago

Solved for german customers too where the wrong VAT of 23% would hit you if you configure it via the UI and enable VAT. Guide for german tibber users how to find out the right local tibber fees can be found here at the very end.

You will need to read that carefully to get rid of the wrong VAT and to find out the proper tibber fees.