carohauta / oma-helen-ha-integration

Home Assistant integration for Oma Helen data
MIT License
35 stars 6 forks source link

uusin HA, virhe #5

Closed haivala closed 1 year ago

haivala commented 1 year ago

pörssisähkö käytössä

helen_energy: Error on device update!

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 521, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 748, in async_device_update
    await task
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/helen_energy/sensor.py", line 326, in update
    self._contract_base_price = self._api_client.get_contract_base_price()
  File "/usr/local/lib/python3.10/site-packages/helenservice/api_client.py", line 230, in get_contract_base_price
    contract_components = contract_data[0]["products"][0]["components"]
IndexError: list index out of range
carohauta commented 1 year ago

Onko tää jatkuva ongelma? Virheestä päätellen Helenin API ei ole palauttanut lainkaan sopimusdataa, joten voisi mahdollisesti olla satunnainen/kertaluonteinen tapaus.

Jos on jatkuva ongelma niin voi olla että uusimman HA-version kanssa on jotakin riippuvuuskonflikteja ja API ei palauta sen takia mitään. Oon viimeks testannut tuota pörssisähköä HA-versiolla 2023.2.5, joten pitänee testailla hieman uudemmalla

haivala commented 1 year ago

Mitään muuta en ole muuttanut kuin päivittänyt HA:n ja pari restarttiakin on takana, eikä toimi enää..

carohauta commented 1 year ago

Virhe johtuu siitä, että Helenin API antaa välillä puutteellisia vastauksia sopimusdata-kyselyihin. Käyttämällä CLI-työkalua https://pypi.org/project/oma-helen-cli/, sain toistettua tilanteen, jossa contract_data[0] objektin products-kenttä oli null. Tässä tapauksessa siis sopimuksen perushintaa ei saada haettua.

Ainoa keino korjata tämä olisi tarjota integraation konfiguroinnissa mahdollisuus asettaa sopimuksen perushinta manuaalisesti. Tällöin sopimustietoja ei tarvitsisi hakea Heleniltä. Voisin suunnitella tällaista seuraavaan julkaisuun.

Löysin omasta HA-lokista myös pari tällaista virhettä, mutta sähkön seurantadata kuitenkin on päivittynyt vähintään kerran päivässä.

haivala commented 1 year ago

Eikös tuo voisi käyttää edellista saatua perushintaa ennemmin kuin että joutuisi asettamaan sen manuaalisesti? ja jos sitä ei saada ensimmäisellä kerralla niin sille olisi joku default?

carohauta commented 1 year ago

Joo kyllähän tuon aiemmin saadun perushinnan voisi tallentaa komponentille muistiin. Defaultiksi mahdollinen konfiguroitu arvo tai pahimmassa tapauksessa kylmästi 0e.

haivala commented 1 year ago

Eipä ole siis toiminut tässä 2 viikon sisään tämä ollenkaan enään

carohauta commented 1 year ago

Korjauksia ja muutoksia on työn alla. Onko tuon IndexError: list index out of range lisäks tullut mitään muita virheitä?

haivala commented 1 year ago

tämä mut se on johdannainen tosta ekasta

Logger: homeassistant.helpers.event
Source: helpers/template.py:541

Error while processing template: Template<template=({{ state_attr('sensor.helen_exchange_electricity', 'current_month_consumption') | round() }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.helen_exchange_electricity', 'last_month_consumption') | round() }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.helen_exchange_electricity', 'last_month_total_cost') | round() }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.helen_exchange_electricity', 'daily_average_consumption') | round() }}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1608, in forgiving_round
    value = round(float(value), precision)
TypeError: float() argument must be a string or a real number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 539, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2130, in _render_with_context
    return template.render(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/jinja2/environment.py", line 1301, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.10/site-packages/jinja2/environment.py", line 936, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1613, in forgiving_round
    raise_no_default("round", value)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1589, in raise_no_default
    raise ValueError(
ValueError: Template error: round got invalid input 'None' when rendering template '{{ state_attr('sensor.helen_exchange_electricity', 'current_month_consumption') | round() }}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 660, in async_render_to_info
    render_info._result = self.async_render(variables, strict=strict, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 541, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: round got invalid input 'None' when rendering template '{{ state_attr('sensor.helen_exchange_electricity', 'current_month_consumption') | round() }}' but no default was specified
carohauta commented 1 year ago

Nyt olis korjausta puskettu mainiin (v1.0.3). Se sopparin perushinta tallennetaan nyt muistiin jos se saadaan haettua ja sitä käytetään sitten seuraavilla kerroilla, mikäli haku epäonnistuu (tämä tilanne myös lokitetaan). Jos se haku epäonnistuu jatkuvasti niin perushinnan voi myös yliajaa antamalla konfiguraatioon tämmöisen

default_base_price: 3.0 # eli 3 EUR
haivala commented 1 year ago

Onkohan tässä nyt jokin muukin ongelma.. Vaikka laitan perushinnan niin logiin tulee vaan tuo virhe-ilmo ja sähkönkäyttötiedot pysyy 0:na. Onkohan hass muuttanu sitä miten se käsittelee erikoismerkkejä salasanassa..

This error originated from a custom integration.

Logger: custom_components.helen_energy.sensor Source: custom_components/helen_energy/sensor.py:358 Integration: helen_energy (documentation, issues)

Received invalid response from Helen API when fetching contract base price - using the latest value if it exists, or 0 if it doesn't

haivala commented 1 year ago

Testasin ja kyllä tuo login näyttäs toimivan

haivala commented 1 year ago

Halutessasi voit käyttää eri sähköpostiosoitetta yhteystiedoissa ja käyttäjätunnuksena. Käyttäjätunnukseen liitettyä sähköpostiosoitetta käytetään mm. unohtuneen salasanan muuttamiseen.

Mulla on nämä erit, mutta ei kai tuon pitäisi vaikuttaa, ellei se sitten ole jokin api muutos

carohauta commented 1 year ago

Kokeile laittaa käyttäjätunnus ja salasana lainausmerkkien sisään sinne konfiguraatioon. Toki, jos salasana menee sinne väärin niin se kaatuu jo kirjautumiseen.

Mikä HA-versio sulla tarkalleen on? Voisin kokeilla saanko toistettua.

Voit myös kokeilla hakea niitä sopimustietoja suoraan tällä CLI-työkalulla, jota tämä HA-integraatio käyttää pellin alla: https://github.com/carohauta/oma-helen-cli

Eli kirjaudut tuolla työkalulla sisään ja ajat siellä funktion get_contract_data_json. Jos sieltä tulee vastaus niin kiinnostaa sen jsonin rakenne. Huom. se sisältää osoitetietoja ja muutakin sensitiivistä dataa niin ei kannata sellaisenaan jakaa sitä tänne.

haivala commented 1 year ago

Niin siis kokeilin vaihtaa tuota sähköposti toiseen ja virhe-ilmo oli heti että login ei toimi.

Mikä HA-versio sulla tarkalleen on? Voisin kokeilla saanko toistettua.

Home Assistant 2023.4.6 virheet tais alkaa 2023.4.x kohalla

carohauta commented 1 year ago

Kokeilin uusimmalla versiolla ja yksi muutos on tullut, joka on rikkonut template sensorit mikäli on käyttänyt noita tuolta esimerkeistä. Julkaisin uuden version jonka pitäis korjata tämä haitta.

Se ei kuitenkaan vielä selitä tuota api-virhettä, jonka saat Helenin apista. Tuo invalid response virhe johtuu siitä, että Helenin api palauttaa vääränlaisen jsonin. Kannattaa kokeilla tolla CLI-työkalulla, että miltä se sun sopimus-json näyttää sillä haettuna.

Eli pitäis selvittää löytyykö siitä jsonista products property ja mitä se pitää sisällään. Se kaatuu nyt sulla johonkin näistä riveistä. Eli siitä puuttuu joko products, products -> components tai products -> components -> is_base_price.

KeijoMika commented 1 year ago

Terve ja kiitokset kehitystyöstä.

Itsellä taitaa olla sama ongelma, myös pörssisähkö käytössä:

Logger: custom_components.helen_energy.sensor Source: custom_components/helen_energy/sensor.py:358

Kurkkasin oma-helen-cli:n antamaan json dataan ja sieltä näyttäisi tulevan useampi sopimusobjekti, joissain tuo products on täysin tyhjä, mutta nykyisessä sopparissa tuntuisi olevan ihan oikea. En kurkannut koodiin sen syvemmälle onko tätä otettu huomioon. Tässä nykyisen sopparin products sisältö:

"products": [
      {
        "attributes": null,
        "company": "HKE",
        "components": [
          {
            "id": "xxxx",
            "name": "Perusmaksu",
            "localized_name": {
              "fi": "Perusmaksu",
              "sv": "Grundavgift",
              "en": "Basic charge"
            },
            "price": 3.93,
            "price_without_vat": 3.17,
            "price_unit": "eur/kk",
            "localized_price_unit": {
              "fi": "eur/kk",
              "sv": "eur/m\u00e5nad",
              "en": "eur/month"
            },
            "is_base_price": true,
            "is_valid_price": true,
            "component_description": null
          }
        ],
        "id": "uuuuuu",
        "name": "P\u00f6rssihintas\u00e4hk\u00f6",
        "localized_name": {
          "fi": "P\u00f6rssihintas\u00e4hk\u00f6",
          "sv": "B\u00f6rspris el",
          "en": "Exchange Price Electricity"
        },
        "price_list_id": "PORS",
        "is_temporary_product": false,
        "product_type": "energy",
        "product_subtypes": [
          "spot-electricity"
        ],
        "start_date": "2023-01-31T00:00:00",
        "end_date": null,
        "product_info_link": null,
        "product_description": {
          "text": {
            "fi": "T\u00e4m\u00e4n sopimuksen s\u00e4hk\u00f6n hinta m\u00e4\u00e4r\u00e4ytyy tunneittain s\u00e4hk\u00f6n markkinahinnan perusteella.",
            "sv": "Priset p\u00e5 el i detta avtal fastst\u00e4lls p\u00e5 timbasis baserat p\u00e5 marknadspriset f\u00f6r el.",
            "en": "The price of electricity in this agreement is determined on an hourly basis based on the market price of electricity."
          },
          "link": {
            "text": {
              "fi": "Voit katsoa tietoja markkinahintojen kehityksest\u00e4 t\u00e4\u00e4lt\u00e4",
              "sv": "Du kan se information om utvecklingen av marknadspriser h\u00e4r",
              "en": "You can view information on the development of market prices here"
            },
            "target": "@exchange-price-electricity",
            "tracking_id": "exchange_price_electricity_EXT"
          }
        },
        "components_description": null
      },
      {
        "attributes": {
          "electricity_tax_category": null
        },
        "company": "HSV",
        "components": [
          {
            "id": "yyyyy",
            "name": "Perusmaksu",
            "localized_name": {
              "fi": "Perusmaksu",
              "sv": "Grundavgift",
              "en": "Basic charge"
            },
            "price": 5.51,
            "price_without_vat": 4.44,
            "price_unit": "eur/kk",
            "localized_price_unit": {
              "fi": "eur/kk",
              "sv": "eur/m\u00e5nad",
              "en": "eur/month"
            },
            "is_base_price": true,
            "is_valid_price": true,
            "component_description": null
          },
          {
            "id": "zzzzz",
            "name": "Siirtomaksu",
            "localized_name": {
              "fi": "Siirtomaksu",
              "sv": "\u00d6verf\u00f6ringsavgift",
              "en": "Distribution tariff"
            },
            "price": 4.07,
            "price_without_vat": 3.28,
            "price_unit": "c/kWh",
            "localized_price_unit": {
              "fi": "c/kWh",
              "sv": "c/kWh",
              "en": "c/kWh"
            },
            "is_base_price": false,
            "is_valid_price": true,
            "component_description": null
          }
        ],
        "id": "ccccccc",
        "name": "Yleissiirto",
        "localized_name": {
          "fi": "Yleissiirto",
          "sv": "Allm\u00e4n \u00f6verf\u00f6ring",
          "en": "General distribution"
        },
        "price_list_id": "1",
        "is_temporary_product": false,
        "product_type": "transfer",
        "product_subtypes": [],
        "start_date": "2020-11-04T00:00:00",
        "end_date": null,
        "product_info_link": null,
        "product_description": null,
        "components_description": null
      }

Tässä vielä esimerkki samasta json vasteesta, miltä näyttää yksi objekti missä tuo products on tyhjänä kokonaisuudessaan:


 {
    "billing": {
      "address": null,
      "billing_method": "e-invoice",
      "bills_per_year": 4,
      "e_invoice_bic": "NDEAFIHH",
      "e_invoice_bank_name": {
        "fi": "Nordea",
        "sv": null,
        "en": null
      },
      "has_pending_e_invoice": false
    },
    "contract_id": ????,
    "property_manager_id": null,
    "payer_id": null,
    "external_key": "???",
    "customer_id": ???,
    "delivery_site": {
      "address": {
        "city": "yyyy",
        "country": "",
        "postal_code": "xxxx",
        "postal_area": "ccccc",
        "street_address": "zzzz"
      },
      "grid_company_name": "Helen S\u00e4hk\u00f6verkko",
      "id": zzzzz
    },
    "domain": "electricity-total",
    "end_date": "2020-11-03T23:59:59",
    "products": [],
    "start_date": "2019-11-04T00:00:00",
    "pdf": "https://api.omahelen.fi/v1/contract/szdfsdfzxcv/pdf",
    "production_distribution": null,
    "attributes": {
      "contract_created": "2023-05-29T09:31:38.908823+00:00",
      "contract_source": "valikanta",
      "contract_electricity_tax_category": "1",
      "contract_can_be_renewed": false,
      "contract_is_renewed": false,
      "contract_renewal": null
    },
    "connection_point_id": 1234567890
  }
carohauta commented 1 year ago

Ongelma tosiaan lienee tässä se, että oma-helen-cli luottaa siihen, että listan ensimmäinen sopimus on se oikea. Ilmeisesti sopimuslista voi kuitenkin sisältää vanhoja sopimuksia ja lisäksi joillakin asiakkailla voi olla useampia sopimuksia vaikkapa eri osoitteissa.

Ongelmana kehitystyössä on ollut se, että minulla on vain yksi sopimus Helenin kanssa ja sekin on ollut alusta saakka samassa osoitteessa – eli en tiedä tarkalleen, mitä sopimus-api voi vastata kaikissa tilanteissa.

Nuo liittämäsi jsonit voivat hyvinkin auttaa korjaamaan tätä. Jälkimmäisessä jsonissa on tosiaan tyhjä products-kenttä. start_date sekä end_date viittaisivat kenties johonkin vanhaan sopimukseen? Mitähän niissä mahtaa olla, jos kyseessä on toistaiseksi voimassaoleva sopimus?

Olisko mahdollista saada koko json, jonka saat vastauksena oma-helen-clin sopimuskyselyyn? Muista jälleen sensuroida osoitetiedot sekä muut sensitiiviset tiedot, mikäli pystyt sen minulle toimittamaan.

Kehityksen kannalta olisi oleellista selvittää, että miten vastauksesta pystyy päättelemään, mikä sopimuksista on tällä hetkellä voimassaoleva.

KeijoMika commented 1 year ago

Löytyi tosiaan sopparia jopa vanhasta osoitteesta näiden joukossa, joka on myös irtisanottu jo. Näyttäisi, että toistaiseksi voimassa olevassa sopimuksessa on seuraava arvo:

"end_date": null,

Kun taas päättyneessä sopimuksessa se on joku oikea päivämäärä:

"end_date": "2020-02-06T23:59:59",

Tässä koko json:


[
  {
    "billing": {
      "address": null,
      "billing_method": "e-invoice",
      "bills_per_year": 4,
      "e_invoice_bic": "NDEAFIHH",
      "e_invoice_bank_name": {
        "fi": "Nordea",
        "sv": null,
        "en": null
      },
      "has_pending_e_invoice": false
    },
    "contract_id": xx,
    "property_manager_id": null,
    "payer_id": null,
    "external_key": "xx",
    "customer_id": xx,
    "delivery_site": {
      "address": {
        "city": "xx",
        "country": "",
        "postal_code": "xx",
        "postal_area": "xx",
        "street_address": "xx"
      },
      "grid_company_name": "Helen S\u00e4hk\u00f6verkko",
      "id": xx
    },
    "domain": "electricity-total",
    "end_date": "2020-02-06T23:59:59",
    "products": [],
    "start_date": "2014-02-16T00:00:00",
    "pdf": "https://api.omahelen.fi/v1/contract/xx/pdf",
    "production_distribution": null,
    "attributes": {
      "contract_created": "2023-05-29T09:31:38.908578+00:00",
      "contract_source": "valikanta",
      "contract_electricity_tax_category": "1",
      "contract_can_be_renewed": false,
      "contract_is_renewed": false,
      "contract_renewal": null
    },
    "connection_point_id": xx
  },
  {
    "billing": {
      "address": null,
      "billing_method": "e-invoice",
      "bills_per_year": 4,
      "e_invoice_bic": "NDEAFIHH",
      "e_invoice_bank_name": {
        "fi": "Nordea",
        "sv": null,
        "en": null
      },
      "has_pending_e_invoice": false
    },
    "contract_id": xx,
    "property_manager_id": null,
    "payer_id": null,
    "external_key": "xx",
    "customer_id": xx,
    "delivery_site": {
      "address": {
        "city": "xx",
        "country": "",
        "postal_code": "xx",
        "postal_area": "xx",
        "street_address": "xx"
      },
      "grid_company_name": "Helen S\u00e4hk\u00f6verkko",
      "id": xx
    },
    "domain": "electricity-total",
    "end_date": "2020-11-03T23:59:59",
    "products": [],
    "start_date": "2019-11-04T00:00:00",
    "pdf": "https://api.omahelen.fi/v1/contract/xx/pdf",
    "production_distribution": null,
    "attributes": {
      "contract_created": "2023-05-29T09:31:38.908823+00:00",
      "contract_source": "valikanta",
      "contract_electricity_tax_category": "1",
      "contract_can_be_renewed": false,
      "contract_is_renewed": false,
      "contract_renewal": null
    },
    "connection_point_id": xx
  },
  {
    "billing": {
      "address": null,
      "billing_method": "e-invoice",
      "bills_per_year": 4,
      "e_invoice_bic": "NDEAFIHH",
      "e_invoice_bank_name": {
        "fi": "Nordea",
        "sv": null,
        "en": null
      },
      "has_pending_e_invoice": false
    },
    "contract_id": xx,
    "property_manager_id": null,
    "payer_id": null,
    "external_key": "xx",
    "customer_id": xx,
    "delivery_site": {
      "address": {
        "city": "xx",
        "country": "",
        "postal_code": "xx",
        "postal_area": "xx",
        "street_address": "xx"
      },
      "grid_company_name": "Helen S\u00e4hk\u00f6verkko",
      "id": xx
    },
    "domain": "electricity-total",
    "end_date": null,
    "products": [
      {
        "attributes": null,
        "company": "HKE",
        "components": [
          {
            "id": "xx",
            "name": "Perusmaksu",
            "localized_name": {
              "fi": "Perusmaksu",
              "sv": "Grundavgift",
              "en": "Basic charge"
            },
            "price": 3.93,
            "price_without_vat": 3.17,
            "price_unit": "eur/kk",
            "localized_price_unit": {
              "fi": "eur/kk",
              "sv": "eur/m\u00e5nad",
              "en": "eur/month"
            },
            "is_base_price": true,
            "is_valid_price": true,
            "component_description": null
          }
        ],
        "id": "xx",
        "name": "P\u00f6rssihintas\u00e4hk\u00f6",
        "localized_name": {
          "fi": "P\u00f6rssihintas\u00e4hk\u00f6",
          "sv": "B\u00f6rspris el",
          "en": "Exchange Price Electricity"
        },
        "price_list_id": "xx",
        "is_temporary_product": false,
        "product_type": "energy",
        "product_subtypes": [
          "spot-electricity"
        ],
        "start_date": "2023-01-31T00:00:00",
        "end_date": null,
        "product_info_link": null,
        "product_description": {
          "text": {
            "fi": "T\u00e4m\u00e4n sopimuksen s\u00e4hk\u00f6n hinta m\u00e4\u00e4r\u00e4ytyy tunneittain s\u00e4hk\u00f6n markkinahinnan perusteella.",
            "sv": "Priset p\u00e5 el i detta avtal fastst\u00e4lls p\u00e5 timbasis baserat p\u00e5 marknadspriset f\u00f6r el.",
            "en": "The price of electricity in this agreement is determined on an hourly basis based on the market price of electricity."
          },
          "link": {
            "text": {
              "fi": "Voit katsoa tietoja markkinahintojen kehityksest\u00e4 t\u00e4\u00e4lt\u00e4",
              "sv": "Du kan se information om utvecklingen av marknadspriser h\u00e4r",
              "en": "You can view information on the development of market prices here"
            },
            "target": "@exchange-price-electricity",
            "tracking_id": "exchange_price_electricity_EXT"
          }
        },
        "components_description": null
      },
      {
        "attributes": {
          "electricity_tax_category": null
        },
        "company": "HSV",
        "components": [
          {
            "id": "xx",
            "name": "Perusmaksu",
            "localized_name": {
              "fi": "Perusmaksu",
              "sv": "Grundavgift",
              "en": "Basic charge"
            },
            "price": 5.51,
            "price_without_vat": 4.44,
            "price_unit": "eur/kk",
            "localized_price_unit": {
              "fi": "eur/kk",
              "sv": "eur/m\u00e5nad",
              "en": "eur/month"
            },
            "is_base_price": true,
            "is_valid_price": true,
            "component_description": null
          },
          {
            "id": "xx",
            "name": "Siirtomaksu",
            "localized_name": {
              "fi": "Siirtomaksu",
              "sv": "\u00d6verf\u00f6ringsavgift",
              "en": "Distribution tariff"
            },
            "price": 4.07,
            "price_without_vat": 3.28,
            "price_unit": "c/kWh",
            "localized_price_unit": {
              "fi": "c/kWh",
              "sv": "c/kWh",
              "en": "c/kWh"
            },
            "is_base_price": false,
            "is_valid_price": true,
            "component_description": null
          }
        ],
        "id": "xx",
        "name": "Yleissiirto",
        "localized_name": {
          "fi": "Yleissiirto",
          "sv": "Allm\u00e4n \u00f6verf\u00f6ring",
          "en": "General distribution"
        },
        "price_list_id": "1",
        "is_temporary_product": false,
        "product_type": "transfer",
        "product_subtypes": [],
        "start_date": "2020-11-04T00:00:00",
        "end_date": null,
        "product_info_link": null,
        "product_description": null,
        "components_description": null
      }
    ],
    "start_date": "2020-11-04T00:00:00",
    "pdf": "https://api.omahelen.fi/v1/contract/xx/pdf",
    "production_distribution": {
      "chart": "https://api.omahelen.fi/static/production_distribution/suomijakauma.svg",
      "product_id": "xx",
      "product_price_list_id": "PORS",
      "description": {
        "major_text": null,
        "minor_text": null,
        "legend_components": [
          {
            "color": "FF3291",
            "text": {
              "fi": "49 % Ydinvoima",
              "sv": "49 % K\u00e4rnkraft",
              "en": "49 % Nuclear power"
            }
          },
          {
            "color": "737576",
            "text": {
              "fi": "41 % Fossiiliset",
              "sv": "41 % Fossila br\u00e4nslen",
              "en": "41 % Fossil fuel"
            }
          },
          {
            "color": "73C82D",
            "text": {
              "fi": "10 % Uusiutuva",
              "sv": "10 % F\u00f6rnybara energik\u00e4llor",
              "en": "10 % Renewable energy"
            }
          }
        ]
      },
      "graphics": "https://api.omahelen.fi/static/production_distribution/suomijakauma_kaavio.svg"
    },
    "attributes": {
      "contract_created": "2023-05-29T09:31:38.908985+00:00",
      "contract_source": "valikanta",
      "contract_electricity_tax_category": "1",
      "contract_can_be_renewed": false,
      "contract_is_renewed": false,
      "contract_renewal": null
    },
    "connection_point_id": xx
  }
]
carohauta commented 1 year ago

Loistavaa, kiitos! Tämä auttaa kehitystyössä 👍

haivala commented 1 year ago

Sori että mulla ei ole ollut aikaa testailla. Auttasko tuo myös siihen että saisi siirtomaksut lisättyä?

mpekgit commented 1 year ago

Ootko tähän ehtinyt palata? Kiitoksia muuten toimivasta integraatiosta! Kovassa ajossa on, vielä kun saisi kulutetut sähköt ni olis kova

carohauta commented 1 year ago

Oon ehtinyt aloittaa korjaustyön, mutta se on jäänyt vielä toistaiseksi kesken. Sähkösopparin vaihto on itsellä edessä ensi kuussa niin pyrin saamaan korjauksen kuntoon ainakin siihen mennessä

carohauta commented 1 year ago

Noniin sain tuupattua uuden version: 1.1.0 🎉

Sopimustiedot haetaan nyt viimeisimmästä sopimuksesta, josta toivottavasti aina löytyy tuo nuo tarvittavat kentät (products -> components). Toimi ainakin hienosti noiden yo. jsonien kanssa, joten kiitos vielä niistä!

Uutena ominaisuutena löytyy myös siirtomaksujen seuranta. Eli kun konfiguraatioon lisää kentän include_transfer_costs: True niin saa uuden entityn, joka näyttää kuluvan kuukauden siirtomaksut tähän mennessä (sisältäen siirtosopimuksen perusmaksun).

KeijoMika commented 1 year ago

Kiitokset, näyttäisi pelittävän nopean testin perusteella!

Aluksi ilmeni kaatuilua eivätkä lukemat näkyneet, mutta näytti johtuvan siitä että oli aiemmasta versiosta jäänyt jotain kummittelemaan, sen takia tuo sensor.helen_exchange_electricity olikin lisätty nimellä sensor.helen_exchange_electricity_2

Kun poistin kaikki aiemmat entityt, niin näyttää toimivan ongelmitta ainakin tähän mennessä. Mukaanlukien myös siirtokulut.

carohauta commented 1 year ago

Aluksi ilmeni kaatuilua eivätkä lukemat näkyneet, mutta näytti johtuvan siitä että oli aiemmasta versiosta jäänyt jotain kummittelemaan, sen takia tuo sensor.helen_exchange_electricity olikin lisätty nimellä sensor.helen_exchange_electricity_2

Mulla ilmeni myös tämä ogelma ja piti käydä tuo sama jumppa. Vanhoihin entityihin ei sinänsä tullut mitään muutoksia, mutta jostain syystä HA kuitenkin tulkitsee näin ja luo uuden.

haivala commented 1 year ago

Kiitokset! Nyt näyttäs toimivan kaikki, kunhan tuon jumpan tekee.