Contratos de energía: se añade EDF Zen Fin de Semana, y la cuestión de las tarifas de fin de semana

¡Hola a todos, hola @pierre-gilles!

Acabo de abrir una PR y un issue sobre el seguimiento del consumo, y como el tema va más allá de mi caso personal, mejor discutirlo aquí.

El contexto. Acabo de equiparme con un Lixee TIC, así que me lanzo al seguimiento de mi consumo.
Estoy con EDF en la oferta Zen Week-End, opción Horas Válidas + Fin de Semana. Entre semana es HP/HC clásico (en mi caso de 4:30 a 8:30 y de 12:30 a 16:30), pero el sábado, el domingo y los días festivos están a tarifa reducida todo el día, incluidas las horas punta. Quería añadir este contrato al repositorio energy-contracts, y me he topado con un muro.

El problema. Gladys no sabe representar una tarifa que depende del día de la semana. El campo hour_slots es una lista de medias horas aplicada de manera idéntica a todos los días, y los tipos de contrato se limitan a base, peak-off-peak y edf-tempo. Simplemente no hay un eje « día » en el modelo de datos.

No es un caso aislado: Engie (Elec Week-end), OHM Energía (Tarde y Fin de Semana), Enercoop (Flexibilidad noche y fin de semana) y Electricidad de Estrasburgo ofrecen todos lo equivalente. Es la respuesta comercial estándar a la reforma de los horarios de horas valle lanzada por la CRE y Enedis, por lo que estas ofertas van a multiplicarse más que desaparecer.

Lo que he hecho de todos modos. He presentado el contrato como peak-off-peak simple, dejando de lado la ventaja del fin de semana: energy-contracts#16. Las tarifas provienen de la tabla oficial de EDF del 1 de agosto de 2026 (22,60 c€/kWh en HP semana, 16,92 en HC), las 8 potencias de 6 a 36 kVA están cubiertas.

Prefiero ser transparente sobre lo que vale: la aproximación sobreestima la factura aproximadamente un 5,5 % en un perfil de consumo plano, y mucho más si se desplazan intencionalmente los grandes consumos al fin de semana — que es precisamente lo que la oferta fomenta. El sesgo es sistemático y siempre en la misma dirección, no se compensa con el tiempo. Es mejor que nada, pero no es justo.

La verdadera pregunta. He abierto Gladys#2999 para proponer añadir esta dimensión. Tres opciones se describen allí, la que me parece más económica: extender day_type con valores deducidos del calendario (weekend, holiday, weekday) en lugar de importados. La mecánica ya existe para Tempo, excepto que aquí el valor se calcula en lugar de venir de RTE. Bonus, también cubriría las ofertas « + 1 día a elegir en la semana » tipo Zen Week-End Plus.

Quedaría decidir la fuente de los días festivos — la API jours-feries de api.gouv.fr, o una pequeña tabla estática. Cabe señalar que estas ofertas suelen retener solo los días festivos nacionales, sin las especificidades de Alsacia-Lorena.

Lo que busco. Primero, saber si otros están afectados — si estás en una de estas ofertas, dilo, ayudará a medir el interés. Luego, una opinión de los mantenedores sobre la dirección: estoy voluntario para hacer la PR en el núcleo de Gladys, pero prefiero un visto bueno sobre el enfoque antes de escribir código, porque afecta a constants.js, la validación del servidor, el selector de franjas del front y las traducciones.

¡Gracias! (y se agradece a Claude de paso, ¿eh?)

Gran tema en demanda de funcionalidades :wink:

Gracias @guim31 por la investigación y por tu mensaje :grinning_face_with_smiling_eyes:

He respondido en GitHub. En mi opinión, esta funcionalidad debería implementarse como una integración externa en lugar de en el núcleo de Gladys.

Falta la API para permitir este caso de uso. Si estás interesado, me encantaría que crearas una solicitud de funcionalidad para añadir esta posibilidad :slightly_smiling_face:

Lo haré, me ocupo de ello rápidamente