# Nouveau widget position du soleil

**URL:** <https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324>\
**Category:** Demandes livrées\
**Tags:** in-progress\
**Created:** [Juillet 5, 2026, 1:26 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324 "2026-07-05T13:26:07Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Juillet 5, 2026, 1:26 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/1 "2026-07-05T13:26:07Z")

</div>

Je propose également ce petit widget pour avoir visuellement la position du soleil chez soi.  
Créé à partir de la lib suncalc déjà présente dans Gladys et qui fait les calculs à partir des coordonnées de la maison paramétrées

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/b/4/b404536e405a8f0c39765f62190e87138edcdae2.png)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/a/a/aa44e00133804af9a5ec265c0583aa8f509f6939.png)

la PR

> <https://github.com/GladysAssistant/Gladys/pull/2630>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[x\] If your changes affect the code, did you write the tests?
> \- \[x\] Are server tests passing with coverage? (\`cd server && npm run coverage\`) — Codecov requires \*\*100% coverage on lines changed in this PR\*\*
> \- \[x\] Did Cypress E2E tests pass? (\`npm run cypress:run\` from repo root, if UI changed)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> \- \[x\] If you are adding a new feature/service, did you run the integration comparator? (\`npm run compare-translations\` on front)
> \- \[x\] Did you test this pull request in real life? With real devices? If this development is a big feature or a new service, we recommend that you provide a Docker image to the community (\[forum\](https://community.gladysassistant.com/)) for testing before merging.
> \- \[\] If your changes modify the API (REST or Node.js), did you modify the API documentation? (Documentation is based on comments in code)
> \- \[\] If you are adding a new features/services which needs explanation, did you modify the user documentation? See \[the GitHub repo\](https://github.com/GladysAssistant/v4-website) and the \[website\](https://gladysassistant.com).
> \- \[\] Did you add fake requests data for the demo mode (\`front/src/config/demo.js\`) so that the demo website is working without a backend? (if needed) See \[https://demo.gladysassistant.com\](https://demo.gladysassistant.com).
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> \# Add sun horizon widget to the dashboard
> 
> New standalone dashboard widget showing the sun's journey for a house, an SVG elevation curve with the sun's current position, dawn, solar noon, dusk, azimuth and elevation.
> 
> Everything is computed locally with \`suncalc\` (already a server dependency) from the house coordinates — no weather service or external API needed.
> 
> \- New route \`GET /api/v1/house/:house\_selector/sun\` (400 if the house has no coordinates)
> \- New \`sun\` dashboard box with house selection, refreshed every minute, identical rendering in light and dark mode
> 
> \<img width="373" height="293" alt="image" src="https://github.com/user-attachments/assets/34deb782-7fd5-48dd-a472-0c8870ab7e17" /\>
> 
> \<img width="373" height="293" alt="image" src="https://github.com/user-attachments/assets/cf1daa68-0e9b-4f6e-8499-0225fe7ebbb1" /\>
> 
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Added a Sun dashboard widget showing sunrise, sunset, dawn, solar noon, dusk, and current solar position.
> \* Select a house and refresh sun data automatically every 60 seconds.
> \* Added Sun box support for dashboard viewing and editing.
> 
> \* \*\*Bug Fixes\*\*
> \* Improved handling of missing coordinates, loading failures, and polar day/night conditions.
> 
> \* \*\*Documentation\*\*
> \* Added English, French, and German translations for Sun labels and messages.
> 
> \* \*\*Tests\*\*
> \* Added coverage for sun calculations and the related API endpoint.

---

<div class="post-metadata">

**Author:** ![Chris75](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/c/6a8cbe/32.png) [@Chris75](https://community.gladysassistant.com/u/Chris75)\
**Post date:** [Juillet 5, 2026, 1:47 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/2 "2026-07-05T13:47:08Z")

</div>

super, vivement que ce soit intégré officiellement (ainsi que météo france) !

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Juillet 5, 2026, 2:19 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/3 "2026-07-05T14:19:21Z")

</div>

Je plussoie !

@Will_71 est-ce qu’il y aura une implémentation dans les déclencheurs ou alors un check de la position du soleil en temps réel ?

> [@Ajouter un déclencheur de scènes selon l’altitude et l’azimut du soleil](https://community.gladysassistant.com/t/ajouter-un-declencheur-de-scenes-selon-l-altitude-et-l-azimut-du-soleil/7881/10):
>
> Hello, je déterre un peu ce sujet car j’aurais besoin de récupérer (sans API externe de préférence) l’altitude et l’azimuth du soleil afin de gérer au mieux (ouverture/fermeture partielles) mes volets roulants dans les scènes. Est-ce que ce serait possible de les rajouter dans le core de Gladys sachant qu’on utilise la fonction suncalc (de ce que j’ai lu sur le forum) ? Merci d’avance slight_smile EDIT : je reprends quelques infos issues de la doc de Lunarok pour son [module héli…](https://lunarok.github.io/jeedom_docs/plugins/heliotrope/)

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Juillet 5, 2026, 2:33 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/4 "2026-07-05T14:33:59Z")

</div>

Non, c’est juste un widget, je ne touche pas au scène.

Par contre, il y a une PR ouverte pour cela. En faite c’est quand j’ai vu la PR ouverte que cela m’a donné l’idée de faire ce widget.

> <https://github.com/GladysAssistant/Gladys/pull/2610>
>
> \### Description
> 
> Implémente la \[demande de la communauté\](https://community.glad…ysassistant.com/t/ajouter-un-declencheur-de-scenes-selon-l-altitude-et-l-azimut-du-soleil/7881) : permettre de déclencher une scène quand le soleil atteint une altitude et un azimut précis (ex. altitude 31°, azimuth 160°).
> 
> Cas d'usage typique : ouvrir/fermer des volets en fonction de l'orientation des fenêtres par rapport au soleil, pour optimiser le confort thermique été/hiver.
> 
> \### Changements
> 
> \*\*Serveur\*\*
> \- Nouveau type de déclencheur \`time.sun-position\` dans les constantes
> \- Module \`server/lib/sun/sunPosition.js\` utilisant \`suncalc\` (déjà présent dans le core) pour :
> - convertir altitude/azimut en degrés (azimut 0-360° depuis le nord, sens horaire)
> - rechercher les moments de la journée où le soleil atteint la position cible
> \- Planification quotidienne dans \`scene.dailyUpdate.js\` (même mécanisme que lever/coucher du soleil)
> \- Matching des déclencheurs dans \`scene.triggers.js\`
> \- Schéma MCP mis à jour
> 
> \*\*Front\*\*
> \- Nouveau composant \`SunPositionTrigger.jsx\` : sélection de la maison + champs altitude (-90° à 90°) et azimut (0° à 360°)
> \- Traductions en/fr/de
> 
> \*\*Tests\*\*
> \- Tests unitaires du module \`sunPosition\`
> \- Tests d'intégration pour le scheduling et le déclenchement de scène
> 
> \### Check-list
> 
> \- \[x\] Tests écrits et passants (\`npm test -- --grep "sunPosition"\`)
> \- \[x\] Traductions synchronisées (\`npm run compare-translations\`)
> \- \[\] Testé en conditions réelles avec une maison ayant des coordonnées GPS
> 
> \### Notes techniques
> 
> \- L'azimut est mesuré dans le sens horaire depuis le nord (0° = nord, 90° = est, 180° = sud, 270° = ouest), comme documenté dans le fil de la communauté.
> \- La tolérance de matching est de ±0,5° en altitude et ±1° en azimut, avec une recherche minute par minute.
> \- Si la combinaison altitude/azimut n'est pas atteinte un jour donné (selon la saison et la latitude), aucun job n'est planifié ce jour-là.
> 
> 
> \<div\>\<a href="https://cursor.com/agents/bc-019f28e4-93a7-730c-b840-2617809e7a98"\>\<picture\>\<source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"\>\<source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"\>\<img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"\>\</picture\>\</a\>&nbsp;\<a href="https://cursor.com/background-agent?bcId=bc-019f28e4-93a7-730c-b840-2617809e7a98"\>\<picture\>\<source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"\>\<source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"\>\<img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"\>\</picture\>\</a\>&nbsp;\</div\>

---

<div class="post-metadata">

**Author:** ![mutmut](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/mutmut/32/14064_2.png) [@mutmut](https://community.gladysassistant.com/u/mutmut)\
**Post date:** [Juillet 5, 2026, 2:54 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/5 "2026-07-05T14:54:28Z")

</div>

De ce que je vois, @pierre-gilles est sur le coup 😁

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Juillet 5, 2026, 4:56 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/6 "2026-07-05T16:56:07Z")

</div>

Génial ! Pour ma part j’utilise Node-red pour avoir l’élévation et l’azimut, voilà qui est une intégration visuelle bien plus sympa !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 6, 2026, 8:00 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/7 "2026-07-06T08:00:38Z")

</div>

Génial, merci @Will_71 pour la PR ! Oui je suis sur le coup pour le déclencheur

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Août 7, 2026, 8:54 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/8 "2026-08-07T20:54:49Z")

</div>

@pierre-gilles pour info, j’ai corrigé les différents points relevés dans la PR.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 10, 2026, 9:02 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/9 "2026-08-10T09:02:41Z")

</div>

Merci @Will_71, j’ai testé et c’est vraiment top 🙂

Accepté et mergé, ça partira dans la prochaine version de Gladys ! Merci !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 14, 2026, 3:20 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/10 "2026-08-14T15:20:08Z")

</div>

Je ferme ce post car la fonctionnalité est disponible dans Gladys Assistant 4.86 :

> [@Gladys 4.86 : la plus grosse release de l’histoire du projet rocket](https://community.gladysassistant.com/t/gladys-4-86-la-plus-grosse-release-de-l-histoire-du-projet/10554):
>
> Salut à tous ! Super heureux de sortir Gladys Assistant 4.86. C’est simple, c’est la plus grosse version depuis le début du projet, avec 68 PR fusionnées en une semaine exploding_head C’est juste incroyable, et ça montre le nouveau rythme qu’on peut tenir avec l’IA. L’objectif est maintenant clair : rattraper et dépasser Home Assistant rocket Je vous parle de ces 68 nouveautés ici : Merci à tous les contributeurs !!

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Août 14, 2026, 3:20 UTC](https://community.gladysassistant.com/t/nouveau-widget-position-du-soleil/10324/11 "2026-08-14T15:20:12Z")

</div>


