Buenas,
Eso es un problema con el acceso. Básicamente, un error 403 es un problema de permiso. Confirma que los datos de acceso en configuration.yaml
están correctos.
Buenas,
Eso es un problema con el acceso. Básicamente, un error 403 es un problema de permiso. Confirma que los datos de acceso en configuration.yaml
están correctos.
¿Sería así?
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * (1 - states('input_number.bono_social') | float) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
Sí, creo que está correcto
Por lo que veo has puesto los importes en el campo “Tamaño del paso”. Eso lo deberías dejar como en el ejemplo que pongo arriba.
Los importes los tienes que poner después (lo mejor en el Developer Tools): pulsar en el texto del nombre del sensor y poner el importe en states:
Y hacerlo para cada uno…
Para el gas. De momento, que yo sepa, apenas hay contadores inteligentes montados en España (recuerdo que para consumo doméstico, hubo una consulta pública de la CNMC sobre el tema en julio-septiembre 2021, y creo que se espera que a partir de 2024 empiecen a instalar)
Buenas,
Pues de esto no me había dado cuenta, como sólo tengo un contrato, no sabía que cambiaba según la consulta en la web.
A ver si en futuras versiones se puede implementar la consulta por número de contrato.
Gracias por la nota
Hola;
Lo tengo en el sensor.yaml, lo he revisado varias veces y los datos están bien, son los que utilizo para acceder a la pagina web y aplicación móvil.
lo tengo así:
Un duda adicional, la cuenta que tengo en la web de Iberdrola Distribución es con un Perfil Normal, de ver el consumo y nada mas, para usar la integración debería de tener el Perfil Avanzado???
Si, tiene que ser un perfil avanzado enviando una foto del dni
Lo he hecho por archivo input_number.yaml poniéndolo en initial y parece que funciona. Igual lo cambio a state. Gracias
Gracias, ya lo he solicitado.
He intentado ponerlo en el archivo input_number.yaml pero no me deja "state: ". Poniéndolo en initial me marca los valores en herramientas para desarrolladores pero en los cálculos me sigue marcando 0 en “home energy cost” y no sé porque alguna vez me marcaba el gasto por hora pero casi siempre no y por lo tanto no me calcula el coste, pero vamos, con eso me apaño.
Ok. Gracias por la info.
Lo que me imaginaba, que para mi caso, con los contadores en el sótano del edificio no me vale.
Pero seguramente será muy buena idea para quién esté en un chalet.
Saludos
Hola a todos,
A ver si me podeis echar una mano… soy bastante nuevo en esto de Home Assistant y he intentado seguir las instrucciones de GitHub para aplicar esta integración pero no tengo narices… algo estaré haciendo mal seguro… pero no termino de entender el qué.
Os pongo los datos de mi sistema y si se necesita algún log por mi lado no dudeis en pedirmelo.
Home Assistant:
Corriendo en una MV dentro de mi NAS QNAP.
Version de HA: Home Assistant 2021.12.10
Version de I-DE Energy Monitor: v0.1.1
Siguiendo las instrucciones en GitHub tengo el siguiente fichero: /config/configuration.yaml
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
sensor:
- platform: ide
username: [email protected]
password: password
# UTILITY METER #
utility_meter:
# HOME ENERGY #
home_energy_hourly:
source: sensor.ide_meter_reading
cycle: hourly
home_energy_daily:
source: sensor.ide_meter_reading
cycle: daily
home_energy_monthly:
source: sensor.ide_meter_reading
cycle: monthly
home_energy_cost_hourly:
source: sensor.home_energy_cost
cycle: hourly
home_energy_cost_daily:
source: sensor.home_energy_cost
cycle: daily
home_energy_cost_monthly:
source: sensor.home_energy_cost
cycle: monthly
# ENERGY COST #
sensors:
home_energy_cost:
friendly_name: "Home Energy Cost"
unit_of_measurement: "€"
value_template: >
{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %}
{% endif %}
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
#
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
Con esta configuración me sale el siguiente error:
Invalid config for [utility_meter]: [home_energy_cost] is an invalid option for [utility_meter]. Check: utility_meter->utility_meter->sensors->home_energy_cost. (See /config/configuration.yaml, line 14).
He estado leyendo algunos posts de este hilo pero no he visto nada relevante que me diera luz para continuar…
Quedo a la espera de vustros comentarios y gracias por adelantado.
Saludos
Hola,
El sensor home_energy_cost
viene de un template, que tiene que ir dentro de sensor
directamente.
En teoría te debería funcionar con las correcciones que te paso abajo.
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
sensor:
- platform: ide
username: [email protected]
password: password
# ENERGY COST #
- platform: template
sensors:
home_energy_cost:
friendly_name: "Home Energy Cost"
unit_of_measurement: "€"
value_template: >
{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %}
{% endif %}
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
#
# UTILITY METER #
utility_meter:
# HOME ENERGY #
home_energy_hourly:
source: sensor.ide_meter_reading
cycle: hourly
home_energy_daily:
source: sensor.ide_meter_reading
cycle: daily
home_energy_monthly:
source: sensor.ide_meter_reading
cycle: monthly
home_energy_cost_hourly:
source: sensor.home_energy_cost
cycle: hourly
home_energy_cost_daily:
source: sensor.home_energy_cost
cycle: daily
home_energy_cost_monthly:
source: sensor.home_energy_cost
cycle: monthly
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
Mi recomendación, de todas formas, es que la parte de sensor lo pases a un archivo sensor.yaml
por separado y en configuration.yaml
pongas esto:
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensor.yaml
(removiendo el sensor
que tienes antes)
Y el contenido de sensor.yaml
sería esto:
- platform: ide
username: [email protected]
password: password
# ENERGY COST #
- platform: template
sensors:
home_energy_cost:
friendly_name: "Home Energy Cost"
unit_of_measurement: "€"
value_template: >
{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %}
{% endif %}
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
#
Espero que te sirva de ayuda
Buenas a todos,
Por si os interesa, con la aportación inestimable de hectorespert, he sacado una versión beta de la integración en que el código de oligo se importa automáticamente a HA y no va integrado en el código.
Si lo queréis probar, en HACS, lo podéis instalar seleccionando la opción de “Redownload” y “Show beta versions”.
Si preferís descargar directamente, tenéis todo aquí: Release v0.2.0-alpha · ad-ha/ide_api · GitHub
Por otra parte, en base a algunos comentários e ideas que he tenido, podéis crear en Issues (Issues · ad-ha/ide_api · GitHub) las mejorías que os gustaría ver en la integración.
Saludos
Muchas gracias por la ayuda @VaReTaS Aprovecho para darte la enhorabuena por el trabajo.
He seguido tu consejo de dejar los sensores en el fichero sensor.yaml y he dejado los ficheros de esta forma:
configuration.yaml
# Configure a default setup of Home Assistant (frontend, api, etc)
#default_config:
# Text to speech
tts:
- platform: google_translate
# UTILITY METER #
utility_meter:
# HOME ENERGY #
home_energy_hourly:
source: sensor.ide_meter_reading
cycle: hourly
home_energy_daily:
source: sensor.ide_meter_reading
cycle: daily
home_energy_monthly:
source: sensor.ide_meter_reading
cycle: monthly
home_energy_cost_hourly:
source: sensor.home_energy_cost
cycle: hourly
home_energy_cost_daily:
source: sensor.home_energy_cost
cycle: daily
home_energy_cost_monthly:
source: sensor.home_energy_cost
cycle: monthly
#
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensor.yaml
sensor.yaml
#
sensor:
- platform: ide
username: [email protected]
password: password
# ENERGY COST #
- platform: template
sensors:
home_energy_cost:
friendly_name: "Home Energy Cost"
unit_of_measurement: "€"
value_template: >
{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %}
{% endif %}
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
#
Con esta configuración, cuando le doy a Validar la configuración, sólo me da este error que tampoco entiendo muy bien:
Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 38).
No lo entiendo bien porque la línea 38 del configuration.yaml es la que hace referencia al fichero scenes.yaml que por cierto está vacio… No sé.
Te falla porque en sensor.yaml
tienes que poner solamente esto:
#
- platform: ide
username: [email protected]
password: password
# ENERGY COST #
- platform: template
sensors:
home_energy_cost:
friendly_name: "Home Energy Cost"
unit_of_measurement: "€"
value_template: >
{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %}
{% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %}
{% endif %}
{{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}
#
El scenes.yaml estará vacío porque no tienes nada, pero eso no afecta para nada.
Jope que fallo, es verdad, mira que esta puesto en el GitHub y todo. Tanto copy paste…
Muchisimas gracias por todo.
@VaReTaS perdona, me había puesto a leer la parte de la configuración de los precios y demás… pero lo he dejado porque me he percatado que la entidad home_energy_hourly siempre me mide 0 y no tengo claro por qué puede ser. He esado echando un vistazo al log y me salían varios errores relacionados con esa entidad:
2022-02-04 16:58:50 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration ide 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
2022-02-04 16:58:50 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs 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
2022-02-04 16:59:06 WARNING (MainThread) [homeassistant.setup] Setup of hassio is taking over 10 seconds.
2022-02-04 16:59:21 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform ide is taking over 10 seconds.
2022-02-04 16:59:24 WARNING (MainThread) [homeassistant.helpers.entity] Entity sensor.ide_meter_reading (<class 'custom_components.ide.sensor.IDESensor'>) implements device_state_attributes. Please report it to the custom component author.
2022-02-04 16:59:32 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'float' got invalid input 'unknown' when rendering template '{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1
2022-02-04 16:59:32 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template("{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}")
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 407, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1814, in _render_with_context
return template.render(**kwargs)
File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 1291, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 925, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
jinja2.exceptions.UndefinedError: 'peaje' is undefined
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 523, in async_render_to_info
render_info._result = self.async_render(variables, strict=strict, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 409, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: 'peaje' is undefined
2022-02-04 16:59:32 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'float' got invalid input 'unknown' when rendering template '{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1
2022-02-04 16:59:32 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: 'peaje' is undefined') while processing template 'Template("{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}")' for attribute '_attr_native_value' in entity 'sensor.home_energy_cost'
2022-02-04 17:00:00 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'float' got invalid input 'unknown' when rendering template '{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1
2022-02-04 17:00:10 WARNING (Recorder) [homeassistant.components.sensor.recorder] The normalized unit of sensor.home_energy_hourly (kWh) does not match the unit of already compiled statistics (None). Generation of long term statistics will be suppressed unless the unit changes back to None. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
2022-02-04 17:01:00 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'float' got invalid input 'unknown' when rendering template '{% if is_state_attr('sensor.pvpc', 'period', 'P1') %} {% set peaje=states('input_number.peaje_energia_p1') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P2') %} {% set peaje=states('input_number.peaje_energia_p2') | float %} {% elif is_state_attr('sensor.pvpc', 'period', 'P3') %} {% set peaje=states('input_number.peaje_energia_p3') | float %} {% endif %} {{ (( states('sensor.home_energy_hourly') | float * (peaje + states('sensor.pvpc') | float) ) * states('input_number.impuesto_energia') | float * states('input_number.iva_energia') | float) | round(3) }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1
En el apartado de energía ya veo las mediciones:
Y comparandolo con lo que muestra el medidor de I-DE lo veo bien… creo:
¿Por qué pueden ser esos errores que me salen en log? Saludos y gracias.
Hola @nickiman
Tienes la integración PVPC configurada? (Spain electricity hourly pricing (PVPC) - Home Assistant)
El cálculo de costes se hace con esa integración. Si no la tienes, no puede calcular (al no tener el sensor.pvpc
) y no devuelve resultados.