-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2024.07.X: hilo de discusión #247
Comments
Lo acabo de instalar, de momento tengo cosas para arreglar en las tarjetas. Las nuevas tarjeta de "edata" la de consumo mes anterior, el consumo sale con decimales infinitos. |
Corregido, y estará solucionado en la próxima release. Voy a esperar un par de días a que salgan más cositas. ¡Gracias! |
Buenas @uvejota, Estoy intentando añadir edata en un nuevo Home Assistant, no consigo acceder y cargar los datos, esta misma cuenta la tengo en otros dos dispositivos y están cargados y funcionando correctamente en otras instancias de Home Assistant, puede ser algún error de la API que este no funcionando correctamente o es algún otro tipo de error? ACTUALIZADO: Después de varios días, con intentos a todas horas, hace unos minutos he podido conseguir añadirlo! |
Ante todo gracias por el gran trabajo!! En las nuevas tarjetas, si refresco el panel (F5), sale el siguiente error en el registro, 1 vez por cada tarjeta que tengo creada, en este caso son tarjetas de consumos y costo, unas de días, otras de meses y otras de años: 2024-08-13 18:38:10.239 WARNING (MainThread) [custom_components.edata.utils] Not a valid aggr method 'year' Edito: He hecho alguna prueba más, solo sale en las tarjetas que selecciono 'year', 3 errores por cada tarjeta de ese tipo. Edito2: Creo que el problema es en la línea 131 de utils.py, en estas líneas, falta agregar 'year'
|
Gracias y enhorabuena por tu trabajo y gracias también por la traducción al gallego. _(Muchas horas paso traduciendo HA) Añadir las fechas esta genial, Solo hecho de menos las medias diarias (last_month_daily_kWh) que antes usaba en mis tarjetas. Se agradecería su inclusión si es posible. La tarjeta (gráfico) Maxímetro tiene el mínimo en 0, El gráfico queda un poco vacío. Muchas Gracias!! |
Buenos dias, |
Muchas gracias, eres un crack, yo por ahora bien, lo unico aun no me muestra nada de lo vertido a la red, el resto si que lo ha leido bien. En datadis lo veo correctamente. Te dejo un par de capturas, la primera para que veas lo que carga la integracion, y la otra con un ejemplo del datadis del 6 de agosto que deberia haber leido |
Para añadir las tarjetas nativas: Te vas a dashboard le das a crear una tarjeta nueva y en custom buscas edata |
Gracias, es lo que hacia pero no me parecida. Un saludo |
Os voy a responder a todos de una.
He cambiado el proceso de instalación de la integración para que lea los cups disponibles desde Datadis. No he podido probar demasiado (sólo 2 viviendas), así que el fallo puede estar de mi mano, o de la API. ¿Puedes probar en otro momento a ver si te detecta correctamente tu suministro? En caso de que tengas un NIF autorizado, asegúrate de que está correctamente, ya que también daría ese error que te indica.
Afirmativo, puedes ignorar el warning de momento. El código intenta cargar los datos desde la memoria, si los tiene ahí (p.ej. el último año), y en caso contrario pregunta a la BD de estadísticas. Los datos anuales tienen que sacarse sí o sí de esta última, ya que en memoria nunca vamos a guardar más de un año. Lo corrijo en la próxima release. Voy a prepararme una issue para su seguimiento.
Debería aparecer como un atributo (con el mismo nombre de antes) en el sensor del consumo del último mes (o del mes en curso). Cada sensor tiene varios atributos (los splits en p1, p2, p3; el número de días...).
Afirmativo, queda vacío ;) Tengo pensado, además de ajustar los límites, añadir líneas para la potencia contratada en p1/p2.
Lo vertido se irá añadiendo desde el día que lo actualizaste como medida de seguridad para no destrozar Datadis. Si quieres recuperar los vertidos del último año, deberás borrar/renombrar el directorio de almacenamiento de edata (/config/.storage/edata) y reiniciar tu instalación, con lo que eso conlleva (esperar, y perder los datos recientes hasta pasadas 24h...). En cualquier caso, la imagen que me adjuntas de HA tiene filtrado un día diferente al 6/8, y no corresponde a la BD en la que se almacenan los datos, ya que edata utiliza la de estadísticas (Long Term Statistics), para poder inyectar datos a pasado. |
Están, pero han cambiado de sitio. Ahora están repartidos en distintos sensores (puedes verlo buscando el dispositivo edata que se te ha creado): Y cada sensor tiene algunos atributos relacionados: |
Es verdad, perfecto! Muchísimas gracias y enhorabuena por este trabajazo que te metes |
Hola! En primer lugar muchísimas gracias por tu trabajo. Hace años que uso tu desarrollo y siempre me ha ido fenomenal para llevar un poco el control. Por otra parte he buscado bastante por si ya estaba preguntado pero no lo he encontrado... Tienes pensado integrar de alguna forma la corrección por bono social? Gracias! |
Muchas gracias! Gracias a tu integración me he animado a aprender como funcionan las tarjetas para crear gráficos (no me animaba con el apex charts y prefería quedarme en lo nativo). Por ejemplo (por si alguien lo quiere) este es el yaml para hacer un diagrama de barras de cada mes de los últimos 365 días donde la longitud de la barra muestra el consumo de ese mes. Queda así:
(Por si hay otros aprendiendo como yo, para usar ésto lo más fácil es editar un panel del frontend, dar a "añadir tarjeta", elegir una tarjeta, la que sea, y pulsar en "mostrar editor de código", entonces borrar el código que aparece, pegar este y volver al editor visual) |
Hola. Lo primero felicitarte por la integración. Es una maravilla. He actualizado y al ir a añadir un nuevo CUPS de un usuario distinto me lo añade sin problema pero luego no actualiza. Al mirar los errores me sale mi CUP 048BK y dos adicionales que no son mios Registrador: edata.helpers
Si necesitas algo mas me dices como sacarlo y te lo mando. |
Sí, espero que pronto :)
Hola, esto me interesa depurarlo. ¿A qué te refieres con que son "dos adicionales que no son tuyos"? Es posible que pasadas 24h empiece a funcionar adecuadamente, pero esto me ha hecho descubrir un pequeño bug que puede afectar a los que tienen más de un usuario/cups configurado. Intentaré corregirlo pronto. |
Ayer, me salieron errores en el registro, entiendo que es porque datadis daba error:
|
|
Hola, Primero que nada agradecer el trabajo realizado. Leyendo las cosas que no puedes controlar, yo soy uno de esos usuarios que no es capaz de ver los datos de ayer. Lo que no podemos controlar Muchos me escribís preguntando por los datos de ayer. Veréis, no es tan sencillo. La API de Datadis sólo te permite hacer una misma petición cada 24 horas, de modo que si a vuestra integración le toca a las 17h (por ejemplo), y tu distribuidora sube tus datos de ayer a las 19h, nunca dispondrás de los datos de ayer. Esto puede mitigarse con un pequeño algoritmo que vaya retrasando la petición una hora cada día hasta encontrar la franja en la que encuentres los datos, de modo que al final "sincronices" la hora de tu descarga con una hora próxima a la de la adición de los datos, o indicando una ventana para la actualización (y que cada uno investigue cuál le viene bien a su CUPS). Comentas arriba que se puede solucionar con un algoritmo para elegir la hora de la petición de datos. Eso es algo que vas a implementar en futuras versiones o es algo que podemos crear/integrar nosotros mismos? Gracias de antemano. |
Afirmativo
Mi intención es implementarlo yo, pero voy a intentar sacar un rato para resolver los bugs primero, antes de añadir más funcionalidades. |
Buenas. Muchas gracias por la implementación. |
¿Alguien sabe cómo combinar la integración https://www.home-assistant.io/integrations/pvpc_hourly_pricing con esta para sacar el precio? |
Pero si la propia integración lo tiene: |
Gracias. Confundía PVPC con Tarifa 2.0TD, con otras opciones si hay más o menos tramos. Si he entendido bien, desde 2021 solo existe una tarifa regulada y esa es la "PVPC 2.0TD" que ya está implementada en edata bajo la opción PVPC, y con esa opción edata ya sabe sacar los precios regulados dinámicamente, así que no necesito ninguna otra integración. Disculpad mi confusión. |
Solo soy un usuario pero aporto lo que puedo a tu comentario:
Solo por aportar contexto: Los tipos impositivos están regulados por https://www.boe.es/eli/es/rdl/2023/12/27/8
La ley hace variar el impuesto en función del mes y del precio medio. Y además es vigente en 2024, porque seguramente hagan modificaciones en función de como evolucione el mercado energético.
Estaría bien saber cómo se aplican, teniendo en cuenta que los impuestos varían tanto y ponemos una constante en la configuración. Implementar un ajuste automático estaría genial, pero como depende de las leyes aprobadas y se aprueban en el ultimo minuto no tengo claro que se pueda implementar con facilidad. A ver cómo lo ve @uvejota...
Un impuesto del x% es "1+x/100".
|
A ver, por partes.
En cualquier caso, puede haber fallos sin detectar aún en la parte de tarificación... y seguramente cambiará su formato cuando encuentre un procedimiento menos tedioso. Un saludo! |
Perfecto y totalmente de acuerdo. Solo decir que el error de esta integración al estimar mi factura eléctrica este último mes es tan pequeño que creo que depende de la hora de corte que aplique mi compañía eléctrica al sacar la factura, así que tanto en el consumo como en el coste lo has clavado, felicidades y muchas gracias!
|
Muchas gracias por el gran trabajo que realizas, desde que actualicé edata a la versión 2024.07.1 y a las posteriores 2024.07.4 y 2024.07.5, no me recoge los datos de uno de mis 2 CUPS, se quedó en fecha 16/08, en el otro sin embargo los recoge correctamente, con la versión 2024.07.5 he intentado, con el control disponible Import all available data pero nada, también he tratado de hacer un reset y entonces el sensor edata_xxxx se me queda en fecha 2024-07-01 01:00:00, con el último consumo a 0,4kWh y ahí se queda, alguna idea?, la versión de HA es 204.08.03. Muchas gracias. |
La última versión de la integración tiene muchos cambios, entre ellos la inclusión de nuevas entidades, por lo que tienes que adaptar las tarjetas; o bien actualizas las nativas o bien actualizas las custom. He creado una entrada con unas cards Custom: #262 |
Para ver qué ocurre necesitaría que activases el log de depuración (en las Opciones del dispositivo afectado), y luego me lo pegaras por aquí anonimizado. ¡Un saludo! |
Hola Desde que he actualizado la versión no consigo ver más de 12 meses en una gráfica. Si utilizo las gráficas de edata-card solo veo desde enero de 2024 Las gráficas dejan de empezar en octubre de 2023 y empiezan en enero de 2024 ¿Qué estoy haciendo mal? Un saludo! |
Has instalado la última versión edata? Si lo has instalado, verás que ahora tienes 1 dispositivo y unas 14 entidades. Si te fijas en las últimas notas del autor, verás que tienes que adaptar las apexcards con las nuevas entidades. Date una vuelta por las discusiones y verás que he puesto un hilo con las apexcards y las nuevas entidades adaptadas. Saludos |
Los 12 últimos meses se sirven directamente desde la memoria, si le pides más se obtiene de las estadísticas de HA. Parece que hay algún fallo en la lectura desde este último. A este otro usuario también le ocurre en el excedente #263. Trataré de replicarlo y solucionarlo. Por descartar... ¿Te aparecen todos los meses en el Panel de Energía de Home Assistant? |
En la panel de energía solo me aparece desde diciembre de 2023, que es justo cuando hice la instalación limpia de este HA. Supongo que si sacas los datos desde esa base de datos, me quedan unos cuantos meses hasta poder conseguir la gráfica que quiero o tendré que investigar como decirle al HA que consiga datos anteriores a su instalación Muchas gracias |
Leyendo el hilo que me has pasado, le he pedido a la integración que se descargue todos los datos desde datadis y ahora en el panel de energía tengo datos desde septiembre de 2023, pero no anteriores aunque en la web de datadis veo datos desde enero de 2022 De hecho, ahora mismo en las tarjetas al pedir más de 12 meses ya aparece desde septiembre de 2023, nunca antes. Vamos mejorando! 😄 Por si ayuda en algo, el panel de energía lo tengo configurado así |
@ahycka ¿Le diste a "Importar todos..." o a "Restablecer"? Con el primero debería completar dos años de datos (está limitado por Datadis). Con el segundo, el último año (y se realizan más tareas). Necesitaría ver los logs de depuración para saber mejor qué ocurre (puedes activarlo en las Opciones del Dispositivo). En especial durante la ejecución de "Importar todos...". |
|
Desde ayer tarde ya recoge correctamente los datos el CUPS que llevaba semanas sin recogerlos |
Acabo de leer lo de los logs, he encendido los logs, le he dado al boton ed importar y he esperado 10min por si necesita mucho tiempo, home-assistant_edata_2024-09-04T08-15-35.706Z.log Viendo los logs, he visto esta línea: que supongo que es el motivo por el que no me aparecen esos consumos, pero en datadis sí están |
Hace 14 meses desde la última release de edata... pero al fin ponemos el contador a cero. Han sido 6 meses de desarrollo que he preferido liberar en una única entrega, por diversos motivos, pero principalmente por mi disponibilidad y la inmensa cantidad de cambios que eran necesarios.
¿Por qué tantos cambios?
Principalmente, por tres motivos:
El constante desarrollo de Home Assistant es abrumador. Esta integración fue una de las primeras que hacían uso de la base de datos de estadísticas (Long Term Statistics), incluso antes de que fuese documentada por el propio equipo de Home Assistant. Esto ha hecho que el código original haya sido marcado como obsoleto en cuestión de meses, y finalmente estos cambios, junto con un incremento en las restricciones de HA sobre la programación síncrona en operaciones de I/O, ha hecho que la versión 2024.8.0 de HA fuese incompatible con la versión anterior de edata.
La configuración de edata era terriblemente complicada, lo sé. Depender de ApexCharts-Card (que por cierto, es una maravilla) era un parche, y no una solución; ya que suponía una barrera significativa para los usuarios con menos conocimientos. Esto ha hecho que el panel de issues se haya desbordado completamente, tanto es así que he perdido el hilo de los "problemas de verdad" durante meses.
La inmadurez del código original de edata. Yo desarrollé esta integración para mi y para un amigo, de modo que la calidad original del código distaba mucho de la actual. Antes quería una manera rápida de ver mis datos, y ahora a eso se suma que sea fácil de configurar (o autoconfigurable), que sea resistente a errores, que sea eficiente, que esté al día de la última versión de HA...
La solución
Evolucionar el código a las nuevas recomendaciones de Home Assistant (adiós al exceso de atributos sobre un único sensor, y hola a los dispositivos con varios sensores), cambiar el back-end de edata para que sea más eficiente, implementar tests en en el back-end para tener más cuidadito con los cambios... y aún sin tener ni puñetera idea de front-end, me he animado a crear mis propias tarjetas inspirado en lo que teníamos antes. Mi intención no es eliminar la compatibilidad con las viejas (aunque requiere cambios en la configuración de las tarjetas), pero sí eliminar el soporte activo, que era un problema por depender de las actualizaciones de la propia ApexCharts-Card.
¿Significa esto que ahora la integración es una roca?
Me temo que no. Habrá errores, seguro, ¿Pero quién usa Home Assistant que no le guste cacharrear?
El futuro
Primero, un descanso acompañado de pequeñas correcciones de lo que vaya surgiendo, aunque no mantendré el ritmo del último mes, ya que la ilusión por mantener la integración se basa en mi diversión por programar, y para no perder esa motivación, tiene que seguir pareciéndome divertido :)
Le seguirán nuevas funcionalidades sencillas:
Después, nuevas funcionalidades más complejas, ya que al tener el control total sobre las tarjetas, y al haber implementado el retorno por generación, las posibilidades que se me ocurren son enormes:
Lo que no podemos controlar
Muchos me escribís preguntando por los datos de ayer. Veréis, no es tan sencillo. La API de Datadis sólo te permite hacer una misma petición cada 24 horas, de modo que si a vuestra integración le toca a las 17h (por ejemplo), y tu distribuidora sube tus datos de ayer a las 19h, nunca dispondrás de los datos de ayer. Esto puede mitigarse con un pequeño algoritmo que vaya retrasando la petición una hora cada día hasta encontrar la franja en la que encuentres los datos, de modo que al final "sincronices" la hora de tu descarga con una hora próxima a la de la adición de los datos, o indicando una ventana para la actualización (y que cada uno investigue cuál le viene bien a su CUPS).
Los datos que sí aparecen en la web de Datadis, pero no en edata. Nosotros consumimos la API privada de Datadis, pero ellos en sus gráficos no utilizan la misma API (o tienen distintos privilegios). Esto no es tan raro, ni una mala práctica (de hecho es buena). Este es el motivo por el cual la disponibilidad de los datos varía entre ambas fuentes.
Los datos del mes de inicio de un nuevo contrato no aparecen, porque no los devuelve la API de Datadis. Desconozco el motivo pero es así.
Por favor, evitemos inundar las issues de estas cuestiones, ya que me despistan de los cambios de las especificaciones de la API de desarrollo de Home Assistant, y puede acabar dejándonos sin "servicio" durante semanas.
Sin más, agradezco a los usuarios que participan en las issues aportando soluciones, me ahorráis mucho trabajo, y a los desarrolladores de Datadis
Novedades y correcciones
Resumen de cambios
✅ Corregir código obsoleto (#214)
✅ Corregir errores en el menú de configuración (#210, #215)
✅ Mejorar y arreglar recreación de estadísticas para que no borre todo el histórico y sólo el reciente (#198)
✅ Reducir coste computacional de la integración y reducir uso de memoria (#199)
✅ Utilizar IDs únicos en sensores (#223)
✅ Reemplazar el sensor maestro por distintos sensores según categorías, agrupados bajo un mismo dispositivo (uno por CUPS)
✅ Mejorar interfaz websockets para leer cualquier tipo de dato desde las tarjetas
✅ Mejorar proceso para la validación de datos en general.
✅ Mejorar manejo de estadísticas
✅ Restaurar opción de mensajes de depuración
✅ Implementar caché en python-edata para corregir error que impide guardar datos de un mes en ciertas situaciones.
✅ Mejorar procedimiento de almacenamiento/caché
✅ Implementar código para migrar versiones previas
✅ Incorporar métricas sobre el excedente/retorno a la red
✅ Reemplazar uso de componente apexcharts-card por tarjetas propias (convivirán por un tiempo)
✅ Modernización del código para ajustarse a las nuevas recomendaciones de Home Assistant
✅ Permitir fórmulas (jinja2) de tarificación personalizadas para costes (#207, #204)
✅ Actualizar documentación
The text was updated successfully, but these errors were encountered: