Carte universelle pour visualiser les heures creuses / heures pleines

Bonjour,

Je n’ai pas de problème mais juste besoin de vos retours.
Pour faire suite à ce sujet : Affichage graphique des Heures pleines/creuses - #38 par AcidBurn18
Je suis en train d’universaliser la carte développée pour répondre à la demande initiale mais pour pouvoir le faire il me faudrait connaitre d’autres éléments.

Actuellement la partie affichage de la carte fonctionne (avec la possibilité de définir 3 plages d’heures creuses par jour + 1 plage d’heures super creuses, de définir des plages particulières différentes par jour - par exemple des plages différentes les mercredis, samedis, dimanches et jours fériés avec un sans saisonnalité - c’est à dire des plages différentes en hiver et en été.).
Pour ça, l’affichage de la carte est basé sur un script et sur un input_select de 16 lignes, chacune des lignes étant construite de cette manière : 0|01|A|23:00|8.0|–:–|0.0|–:–|0.0|02:00|4.0.

  • Le premier terme, lorsqu’on fait un split(« | ») permet de définir si la carte affiche les éléments d’heures creuses/heures pleines ou les éléments permettant la configuration initiale ou ultérieure de la carte.
  • le deuxième terme est le jour en cours : 01 = lundi (en hiver si saisonnalité), 02 = mardi (en hiver si saisonnalité), 03 = mercredi (en hiver si saisonnalité), …, 08 = jour férié (en hiver si saisonnalité), 09 : lundi (en été si saisonnalité), 10 = mardi (en été si saisonnalité), …, 16 = jour férié (en été si saisonnalité)
  • le troisième terme permet de définir s’il y a ou pas saisonnalité (H = hiver, E = été, A = pas de saisonnalité et dans ce cas le deuxième terme 01 est égal à 09 et ainsi de suite jusqu’à 08 est égal à 16)
  • le quatrième terme indique l’heure de début de la plage « principale ».
  • le cinquième terme indique la durée de la plage « principale »
  • le sixième terme indique le début de la première plage « secondaire »
  • le septième terme la durée de la première plage « secondaire »
  • les huitième et neuvième termes, le début et la durée de la deuxième plage « secondaire »
  • les dixième et onzième termes, le début et la fin de la plage Heures super Creuses

Quand une plage de début existe elle est inscrite sous la forme « hh:mm » et dans le cas contraire sous la forme « –:– » et pour la durée, sous la forme « 3.0 » ou « 3.5 » par exemple si elle existe et « 0.0 » si elle n’existe pas.

Je suis partis des postulats suivants :

  • la barre affiche 24 heures en se basant sur la fin (début + durée) de la plage principale (ainsi, si le début de la plage principale est à 23:00 et qu’elle dure 8.0 heures, la barre commencera à 07:00 et finira à 07:00 24 heures plus tard)
  • chaque plage s’incrémente de 1/2 heure en 1/2 heure (il ne peut pas y avoir de plage ayant une durée de 2.25 par exemple)

Il faudrait que je sache s’il est possible d’avoir une plage secondaire commencant à 03:36 par exemple et une plage secondaire commencant à 12:24. Est-il possible d’avoir plus de 3 plages d’heures creuses sur 24 heures glissantes. Est-il possible d’avoir des plages différentes en automne, en hiver, au printemps et en été ou des plages différentes en fonction du mois en cours.

Si les utilisateurs du forum ayant un abonnement sur le principe des heures creuses pouvaient me donner les spécificités de leur abonnement, ça m’aiderait à concevoir le moteur de configuration de la carte. Je pourrais ainsi mettre en place un capteur binaire « heures creuses » dynamique pouvant être utilisé dans des automatisations.

Le but est de simplifier la saisie initiale des informations en lien avec l’abonnement de chacun, du plus simple au plus complexe.

Exemple pour EDF :


Merci d’avance

2 « J'aime »

Une première évolution de la barre (affichage) : celle-ci va maintenant de 0h à 24h de façon à être raccord avec les définitions des WE d’EDF (Le week-end débute la nuit de vendredi à samedi à 0h et se termine le dimanche à minuit) et un trait sur la barre vient marquer la position du curseur :

1 « J'aime »

Tu es un chef… Ca avance vite…. hate de voir la fin.

Il me reste toute la partie « configuration » à faire, ça va prendre un peu de temps. Je vais gérer ça avec 4 pages, la première pour définir le nombre de plages d’heures creuses (1 à 3 plages), la présence ou non d’une plage « heures super creuses », la présence ou non de jours particuliers (WE, jours fériés, etc.) et la présence ou non d’une saisonnalité (été/hiver) et les pages suivantes en fonction des réponses sur la première.

ca avance comme tu veux ou c’est galère?

Salut,

J’espère pouvoir finir ce WE. Le moteur de configuration est quasi terminé.

La fin est proche? je pense que tu dois galérer?

La première « page » est pratiquement terminée


Je suis sur le sélecteur d’horaire qui servira de base aux autres sélecteurs (nombre de plage, durée)
image
Il me restera ensuite à gérer les boutons « Précédant », « Suvant » et « Valider » puis la représentation graphique de la configuration (semaine + jours fériés)

Bientôt la phase de test alors.

La version 1.0 de la carte universelle pour visualiser les heures creuses / heures pleines est prête à être testée pour ceux qui seraient intéressés.

essai

Dans l’exemple ci-dessus, je vais passer d’une configuration « simple » (une plage d’heures creuses de 23h00 à 07h00 avec une plage d’heures super creuses incluse de 02h00 à 06h00) à une configuration complexe :

  • des jours spécifiques (samedi, dimanche et jours fériés)
  • une saisonnalité avec différences entre période hivernale et période estivale.
  • deux plages d’heures creuses et une plage d’heures super creuses pour la période hivernale (plage d’heures creuses principale de 01h00 à 07h00, plage d’heures creuses secondaire de 14h00 à 16h00 et plage d’heures super creuses de 02h00 à 06h00)
  • trois plages d’heures creuses sans plage d’heures super creuses en période estivale (plage d’heures creuses principale de 02h00 à 07h00, première plage secondaire de 12h00 à 14h00 et deuxième plage secondaire de 16h00 à 17h00).

La configuration se fait sur trois pages en l’absence de saisonnalité et en quatre pages si une saisonnalité est définie. La dernière page donne une représentation graphique de l’ensemble de la configuration.

La carte est basée sur un input_select de 16 lignes permettant l’affichage et la configuration. Les différentes fonctions (calcul, affichage) sont dans un script à ajouter dans les ressources lovelace. Le code de la carte et les templates représentent un peu plus de 2700 lignes de code.

Quelqu’un ayant « repris » le projet, s’il y a des personnes intéressées, je vous laisse faire une recherche pour trouver le post en lien.

1 « J'aime »

Je suis plus que preneur…

Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.