Creer un évènement dans un calendrier local

Bonjour,

Je veux créer un évènement dans un calendrier, répété tous les deux jours.
Je créer ce service dans dev, mais le champ « in: » m’indique une erreur.

service: calendar.create_event
target:
  entity_id: calendar.filtration
data:
  summary: ON
  description: Départ de la filtration.
  start_date_time: 2024-08-22T20:08:00.000Z
  end_date_time: 2024-08-22T22:09:30.000Z
  in:
    days: 2
  location: Piscine

Le service fonctionne sans le in, mais avec in: {« days »: 2}, il y a une erreur.
Dans la doc il est indiqué : {« days »: 2} or {« weeks »:2} aucun exemple ne fonctionne.

1.Ou est l’erreur de saisie dans ce champ ?

  1. Comment créer l’évènement à partir d’un automatisme ?

D’avance Merci.

Salut.
Il te faut fixer des dates ! et voir l’écriture de « in »

start_date: 2024-08-22T00:00:00.000Z
end_date: 2024-09-22T00:00:00.000Z
in: "{\"days\": 2}"

PS: il y a un exemple dans le YAML du dev

1 « J'aime »

Bonjour,
Problème de syntaxe je pense, "days": 2.

Bonjour Doubledom,
Merci pour ta réponse.
J’ai essayé le script proposé il fonctionne sans le champ ‹ in ›, mais pas avec l’exemple de champ proposé.

Voir start_date et end_date !

Bonjour WarCOzes,
Merci pour ta réactivité.
J’ai essayé toutes les syntaxes possibles, avec {}, sans {}, avec «  », rien n’y fait.
Dès que je renseigne ce champ il y a erreur.
Avec ce qui est proposé : {« days »: 2} or {« weeks »: 2}
Même l’exemple proposé ne fonctionne pas.

Re-bonjour,
L’erreur ne provient qu’avec le champ ‹ in ›, dès que je l’enlève mon service fonctionne.

data: 
  summary: "blabla" 
  in:
    days: 2

C’est bien ce que ta fais :frowning:

  start_date_time: "2024-08-22 20:08:00"
  end_date_time: "2024-08-22 22:09:30"

EDIT:
Avec le service calendar.create_event, l’option in n’apparait pas.

Avec le service google.create_event, in est disponible.

Un bug ou pas disponible pour le calendrier local.

Il est en bas, mais dispo quand YAML !

Mais effectivement bug !
Faut passer par le Calendrier en mode direct !

2 « J'aime »

Hello,

Ce n’est pas un bug, le in ne s’utilise pas de cette façon :wink:

C’est soit start_date_time et end_date_time, soit start_date et end_date soit in.

exemple :

service: calendar.create_event
target:
  entity_id: calendar.declencheur
data:
  summary: Ceci est un test
  description: Test
  in: {"days": 2}

Si je lance ce service aujourd’hui, le 15 , il me créera un évenement à la date du 17

Donc, cette fonction ne peut pas être utilisé pour ton besoin ( il faut donc passer par l’UI comme expliqué par @Doubledom )

1 « J'aime »

Bonjour Krull56,
Mais alors quelle est la fonction de ce champ ?
Je pensais que c’était pour reproduire l’évènement tous les 2 jours {‹ days ›: 2}, toutes les 2 semaines {‹ weeks ›: 2}, mais cela ne fonctionne ni sur calendar.local, ni sur google.calendar.
De plus quand on met le ‹ days ›: 2 dans le champ in en UI, il n’apparait pas en Yaml puis disparait quand on revient en UI.
Il y a surement un bug.

J’avais pas vu toute ton explication…

1 « J'aime »

J’ai ajouté un exemple « fonctionnel » et l’explication à ma réponse précédente :wink:

1 « J'aime »

Par curiosité, pourquoi passer par ce service plutôt que de le faire directement via l’UI du calendrier ( qui te propose la répétition) ?

1 « J'aime »

Pas un bug !

c’est effectivement spécifier dans la doc comme dit @Krull56

Note

Vous utilisez soit start_date_time et end_date_time, soit start_date et end_date, soit in.

C’est bien soit l’un ou l’autre choix !

1 « J'aime »

Après faut avouer que ce n’est pas très explicite et que l’exemple par défaut dans la console dev service porte à confusion :grin:

2 « J'aime »

Mon objectif était de créer des évènements « Démarrer filtration » par un automatisme qui fixerai le temps de filtration en fonction de la température de l’eau (après quelques péréquations).
Mais je m’aperçois que cet automatisme doit lire la température chaque jour et programmer la durée en fonction ; puis créer l’évènement ‹ ON › dans le calendrier arrosage avec heure de départ (fixe) et heure de fin (calculée en f(T°)) chaque jour.
Donc je n’ai pas besoin de répéter l’évènement sur d’autres jours.
Mais merci pour l’éclaircissement du champ ‹ in ›.

C’est @Doubledom qui a eu droit au bon point et pas moi :sob: :sob: :sob:
:grin:

2 « J'aime »

C’est réparer. C’est bien toi qui donne la solution !

2 « J'aime »