Giter VIP home page Giter VIP logo

ecotrend-ista's Introduction

ista EcoTrend Version 3

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store. hacs_badge Validate with hassfest and HACS
GitHub license GitHub release (latest by date) GitHub Release Date GitHub stars GitHub issues Github All Releases
Code style: black
✨ Wishlist from Amazon ✨ Buy me a coffee


ista EcoTrend V3

Installation

MANUAL INSTALLATION

Copy the ecotrend_ista last Release folder and all of its contents into your Home Assistant's custom_components folder. This folder is usually inside your /config folder. If you are running Hass.io, use SAMBA to copy the folder over. If you are running Home Assistant Supervised, the custom_components folder might be located at /usr/share/hassio/homeassistant. You may need to create the custom_components folder and then copy the localtuya folder and all of its contents into it Alternatively, you can install localtuya through HACS by adding this repository.

INSTALLATION mit HACS

  1. Ensure that HACS is installed.
  2. Search for and install the "ecotrend ista Integration" integration. GitHub release (latest by date)
  3. Configuration for the ista EcoTrend integration is now performed via a config flow as opposed to yaml configuration file.
  4. Restart Home Assistant.

Basis Configuration

  1. Go to HACS -> Integrations -> Click "+"
  2. Search for "ista EcoTrend" repository and add to HACS
  3. Restart Home Assistant when it says to.
  4. In Home Assistant, go to Configuration -> Integrations -> Click "+ Add Integration"
  5. Search for "ista EcoTrend" and follow the instructions to setup.

ista EcoTrend should now appear as a card under the HA Integrations page with "Configure" selection available at the bottom of the card.


Two-factor authentication (experimental)


Debug

logger:
  logs:
    custom_components.ecotrend_ista: debug

ecotrend-ista's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar ludy87 avatar pre-commit-ci[bot] avatar wrt54g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

zyntax9999

ecotrend-ista's Issues

Documentation: where to add the template

Sorry for the dumb question, but where is the template supposed to go? I tried placing it in configurations.yaml at the top level, under ecotrend_ista:, under sensor:, under platform: template and so on, everything throws errors. I was also unable to find any documentation in homeassistant itself about what to do with templates formatted in that kind.

Not compatible with HA core 2023.3.0

The integration does not start naymore. Errors:

Source: util/package.py:107
First occurred: 10:16:49 AM (2 occurrences)
Last logged: 10:16:53 AM

Unable to install package pyecotrend_ista==1.0.37: ERROR: Cannot install pyecotrend-ista==1.0.37 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts [notice] A new release of pip is available: 23.0 -> 23.0.1 [notice] To update, run: pip install --upgrade pip```

Selection of Flat not possible

I have two flats in my Ista account and currently I am getting data for the wrong flat (family member without Home Assistant).

It would be nice if the flat could be selected during setup or to have the flat as an optional field during the setup.

https://api.prod.eed.ista.com/account
returns two items in residentAndConsumptionUuidsMap (shortened)

    "residentAndConsumptionUuidsMap": {
        "3afcxxx": "c25bxxx",
        "8721xxx": "f799xxx"
    }

Details about the flats would be available via https://api.prod.eed.ista.com/menu.

Happy two provide sample data or to test.

Unfortunately, it no longer works after the update

Unfortunately, it no longer works after the update. HA immediately throws up an error message. I had to remove the entry in configuration.yaml.

Unable to install package pyecotrend_ista==1.0.37: ERROR: Cannot install pyecotrend-ista==1.0.37 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts [notice] A new release of pip available: 22.3 -> 22.3.1 [notice] To update, run: pip install --upgrade pip
03:59:49 – (FEHLER) util/package.py -

Feature request: Set pull intervall

Hello @Ludy87 ,

I saw that data is being pulled regularly. Would it be (or is it maybe already) possible to set this interval manually?

Thank you for your consideration.

Alex

No entities

I don't see any entities. I'm running HA 2023.12.4. I can successfilly login with my Ista username/password, but no entities are shown...

here are some debug logs:

`2024-01-03 12:05:57.750 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration ecotrend_ista which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2024-01-03 12:06:00.040 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'config', 'reolink', 'apple_tv', 'ecotrend_ista'}

2024-01-03 12:06:00.610 INFO (MainThread) [homeassistant.setup] Setting up ecotrend_ista

2024-01-03 12:06:00.610 DEBUG (MainThread) [custom_components.ecotrend_ista] Set up the ista EcoTrend Version 2 component

2024-01-03 12:06:00.610 INFO (MainThread) [homeassistant.setup] Setup of domain ecotrend_ista took 0.0 seconds

2024-01-03 12:06:00.625 DEBUG (MainThread) [custom_components.ecotrend_ista] Configure based on config entry dec358b312676c70c4964eecdeb5ffa2

2024-01-03 12:06:59.110 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: ecotrend_ista

2024-01-03 12:07:01.771 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Finished fetching ecotrend_ista-dec358b312676c70c4964eecdeb5ffa2 data in 60.156 seconds (success: False)

2024-01-03 12:07:01.818 DEBUG (MainThread) [custom_components.ecotrend_ista] Configure based on config entry dec358b312676c70c4964eecdeb5ffa2

2024-01-03 12:07:03.636 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Manually updated ecotrend_ista-dec358b312676c70c4964eecdeb5ffa2 data

2024-01-03 12:07:03.636 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Finished fetching ecotrend_ista-dec358b312676c70c4964eecdeb5ffa2 data in 0.888 seconds (success: True)

2024-01-03 12:07:03.639 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.ecotrend_ista`

Feature request: pull costs

Hello,
it seems like ista is now also showing costs on a monthly basis. Any chance of tracking this also?

Thank you
Alex :)

warmwater_unit not honored in the sensor graph

The change to m³ is somehow not honored in the sensor plot. As you can see from the screenshot below it reports the correct m³ value but the y-axis of the plot shows kWh but claims to be m³

grafik

2.0: NoneType object is not iterable

Getting this message, no entities are created after setup through the UI. Attached you can find the debug log.

2023-06-19 13:57:11.401 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:57:18.621 WARNING (MainThread) [bellows.ezsp] Protocol version 12 is not supported, using version 11 instead
2023-06-19 13:57:26.663 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:57:51.724 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:58:34.689 WARNING (MainThread) [homeassistant.helpers.service] Unable to find referenced entities select.wled_schreibtischlampe_preset or it is/they are currently not available
2023-06-19 13:58:37.182 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:58:52.551 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:58:52.564 WARNING (MainThread) [homeassistant.config_entries] Config entry 'Ista 7SUGACB64 ' for ecotrend_ista integration not ready yet: 'NoneType' object is not iterable; Retrying in background
2023-06-19 13:58:57.838 DEBUG (MainThread) [custom_components.ecotrend_ista] Configure based on config entry c343d1fceed0ec2a55ebcc44f8ce2d59
2023-06-19 13:59:02.433 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:59:02.444 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Finished fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data in 2.748 seconds (success: False)
2023-06-19 13:59:17.575 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 13:59:44.952 ERROR (MainThread) [custom_components.ecotrend_ista.coordinator] Unexpected error fetching ecotrend_ista-c343d1fceed0ec2a55ebcc44f8ce2d59 data: 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 58, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 326, in consum_raw
    for i, costs in enumerate(c_raw["costs"]):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-06-19 14:00:05.243 ERROR (MainThread) [frontend.js.latest.202306080] http://homeassistant.local:8123/frontend_latest/app-2AP83Z-w0C8.js:2:10848 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "xiaomi-vacuum-map-card-editor" has already been used with this registry
2023-06-19 14:00:09.228 ERROR (MainThread) [root] A message handler raised an exception: 'org.bluez.Device1'.
Traceback (most recent call last):
  File "src/dbus_fast/message_bus.py", line 811, in dbus_fast.message_bus.BaseMessageBus._process_message
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 854, in _parse_msg
    condition_callback()
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 709, in callback
    self._properties[device_path][defs.DEVICE_INTERFACE][property_name]
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'org.bluez.Device1'

2023-06-19 14:00:14.455 ERROR (MainThread) [root] A message handler raised an exception: 'org.bluez.Device1'.
Traceback (most recent call last):
  File "src/dbus_fast/message_bus.py", line 811, in dbus_fast.message_bus.BaseMessageBus._process_message
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 854, in _parse_msg
    condition_callback()
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 709, in callback
    self._properties[device_path][defs.DEVICE_INTERFACE][property_name]
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'org.bluez.Device1'

2023-06-19 14:00:14.597 ERROR (MainThread) [root] A message handler raised an exception: 'org.bluez.Device1'.
Traceback (most recent call last):
  File "src/dbus_fast/message_bus.py", line 811, in dbus_fast.message_bus.BaseMessageBus._process_message
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 854, in _parse_msg
    condition_callback()
  File "/usr/local/lib/python3.11/site-packages/bleak/backends/bluezdbus/manager.py", line 709, in callback
    self._properties[device_path][defs.DEVICE_INTERFACE][property_name]
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'org.bluez.Device1'

Home Assistant 2023.6.2
Supervisor 2023.06.2
Operating System 10.3
Frontend 20230608.0 - latest

Only works for warmwater

Hi
thanks for the great integration. Love this.
However, after installation it only works for the warmwater but not the heating.
After HA restart two errors are logged:

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.ecotrend_ista.sensor
Source: custom_components/ecotrend_ista/sensor.py:241
Integration: ecotrend ista (documentation, issues)
First occurred: 15:11:38 (1 occurrences)
Last logged: 15:11:38

['heating', 'warmwater']

and

Logger: homeassistant.components.sensor
Source: custom_components/ecotrend_ista/entity.py:97
Integration: Sensor (documentation, issues)
First occurred: 15:11:38 (2 occurrences)
Last logged: 15:11:38

Error adding entities for domain sensor with platform ecotrend_ista
Error while setting up ecotrend_ista platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 428, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 692, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 789, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 545, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 586, in _async_write_ha_state
attr.update(self.extra_state_attributes or {})
File "/config/custom_components/ecotrend_ista/entity.py", line 97, in extra_state_attributes
"valuekwh": float(str(self._consum.get("valuekwh", "-1")).replace(",", ".")),
ValueError: could not convert string to float: 'None'

Not working after upgradfe to 2.0.0 and 2.0.1

If you send instructions I can try to debug. The new 2.0.[0|1] version doesn't work, Just says retry setup. It does show a device name (looks like random numbers and letters: 6GFH7....)

Incorrect units

Hi everyone

first off: congrats to v2! :)

I just noticed that the units are incorrect. I am seeing two entities named heating and heating_custom which both have the unit kWh.

From the data I would say that the entity named only heating should have the unit units as the custom one is the converted units to kWh.

Would it be possible to correct the units and maybe the naming? Like heating_consumption_units and heating_consumption_kwh?

The heating_costs entity is clearer than the other two :)

Cheers
Alex

ISTA Netherlands

Discussed in #188

Originally posted by serot23 March 20, 2024
Hi there,

I am not that technical in the sense that i understand how pulls etc works in github and how to make my own version by using an api or something. But in the Netherlands we also have ISTA (unfortunately) and i would like to inplement it in HA, but i can't use this integration, which is a bummer. Is is something simple as adding countries to your integration or is it a lot of work to add extra apies or something?

Kind regards Serot23

Feature request: add pull of "Einheiten" and old data

Hello @Ludy87

thank you for working on an ista Ecotrend integration for Home Assistant.

I wanted to give it a try and added your repository to HACS, installed and then added a package with the config.

The first data has been pulled. Excellent!

Would it be possible to pull all data available, i.e. old data and also the "Einheiten" that were consumed?
This would allow to also track the conversion being performed from "Einheiten" to kWh as one is the "Verbrauchseinheiten" which can be read locally from the sensors.

Maybe, if you are a member and feel like it, we can also discuss in a dedicated thread in Home Assistant Community Forum? I could imagine more people being interested in this :)

Thank you and looking forward to the official HACS release
Alex

Login domain request

info

Many thanks for this ecotrend_ista integration. Unfortunately i am unable to use it
Ista is available in different countries.

Error

When I use my credentials of mijn.ista.nl, (the dutch website) The Home assistant throws a login error and refers me to https://ecotrend.ista.de/error , assuming the script tries to login on the https://ecotrend.ista.de server.

Question

Is it an option to change the code so the script tries to login on https://mijn.ista.nl
I am happy to troubleshoot is it doesn't work

OR Request

Can you please add the option to enter a domain to login on another (dutch) ista web server.

Login seems to not work anymore

My HA instance is not anymore updating the entities. I deleted the integration and restarted from scratched. As it seems, something has changed on the login side of things. Error on ISTA side? I am using the latest version 2.1.2 of the integration.
Not sure if this is connected to the latest update of pyecotrend - but my HA system complained about not getting an update since 3 weeks... Might also be easily on ISTA side...

Logger: aiohttp.server
Source: custom_components/ecotrend_ista/config_flow.py:57
Integration: ista EcoTrend ([documentation](https://github.com/Ludy87/ecotrend-ista/tree/main), [issues](https://github.com/Ludy87/ecotrend-ista/issues))
First occurred: 10:55:07 (1 occurrences)
Last logged: 10:55:07

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 181, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 297, in async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 393, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/config_flow.py", line 99, in async_step_german
    info = await validate_input(self.hass, user_input)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/config_flow.py", line 57, in validate_input
    login_info = await account.login()
                 ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 212, in login
    self._accessToken = await self.__login()
                        ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 96, in __login
    raise Error(await response.json())
                ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 1104, in json
    raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/plain', url=URL('https://api.prod.eed.ista.com/login')

correction of value seperator

Hello,

thank you for this integration, where I got my login data from Ista today!
To use the data for consumption correctly, the values (kWh) must be with the correct separator. Point instead of comma.
I think that the lines would have to be extended with a string replace:

self._attr_native_value = consum["valuekwh"] to self._attr_native_value = consum["valuekwh"].replace(',', '.')

ValueError: could not convert string to float: 'None'

Hey,

thanks a lot for taking a stab at this. I've tried adding my account, but the data for "heating" cannot be fetched. I'm getting the following backtrace (using ecotrend_ista 1.0.5):

2022-05-08 11:42:07 ERROR (MainThread) [homeassistant.components.sensor] Error adding entities for domain sensor with platform ecotrend_ista
Traceback (most recent call last):                                                 
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities                                
    await asyncio.gather(*tasks)                                                                                                                                      
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 619, in _async_add_entity                   
    await entity.add_to_platform_finish()                                                                                                                             
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 810, in add_to_platform_finish                                       
    self.async_write_ha_state()                                                                                                                                       
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state                                       
    self._async_write_ha_state()                                                                                                                                      
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 574, in _async_write_ha_state                                                    
    attr.update(self.extra_state_attributes or {})                                                                                                                    
  File "/config/custom_components/ecotrend_ista/entity.py", line 68, in extra_state_attributes                                                                       
    "valuekwh": float(str(self._consum.get("valuekwh")).replace(",", ".")),                                                                                           
ValueError: could not convert string to float: 'None'                                                                                                                 

no json returned

Hi, i get the error:

File "/usr/local/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 1103, in json
    raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('https://api.prod.eed.ista.com/consumptions?consumptionUnitUuid=XXXX')

(i replaced my UID with XXXX)

Is this an bug, or did they changed their API? The URL did not return json...
Thank you :)

It would be nice to have more ecotrend-values as entities

It would be nice to have the other values as entities:

                    "averageConsumption": {
                        "averageConsumptionValue": "58,8",
                        "residentConsumptionValue": "37,0",
                        "averageConsumptionPercentage": 100,
                        "residentConsumptionPercentage": 63,

and

                    "comparedConsumption": {
                        "lastYearValue": 34.0,
                        "period": {
                            "month": 7,
                            "year": 2022
                        },
                        "smiley": "MAD",
                        "comparedPercentage": 9,
                        "comparedValue": "3,0"
                    },

and

                    "comparedCost": {
                        "lastYearValue": 10.3,
                        "period": {
                            "month": 7,
                            "year": 2022
                        },
                        "smiley": "MAD",
                        "comparedPercentage": 5,
                        "comparedValue": "1"
                    }

Originally posted by @arittner in #97 (comment)

Where do I find the sensors after setup?

Hi,

I have a quite fresh docker installation of HA and installed ecotrend-ista successfully via HACS following your instructions.

The integration is also visible under localhost:8123/hacs/integrations. I added username and password for ecotrend.ista.de in the configuration.yaml like instructed and restarted HA.

But I can't find any sensors correspondig to the integration in my entities list? I expected that after restart there should appear some like 'sensor.heating_XXXXXXXXX', 'sensor.ecotrend_ista' or similar 🤔

If I add a part of your template and change the Xs against my meter's device no. the sensor is getting no value.

[...]
script: !include scripts.yaml
scene: !include scenes.yaml

ecotrend_ista:
  email: "[email protected]"
  password: "supersecretpassword"
  
template:
  - sensor:
    - name: ECO Heizung Einheiten
      unit_of_measurement: "Einheiten"
      state: "{{ state_attr('sensor.heating_108[xxxx]63', 'value') }}"
      state_class: total

[...]

So I neither find a heating_nowentity nor there's a device I could call or anything alike connected to ecotrend-ista.
The log with debug on shows:

2023-01-10 13:51:28.235 INFO (MainThread) [homeassistant.setup] Setup of domain ecotrend_ista took 2.6 seconds
2023-01-10 13:51:28.236 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=ecotrend_ista>
2023-01-10 13:51:28.236 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [140283495742192] Sending [{"id":3,"type":"event","event":{"event_type":"component_loaded","data":{"component":"ecotrend_ista"},"origin":"LOCAL","time_fired":"2023-01-10T12:51:28.236102+00:00","context":{"id":"01GPDVRMBCX0E6E11V4SA2S8HP","parent_id":null,"user_id":null}}},{"id":12,"type":"event","event":{"event_type":"component_loaded","data":{"component":"ecotrend_ista"},"origin":"LOCAL","time_fired":"2023-01-10T12:51:28.236102+00:00","context":{"id":"01GPDVRMBCX0E6E11V4SA2S8HP","parent_id":null,"user_id":null}}}]
2023-01-10 13:51:28.239 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.ecotrend_ista
2023-01-10 13:51:28.240 DEBUG (MainThread) [custom_components.ecotrend_ista.sensor] PyEcotrendIsta version: 1.0.37
2023-01-10 13:51:28.740 DEBUG (MainThread) [homeassistant.helpers.translation] Cache miss for de: ecotrend_ista, media_player.samsungtv
2023-01-10 13:51:28.743 DEBUG (SyncWorker_1) [homeassistant.util.json] JSON file not found: /config/custom_components/ecotrend_ista/translations/de.json
2023-01-10 13:51:28.743 DEBUG (SyncWorker_3) [homeassistant.util.json] JSON file not found: /config/custom_components/ecotrend_ista/translations/en.json

No error messages.

Maybe I misconcept how this should work? Can you give me a hint what I'm getting wrong?

Thank you in advance!

New upstream error while fetching data

ecotrend-ista version: 2.0.4
Home Assistant version: 2023.6.3

Error log:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 82, in _async_update_data
    await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 500, in consum_raw
    if costsByEnergyType["comparedCost"]["smiley"] in ["MAD", "EQUAL"]:
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

The Ista website currently does not display the heating costs:

Heizung: Aktuell keine Werte vorhanden

Unexpected error when trying to log in

I was very excited to find this integration and get my heating consumption values into HA.
Unfortunately whenever I try setup the integration and setup the login I get an Unexpected error.
There is no further information on what went wrong.
The logger is configured like this:

logger:
  default: warning
  logs:
    custom_components.ecotrend_ista: debug

But I can't find any logs from the integration.
I restarted HA multiple times and tried to log in multiple times also waiting a couple hours in between to not trigger any rate limiting on ista's side.
I have 2FA enabled in my ista account.
Anyone who can help me with this?

🚑 Cyber attack on ista 🚧

Discussed in #13

Originally posted by Ludy87 August 4, 2022
Please note: https://www.ista.com/corporate/
Bitte beachten: https://www.ista.com/de/

Dear ista customers,
currently, ista’s IT-System have been the victim of an external cyber-attack. As an immediate measure and to help prevent damage to our IT infrastructure, all potentially affected IT systems of the company have been taken offline. As a result, you will temporarily be limited or unable to use certain functions and services. We are very sorry for the inconvenience that this may cause you and ask for your continued patience as we try to resolve the issue.

We have informed the State Data Protection Authority and filed a report with the police. A specialist team of internal and external experts is currently conducting a thorough investigation of the incident and is working at full speed to remedy the disruption as quickly as possible. However, this may take some time.

We therefore continue to ask for your patience and hope for your understanding. Please be assured that we are taking the incident once again as an opportunity to review our extensive existing security measures in order to prevent similar attacks in the future.

Currently, we do not yet know what data the attackers obtained or what data has been accessed. All current information on the current status of the investigation and answers to the most important questions can be found here on our website, which we are continuously updating, as soon as new information arises.

You can also contact us via our social media channels. Please understand that given the circumstances, we may not be able to respond to your enquiries as quickly as you would expect.

We hope to resume our usual services as soon as possible.

Fehler nach gerade veröffentlichtem Update noch vorhanden

Leider sieht es bei mir nach dem Update gerade genau so aus wie heute Nachmittag!

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.ecotrend_ista.coordinator
Source: custom_components/ecotrend_ista/coordinator.py:82
Integration: ista EcoTrend (documentation, issues)
First occurred: 18:56:24 (10 occurrences)
Last logged: 19:00:37

Unexpected error fetching ecotrend_ista-440848e20b53275205212b1416725d42 data: 'NoneType' object is not iterable
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ecotrend_ista/coordinator.py", line 82, in _async_update_data
await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
return await func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 329, in consum_raw
for i, costs in enumerate(c_raw.get("costs", [])):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable

Vielleicht könnt ihr ja noch mal gucken ob ihr noch was findet

Consumption is booked in the wrong month

Thank you for providing this integration! I just started my HA journey.

The integration pulls new values when they become available, which is of course AFTER the month the occur in (so the heat for feb was made available by ista on the second of march). The data is now in my database with the timestamp of 02.03.2024, so when I make a display, it shows the value for march instead of february.

I would expect to have each month consumption to have the timestamp of the last day of the month. Is there a way to shift the value to the correct month?

Integration shows only a single value from last month

I had tested an old integration a long time ago, but it never really worked. I had tested the Python library manually once and the access worked, but in Home Assistant never any sensor was displayed.

Now I saw the latest update and the integration could be set up without further problems, sensors are displayed and I thought I finally had my long-awaited Home Assistant integration.

But alas, only one entity shows a value (last month as an estimated amount to pay) but no kWh values. Debugging is enabled and shows only that:

2023-08-07 08:46:31.652 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Manually updated ecotrend_ista-1f2bc45c4ad8daaf4f2005a9819d1ba7 data
2023-08-07 08:46:31.660 DEBUG (MainThread) [custom_components.ecotrend_ista.coordinator] Finished fetching ecotrend_ista-1f2bc45c4ad8daaf4f2005a9819d1ba7 data in 3.453 seconds (success: True)

On my dashboard, I see only a single sensor entity with data:

grafik

I update my ecotrend data hourly (I know, ista provides the data only once a month) to get an update. But since days I see only this data from above.

Here more detail information:

grafik

🧚🤖 Pixeebot Activity Dashboard

DashList

👋 This dashboard summarizes my activity on the repository, including available improvement opportunities.

Recommendations

Last analysis: May 07 | Next scheduled analysis: May 14

Open

✅ Nice work, you're all caught up!

Available

✅ Nothing yet, but I'm continuing to monitor your PRs.

Metrics

What would you like to see here? Let us know!

Resources

📚 Quick links
Pixee Docs | Codemodder by Pixee

🧰 Tools I work with
Sonar, CodeQL, Semgrep

🚀 Pixee CLI
The power of my codemods in your local development environment. Learn more

💬 Reach out
Feedback | Support


❤️ Follow, share, and engage with Pixee: GitHub | LinkedIn | Slack

Still upstream error while fetching data

Thank you for taking the time to look into #74

The new commit (ecotrend-ista version: 2.0.6) introduced another error:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ecotrend_ista/coordinator.py", line 82, in _async_update_data
    _consum_raw: dict[str, Any] = await self.controller.consum_raw(select_year=[datetime.datetime.now().year])
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 49, in wrapper
    return await func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 484, in consum_raw
    or "smiley" not in costsByEnergyType["comparedCost"]
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

Do you need any additional info to fix this?

Error while parsing sensor values

"valuekwh": float(str(self._consum.get("valuekwh", "-1")).replace(",", ".")),
ValueError: could not convert string to float: 'None'

Cannot add integration with 2FA

The manual is not really clear for the last step. I did everything and know have to type in my credentials and login URL and 2FA. But what should I paste in 2FA? No matter what I try, it doesn't work.

It always returns: Unerwarteter Fehler. Unexpected error in English.

Python 3.10 in HA 2022.7

Hello,

probably a known issue but with the change to Python 3.10 the integration no longer works.

File "/usr/local/lib/python3.10/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 55, in __login
pyecotrend_ista.exception_classes.ServerError: Server error, go to: https://ecotrend.ista.de/error
File "/usr/local/lib/python3.10/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 119, in login
File "/usr/local/lib/python3.10/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 63, in __login
pyecotrend_ista.exception_classes.LoginError: Login fail, check your input! Server error, go to: https://ecotrend.ista.de/error
File "/config/custom_components/ecotrend_ista/__init__.py", line 74, in async_setup
File "/config/custom_components/ecotrend_ista/__init__.py", line 92, in _setup_controller
File "/usr/local/lib/python3.10/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 121, in login

Error reading from sensor.heating when there is no value

Hi,

first I would like to thank you for the integration!

Since i just moved into my new flat I dont have a value for heating yet. Its summer..
I get following error message.

Is this fixable? I guess the sensor does not give a number 0 but a text like not available?

Die Entität ist nicht-numerisch: sensor.heating_b2yxxxxx

Thanks in advance and greetings from Würzburg

Can't establish connection to ecotrend ista

Hello,

unfortunately I can not connect to ista via config flow. Attached the logs

Logger: aiohttp.server
Source: custom_components/ecotrend_ista/config_flow.py:57
Integration: ecotrend_ista (documentation, issues)
First occurred: 09:26:51 (8 occurrences)
Last logged: 09:37:36

Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 980, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1112, in create_connection
transport, protocol = await self._create_connection_transport(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1145, in _create_connection_transport
await waiter
File "/usr/local/lib/python3.11/asyncio/sslproto.py", line 575, in _on_handshake_complete
raise handshake_exc
File "/usr/local/lib/python3.11/asyncio/sslproto.py", line 557, in _do_handshake
self._sslobj.do_handshake()
File "/usr/local/lib/python3.11/ssl.py", line 979, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)

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

Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 181, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 271, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ecotrend_ista/config_flow.py", line 99, in async_step_german
info = await validate_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ecotrend_ista/config_flow.py", line 57, in validate_input
login_info = await account.login()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 196, in login
self._accessToken = await self.__login()
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyecotrend_ista/pyecotrend_ista.py", line 76, in __login
async with session.post(LOGIN_URL, headers=header, data=json.dumps(payload)) as response:
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1141, in aenter
self._resp = await self._coro
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 536, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 540, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 901, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1206, in _create_direct_connection
raise last_exc
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/connector.py", line 982, in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host api.prod.eed.ista.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')]

Unsupported unit for device_class energy

Just noticed the following warning:

2022-05-15 09:35:10 WARNING (Recorder) [homeassistant.components.sensor.recorder] sensor.warmwater_XXXXXXX has unit m³ which is unsupported for device_class energy

Is this something that needs to be fixed?

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.