A quelle heure précisément le prochain lever de soleil?

Bonjour,

Tout est dit dans le titre, ou presque.
En suivant la doc, j’ai donc mis
sensor.sun_next_rising pour avoir l’heure et minute du lever de soleil à venir.


Mais j’ai diverses infos en fonction du délai restant : demain, dans x heure, etc.
Ce que je voudrais afficher, c’est le moment précis en heure et minutes.
Quelle est l’astuce ?

Plus tard, j’espère avoir un tableau indiquant pour aujourd’hui 00h00 jusqu’à demain 24h00 en heure et minute:
quand s’est levé le soleil aujourd’hui,
depuis combien de temps le soleil est levé,
la durée du jour,
quand le soleil se couchera aujourd’hui,
depuis combien de temps le soleil est couché,
la durée de la nuit,
quand se lèvera le soleil demain

Merci d’avoir pris le temps de me lire.

Bonjour @lente_reflexion
Cette carte pourrait être un bon début non ?


Bob

1 « J'aime »

Bonjour Bob,

J’ai déjà cette carte, j’y ai ajouté aussi le phases de la lune, mais je ne n’y ai pas trouvé la durée du jour (en journée) et de la nuit (en nuitée).
Dans les état de la lune, il y a encore des mots en anglais.
Je n’ai pas cherché à savoir si je pouvais adapter ou modifier cette carte ou ses sources, ne sachant pas comment ça fonctionne.

Ah par contre elle n’est plus dispo mais peut être d’autres de disponibles.


Bob

Hello,

essaie ça dans tes templates :slight_smile:

{{ states('sensor.sun_next_rising') }}

=>

2024-04-11T05:06:27+00:00

Tu as tout ça dans les attributs de l’entité sun:

Maintenant si tu veux connaitre les longueur du jour et de la nuit, il te faut faire des templates pour créer de nouveaux sensor pour y placer les durées calculées à partir du lever et du coucher du soleil.

Il faut aller voir sa remplaçante (qui fait les phases de la lune en plus…):

Bonjour titoumimi

C’est quoi les templates ?
C’est qui l’ignare avec Home Assistant ? C’est moi !

Dans la configuration de la carte entité, j’ai essayé d’ajouter à la suite des sensors,

- {{ states('sensor.sun_next_rising') }}
- { states('sensor.sun_next_rising') }
- states('sensor.sun_next_rising')

et ça affiche une erreur !

Bonjour,
tu peut utiliser la carte entities

type: entities
entities:
  - type: attribute
    entity: sun.sun
    attribute: next_rising

type: entities
entities:
  - type: attribute
    entity: sun.sun
    attribute: next_rising
    format: time

Les templates (ou modèles en français) c’est une des façons de faire des calculs dans home assistant.

Les templates utilisent la syntaxe JINJA2

C’est soit utilisé:

  • pour créer des sensors
    • à la main dans le configuration.yaml avec la clef template
    • via l’UI parametres / appareils et services / entrées / « + créer une entrée » / template / modeliser un capteur
  • pour afficher des calculs dans une carte markdown ou mushroom template par exemple

Tu ne peux pas afficher directement dans une carte entité
{{ states('sensor.sun_next_rising') }}

  • soit tu affiches une carte entité avec le sensor « kivabien » : sensor.sun_next_rising comme montré par @WarC0zes au dessus
  • soit tu affiches dans une carte markdown du texte et par exemple le résultat de ce qu’il y aura entre accolades, cad un template: {{ states('sensor.sun_next_rising') }}

Hello,

Alors je n’avais pas réalisé que ce que tu voulais, c’étais la date précise dans ta carte entity

Du coup ma solution n’est pas la bonne.

Mais en revanche, pour la culture :

un template, c’est un moyen dans home assistant d’évaluer certaines mesures, de faire des calculs sur les mesures entre elles.

Tu peux les tester en allant dans « outils de développement » → « modèle » → « éditeur de modèle »

Certaines cartes acceptent des morceaux de template comme entrée, ou pour effectuer certaines actions

Tu peux tester tes templates dans l’outil de developpement puis ensuite soit les afficher dans une carte markdown, soit t’en servir pour créer des sensors:

Exemple a partir de ce calcul simpliste:

exemple de carte markdown a mettre dans le dashboard:
image

type: markdown
content: >-
  Prochain lever du soleil: {{ states('sensor.sun_next_rising') }}

  Prochain coucher du soleil: {{ states('sensor.sun_next_setting') }}


  Calcul en s de l'écart entre les deux : 

  {{ (as_timestamp (states('sensor.sun_next_rising')) - as_timestamp
  (states('sensor.sun_next_setting'))) }} s
title: Soleil

exemple de création de capteur « durée nuit » que tu pourras ensuite afficher dans une carte entity:

Pendant que vous me donniez des explications, que je vais lire, voici ce que j’ai tenté :

type: entities
entities:
  - entity: sensor.moon_phase
    state_color: true
  - sun.sun
  - sensor.sun_solar_azimuth
  - sensor.sun_solar_elevation

  - sensor.sun_solar_rising
  - type: attribute
    entity: sun.sun
    attribute: last_rising
    format: time
    name: lever
  
  - sensor.sun_next_setting
  - type: attribute
    entity: sun.sun
    attribute: next_dusk
    format: time
    name: prochain coucher

  - sensor.sun_next_dusk
  - type: attribute
    entity: sun.sun
    attribute: next_dusk
    format: time
    name: prochain crépuscule
    
  - sensor.sun_next_dawn
  - type: attribute
    entity: sun.sun
    attribute: next_dawn
    format: time
    name: prochaine aube

  - sensor.sun_next_rising
  - type: attribute
    entity: sun.sun
    attribute: next_rising
    format: time
    name: prochain lever

J’ai aujouter un name pour plus de lisibilité, qui remplace avantageusement le « « sun » » par défaut.
Je n’ai pas le lever et/ou l’aube du jour.
Dans attribute, j’ai tenté avec last, now, today, this, je n’ai qu’un trait.
S’il n’y a que rising, j’ai juste 1, qui doit être la valeur booléenne pour dire que le soleil est levé.

Tu nous a pas lu, mais tu utilise le code que je t’es partager :rofl:

Après que WarC0zes ai proposé , j’ai testé immédiatement, sans voir les réponses de BBE expliquant les templates et la suite de titoumimi

Pour l’instant, je n’ai pas encore explorer les markdown, mushroom, ni même appréhendé JINJA2.

J’ai de quoi faire …
Je vais étudier toutes vos réponses et le temps de les assimiler, je reviendrai donner des nouvelles.
Patience…

1 « J'aime »

Si on reprend ton premier post:

@WarC0zes t’as donné la réponse pour le début

avec @titoumimi on t’a donné des indices pour la suite…

Bon, en fait ce ne fut pas bien long.
Sauf pour JINJA2 que je n’ai pas encore approfondi.

Soit je suis super intelligent, soit vous avez été très clair dans vos explications.
Si j’étais super intelligent (comme l’âne maïs :wink: des télé réalités) je ne vous poserai pas ces questions « basiques » pour vous. Donc un grand MERCI à vous.

Quoique, pas si grand que ça le merci :laughing:
Il n’y a pas le lever du jour d’aujourd’hui après que le soleil soit levé.

Pas de problème pour le timestamp, je sais qu’il est possible de le convertir.
Mais est-ce qu’il tient compte de l’heure été/hiver ou est-ce en temps universelle ?

Oui , ca tient compte heur été/hiver.

Relis ce que tu as toi même écrit, il y a la solution dedans…

Next_setting et next_rising donnent les prochains coucher et lever du soleil
Donc si tu veux ceux du jour, et que ça ne change pas au lever et au coucher… il faut les mémoriser… par exemple à minuit.

Bonjour,
Les mémoriser !
Pour l’instant ça dépasse le cadre de mes compétences.