Skip to content
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

Refactor to Lit, add a card editor, support for Section design and some more features and corrections. #121

Closed
wants to merge 21 commits into from

Conversation

cnico
Copy link

@cnico cnico commented Nov 12, 2024

Hi @Deejayfool,

I propose you a contribution to this great card for shutters.
I wanted to add a few functionnalities but I was rapidly blocked by the pure increasing complexity to manage it in pure javascript. So a big change is that I converted it to the Lit framework, as it is the case for most homeassistant cards.

There are lots of code change through a huge refactoring but it was necessary to improve the maintanability of the card when adding behaviors or to fix some bugs. I was extremely precautionous not to break any design or behaviour so it should work successfully for any deployed configuration.

The added behaviours / corrections are :

  1. Addition of optional partial opening buttons : 0%, 25%, 50%, 75%, 90% and 100%
  2. Live display of the shutter rendering when adjusting the configuration (you had to save to see the evolution)
  3. Correction of localisation for open / close statuses
  4. Correct display of unavailability when covers are offline
  5. Addition of a card editor to have a visual editor instead of the yaml
  6. Implementation of localisation for messages for the editor
  7. Add an option to hide the standard up/stop/down buttons
  8. Corrections of some bugs that are listed in PRs
  9. Add correct support for layout with Sections which is the new default layout model for dashboards
  10. Completed Readme with up to date screen shots.

Here is a list of issues that are resolved by this PR :
#116 partial closed percentage isn't show
#115 Consider adding pre-defined positions
#114 Shutter width over 153, lower strip not working
#109 feat: enable customizable texts for opened/closed
#104 why using "was opened" instead of "open"
#100 Add icon configuration
#98 New [up|down|stop]_disabled_states config to control button disabling
#93 Wrong visualization shutter image after increasing 'shutter_width_px' option
#91 It is not working anymore with HA 2023.4.2
#87 New configuration proposal: hide buttons
#79 i can not use the animation to move up or down my rolle
#76 can't install
#42 Added check for buttonsPosition hide buttons
#41 Shutter position (where do I place boolean)
#20 Added Card via HACS

I have tested it on my desktop and android mobile : I have no regression nor different behaviour compared to the version when I started to implement the modifications.
I let you test and do not hesitate to ask any question.

Another point, if it can help, I propose to become a maintainer of this card to help you, Deejayfool, on this task. If you want, we can discuss of it via discord or mails (even in French since I am frenchy).

@Deejayfool
Copy link
Owner

Salut @cnico !
Tu as fait vraiment un excellent boulot 🤯.

Par contre j'ai 2 mauvaises nouvelles pour toi.
La première est que je n'ai plus du tout le temps de maintenir ce repo. Te mettre en maintainer pourrait être une solution, mais je ne te connais pas suffisamment pour me permettre de le faire.
La deuxième est que quelqu'un a fait une autre version de la carte qui est déjà plus customizable que celle que j'ai fait. Voici son repo : https://github.com/marcelhoogantink/enhanced-shutter-card ( https://community.home-assistant.io/t/enhanced-shutter-card/793482 )

Je lui ai proposé de mettre son repo à la place du mien dans HACS mais je n'ai jamais eu de réponse.

Du coup il y a 2 possibilités :

  • Tu peux soit créer un fork de ce repo en y mettant tes adaptations. Tu pourras également mettre ton repo à la place du mien dans HACS si tu le souhaites.
  • Ou alors tu peux prendre contact avec marcelhoogantink pour voir pour faire vos développements en commun sur son repo.

En tout cas encore bravo pour ce que tu as fait !

@cnico
Copy link
Author

cnico commented Nov 18, 2024

Salut @Deejayfool,
C'est dommage que ce repository qui a tant de succès doive être forké pour être remplacé par l'enhanced-shutter-card mais je comprends ta position.
J'ai vu que tu as modifié le readme pour pointer vers la version de marcelhoogantink : c'est une bonne chose qui permettra d'éviter de la dispersion future. Je te conseillerais même d'aller plus loin en archivant dans github ton repository et en faisant une PR pour déréférencer ton repository dans hacs.

Pour la suite, j'ai choisi l'option 2 afin de voir avec marcelhoogantink comment on peut merger les 2 forks dont le code est largement divergent.

@Deejayfool
Copy link
Owner

Oui j'ai fait la demande pour retirer mon repo d'HACS déjà : hacs/integration#4199
Par contre en général ils ne sont pas très rapides pour prendre en compte les tickets 😝 .
Je vais voir pour archiver le repo oui, mais pour l'instant je le laisse visible en attendant que la enhanced-shutter-card soit dispo sur HACS.

@Deejayfool Deejayfool closed this Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants