Calendrier et paramétrage des horaires de travail

Hello :grinning:
Je vous contacte car j’aimerais avoir un input_boolean « boulot »:

  • le créneau « boulot » représentant l’heure de départ de la maison jusqu’à l’heure de départ du boulot"
  • des horaires qu’on puisse voir sur le calendrier
  • pour lequel on puisse régler au moyen d’une card les horaires de présence au boulot jour par jour
    L’état de cet input_boolean permettrait de déclencher des automatisations.
    Par exemple : un horaire de départ au boulot permettrait d’ouvrir le portail au moment où l’on ouvre la porte de la maison :grin:
    D’un point de vue automatisation je vois comment faire, mais je ne trouve pas de card « créneau horaire » et je ne vois pas comment associer cette card à l’input_boolean :frowning:
    Merci d’avance pour ceux qui ont des idées ,-)

Je n’ai jamais testé mais j’ai l’impression que l’intégration Google Calendar te permet de faire cela.

Tu pourras gérer les ajustement dans Google Calendar, dans le panel calendrier dans HA et j’ai cru entendre qu’une carte lovelace devait arriver en 0.115.0.

Je pense comme @oncleben31.

Il ne faut pas se limiter à Home Assistant pour tout gérer.

Si tu te crée un calendrier spécial pour les interaction avec Home Assistant (afin de ne pas polluer tes autres calendrier) , tu pourras utiliser les capteurs associés à l’intégration Google Calendar pour tes automations.

Tu pourra t’en servir plus tard pour passer en mode vacance, mode teletravail, etc.

Regarde J ai expliqué rapidement l utilisation de Google calendar. Je sais c’est succinct comme aide mais ça peut t inspirer. Install dckiller

Un peu plus de détail concernant l’approche avec un calendrier Google :

Une fois que tu as réalisé l’intégration :

Tu va retrouver à la racine de HA (au même niveau que configuration.yaml), un fichier nommé : google_calendars.yaml

  1. Méthode utilisée par @dckiller (merci du partage ! :+1:)

C’est dans ce fichier que @dckiller vient ajouter des surveillances sur divers mots-clés afin de créer des capteurs disponible dans HA:

- cal_id: mon_adresse_mail@gmail.com
  entities:
  - device_id: presences_enfants      # identifiant unique utilisé dans les automations et scripts
    name: Présences Enfants           # nom du capteur à afficher sur les vues du tableau de bord
    track: true                       # permet la création du capteur
    search: "#Présences Enfants"      # le caractère '#'(dièse) est obligatoire : mot(s-clé à retrouver dans l'intitulé de l'évènement du calendrier google
  - device_id: invites_maison
    name: Invités à la Maison
    track: true
    search: "#Invités à la maison"
  - device_id: vacances
    name: Vacances
    track: true
    search: "#Vacances"

:information_source:

track: true

Ce paramètre track est principalement utilisé pour exclure les calendriers présents dans le fichier google_calendars.yaml dont tu ne veux pas te servir (contacts,jours fériés,numéro de semaine,etc.), içi il n’est pas forcément nécessaire car c’est la valeur par défaut du paramètre.
:information_source:

search: "#Invités à la maison"

Le paramètre search défini le(les) mot(s) clé(s). Ce paramètre dois toujours commencer par le caractère #. Le ou les mots renseignés ensuite doivent être présent dans ton calendrier Google :
image


Chacun de ces capteurs (calendar.presences_enfants , calendar.invites_maison et calendar.vacances seront désormais disponibles dans HA (après un premier redémarrage suite à la modification de fichier) et passeront à l’état on sur chaque période où le(les) mot(s) clé(s) est(sont) trouvé(s).

Tu peux donc t’en servir pour lancer des automations et scripts.

  1. Ma méthode (différente mais pas tant)

Mon approche personnelle est un tout petit peu différente de @dckiller dans le fait où je ne crée pas de nouveaux capteurs mais directement des nouveaux calendriers depuis Google Calendar.

En clair, je crée un nouvel agenda sous Google Calendar :
image : ici on aperçoit les calendriers Anniversaires et Vacances.

Ensuite, je retrouve ces calendriers dans le fichier de configuration google_calendars.yaml (après un redémarrage du serveur HA):

- cal_id: XXXYYY@group.calendar.google.com
  entities:
  - device_id: anniversaires
    ignore_availability: true
    name: 'Anniversaires '
    track: true
- cal_id: XXXYYY@group.calendar.google.com
  entities:
  - device_id: vacances
    ignore_availability: true
    name: Vacances
    track: true
- cal_id: addressbook#contacts@group.v.calendar.google.com
  entities:
  - device_id: contacts
    ignore_availability: true
    name: Contacts
    track: false

Tu remarquera que j’ai passé à false le calendrier Contacts créé par l’intégration elle-même afin de ne pas le retrouver dans mon HA car je n’en ai pas l’utilité.

La seule différence que je vois avec celle de @dckiller est l’affichage non pas dans HA mais dans Google Calendar. En effet avec ma méthode, je peux facilement afficher/masquer toute une catégorie (vacances, anniversaires) ce qui n’est pas possible si on utilise la méthode de @dckiller car tous les événements sont dans le même calendrier (pour la partie Google Calendar).

Donc dans ton cas, je créerais un calendrier Boulot et je ferais l’édition des horaires directement depuis Google Calendar, puis je redémarrerais le serveur afin de voir apparaître le nouveau capteur calendar.boulot Le booléan que tu parle sera en fin de compte l’état du capteur calendar.boulot.

:warning:
Les 2 méthodes ont le même résultat visuel au niveau du tableau de bord. On peux afficher/masquer les événements depuis la page Calendrier
chrome-capture

En espérant que ces explications t’auront aiguillées.

Concernant le réglage à partir d’une carte, il y a bien une nouvelle carte de prévue en 0.115 comme le mention @oncleben31. Mais il ne me semble pas que l’édition des événements en fasse partie…


:question:
@dckiller j’ai été obligé d’ajouter le # en début de mots clés sinon le calendrier associé était constamment vide. As-tu aussi ce comportement ?



1 J'aime

Voilà une belle explication. C est clair et précis.

Pour le # je n’ ai pas ça dans mon fichier calendar.yaml et je ne le mets pas dans mon agenda.

@dckiller : Je me doutais un peu de ta réponse :wink:

Peux-tu faire le test de le rajouter dans ta configuration du fichier google_calendars.yaml?

Moi non plus je n’ai pas eu besoin de le mettre dans le titre de l’événement et je me rappel avoir lu sur le forum officiel que certain était dans mon cas.

Car si le fait de l’avoir fonctionne également pour toi, autant partir du principe que ce caractère est obligatoire car seulement présent dans le fichier de configuration.

Une fois de plus, merci pour vos explications @Clemalex @dckiller qui sont toujours aussi didactiques !
En appliquant vos méthodes, et faisant évoluer mon projet (et oui, comme de + en + de monde, on peut être au « boulot » en étant « sur_site » ou « en_teletravail »), j’ai fait pour l’instant le choix de le faire par différents device_id (n’ayant pour l’instant que ces 2 catégories), et j’ai saisi la différence entre vos 2 méthodes :wink:

Merci encore pour votre aide !!! :wink: