jagalindo / edistribucion

API para e-distribución (Endesa distribución)
GNU General Public License v3.0
37 stars 11 forks source link

edistribucion

Este es un proyecto apra poder consumir la API de e-distribución (Endesa distribución) y exponerla como un sensor dentro de Home Assistant. Actualmente está usando como backend el crawler de trocotronic. Por defecto está configurado para hacer update de nuestro contrador de edistribución cada 10 minutos. Esto es configurable en el configuration.yml no obstante no es recomendable dado que puede dar lugar a baneos por parte de la distribuidora.

Como instalarlo:

Simplemente copia el contenido de este repositorio en la carpeta custom components y añade al configuration.yml el siguiente contenido:


sensor:
  - platform: edistribucion
    username: "username sin comillas"
    password: "password sin comillas"
    #scan_interval: 60 #This is in seconds. Mejor no usar para evitar baneos
    #cups: XXXXX #Establecer cuando se tienen varios CUPS para selecionar de cual de ellos obtener los datos

Es importante no poner un tiempo muy bajo para que no nos encontremos con cortes en las mediciones. Esto será así hasta que edistribución presente una api.

image

¿Se pueden crear sensores con los atributos?

Sí, se pueden crear de esta forma:

platform: template
sensors:
porcentaje_consumo_maximo:
friendly_name: "Porcentaje Consumo Máximo"
entity_id: sensor.eds_power_consumption
unit_of_measurement: '%'
value_template: "{{ state_attr('sensor.eds_power_consumption','Porcentaje actual')|replace(',','.')|replace('%','')|float }}"

Thanks to bepece1

¿Se pueden crear sensores para el panel de energía con los atributos?

Sí, se pueden crear de esta forma:

template:
  - sensor:
      - name: "eds_meter_reading"
        unit_of_measurement: "kWh"
        state_class: total_increasing
        device_class: "energy"
        state: >
          {% if state_attr('sensor.eds_power_consumption','Totalizador') is not none %}
          {{ state_attr('sensor.eds_power_consumption','Totalizador')|replace('.','')|replace(' kWh','')|float }}
          {% else %}
          unknown
          {% endif %}
        attributes:
          last_reset: '1970-01-01T00:00:00+00:00'

TODO

Agradecimientos

Agradecer a @trocotronic el trabajo de implementar el crwler para extraer los datos desde eds y a Miguel Macias por echar una mano animando a subir el código actualizado.