Evolution de mes préparations marathons

Un article juste pour donner la volumétrie des différentes préparations aux marathons que j’ai pu faire, étant donné que j’ai toujours le même plan sur 12 semaines, avec 3 entrainements par semaine, plus un supplémentaire éventuel le week-end, enfin…normalement, si je suis le plan 🙂

Au Beaujolais environ 200 km de préparation, à Colmar en 2017 (3h35), c’est 375 km….

Si je prends mes deux derniers marathons de Paris, très difficile aussi, c’est respectivement 280km en 2021 et 285km en 2022….

Aucun secret, seul le travail paie  🙂

19 – Marathon du Beaujolais (2022)

19ème marathon : 4:45:39 

Rien ne sert de courir….il faut s’y préparer ! Lorsque Manu me propose de participer au Marathon du Beaujolais en cette fin d’année, je mets quelques jours à lui répondre, encore « fatigué de mes deux dernières expériences « marathon » que je n’avais pas beaucoup préparés et sentant qu’il en serait sans doute de même pour celui-ci… Mais, au bout de quelques jours de réflexion une réponse positive et c’était parti pour une nouvelle échéance marathon, une nouvelle épreuve, un nouveau défi. Alors , tant bien que mal, j’essaye de m’astreindre à un minimum de préparation, et ..ce fut vraiment un minimum (je vous laisse consulter cet article sur mes préparations). 

C’est ainsi que nous partons le vendredi 18 novembre pour rejoindre un gite proche de l’arrivée du marathon du Beaujolais. Cette épopée se fera avec Manu (7 marathons ensemble déjà) Eric et Jean-Michel. Pas de prévisions d’exploits, c’est un marathon festif avant tout. 

Déguisements, musique, passage au milieu des vignes, dans les domaines et les châteaux des vignerons, des dégustations régulières possibles, mais pas obligatoires. La plaquette est belle, et elle est fidèle au ressenti d’après course. Une organisation aux petits oignons, que ce soit au niveau de la récupération du dossard, à la gestion du départ à Fleuri (25km de route au petit matin) ou encore à l’arrivée, l’après course au chaud. Il faut savoir qu’à part le marathon il y a également d’autres courses organisé en même temps, ce qui démultiplie l’ambiance, et les spectateurs ! Vraiment au top.(semi marathon, marathon-relais à 4 ou à 3, 13km), un vrai choix pour tous ce qui fait au total environ… 20.000 participants !!! — mais seulement 2041 valeureux dont…nous !

Manu, Eric, Jean-Michel, Olivier

Samedi matin, la voiture est garée, nous marchons vers le départ et à peine arrivée, la minute suivante, le départ est donné ! Nous partons tous les quatre, au milieu de cette foule bien colorée et joyeuse. Les premiers km se font dans des rues/chemins étroits et nous piétinons un peu, mais, patience, nous avons 42km à faire, nous aurons encore le temps d’accélérer.

Les 7 premiers km défilent et nous arrivons à peu près à rester ensemble, Manu donnant le rythme, à ne pas dépasser, afin de ne pas se « griller » tout de suite. Jean-Michel ronge son frein ! Nous traversons les vignobles et les châteaux, passons dans les caves des vignerons, profitons de la musique dispensée par des groupes locaux, et apprécions les ravitaillements très fournis, avec des bénévoles aux petits soins et toujours des dégustations de beaujolais possible.

Le 11ème km aura marqué une séparation des uns et des autres, plus pour des pauses techniques que physiques, chacun restant alors sur son rythme. Pour ma part j’essaye de maintenir le rythme donné par Manu. Je sens néanmoins que ce rythme, basé sur la prudence, sera trop optimiste pour moi. Et mes muscles ne vont pas tarder à me confirmer mon ressenti.

La course continue et Jean-Michel me rejoint et nous partageons les km jusqu’au semi que nous franchissons ensemble. C’est une moitié de faite et nous voilà sur « le retour ».  Mais je lui indique clairement à ce moment là, qu’il pourra continuer sans moi… les douleurs arrivent et « ma course » commence maintenant.

Même si avec un passage au semi en 2h06 il n’y a rien de dramatique en temps normal, la suite va s’annoncer compliquée. Le 28ème km marque le gros changement dans la douleur, les muscles devenant de plus en plus douloureux, les tensions étant multiples, que ce soit au niveau des mollets, des cuisses, et même de la plante des pieds (les premières crampes font leur apparitions) la suite va être très difficile.

Le passage au 30ème km se fera 1h plus tard, ce qui reste cohérent avec mon allure depuis le début de ce marathon, mais je ne le sais que trop bien, lorsque les douleurs surviennent, c’est vers le 32/33/34km que le pic arrive et c’est ainsi que cela s’est passé pour moi.

Pas de surprise, sans préparation correcte, point de miracle, même si je dois dire, j’espérais pouvoir gérer mieux que cela en diminuant mon allure de base dès le début.

J’ai commencé à alterner la marche et la course, 200 mètres de marche, 800 de course. J’en ai profité pour discuter avec d’autres coureurs en difficultés, ccertains prenant le même rythme que moi et faisant donc un bout de course à mes côtés.

A ces moments là, je dois dire que je me suis posé la question « mais qu’est ce que tu fous là ! Pourquoi encore te faire « mal » à ce point. Hé oui, je n’avais pas eu ce genre de douleurs depuis très très longtemps.

Au 35ème km, Eric arrive à ma hauteur, et sympathiquement me demande s’il doit rester à mes côtés pour m’épauler. Mais…il est fou !!!! 🙂 Je décline bien sur sa proposition, chacun sa course, et aujourd’hui c’est à mon tour d’être dans la difficulté. Je le vois donc doucement s’éloigner, tout en continuant de m’étirer, le quadriceps, ou les mollets, je ne sais plus, tout était douloureux !!

Je marche beaucoup, mon cardio n’est absolument pas à son maximum bien au contraire, mais mes muscles ne veulent plus. Je discute encore avec quelques coureurs/coureuses et les km avancent tout doucement. Même les derniers km en descente ne sont plus vraiment un plaisir, seule l’arrivée est attendue.

Le 40ème est mémorable avec une crampe des plus intense au quadriceps gauche, jambe bloquée, douloureuse et impossible à évacuer..il me faudra 3 bonnes minutes pour faire passer cela.

Nous sommes au centre ville et courons pour un dernier km dans les rues où les spectateurs donnent de la voix, c’est agréable, même si je vais très doucement, je fais attention de ne « pas cramper » au risque de voir tous mes muscles se figer, je maintiens donc une allure très basse afin de terminer et franchir cette ligne d’arrivée la tête haute. Enfin là voilà ! 

Le chrono affiche un temps plus élevé que d’habitude mais en dessous de mon temps maximum prévu (5h). La course est finie, maintenant place à la détente et au repos.

J’attends quelques minutes, Manu ne devrait pas tarder, mais la sensation de froid (transpiration oblige) me fait me diriger vers la salle réservée aux coureurs du marathon,. Je récupère ma médaille au passage et rejoins Jean-Michel et Eric qui nous attendent bien au chaud.

Manu ne tarde pas et nous voilà prêt  pour la photo des finishers

Manu, Jean-Michel, Eric et moi

Un grand bravo à  tous car Manu, malade avant la course connaissait déjà son déroulement et l’issue pour lui, moi, il en était de même mais pour un manque de préparation à cette distance et les résultats concordent avec notre forme du moment. A Eric car il a réussi à maintenir son ryhtme et son effort tout du long, et à Jean-Michel, car il signe le meilleur temps de nous quatre et son meilleur temps également. Et puis un grand bravo aussi car tous ont su trouver les ressources et sont restés dans la bonne humeur malgré tout.

Récupération active

QuiTempsClassementCercié – Au 17èmeCharentais – Au semiArnas – Au 30èmeMoyenne
Jean-Michel04:00:18458/20411:41:2202:06:5102:59:0710,44 km/h
Eric04:35:09839/20411:50:2902:21:3603:21:209,13 km/h
Olivier04:45:39989/20411:40:4602:06:5103:07:168,79 km/h
Manuel04:49:431045/20411:42:1002:10:2803:15:068,67 km/h

Photos globales

Mes photos

10km de La Wantzenau (2022)

La sortie du jour se passe à La Wantzenau, bien pratique pour moi je dois dire. Le temps est frais et humide mais qu’à cela ne tienne, je vais prendre cela comme la sortie dominicale.

Aujourd’hui, accompagné de Oriane, qui à vrai dire est motivée un maximum au vue des conditions climatiques (it’s a joke) et de son état de fatigue. Qu’importe nous nous dirigeons vers la salle de sport afin d’y récupérer les dossards et partir dans les 20mn pour arpenter les rues de La Wantzenau. Nous avons choisis la version « route », composée de 2 boucles de 5 km, plus « propre » que la version nature par ce temps. 

L’anecdote avant le départ… nous avions des affaires mais pas de vestiaire aussi j’ai vite fait l’aller/retour à la voiture et suis revenu 1mn avant le départ, soit 1,6km d’échauffement…comment dire, à vraiment bonne allure . En apnée avant de commencer !!!

Me voilà de retour, je retrouve Oriane, et à peine le temps de se positionner que le départ est donné. Il y a du monde, nous sommes un peu derrière mais arrivons rapidement à nous frayer un chemin, et passons devant le meneur d’allure des 50mn. Pfuii…vais je tenir ? C’est rapide quand même.  Et au vue de la forme affichée lors de la dernière course de Oriane, je sens bien qu’il n’y aura sans doute pas de ralentissements. Les km passent  doucement, l’allure reste soutenue, en tous les cas au dessus des 12km/h, et nous maintenons le cap, même si je souffle et reste en apnée !

La première boucle est terminée, et nous profitons du ravitaillement pour marcher quelques pas, puis nous reprenons notre rythme. Quoi que nous ayons un peu diminué l’allure mais… pour une courte durée, à peine un km 🙂 car, malgré la fatigue, nous arrivons à maintenir le cap (le chrono pour témoin).

L’arrivée est toute proche et nous ne lâchons rien, même si les dents grincent un peu. Un dernier virage et nous entendons les encouragements du public proche de l’arrivée, nous y sommes presque, un dernier effort et ce sera fait. C’est fait.

Nous franchissons cette ligne d’arrivée dans un temps des plus honorables. Une belle sortie, une bonne course et il ne nous reste plus qu’à récupérer et profiter du dimanche après midi bien au chaud.

Fatigués ? même pas 🙂
QuiTempsDistanceClassement
Oriane00:48:3910 km446/664
Olivier00:48:3910 km447/664
Allure

Alexa-Api

Plugin Alexa-API

Note sur les versions :

Vous avez le choix entre la version Stable ou la version Beta.

Beaucoup de nouvelles fonctionnalités sont toujours plus présentes sur la Beta que sur la Stable mais elles sont en test.

Si vous êtes joueur et curieux, vous pouvez installer la version Béta.

Nota  Vous n’avez pas besoin d’installer Jeedom en Beta (c’est plutôt déconseillé d’ailleurs) pour installer le plugin en Béta.

Vous pouvez assez facilement passer d’une version Beta à une version Stable et réciproquement, il suffit de réinstaller par dessus l’autre version.

Générer manuellement le cookie Amazon

installationalexaapi7

S’identifier sur la pop-up d’Amazon

installationalexaapi8

Fermer la fenêtre dès que le Cookie Amazon est créé.

Lancer le Daemon s’il ne se lance pas tout seul

installationalexaapi9

Lancer le SCAN

installationalexaapi10

Les devices apparaissent, aller dans un device et dans Commandes lancer un Speak pour tester

Et voilà, Alexa parle en moins de 5 min !!

Mise à jour ou Changement de version

Que faire ?

Le plugin et son API étant vivants (Amazon n’ayant pas documenté l’API se permet de modifier au fil de l’eau ses protocoles), les mises à jour permettent d’apporter des corrections dans les liens entre le plugin et le serveur Amazon.

Trois solutions pour avoir une installation opérationnelle :

  • Supprimer tous les équipements Amazon et leurs commandes et les recréer
  • Forcer la mise à jour de toutes les commandes
  • Lancer un SCAN qui détecte les nouveaux équipements ou les nouvelles commandes

Le choix entre ces trois solutions dépend du nombre de scénarios que vous avez développés grâce au Plugin Alexa-API. En effet, la première solution supprime tous les devices et toutes les commandes, elle supprimera donc celles-ci dans vos scénarios. La seconde solution est plus respectueuse de vos scénarios car elle mettra à jour vos commandes sans les supprimer et donc vos scénarios seront intacts mais si elle ne fonctionne pas, vous devrez utiliser la solution 1.

Solution 1 : Supprimer tous les équipements et leurs commandes et les recréer

C’est le mode le plus propre et le plus optimisé puisque vous repartez avec une installation comme neuve des devices et de leurs commandes.

Pour se faire, il faut utiliser le boutonboutonalexaapi1

Attention, cette fonction supprime tous les équipements et leurs commandes, vous perdez donc tous les liens dans vos scénarios.

Solution 2 : Forcer la mise à jour de toutes les commandes

C’est le mode le plus simple et sans risque puisque vos équipements et leurs commandes ne sont pas supprimés. Ce forçage n’impacte donc pas vos scénarios.

Pour se faire, il faut utiliser le bouton boutonalexaapi2

Si vous ne souhaitez pas lancer le forçage de mise à jour sur toutes les commandes de tous les équipements, vous pouvez le lancer sur un seul équipement (et donc sur toutes ses commandes). Pour cela, rendez vous sur l’équipement concerné et cliquez sur :

boutonalexaapi3

Solution 3 : Le SCAN

boutonalexaapi4

Notez enfin que le scan peut être lancé à tout moment, il n’impacte pas les équipements déjà détectés ni les commandes existantes, par contre, il recrée tous les nouveaux devices ou les devices supprimés. Il recrée également toutes les nouvelles commandes ou les commandes supprimées.

Les écrans de gestion

Screenshot 2019 10 27 Alexaapi Jeedom

Scan

Permet de lancer automatiquement la détection de tous vos devices, vous pouvez le lancer quand vous le souhaitez, il ne supprime jamais de device ou de commande, pas de risque.

Configuration

C’est tout le moteur de paramétrage. si quelque chose ne semble pas assez intuitif, merci de nous le signaler, nous le documenterons ou le rendrons plus simple.

Santé

Donne des indications sur la santé de vos équipements

Routines

Donne la liste des routines enregistrées sur votre compte Amazon et permet de les lancer manuellement

Rappels/Alarmes

Donne la liste de vos alarmes ou rappels, permet de les supprimer. La désactivation manuelle ne fonctionne pour l’instant plus.

Historique

C’est tout l’historique de l’activité de vos équipements Amazon, donne l’indication de succès le cas échéant.

Requêteur Info

Réservé aux utilisateurs avertis, il permet de questionner le serveur Amazon

Requêteur Action

Réservé aux utilisateurs très avertis, il permet de lancer des requêtes brutes au serveur Amazon

Les tuiles

A ce jour, chaque équipement peut générer 3 tuiles.

  • La tuile principale de l’équipement avec ses intéractions avec vous, vos ordres de speak, les alarmes/rappels, le volume et la possibilité de lancer les routines
  • La tuile du player multimédia
  • La tuile de la playlist en cours

La tuile de l’équipement principal

widgetprincipal

A : C’est la dernière intéraction avec vous, notez que vous pouvez récupérer cette information et l’utiliser dans un scénario.

B : Vous pouvez lancer une routine en la sélectionnant dans la liste déroulante

C : Le volume, notez qu’il se met à jour si vous modifiez le volume sur l’appareil. (Le volume d’un groupe est imposé à tous les devices du groupe)

D/E/F : C’est la prochaine alarme, alarme musicale ou rappel.

G : C’est un formulaire qui permet de faire parler Alexa.

La tuile du player multimédia

widgetplayer

La tuile de la playlist en cours

widgetplaylist

Commandes simples

Principe

Les commandes simples sont préinstallées à la détection des devices, vous disposez ainsi de commandes immédiatement utilisables.

Les commandes préinstallées peuvent être utilisées en l’état dans des scénarios.

Sachez que toutes les commandes peuvent faire l’objet d’une adaptation personnelle, les utilisateurs avertis pourront créer leurs commandes et les personnaliser grâce aux paramètres possibles de chaque commande.

Cette documentation ne s’attarde que peu sur les commandes simples car leur utilisation est réfléchie pour être intuitive, par contre, les commandes complexes sont détaillées dans le prochain chapitre.

Prochaine Alarme

Prochaine Alarme Musicale

Prochain Minuteur

Prochain Rappel

Ces 4 commandes INFO fonctionnent de la même manière.

Elles sont mises à jour automatiquement par le plugin (par MQTT et par CRON)

Le résultat est donné au format suivant : 2019-12-02 21:10:00

Si vous le voulez dans un autre format 2110 par exemple, un tuto explique comment faire.

Faire parler Alexa en SSML

Amazon a intégré le SSML à ses équipements et cela permet de rendre extrêmement naturel la manière de parler. Vous pouvez personnaliser davantage les phrases en fournissant des détails sur les pauses, ainsi que la mise en forme audio des acronymes, des dates, des heures, des abréviations…, vous pouvez également choisir la langue de lecture, une citation ou une expression en langue étrangère pourra ainsi être lue avec l’accent étranger dans un texte de votre langue d’origine.

Contrairement aux autres commandes permettant de faire parler Alexa, sur cette commande, le choix a été fait de respecter scrupuleusement la syntaxe du protocole SSML, balises comprises. Il faudra donc utiliser les balises d’ouverture et de fermeture et être rigoureux dans la manière de coder ces phrases.

Voici des exemples :

<speak>
<voice name="Conchita">
<prosody  rate="medium" pitch="high">
Yé m'appel Conchita. yé fé lé ménache partou dans la maichon.</prosody></voice>
</speak>

ou

<speak>
Bonjour je peux lire du <say-as interpret-as="characters">SSML</say-as>.
Je peux faire une pause <break time="3s"/>.
Un chiffre cardinal <say-as interpret-as="cardinal">10</say-as>.
en ordinal <say-as interpret-as="ordinal">10</say-as>.
ou digit <say-as interpret-as="characters">10</say-as>.
</speak>

ou encore

<speak><amazon:effect name="whispered">Bonjour, je suis un fantôme</amazon:effect></speak>

Quelques liens intéressants :

Lancer une annonce (donc sur tous les appareils)

A ce jour, nous ne savons pas encore exploiter la commande “Annonce” présente dans l’appli smartphone Alexa, mais nous pouvons faire la même chose grâce à la la commande “Parler à Alexa”

Ainsi, pour faire une annonce “Le facteur est passé, il faut faire (dans un scénario) :

  • Commande Parler à Alexa
  • Mettre le message dans Message Alexa annonce le facteur est passé

Commandes complexes

Principe

Les commandes simples (paragraphe précédent) sont préinstallées à la détection des devices, vous disposez ainsi de commandes immédiatement utilisables.

Les commandes complexes sont accessibles aux utilisateurs expérimentés et leur utilisation est bien plus difficile mais elles sont bien plus puissantes.

Notez que les commandes simples peuvent être personnalisées. Elles deviendront des commandes complexes.

Pour cela, utilisez le bouton (sous le tableau des commandes) :

boutonajoutercommandeaction

Vous pouvez vous aider des commandes préinstallées pour en copier la syntaxe et utilisez la documentation ci dessous pour connaitre toutes les options possibles. Si vous souhaitez une autre fonction, un autre format ou que vous ne trouvez pas votre bonheur, contacter l’équipe de création du plugin, il y aura toujours une solution pour vous.

Nota : Pour que la commande “Ajouter une commande action” soit active, il faut cocher cette case dans la configuration du plugin :

Screenshot 2019 12 14 Alexa API Jeedom

alarm?when=#when#&recurring=#recurring#&sound=#sound#

Cette commande permet d’ajouter une alarme au device dans lequel est créée la commande.

Voici les options :

  • when=YYYY-MM-DD HH24:MI:SS

exemple : 2019-12-31 21:36:00

Notez que les alarmes sont différentes des rappels et doivent être dans un créneau de 24h (une alarme pour le 31/12 au mois d’avril est impossible contrairement aux Rappels)

Ainsi, si aucune récurrence n’est programmée (par le paramètre recuring), seule l’heure est prise en compte, le jour est ignoré par Amazon.

  • recurring=#recurring#

La programmation de ce paramètre est bien plus aisé par un scénario puisqu’une liste déroulante vous permet de facilement choisir la récurrence. Mais cela peut être fait manuellement dans une commande action avec le codage suivant :

P1D=Tous les jours
XXXX-WD=En semaine
XXXX-WE=Week-ends
XXXX-WXX-1=Chaque lundi
XXXX-WXX-2=Chaque mardi
XXXX-WXX-3=Chaque mercredi
XXXX-WXX-4=Chaque jeudi
XXXX-WXX-5=Chaque vendredi
XXXX-WXX-6=Chaque samedi
XXXX-WXX-7=Chaque dimanche

  • sound=#sound#

Il s’agit du son de l’alarme, #sound# peut être remplacé par :

system_alerts_melodic_01 pour Alarme simple
system_alerts_melodic_01 pour Timer simple
system_alerts_melodic_02 pour A la dérive
system_alerts_atonal_02 pour Métallique
system_alerts_melodic_05 pour Clarté
system_alerts_repetitive_04 pour Comptoir
system_alerts_melodic_03 pour Focus
system_alerts_melodic_06 pour Lueur
system_alerts_repetitive_01 pour Table de chevet
system_alerts_melodic_07 pour Vif
system_alerts_soothing_05 pour Orque
system_alerts_atonal_03 pour Lumière du porche
system_alerts_rhythmic_02 pour Pulsar
system_alerts_musical_02 pour Pluvieux
system_alerts_alarming_03 pour Ondes carrées

reminder?text=#message#&when=#when

Cette commande permet d’ajouter un rappel au device dans lequel est créée la commande.

Voici les options :

  • when=YYYY-MM-DD HH24:MI:SS

exemple : 2019-12-31 21:36:00

  • text=#message#

Vous avez la possibilité de donner un titre à votre rappel.

whennextalarm?position=1&status=ON&format=hour

Nota : Cette commande est masquée, c’est elle qui donne le résultat dans la commande info : Next Alarm Hour

Cette commande permet de renvoyer la prochaine alarme du device dans lequel est créée la commande.

Attention, cette commande est une commande ACTION, elle doit être reliée à une commande INFO qui affichera le résultat, regardez l’explication en dessous de la description des options.

Voici les options :

position=x

  • Mettre 1 pour la prochaine alarme
  • 2 pour la suivante
  • et ainsi de suite

Par défaut, position=1 si non spécifié

status=x

  • Mettre ON pour prendre en compte uniquement  les alarmes actives
  • Mettre OFF pour prendre en compte uniquement les alarmes inactives
  • Mettre ALL pour prendre en compte toutes les alarmes

Par défaut, status=ON si non spécifié

format=x

  • Mettre hour pour avoir un résultat au format HH:MM (Attention, cet affichage est dangereux dans le cas où vous programmez des alarmes au dela de 24h, cela est possible avec les répétitions)
  • Mettre hhmm pour avoir un résultat au format HHMM
  • Mettre full pour avoir un affichage détaillé yyyy-MM-dd’T’HH:mm:ss.SSS

Par défaut, format=hhmm si non spécifié

Nota : Si vous avez besoin d’un autre format, n’hésitez pas à me le demander, je l’ajouterai dans la prochaine version.

Création de la commande INFO qui affichera le résultat de la commande whenNextAlarm

La commande INFO qui vous donnera le résultat de le la commande WhenNextAlarm sera créée automatiquement dès que le champ Nom de la commande Info se trouvant dans la colonne Résultat dans sera rempli.

Explication de l’interaction entre la commande ACTION et la commande INFO

  • Quand vous lancez la commande ACTION, le serveur Amazon est interrogé et la résultat est affecté à la commande INFO
  • Quand vous lancez la commande INFO, Jeedom vous donnera donc le résultat de la commande ACTION correspondante

(Tout cela est conçu dans la même logique que le plugin Virtual)

Nota : S’il n’y aura pas d’alarme prochaine, le serveur répond “none”.

whennextmusicalalarm?position=1&status=ON&format=hour

Fonctionne comme whennextalarm mais pour les alarmes musicales.

musicalalarmmusicentity?position=1&status=ON

Fonctionne comme whennextmusicalalarm mais fournit l’information MusicEntity qui correspond à ce qui va être joué à l’heure de l’alarme.

whennextreminder?position=1&status=ON

Nota : Cette commande est masquée, c’est elle qui donne le résultat dans la commande info : Next Reminder Hour

Cette commande donne le prochain rappel, elle fonctionne exactement comme WhenNextAlarm.

deleteallalarms?type=alarm&status=all

Cette commande supprime tous les rappels et/ou alarmes du device dans lequel est créée la commande.

Voici les options :

type=x

  • Mettre alarm pour ne supprimer que les alarmes
  • Mettre reminder pour ne supprimer que les rappels
  • Mettre all pour supprimer les alarmes et les rappels

Par défaut, type=alarm si non spécifié

status=x

  • Mettre ON pour ne supprimer que les alarmes et/ou rappels actifs
  • Mettre OFF pour ne supprimer que les alarmes et/ou rappels inactifs
  • Mettre ALL pour supprimer toutes les alarmes et/ou rappels

Par défaut, status=ON si non spécifié

Nota : Pour que la suppression fonctionne, il faut que l’Alexa soit connecté !!

history?maxRecordSize=50&recordType = ‘VOICE_HISTORY’

Toute nouvelle commande en test qui va chercher l’historique.

  • maxRecordSize indique le nb d’enregistrement à remonter (50 sur le plugin)
  • recordType est probablement le type d’enregistrement, VOICE_HISTORY est la valeur par défaut, on ne connait pas les autres valeurs possibles.

command?command=#command#

Cette commande envoie une commande au device dans lequel est créée la commande.

Deux manières d’utiliser cette commande :

  • Avec un scénario

En passant par un scénario, vous laissez command?command=#command# comme commande action et vous aurez une liste déroulante dans le scénario, la liste déroulante vous propose toutes les commandes possibles.

  • Avec une commande directe

Dans ce cas, c’est au niveau des commandes du device que vous allez créer une commande action par commande à envoyer à Alexa.

Vous utiliserez ainsi la syntaxe suivante : command?command=play pour lancer un play et command?command=pause pour faire une pause et ainsi de suite avec les commandes : pause play next prev fwd rwd shuffle repeat

Nota : STOP n’existe pas chez Amazon, il faut utiliser PAUSE

radio?station=#select#

Cette commande lance une station de radio sur le device dans lequel est créée la commande.

Pour une meilleure utilisation en Dashboard, cette commande a été simplifiée. On peut maintenant sélectionner la radio souhaitée plutôt que de connaitre par cœur le code (s0000) de la radio.

Ainsi, il faut dans un premier temps “configurer” ses stations de radio dans la partie commandes du player qui va la lire.

Screenshot 2019 11 08 Alexaapi Jeedom

Par défaut, sont configurés : s2960|Nostalgie;s6617|RTL;s6566|Europe1

Il suffit de respecter le format idStation1|Nomstation1;idStation2|Nomstation2

Une fois vos stations configurées, vous pourrez les choisir sur le widget de la radio :

radios

Les stations :

Pour trouver les id des stations, allez sur le site https://tunein.com/radio/home/

Vous choisissez votre radio, et pour avoir l’id, cliquez sur partager, vous verrez dans le lien quelque chose qui commence par un s suivi de chiffres, c’est l’id.

Notez que le plugin est capable de vous donner l’id de la station en cours de lecture, la procédure est identique à TrackID, regardez ici

Utilisation d’une commande radio dans un scénario

Pour utiliser une commande radio dans un scénario, il faut être un utilisateur expérimenté (dans la config) et savoir créer une nouvelle commande (dans le device player) :

Screenshot 2019 11 08 Alexa API Jeedom

Screenshot 2019 11 08 Alexa API Jeedom1

Sur cette nouvelle commande, on configure de manière très simple en figeant l’id de la station (ou en utilisant une variable), par exemple :

Screenshot 2019 11 08 Alexaapi Jeedom1

routine?routine=#select#

Cette commande lance la routine spécifiée.

Deux manières d’utiliser cette commande :

  • Avec un scénario

En passant par un scénario, vous laissez routine?routine=#select# comme commande action et dans le scénario, dans le champ “ID routine”, spécifiez l’identifiant de la routine, cf. paragraphe ci dessous pour trouver cet identifiant.

  • Avec une commande directe

Dans ce cas, c’est au niveau des commandes du device que vous allez créer une commande action.

Vous utiliserez ainsi la synthaxe suivante : routine?routine=xxxxx pour lancer la routine dont l’ID est xxxx

Pour trouver l’ID Routine :

Vous pouvez trouver facilement l’ID des routines en consultant l’écran “Routines” du plugin, dernière colonne de droite.

playmusictrack?trackId=#select#

Cette commande lance la lecture de la piste de lecture Amazon music par son numéro de trackID.

Les trackID se configurent dans la commande action Ecouter une piste musicale dans votre équipement device, il s’agit d’une liste déroulante, donc avec la syntaxe suivante :

53bfa26d-f24c-4b13-97a8-8c3debdf06f0|Piste1;7b12ee4f-5a69-4390-ad07-00618f32f110|Piste2

Vous pouvez donc modifier vos pistes et leurs noms.

Screenshot 2019 11 03 Alexaapi Jeedom

Une fois la commande configurée, vous n’aurez plus qu’à utiliser la liste déroulante qui sera proposée, autant sur le Dashboard que dans les scénarios

Comment trouver le trackID d’une piste Amazon-Music ?

Le plugine Alexa-API est capable de vous donner le trackID de la piste qui est en cours de lecture.

Pour cela, suivez ces étapes :

  • Allez dans les commandes de l’équipement que vous utilisez et cochez la case Afficher de la commande Amazon Music Id

amazonmusicidtrack

  • Une note de musique va apparaitre sur le Dashboard, sur la tuile de votre équipement, c’est ici qu’apparaitra l’ID
  • Lancez la musique et relevez l’information ainsi affichée

amazonmusicidtrack2

  • Vous gardez ou pas l’information sur votre dashboard, pour la supprimer, décochez Afficher de la commande Amazon Music ID

Notez que cela fonctionne également pour trouver l’ID d’une station de musique lançable avec radio?station=#select#

Il a été constaté par contre que pour certaines playlist, l’ID ne remontait pas. Pour être certain de l’avoir, lancer uniquement la piste que vous souhaitez (et non dans une playlist).

Autres fonctionnalités

Modifier l’icone des players

Les images des tuiles des players sont les images envoyées par les serveurs des fournisseurs de musique.

Ces images sont des liens temporaires et donc vous pouvez vous retrouver avec des images vides. Cela donne cela :

tuile

Pour éviter cela, les players ont été modifiés et en cas d’absence d’image, la miniature du lecteur est affichée, cela donne :

tuile2

Si vous souhaitez modifier l’image, il suffit de remplacer le fichier logourl.png qui se trouve dans :

plugins/alexaamazonmusic/core/config (par exemple, modifiez amazonmusic pour les autres players)

Utilisation de balises pour les interjections et les sons

Pour la fonctionnalité “Faire parler Alexa” mais cela fonctionne également pour les autres méthodes pour faire parler Alexa, il est mis en place deux nouveautés. Les interjections et les sons de la bibliothèque.

  • Les interjections FR sont décrites ici, les autres pays ont aussi leur page.
  • Les sons de la bibliothèque sont décrits ici

Pour faciliter l’envoi de commandes, il a été imaginé dans Alexa-API un système de balises.

Les sons de la bibliothèque Amazon

Par exemple, au lieu d’envoyer

<audio src=”soundbank://soundlibrary/animals/amzn_sfx_lion_roar_01″/>

on peut tout simplement ajouter

#animals/amzn_sfx_lion_roar_01#

Lancera le rugissement d’un lion.

Beaucoup d’ autres sons sont dans la bibliothèque de sons d’Amazon.

Les interjections

Sur un principe similaire aux sons de la bibliothèque, les interjections sont à mettre entre balise #

Exemple :

Enchaînement texte et interjection

Attention, contrairement aux sons qui peuvent être noyés dans les phrases, les interjections doivent être dans des phrases séparées, ainsi cet exemple ne fonctionnera pas :

Pour que l’interjection soit prise en compte, il faut la mettre dans une phrase séparée, donc ajouter un point :

Slider du Volume

Dans la version Avril 2021, le slider du volume a totalement été revu.

Le widget de Noodom (un très grand merci à lui) a été refondu et intégré dans les widgets.

Le widget ressemblait à :

(Utilisez Alexaapi/Volume_legacy maintenant pour avoir ce widget)

et il devient :

(Correspond maintenant à Alexaapi/Volume)

L’encombrement est le même pour être compatible avec les designs personnalisés de chacun.

Personnaliser le widget

Le widget est totalement personnalisable, il suffit d’utiliser les variables du widget NooSlider, une doc est disponible avec tous les paramètres facultatifs.

Par défaut, les paramètres envoyés sont :

  • displayedValues = “0,20,40,60,80,100”
  • step = 10
  • width = 200
  • height = 50
  • handleSize =15
  • cursorLeftPos =50
  • cursorTopPos = 88
  • paramètre top non définit par défaut, cf un peu plus bas.

Pour personnaliser votre widget, vous pouvez ajouter le paramètre en Paramètres optionnels widget de la commande action “Volume”, par exemple :

Revenir au précédent Widget

Dans l’hypothèse où vous souhaitiez conserver l’ancien widget, pas de panique, il est toujours dans le plugin. Sélectionner Volume_legacy 😉

Amélioration de la disposition du widget

Un paramètre top est disponible pour caler l’espacement haut du widget, il suffit de le spécifier ainsi :

Supprimer le logo haut-parleur

Si le petit logo du haut-parleur qui indique le son, hérité de la version précédente du plugin vous gène :

Pas de panique, il est tout simple de le supprimer, allez sur votre équipement, puis dans commandes, cliquez sur ce petit logo en question tout à gauche, il va disparaitre et sauvegardez. Il n’est plus là. (si “Volume” apparait, décocher “Afficher le nom” dans les options du Widget)

Information Mute

Une nouvelle information arrive sur le widget des équipements Alexa.

C’est l’information Mute qui apparait quand on dit à Alexa : Alexa coupe le son.

Cet article n’est qu’une reproduction, l’original est ici : Source : https://abarrau.github.io/jeedom-plugins-doc/iCalendar/fr_FR/

Merci à l’auteur de ce plugin, que j’utilise au quotidien (mais pas toujours facile de retomber sur mes pieds, d’où l’intégration de la documentation pour mon usage personnelle)

iCalendar

Description

Ce plugin iCalendar vous permet de récupérer les événements d’un agenda gérant le format de fichier iCalendar, dans un fichier .ics :

  • soit en téléchargement d’un fichier ics (google, zimbra, outlook, …)
  • soit en Caldav (lecture seule pour l’instant avec cache local sur la période de synchro)

L’utilisateur dispose de 3 modes de fonctionnement :

  • tester la présence de l’évènement et l’état de celui-ci via une condition dans un scénario (utilisation de l’opérateur “matches” pour savoir si une chaîne de caractères en contient une autre).
  • définir au niveau de l’événement des “scénarios” ou “actions” qui pourront être automatiquement lancés par Jeedom, en début ou en fin d’événement.
  • reconnaissance d’une “interaction” sur le contenu du titre ; après, à vous de définir les actions produites par l’interaction.

Point d’attention (Suivi de ce plugin au 18/01/20) :

  • iCalendar n’offrira plus d’évolution fonctionnelle majeure ; toutefois, il sera maintenu pour le garder compatible avec les évolutions du core de Jeedom.
  • la version courante (1.5.2) est optimisée pour être compatible v4, mais pas spécialement pour la v3 (tout problème d’ergonimie sous v3, ne sera plus pris en compte).

Configuration

Ce plugin permet de retourner les évènements de votre agenda iCalendar, il suffit pour cela de créer un équipement et de lui ajouter autant de “commandes” que vous avez d’agendas à traiter. Même s’il y beaucoups de paramètres, la configuration du plugin est simple : les paramètres par défaut peuvent être conservés, ce qui facilite la création.
Vous pouvez l’utiliser pour l’affichage d’agendas tout simplement ou pour récupérer des agendas vous permettant de réaliser des actions dans votre installation Jeedom.

# Installation et configuration du plugin

Après téléchargement du plugin, vous devez l’activer pour profiter de ses fonctionnalités.
Des paramètres de configuration vous sont proposés, mais les valeurs par défaut peuvent être conservées.

Install

Paramètre Type Description
TimeOut de syncrho Zone de liste Cette option vous permet de définir le temps que vous souhaitez laisser au plugin pour récupérer les données issues du calendrier distant.
Théoriquement, cette action est assez rapide, mais ce paramètre est disponible en cas de besoin.
Les valeurs possibles sont : 5 sec / 15 sec / 30 sec.
Pannel: vue par défaut Zone de liste Lorsque vous allez sur l’écran “Panel”, cette option précise la vue qui sera affichée par défaut pour l’utilisateur.
Les valeurs possibles sont :
– Calendrier: jours
– Calendrier: 4 jours
– Calendrier: semaine
– Calendrier: mois
– Actions: planning
Afficher le panel desktop Checkbox Si coché, le panel “calendrier” sera affiché.

Une fois l’activation réalisée depuis la page des “équipements”, vous pourrez ajouter de nouveaux calendriers iCalendar.

Page Equipement

Remarque : Le bouton “Aide à la saisie d’actions au sein d’un événement” vous permet d’assister à la création du format à placer dans le champ description de votre événement.
Pour rappel, le lancement automatique d’actions par le plugin n’est possible que si l’option “Autoriser les actions/scénarios” est validée au niveau de votre commande agenda. (cf. Annexe 1 : “Aide à la saisie d’un évènement dans votre agenda”).

NOTES :

  • En cliquant sur l’icone tableau à coté de la zone recherche, vous permet de passer d’un affichage “icone” à un affichage sous forme de “tableau”.

Page Equipement tableau

# Description des paramètres de l’équipement

Un bouton “dupliquer”, permet de dupliquer l’équipement et les commandes associées. +

– L’onglet “Equipement” présente les informations standard de Jeedom :

Config. Equipement

Paramètre Type Description
Nom de l’équipement Zone de texte Nom donné à votre équipement agenda iCalendar, il s’affiche sur le widget.
Remarque :
– il est possible de le masquer si vous cochez l’option “Ne pas afficher le nom” dans la configuration de la commande;
– ce nom contient également un lien depuis le dashboard permettant de revenir directement à la configuration.
Objet parent Liste de choix Associe l’équipement agenda iCalendar à un objet (permettant de définir sa position sur le dashboard)
Activer Checkbox
(décoché par défaut)
Si coché, active l’équipement.
Remarque : Si l’option est décochée, l’équipement est désactivé et aucune requête ne sera demandée, échangée avec votre agenda externe; l’équipement est “en attente”.
Visible Checkbox
(décoché par défaut)
Si l’option est cochée, affiche l’équipement.
Remarque : Si l’option est décochée, l’équipement fonctionne normalement; les requêtes continuent d’être envoyées vers votre agenda externe, mais il ne s’affiche pas sur votre dashboard.
Catégorie Checkbox
(multichoix)
Définit la catégorie à laquelle est rattaché l’agenda.

Options de sauvegarde

Paramètre Type Description
Forcer la synchronisation Checkbox Permet de réaliser une synchronisation des données de votre agenda, au moment de l’enregistrement de l’équipement.

– L’onglet “Paramètres complémentaires” :

Config

Paramètres graphique

Paramètre Type Description
Autre Widget Checkbox
(décoché par défaut)
Cette option vous permet de désactiver le widget standard du plugin et donc d’utiliser le widget Jeedom ou de créer son propre widget.
(Il est conseillé de laisser cette option décochée, pour disposer de l’ensemble des fonctionnalités du plugin).
Ne pas afficher la date Checkbox
(décoché par défaut)
Si l’option est cochée, la date est masquée sur le widget; le texte “aujourd’hui : JJ MOIS AAAA (SW)” n’est pas affiché pour le Dashboard et les vues.
Au niveau de la version mobile, le logo avec la date du jour n’est pas affiché.
(multi journée) Format d’affichage Zone de liste Définit le format d’affichage des calendriers (si plusieurs journées sélectionnées).
– “1 journée avec jour de navigation”: permet d’afficher la journée courante ; pour voir les évènements des autres journées, cliquez sur la date.
– “tout affiché”: permet d’afficher tous les évènements pour l’ensemble des jours sélectionnés.
(multi agenda) Format d’affichage Zone de liste Définit le format d’affichage des calendiers, soit en mode vertical (standard) ou en mode horizontal.
Remarque: Ne s’applique que pour la version Dashboard; la version mobile est toujours verticale.
Redessiner la tuille automatiquement Checkbox Permet de redimensionner automatiquement la tuile au niveau du dashboard desktop ou mobile, si le nombre d’évènements change.
Cela évite que la liste sorte en dehors de la tuile.

Paramètres événements

Paramètre Type Description
Ajouter Message sur “action” Checkbox
(décoché par défaut)
Cette option permet d’ajouter un message à la boîte des messages Jeedom, dans le cas où le plugin a déclenché une action, un scénario ou une interaction.
Remarque: Pour cela, il faut avoir autorisé les actions/scénarios ou interactions au niveau de votre commande agenda.
Cette option ne fonctionne pas dans le cas d’une utilisation par déclenchement de scénario sur mise à jour de la commande.
Autorise “Rattrapage” / Période Checkbox
(décoché par défaut)
Liste de choix
L’activation de cette option permet de pouvoir lancer des actions/scénarios/interactions, mmême si l’heure exacte de l’événement est dépassé.
Le plugin dispose alors d’une fenêtre de temps pour déclencher ces actions, si elles n’ont pas été faites dans les temps.
Remarque: Ce paramètre est surtout utile aux petites configurations (RPI1) qui pouvaient par moment se retrouver en dehors de la minute de début ou de fin de l’événement et l’action ne se lançait pas.
(exemple: événement débute à 8h30, hors à 30, il y a beaucoup de crons de lancés. On pouvait constater que le cron minute était en fait traité à 31 ; l’instant T ne correspondant plus à l’heure de début de l’événement, les actions/scénarios associés étaient ignorés)
Cette option peut aussi être utile en cas de coupure de courant courte, vous pourrez rattraper des actions non exécutées.

Les périodes disponibles sont :
– les 2 dernières minutes
– les 5 dernières minutes
– les 15 dernières minutes
– l’heure précédente
Remarque: ces 4 périodes sont glissantes par rapport à l’instant T.

Paramètres traitement

Paramètre Type Description
Log séparée par Agenda Checkbox Permet de séparer les fichiers de logs des agendas (pour une meilleure lecture en mode débug).

# Description des paramètres des agendas

Les agendas peuvent être triés par ordre d’affichage, en cliquant sur l’icône “double flêches” en haut à gauche et en déplaçant le tableau de haut en bas.

Param

Nom et URL

Paramètre Type Description
Nom Zone de texte Permet de donner un nom au calendrier ; cette valeur s’affiche dans la zone de titre du calendier sur le widget.
Nom ics Zone de texte Nom récupéré au niveau du fichier ICS ; valeur non modifiable.
Type d’agenda Zone de liste Vous permet de définir le type d’agenda que vous configurez et la méthode de récupération de l’ICS. Les choix possibles sont :
– récupération d'un fichier ics : correspond au téléchargement d’un fichier issu d’un serveur tiers ;
– lecture d'un agenda CalDav : permet de récupérer le contenu d’un agenda CalDav et d’avoir un fichier ics local ;
URL de l’agenda Zone de texte Définit l’URL du fichier ics. Pour retrouver l’URL, voir l’Annexe 3.
Utilisateur Zone de texte (s’affiche uniquement en “caldav”)
Permet de définir le nom de l’utilisateur du serveur CalDav.
Mot de passe Zone de texte (s’affiche uniquement en “caldav”)
Permet de définir le mot de passe de l’utilisateur du serveur CalDav.
Nom agenda Zone de texte (s’affiche uniquement en “caldav”)
Caldav offrant la possibilité d’avoir plusieurs agendas actifs, vous pouvez spécifier ici le nom de l’agenda à récupérer.
Ce champ n’est pas obligatoire; s’il est non renseigné, le plugin prendra le 1er agenda retourné par le serveur Caldav (“personnal” généralement).
Remarque: un bouton d’aide vous permet de visualiser la liste des agendas disponibles et de copier le nom de l’agenda souhaité.

Données d’utilisation

Paramètre Type Description
Format données Zone de liste
(“événement sur la journée” par défaut)
Définit le “format” à afficher au niveau du widget et contenu dans la commande ; 3 valeurs sont disponibles (cf. Annexe 4) :
– événement sur la journée : affiche et traite tous les évènements de la journée (passés, en cours, à venir) ;
– événement heure à venir : affiche et traite les événements courants, + ceux de l’heure à venir (même s’ils n’ont pas démarré) ;
– événement courant : affiche et traite les événements en cours uniquement ;
Titre uniquement Checkbox
(décoché par défaut)
Cette option n’est disponible que si “format de données” = “ événement courant”.
Le contenu de la commande agenda est alors la plus simpliste possible, elle ne présente que les titres ; tous les paramètres annexes (id, état) à l’événement ne sont pas disponibles.
Remarque: Si vous utilisez cette option, l’option “Autoriser les scénarios/actions” sera INVALIDEE techniquement.
Période à traiter Zone de liste
(“jour courant” par défaut)
Définit le nombre de jours à traiter :
– jour courant : gère les données de la journée courante au niveau de la commande “J0” ;
– + lendemain : gère les données de la journée courante et celles du lendemain (J0+J1) ;
– + 2jours : gère les données de la journée courante et celles des 2 jours suivants (J0+J1+J2) ;
– 1 semaine : gère les données de la journée courante et celles des 6 jours suivants (J0 à J6) ;
Remarque: n’est disponible que si “format de données” = “événement sur la journée”.
Dans le cas où vous êtes dans une configuration supérieure à la journée courante, une icône orange apparait à coté du titre; en cliquant dessus, la liste des commandes associées aux autres journées apparait en dessous du tableau.
Valeur par défaut Zone de texte Valeur affichée par défaut, lorsqu’il n’y a aucun évènement dans le planning.
Remarque: Si rien n’est indiqué, la valeur “Aucun” est retournée.
Indicateurs début/fin Checkbox
(décoché par défaut)
Permet de définir si les indicateurs de début/de fin d’évènement sont utilisés, aussi bien à l’affichage et aussi pour l’execution d’une action/scénario;
– Si coché : les indicateurs “Début” (#;DA;#) et “Fin” (#;FA;#) d’activité sont utilisés en complément de l’indicateur “Actif”
– Si décoché : seul l’indicateur d’état “Actif” est utilisé (#;A;#).
Autoriser les scénarios/actions Checkbox
(décoché par défaut)
Cette option permet au plugin de lancer automatiquement les scénarios ou actions, si la description de l’événement respecte correctement le format attendu pour cette action (cf. Annexe 1 : “Aide à la saisie d’un évènement”).
Autoriser les interactions Checkbox
(décoché par défaut)
Cette option permet au plugin de lancer une recherche d’interaction sur la base du titre de l’événement.
Remarque: cette option ne s’active uniquement que sur les événements qui n’ont pas d’action/scénarios configurés dans leurs descriptions.
Historiser les actions Checkbox
(décoché par défaut)
A chaque action/scénario/interaction lancé par le plugin, l’action produite est tracée (pour ne pas être relancée plus tard).
Cette option permet de conserver ces actions traitées au-delà de la journée courante.
Fréquence synchro Liste de choix
(30 min, par défaut)
L’utilisateur peut configurer la période de rafraîchissement du fichier cache (minimum 30 min) ; (cf. tableau Annexe 2).

Option graphique

Paramètre Type Description
Afficher calendrier Checkbox
(coché par défaut)
Paramètre graphique ; permet de définir si le calendrier doit être affiché dans le widget.
Remarque : ce paramètre n’est que graphique, il n’impacte pas les données (celles-ci continuent d’être traitées, même si l’option est désactivée).
Afficher heure Checkbox
(coché par défaut)
Paramètre graphique ; permet de définir si les heures de début et de fin sont affichées dans le widget.
Remarque : ce paramètre n’est que graphique, il n’impacte pas les données (l’heure continue d’être présente dans la donnée, même si l’option est désactivée).
Afficher heure event de 24h Checkbox
(coché par défaut)
Paramètre graphique ; permet de définir si les heures de début et de fin sont affichées pour les évènements durant toute la journée (24 h) dans le widget.
Le paramètre n’est pas affiché si l’option “Afficher heure” est décochée.
Remarque : ce paramètre n’est que graphique, il n’impacte pas les données (celles-ci continuent d’être traitées, même si l’option est désactivée).
Afficher l’emplacement Checkbox
(coché par défaut)
Paramètre graphique ; permet d’afficher l’information de lieu disponible au niveau de l’événement.
Remarque: Cette information n’est disponible qu’à l’affichage pour l’instant; vous pouvez aussi la récupérer au niveau d’un scénario via la fonction “getLocation”.
Période à afficher Zone de liste Définit le nombre de jours à afficher sur le widget :
– jour courant : affiche les données de la journée courante;
– + lendemain : affiche les données de la journée courante et celles du lendemain;
– + 2jours : affiche les données de la journée courante et celles des 2 jours suivants;
– 1 semaine : affiche les données de la journée courante et celles des 6 jours suivants;
Remarque: le nombre de jours proposés dépend de la valeur sélectionnée au niveau de l’option “Période à traiter”.
Ne pas afficher le nombre d’évènements Checkbox Permet de masquer le nombre d’évènements affichés à côté du nom du calendrier.

Actions et Informations de synchro

Paramètre Description
Paramètre (roue crantée) Permet de définir les options “Jeedom” de la commande.
Tester Permet de tester la commande (affiche le contenu de la commande).
Remarque : la donnée s’affiche uniquement après un 1er rafraîchissement.
Supprimer Permet de supprimer la commande et les commandes rattachées (si agenda sur plusieurs jours).
Date du fichier indique la date du dernier téléchargement et sauvegarde en cache du fichier ics.
Remarque: lors d’une synchronisation, le fichier peut ne pas être sauvegardé en cache, si les 2 fichiers sont identiques.
Un bouton “télécharger”, vous permet de récupérer le fichier actuellement en cache pour une lecture locale sur votre poste de travail.
Date synchro précédente indique la date de la dernière synchronisation entre Jeedom et votre agenda ics.
Date synchro suivante indique la date de la prochaine synchronisation entre Jeedom et votre agenda ics.
Remarque: si la valeur est “STOP”, cela signifie que votre équipement est désactivé.

– Exemple d’un écran listant les noms des agendas CalDav

CalDav

# Présentation du Widget

Le widget se présente sous la forme suivante, si aucun style n’est appliqué :

widget1

widget2    widget3

Au niveau d’un calendrier :

  • Le nombre d’événements est affiché à côté du titre du calendrier ;
    • En passant la souris sur le titre de l’agenda : affiche le type d’affichage, ainsi que les dates de collecte et de valeur ;
  • Les évènements passés sont grisés ;
  • Les évènements en cours sont repérés par une icône “Actif” (mais aussi 1ère minute et dernière minute, si l’option est active) ;
  • Les évènements à venir sont représentés sans indicateur ;
  • Les évènements identifiés avec des actions de type (Scénarios ou Actions) sont représentés par : (seulement si l’option “Autoriser les scénarios/actions” est activée) :
    • Une icône “roues crantées” indique que l’événement déclenche des scénarios ou des actions ;
      • en cliquant dessus, la liste des scénarios ou des actions configurés en début ou fin d’événement est affichée ;
        En cliquant une seconde fois, ou sur une autre roue la fenêtre d’information actuelle se masque ;
      • en cliquant sur le nom du scénario ou de l’action, la page de configuration s’ouvre ;
      • une icône verte apparait à côté de l’action/scénario pour indiquer qu’il/elle a bien été exécuté(e) ;
        En passant la souris sur l’icône, il est possible de voir la date de traitement.
    • Une icône “bulle de BD” indique que l’événement peut déclencher une interaction ;

La seconde image montre comment il est possible de personnaliser le widget en utilisant les class (cf. Annexe 6).

– Autres fonctionnalités :

  • Le widget peut être redimensionné en largeur et hauteur, du moment que les tailles souhaitées soient supérieures à l’espace minimum prévu pour l’affichage des données. En cas de dimensionnement inférieur, un message d’erreur est affiché.
  • Vous pouvez également ré-ordonner les agendas directement via le widget (maintenez la souris enfoncée sur la zone de titre de l’agenda, et déplacez vers le haut ou le bas).

# Présentation du panel : avec liste des actions historisées et visualisation de l’agenda

Vous pouvez atteindre ce menu en sélectionnant le menu “Accueil”, puis “iCalendar”.

Visualisation de l’agenda :

agenda

Après avoir sélectionné un agenda, vous pouvez cliquer sur le type d’affichage souhaité “Calendrier” (bouton en haut à gauche). Vous pouvez alors parcourir votre agenda comme si vous étiez sur la version “distante” (Google, etc…). La période d’affichage est toutefois restreinte ; elle respecte la plage suivante : les 3 mois précédant la date du jour et les 6 mois suivants.

Remarque: Cette période n’est pas paramétrable pour l’instant; elle est juste rappelée en haut à droite de l’écran. Dans le cas de petites configurations, le temps d’affichage de cet écran peut être long la 1ère fois de la journée, un cache est ensuite utilisé tout au long de la journée.

En cliquant sur un événement, une fenêtre apparaît, permettant d’avoir des détails complémentaires.

agenda

Actions historisées :

action

Si vous avez activé “Historiser les actions”, vous pourrez retrouver dans cet écran les actions/scénarios/interactions pour lesquel(le)s une tentative d’exécution a été traitée. En haut à droite, vous pouvez définir la période de visualisation ; par défaut, les derniers jours.

La liste présente par jour, le nom du scénario ou de l’action traitée, avec son heure de traitement. La dernière colonne permet d’avoir des informations sur l’événement associé / ayant demandé le lancement de cette action ou ce scénario. Dans le cas d’une interaction, l’information affichée correspond à la “réponse” retournée par l’interaction (mais en aucun cas son nom) ; si aucune réponse n’a été faite, il est indiqué “Non reconnu”.

En dessous de la date, vous pouvez supprimer les données historisées pour cette journée.

# Utilisation des données

  • Par configuration d’un événement avec valeur des “scénario/action” dans la description de l’événement : Les scénarios et les actions/commandes (si leur id est valide et actif) sont lancés automatiquement à l’heure souhaitée.
  • Par déclencheur dans un scénario : Dans une condition IF, il faut rechercher la présence du nom de l’évènement ; on peut aussi le faire précéder de l’état. La recherche se fait en utilisant l’argument de comparaison “contient” (“matches”, cf. documentation scénario).
Nom uniquement recherche de la présence d’un nom : cmd_iCal matches “/mon event/”
exemple : #[MA_CMD]# matches “/déjeuner/”
Etat actif recherche d’un état actif pour un événement précis : cmd_iCal matches “/A;mon event/”
exemple : #[MA_CMD]# matches “/A;Volet RDC/”
Remarque : ce test contient aussi les états des 1ères et dernière minutes ; pour ne pas en tenir compte, il faut écrire :
#[MA_CMD]# matches “/;A;Volet RDC/”
Etat actif : 1ère minute recherche de la 1ère minute d’un état actif pour un événement précis : cmd_iCal matches “/;DA;mon event/”
exemple : #[MA_CMD]# matches “/;DA;Volet RDC/”
Etat actif : dernière minute recherche de la dernière minute d’un état actif pour un événement précis : cmd_iCal matches “/;FA;mon event/”
exemple : #[MA_CMD]# matches “/;FA;Volet RDC/”
Remarque : La borne de fin sera configurée 1 minute avant l’heure configurée (exemple pour 18h, l’indicateur sera affiché à 17h59); sauf pour 23h59.

En fonction de la version de Jeedom, l’utilisation des doubles côtes ", autour du nom de la commande peut être nécessaire.

L’utilisation de l’état n’a un intérêt que si le paramètre “Format donnée” utilisé est : “événement heure à venir” ou “événement sur la journée”.

REMARQUE: Lorsque l’agenda ne traite qu’un seul événément, l’utilisation du format “événement courant” avec “titre uniquement” n’est pas la seule solution. Vous pouvez très bien utiliser également les formats “heure à venir” et “journée”, en précisant le contenu exact de l’événement. Soit un \#[MA_CMD]#="Congé" en “événement courant”, équivaut à \#[MA_CMD]# matches "/;A;Congé;/" dans un autre format (respectez bien l’utilisation des ;).

# Cron et Rafraîchissement de données

– Récupération des données : Les données récupérées correspondent à une journée complète, mais sont récupérées en fonction du paramétrage défini (minimum 30 minutes); elles sont enregistrées par le cache utilisé par le plugin. Si vous faites des modifications dans votre agenda ics, celles-ci ne seront visibles qu’au moment d’une période de rafraîchissement.

– Cron : Le système vérifie toutes les minutes en cache s’il y a des évènements, et précise l’état de l’évènement (en fonction du format choisi). Il est donc possible de configurer/programmer des évènements à la minute près.

En l’absence d’accès internet, le cache disponible est sur l’ensemble de l’agenda configuré (et non uniquement sur la journée courante).

# “Santé” des échanges réseaux

Afin de vous permettre d’avoir une vision sur la validité des synchronisations, une information est remontée au niveau de la page “Santé”. Dans la session “iCalendar”, vous pouvez voir pour chacun de vos agendas, l’état des 15 dernières synchronisations réalisées :

  • Si la synchronisation s’est correctement déroulée, un o est affiché.
  • Si la synchronisation a rencontré un problème réseau (non accès à l’URL), une X est affichée.

sante

L’ordre de lecture de ces états est le suivant : le 1er de la liste correspond au test de synchronisation, le dernier en date ; la dernière information de la liste correspond à l’état le plus ancien connu. Ces états sont renseignés à chaque synchronisation (soit à chaque période définie dans votre configuration de l’équipement, ou au moment de l’enregistrement de l’équipement si vous avez forcé la synchronisation).

# Annexes

— Annexe 1 : Aide à la saisie d’un évènement “Action” (scénario ou commande action) dans votre agenda

Ce paragraphe vous explique comment configurer un évènement agenda pour permettre de lancer automatiquement les scénarios ou des commandes actions. Pour que le plugin reconnaisse que l’évènement est de type “Action”, il doit se présenter sous une forme particulière au niveau du champ “description” de l’événement.

– Cas du format “Scénario” :

Le format attendu doit être du type : période (DA ou FA)|sc=id du sénario|nom de la variable=valeur de la variableexemple : DA|sc=3|varVolet=ON , pour action à la 1ère minute (DA), lancement du scénario id=”3”, et passage de variable au scénario (variable “varVolet”, avec la valeur “ON”).

Il est aussi possible d’activer ou désactiver un scénario par ce procédé ; ces valeurs sont présentes en fin de liste des choix “nom de la variable”. En saisie manuelle, mettre : “#active” pour activer le scénario ou “#desactive” pour désactiver le scénario. Par contre, ne pas mettre de valeur de variable pour que cette action soit prise en compte. exemple : DA|sc=3|#active Remarque: ces 2 actions ne permettent pas de lancer le scénario, mais juste d’agir dessus.

aide

Champs Description
Type d’action Définit le type d’action à produire (commande action ou scénario), ici “Scénario”
1ère minute : nom du scénario Sélectionner le scénario à exécuter depuis l’évènement à la 1ère minute.
1ère minute : nom de la variable Sélectionner le nom de la variable à utiliser pour un traitement au niveau du scénario ; cette variable sera utilisée pour faire transiter les informations définies au moment de la 1ère minute.
Valeur non obligatoire, si vous n’avez pas besoin de passer de paramètre
Remarque : la variable doit être créée avant l’utilisation de l’aide (pour apparaître dans la liste des variables).
1ère minute : valeur de la variable Valeur à passer à la variable lors du démarrage de l’événement (1ère minute), lors de l’état #;DA;#.
Valeur non obligatoire. Exemple : ON
dernière minute : nom du scénario Sélectionner le scénario à exécuter depuis l’évènement à la dernière minute.
dernière minute : nom de la variable Sélectionner le nom de la variable à utiliser pour un traitement au niveau du scénario ; cette variable sera utilisée pour faire transiter les informations définies au moment de la dernière minute.
Valeur non obligatoire, si vous n’avez pas besoin de passer de paramètre
Remarque : la variable doit être créée avant l’utilisation de l’aide (pour apparaître dans la liste des variables).
dernière minute : valeur de la variable Valeur à passer à la variable à la fin de l’événement (dernière minute), lors de l’état #;FA;#.
Valeur non obligatoire. Exemple : ON
valeur générée Après avoir cliqué sur le bouton “Générer”, cette zone représente la syntaxe générée en fonction des valeurs définies ci-dessus.
Il est possible de lancer plusieurs sénarios à la 1ère minute ou dernière minute.
Un bouton RAZ permet de remettre à vide la zone.

– Cas du format “Action” :

Le format attendu doit être du type : période (DA ou FA)|act=commande(id ou nom)|option de commande=valeurexemple : FA|act=[obj][equipment][cmd]|slider=4 , pour action à la dernière minute (FA), lancement d’une commande action “cmd” de l’équipement “equipement”, et passage de la valeur 4 (commande de type “slider”).

Remarque : les options de commande sont dépendantes de la commande utilisée et donc ne sont pas obligatoires.

aide

Champs Description
Type d’action Définit le type d’action à produire (commande action ou scénario), ici “Action”
Format de la commande Définit si la valeur de l’ID est positionnée ou le format de commande Jeedom (soit [obj][equip][cmd]). Remarque: avec l’id, vous n’êtes pas dépendant du nom de la commande ou de l’équipement. Toute modification sur ce dernier n’aura pas d’impact sur le traitement/l’action de la commande.
1ère minute : commande action Sélectionner le nom de la commande à utiliser à la 1ère minute.
Si cette commande utilise des options (slider, titre/message), vous pourrez alors les compléter.
dernière minute : commande action Sélectionner le nom de la commande à utiliser à la dernière minute.
Si cette commande utilise des options (slider, titre/message), vous pourrez alors les compléter.

– Opération à réaliser :

  • Une fois les informations renseignées, cliquez sur le bouton “Générer”.
  • La zone grise est complétée, copiez là (ctrl + C).
  • Collez (ctlr + V) l’information dans le champs DESCRIPTION d’un évènement de votre agenda.

— Annexe 2 : Fréquence de rafraîchissement

Valeur Heure du rafraîchissement
30 min. Aux minutes : 00, 30, de chaque heure.
1 h. A la minute : 00, de chaque heure.
3 h. A : minuit (00h), 3h, 6h, 9h, 12h, 15h, 18h, 21h.
6 h. A : minuit (00h), 6h, 12h, 18h.
12 h. A : minuit (00h) et midi (12h)
24 h. Unique à minuit (00h)

Remarque : en dehors de ces horaires, aucun rafraîchissement n’est réalisé.

— Annexe 3 : URL privée des agendas Google

Une fois connecté à l’agenda Google, vous pouvez récupérer l’URL PRIVEE de votre agenda comme ceci.

  • Cliquez sur le nom de l’agenda que vous souhaitez récupérer sous Jeedom et choisir le menu “Paramètres de l’agenda” ;
  • Allez à la session “Adresse URL Privée” et cliquer sur “ICS” ;
  • La popup s’ouvre et présente l’URL à copier dans Jeedom ;

— Annexe 4 : Format des données (widget et structure des commandes)

Lorsque la synchronisation est réalisée, le plugin va positionner au niveau de la commande agenda les informations des événements de votre calendrier pour la journée courante.

Il existe 2 formats :

  • version “simple” (diponible pour “événement courant”, avec titre uniquement à OUI) :
    • chaque évènement est séparé par des “||” ;
    • la donnée ne contient que les titres des événements, aucune autre information “technique” n’est présente dans la commande ;
  • version standard/complète (pour tout autre paramétrage) :
    • chaque évènement est séparé par des “||” ;
    • les données au sein d’un évènement sont séparés par des “;” (point-virgule) ;
    • les données disponibles sont :
      • heure_début;heure_fin;statut;titre de l'événement;uid;doAct/doInter;date_update;location
      • où heure_début, et heure_fin sont des bornes de l’événement pour la journée courante ;
      • statut : définit l’état de l’événement à l’instant T; pouvant prendre les valeurs : vide (à venir), DA (1ère minute), A (actif) ,FA (dernière minute), P (passé) ;
      • uid : est l’idée technique de l’événement (utilisée pour la liaison avec des données techniques en cache) ;
      • doAct/doInter : définit si cet événement présente des commandes actions ou scénarios à exécuter en début ou fin d’événement ; ou une interaction en début d’événement.
      • date_update : correspond au timestamp update de l’événement ;
      • location : correspond au lieu de l’événement s’il est défini dans votre agenda.

Remarque :

Le plugin sait gérer différents formats d’évènements :

  • heure au sein d’une journée (ex : 23/02 de 10h à 11h) ;
  • journée complète (ex : 23/02, généralement décrit 23/02 0h à 24/02 0h) : sera transformé en 23/02 0h-23h59 au niveau de la commande et du widget
  • plusieurs journées (ex : 23-25/02) : sera transformé en fonction du jour : 23/02 0h-23h59 , 24/02 0h-23h59, 25/02 0h-23h59
  • plusieurs journées avec horaire (ex : 23/02 à 10h et 25/02 à 14h) : sera transformé en fonction du jour : 23/02 10h-23h59, 24/02 0h-23h59, 25/02 0h-14h

— Annexe 5 : Données des évènements au niveau des scénarios via “fonctions”

Pour rappel, une commande agenda retourne des données brutes respectant les formats de données décrits au niveau de l’annexe précédente. Toutefois, une commande complémentaire est disponible au niveau de chaque “agenda”, nommé _nom de la commande agenda_ (ExecuteFunction-_idCommande_). Cette commande disponible au niveau des scénarios est de type “message” et est composé d’un nom de fonction (titre) et d’argements (message). Après avoir sélectionné cette commande dans une action de scénario, tapez la lettre “g” dans la zone “fonction”, les fonctions disponibles apparaitront (avec en mémo, un rappel de l’utilisation au niveau des arguments).

L’événement recherché ne peut être que sur la journée courante et doit être en cours ou à venir. Les événements passés ne peuvent plus être analysés.

Le titre passé en argument doit être exact également (exemple : absence) ; la fonction “contient” n’est pas encore mise en place. Si plusieurs titres correspondent, le 1er est retourné.

Fonction Description Arguments
getTimeStart donne l’heure de début de l’événement choisi 1/ #title=xxx# : le titre de l’événenement à rechercher, le texte doit être exact ; exemple : title=Volet RDC
2/ #date=xxx# : format de retour pour la date (conforme à la configuration au niveau de Jeedom) les possibilités de format sont équivalentes à celles de php). ; exemple : date=H:i:s ou date=d/m H:i ; par défaut, valeur retournée est au format timestamp.
3/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getTimeEnd donne l’heure de fin de l’événement choisi 1/ #title=xxx# : le titre de l’événenement à rechercher, le texte doit être exact ; exemple : title=Volet RDC
2/ #date=xxx# : format de retour pour la date (conforme à la configuration au niveau de Jeedom) les possibilités de format sont équivalentes à celles de php). ; exemple : date=H:i:s ou date=d/m H:i ; par défaut, valeur retournée est au format timestamp.
3/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getUid donne l’id technique de l’événement choisi 1/ #title=xxx# : le titre de l’événenement à rechercher, le texte doit être exact ; exemple : title=Volet RDC
2/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getTitle donne le titre de l’événement choisi en fonction d’un id 1/ #uid=xxx# : l’id (uid) de l’événenement à rechercher, le texte doit être exact ; exemple : uid=23424houi877sdf@google.com
2/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getLocation donne le lieu de l’événement choisi en fonction d’un id ou d’un titre 1/ #title=xxx# : le titre de l’événenement à rechercher, le texte doit être exact ; exemple : title=Volet RDC
2/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0;
(un id peut aussi être passé en paramètre; exemple: uid=23424houi877sdf@google.com)
getDaySimple retourne une trame simplifiée de tous les événements de la journée courante (quelque soit le statut de l’événement).
Le contenu est : l’heure de début, l’heure de fin et le titre.
1/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getDayTitleOnly retourne une trame simplifiée avec tous les événéments de la journée courante (quelque soit le statut de l’événement).
Le contenu est : uniquement le titre.
Remarque: cette fonction correspond à la même chose que l’option “titre uniquement”, mais ici valable sur toute la journée.
1/ #jour=xxx# : jour à analyser (J1,J2, …); par défaut, valeur retournée pour J0
getDayActifOnly retourne une trame simplifiée avec uniquement les événéments actifs de la journée courante.
Le contenu est : l’heure de début, l’heure de fin et le titre.
Remarque: cette fonction correspond à la même chose que l’option format donnée = “événement courant”.
aucun (zone laissée vide)
getDayActifAndTitleOnly retourne une trame simplifiée avec uniquement les événements actifs de la journée courante.
Le contenu est : uniquement le titre.
Remarque: cette fonction correspond à la même chose que l’option format donnée = “événement courant” et “titre uniquement”.
aucun (zone laissée vide);

Remarque: L’ordre des arguments n’a pas d’importance; par contre, chaque argument doit être disposé sur une ligne différente et respecter le format défini.

Les commandes actions ne retournent pas de valeur, le résultat de la fonction sera donc placé dans une variable de scénario, prenant la forme : nomDeLaFonction_IdCommandeAgenda (exemple: getTimeStart_13456). Pour éviter toute erreur, cet id est rappelé dans le nom de la commande fonction.

Par ailleurs, le traitement étant asynchrone, tout au long du traitement de la commande/fonction la variable de retour est positionnée à “-99”. Dès lors que cette variable passe à une autre valeur, cela signifie que la fonction a terminé son traitement.

Si la fonction n’a rien trouvé ou a rencontré une erreur, la valeur de retour de non traitement est “-1”.

Remarque pour les fonction “getDay…”:

1/ pour l’utilisation de ces fonctions, il est conseillé d’être dans un format de données différent de “événement courant”. En effet, ce format étant déjà très limité, ces fonctions spécifiques de formatage de la trame pourraient ne pas s’appliquer.
Si ce cas s’applique, le retour prendra la valeur “-1” et un message d’erreur sera précisé dans le log.
2/ le séparateur entre les événements est un double pipe “||”.
Si vous souhaitez utiliser un autre séparateur pour de l’affichage dans un mail par exemple, vous pouvez faire un changement de caractère comme suite (ici retour à la ligne) :
str_replace("&#124;&#124;", "\n", variable(getDaySimple_123))

Processus d’utilisation dans un scénario :

  • 1/ Sélectionner votre commande agenda permettant d’exécuter des fonctions au niveau d’une zone “action”.
  • 2/ Dans la zone “fonction”, taper “get” et sélectionner dans la liste la fonction souhaitée (cf. ci-dessus).
  • 3/ Ajouter une commande action avec la fonction “wait” ;
    Remarque: les temps de réponse des fonctions sont relativement rapides, mais il est préférable d’avoir une tempo pour s’assurer que la valeur retournée est bien celle attendue, pour la suite du scénario. La saisie doit être du type : variable(getTimeEnd_12345) != -99 , (avec un timeout de 5sec par exemple).
  • 4/ une fois cette condition passée, vous pouvez utiliser votre variable dans la suite du scénario.
    Remarque: Il est conseillé de faire d’abord un test sur la pertinence de votre variable : autre que “-1”.

scenario

— Annexe 6 : Les classes CSS disponibles

Vous pouvez utiliser 3 paramètres au niveau des options de la tuile de l’agenda pour gérer les couleurs :

bgTitleColor Couleur de fond de la zone de titre (nom de l’agenda, et zone actions)
bgItemColor Couleur de fond de la zone de liste (événements et actions)

Mais pour les utilisateurs qui veulent aller plus loin dans la configuration, voici les classes CSS disponibles pour personnaliser le widget du plugin :

iCalendar_title Zone de titre de la tuile
iCalendar_date Zone de date de la tuile
iCalendar_calTitle Zone de titre de l’agenda
iCalendar_items Zone d’information principale
iCalendar_itemActif évènement “Actif” (en cours)
iCalendar_itemInactif évènement “Inactif” (passé ou à venir)
iCalendar_zoneListAct Sur fenêtre affichant la liste des actions / scénarios
iCalendar_titleListAct Zone de titre de la liste des actions / scénarios

Remarque : avec tous les changements d’ergonomie apportée avec la V4, ces class peuvent ne plus fonctionner correctement. Il est donc préférable d’utiliser les fonctions proposées par Jeedom.

FAQ

— Peut-on visualiser les futurs évènements ?

Avec les valeurs “événement heure à venir” et “événement sur la journée” du paramètre “format donnée” : oui d’un point de vue affichage sur le widget.
Par contre, le traitement de futurs évènements n’est pas possible (ils ne sont présents qu’en terme d’affichage), sauf si vous parsez les informations.

— J’ai modifié mon agenda et l’évènement n’apparaît pas…

Le rafraîchissement du cache est réalisé en fonction du paramétrage que vous avez configuré (minimum 30 min). Toutes modifications sur l’agenda n’apparaîtront sur le plugin iCalendar qu’aux heures fixes liées à la configuration définie (cf. doc).
Mais il est possible de forcer cette synchronisation au moment de l’enregistrement de l’agenda (équipement).

— Quelle période de l’agenda est affichée dans le widget ?

La récupération des données et l’affichage dans le widget ne traitent que des données de la journée courante. Si l’évènement fait plus d’une journée, les heures de début et de fin sont présentées uniquement pour la journée en cours. (exemple si l’évènement est configurée sur jour1 10h – jour2 10h; le jour 1, il sera affiché: 10h-23h59 et jour2: 0h-10h) Même pour une configuration en “heure suivante”, les informations seront affichées uniquement jusqu’à 23h59.

— Les bornes sont-elles incluses ?

L’heure de début est incluse : la 1ère minute est “active” et remonte l’information #;DA;# (exemple: 10h-18h: 10h00 contient #;DA;#)
L’heure de fin n’est pas incluse dans la période d’activité, c’est la dernière minute précédente qui présente l’information #;FA;# ; sauf pour 23h59.

  • exemple 1: 10h-18h: 17h59 contient #;FA;#, à 18h00 l’évènement est terminé et non actif, #;A;# n’est plus présent.
  • exemple 2: 19h-0h: l’heure de fin est convertie en 23h59 et contient [yellow-background]#;FA;#</span>, à 0h l’évènement est terminé et non actif, [yellow-background]#;A;#</span>n’est plus présent.

— Sur la version mobile, je ne vois pas les évènements passés en affichage journée…

Sur la version mobile, seuls les évènements en cours et à venir sont affichés. Même en mode journée, les évènements passés ne sont plus affichés (contrairement à l’affichage dashboard).

— J’ai des messages d’erreur du type “La commande action : [objet][equipement][cmd], est inconnue pour l événement suivant : mon titre événement. Revoir la configuration de votre événement” qui s’affiche au niveau de la messagerie Jeedom ?

L’id ou le nom de la commande, ou l’id du scénario que vous déclaré en tant qu’action dans votre événement n’existe pas (ou plus) dans Jeedom.
Vous devez vérifier si vous n’avez pas modifié cette commande/scénario et faire la modification dans votre événement au niveau de votre agenda.

— Existe-il un agenda des jours fériés ?

Oui il existe un agenda google qui liste les jours fériés, l’URL est la suivante (ici pour la France) : https://calendar.google.com/calendar/ical/fr.french%23holiday%40group.v.calendar.google.com/public/basic.ics
Remarque : par contre, ce calendrier présente aussi des évènements (comme la fête des mères) qui ne sont pas des jours fériés … 🙁

— (?) Mes scénarios réagissent à des évènements passés ou futurs (mode prochaine heure ou journée)

Dans l’analyse de la trame, il faut vérifier que vous êtes sur un évènement actif; en vérifiant que #;A;# est présent. (exemple : “…” matches “/;A;mon event/”). Voir la documentation pour plus d’explications.

?? Pourquoi ce plugin ??

A l’origine, Google permettait d’échanger les données au format csv ; je participais au développement du plugin officiel gCalendar.
Lorsque Google a arrêté cette fonction au profit du format iCal (ics), Jeedom a arrêté le plugin gCalendar. J’ai donc créé le plugin iCalendar en remplacement.

Son objectif était d’automatiser des actions en les configurant dans un calendrier accessibles à tous au sein d’une famille (via google).

Cet article n’est qu’une reproduction, l’original est ici : Source : https://abarrau.github.io/jeedom-plugins-doc/iCalendar/fr_FR/

Merci à l’auteur de ce plugin, que j’utilise au quotidien (mais pas toujours facile de retomber sur mes pieds, d’où l’intégration de la documentation pour mon usage personnelle)

10km de Fegersheim (2022)

Les Courses de Fegersheim font parties des manifestations que j’affectionne particulièrement, une bonne organisation, avant, pendant et après la course, mais également des courses pour les enfants. Cette année, toujours sous l’impulsion de Laurent, directeur de la caisse locale de Crédit Mutuel, ce n’est pas moins de 40 participants sous la bannière de l’entreprise, et pas moins de 4 personnes sur 6 de notre service.  Le soleil est au rendez vous, mes collègues aussi, on va bientôt pouvoir s’élancer et découvrir ce parcours « urbain ».

C’est parti, le top départ est donné et nous partons tous ensemble, en Team. Je ne reste que quelques centaines de mètres avec mes collègues et augmente le rythme. Pas de velléités de temps aujourd’hui, mais du plaisir tout en se mettant un peu dans le rouge. Je découvre agréablement ce parcours qui alterne le bitume et les passages en forêt, je me sens même en forme ce qui explique la moyenne de 4’40 au km (j’oscille plutôt à 5mn actuellement). Du coup, je dépasse l’une ou l’autre connaissance, en profite pour échanger quelques mots. C’est toujours plus sympa lorsque l’on peut un peu échanger lors d’une course (bein, oui, je vais pas terminer sur le podium !)

Quelques relances quand même sur ce parcours, mais rien d’anormal vu l’environnement et j maintiens un rythme correct. Les km défilent et je me dirige vers l’arrivée avec les encouragements des spectateurs. Et voilà, la course est déjà pliée pour moi.

Il me reste a attendre l’arrivée de mes collègues d’une part, mais aussi d’attendre la course des enfants, avec la participation de mon fiston et d’un copain.

Pas de récit pour cette partie mais juste quelques photos et la satisfaction pour les garçons d’avoir changé de sport (football d’abord :-)) et prit du plaisir à la course à pied.

Et pour les adultes, les photos souvenirs ne sont pas en reste non plus !

Il reste la partie statistique bien sur :

QuiTempsDistanceClassement
Sophie00:56:5410 km153/210
Julie01:06:0710 km195/210
Laetitia01:06:0710 km196/210
Olivier00:47:3610 km80/210
Jules00:07:361,5 km13/27
Charles00:07:361,5 km14/27

Les bonnes adresses

Les lieux

Siam Park Teneriffe – parc aquatique

Tripsdrill.de : Allemagne : parc à jeux

Hermawan Tarnaby : Suede Trek

les restaurants

Argeles-sur-mer 2022 -jour 12 – vendredi

Un nouveau matin avec un réveil plus que tardif, et ils ont bien raison, du coup la journée commence au ralenti, avec un petit déjeuner suivi d’un  saut à la piscine : il fait à nouveau bien chaud.

L »après midi sera ponctué d’un City, pfuii, avec cette chaleur, suivi d’une trempette dans la piscine, avant de se préparer à aller à la mer. Il est quand même déjà 17H, mais les enfants ne voient pas le temps passé, entre activités, repas, switch , cela défile.

Et enfin nous rejoignons la plage, quel plaisir, peu de monde, le soleil qui se fait moins fort, une mer un peu plus fraîche, mais le terme est relatif, et c’est bien volontiers que je me jette le premier dans l’eau…. les enfants ont plus de mal, mais une fois dedans ….

Et c’est ainsi que la soirée débute, de l’eau, de la nage, de l’exploration maritime, un concours de ricochets, mais aussi de la pétanque, un peu de raquette – mince alors, je suis jamais installé à bronzer avec tout cela ! Mais que de bons moments partagés avec les enfants ! Tout le monde en profite !

Pour le dernier soir, on a prévu un restau « La boucherie », ca sent bon la viande…et comme nous sommes tous amateurs, c’est parti ! La viande était bonne, le dessert aussi, tout comme le service, même si la fatigue s’est faite sentir et le lit… »attendre »…. enfin, ça c’était avant la douche du coucher…

Nous voilà donc au mobil-home, douche prise, et ils affectionnent un peu de télévision, alors, c’est parti pour une pause « retour au calme »….avant d’aller au lit  – toujours aussi dissipés au moment du coucher, mais ils finissent par s’endormir, après l’un ou l’autre rappels….

Demain sera le dernier jour, et nous comptons bien en profiter encore !

Argeles-sur-mer 2022 -jour 11 – jeudi

La journée démarre tardivement pour les deux loustics, et cela ma va, car la forme n’est pas à son maximum. Un coup de chaud sans doute, ou un microbe…qui me jouera encore des tours au coucher.

Après le petit dej, les enfants s’occupent entre piscine et jeu, pour ma part, seul le lit est un bon refuge… (j’ai froid….)

Après 2h et de l’aspirine, je reprends le dessus et concocte des carbonara pour le plus grand bonheur des garçons, ils sont affamés.. Et cela leur donne de l’énergie, puisqu’ils vont enchaîner entre piscine, notre Skyjo quotidien et le City pour jouer au foot.

Ils se débrouillent bien au milieu de ces ados.

Aller, retour à la piscine après le foot, pour se rafraîchir, car ce soir, c’est mini golf et …Lunapark !

Nous arpentons les allées du Lunapark…Et toujours le même but…gagner ces Airpod pro pour Charles. Mais, ce ne sera pas pour cette année, malgré beaucoup de tentatives. Le budget « foire » est largement atteint et il faut stopper. En consolation Charles a à nouveau gagné une montre, et ils se sont essayé aux tirs au buts avec un gardien « automatique », pas si facile que cela !

Il faudra attendre une autre année  pour tenter de les gagner.

Et c’est un peu déçu que les enfants repartent du Lunapark.

La journée fut bonne quand même et demain nous retournerons à la plage. 

Ils sont encore affamés en rentrant, et je leur fais vite un « reste » de carbonara » (comprendre une énorme assiette chacun !!) et on peut ensuite commencer le rituel du soir, et comme toujours à l’heure de dormir, ils ont encore mille choses à se dire….

Bonne nuit les petits. (il est minuit passé….et je recommence à grelotter….)

Argeles-sur-mer 2022 -jour 10 – mercredi

Une journée « paisible » au programme, les enfants se réveillent vers 9h55, et déjà je leur propose d’aller se rafraîchir à la piscine, d’être parmi les tous premiers à piquer une tête. L’idée les séduit, et ni une ni deux, nous voilà en route, et arrivons 5mn après l’ouverture. Ils n’ont pas le temps de réfléchir que je suis déjà dans l’eau, ils m’y rejoignent sans se faire prier. 

Après cette bonne entrée en matière, un mini petit déjeuner pour tous et direction, le garagiste à Perpignan, déposer la voiture, en prendre une de remplacement pour nous permettre de continuer notre programme et hop, nous voilà déjà l’heure de déjeuner au …Mc DO 🙂

Ce soir, nous avons prévus de faire pique nique à la plage, donc quelques courses alimentaires, puis retour au mobil-home, avec un temps de jeu vidéo, et ils sont bien content, puis un peu de Skyjo et hop, nous prenons la direction de la plage. Il se trouve que Charles a des copains de classe qui sont au camping situé un peu plus loin « La sirène », donc, les enfants ont fixé un rende vous à la plage (gloups…..nous allons bien marcher :-)) Nous les retrouvons donc, et pendant que les enfants jouent entre eux, je (re)fait connaissance avec les parents (anciens sportifs « Cour de Honau).

Le temps file, même s’il y a un peu moins de soleil que ces derniers jours, Charles , Jules et moi nous nous retrouvons pour le pique nique, qui tourna un peu court. Charles demandeur, pour découvrir cela, et Jules plutôt adepte d’une table …mais ce sont plutôt les abeilles qui m’ont poussé à abréger le moment. Pas plus grave que cela, car au programme, il y a encore un peu de marche pour revenir à la voiture (1,3km) et surtout le Lunapark et ses attractions. Nous sommes en route, et au passage  ous ramenons une clé de mobil-home trouvée dans le sable au camping concerné (merci les porte clés).

Nous arpentons les allées du Lunapark, mais les enfants savent très bien où ils veulent aller. Et il commencent par un lancer de cerceau et ce soir, c’est Charles qui rafle le lot (petit mais quand même). Plus loin, il s’essayent à nouveau au tir à la carabine, il faut gagner ces Airpod pro pour Charles !!

Raté pour ce soir.

Encore l’une ou l’autre attractions et le porte monnaie est déjà vide, enfin il reste toujours un peu pour une barbe à papa !

Il est l’heure de partir.

Le pique nique ne s’est pas déroulé comme prévu et les enfants sont affamés en rentrant, la barbe à papa, les chips et le melon, ca cale pas des garçons bien actifs comme eux !

Le temps d’avaler du jambon/St Moret/Boursin devant un petit dessina animé, et non sans avoir pris une bonne douche, il est déjà minuit…bonne nuit les petits.

Argeles-sur-mer 2022 -jour 9 – mardi

Réveil calme ce matin, avec un petit déjeuner en solo, et une mission de prévue…le passage chez un garagiste, le frein arrière faisant un drôle de bruit, un contrôle s’avère nécessaire. Direction Perpignan pendant que les enfants dorment encore. Bine m’en pris, même si il n’y a pas de danger immédiat, le frein est bouffé et il n’y a plus de manière, et le disque est abîmé, donc tout à changer. Rendez-vous est prit pour le lendemain…

A mon retour, les enfants étaient debout depuis peu et en ont profité pour regarder la télévision, puis ils ont enchaîne sur leur petit déjeuner et des jeux.

AU programme du jour une sortie vélo, qui est loin de faire l’unanimité, mais c’est le dernier jour avec les vélos, alors…go !

(non, sans qu’ils n’aient fait un tour au city – trop chaud – et à la piscine avant de prendre la route).

La chaleur est supportable à vélo, car un léger vent nous rafraîchit avec la vitesse. Mais il faut croire que le vélo aujourdhui….ne devait pas se faire. Après 4km, alors que tout se passait bien, on entend un « sifflet » d’air »….le pneu du vtt de Charles fuit….pas de bol, il a pris un morceau de verre, impossible de continuer ! Direction du retour et arret pour rendre les vélos, c’est sur le trajet…Nous roulons un tout petir km avant que nous soyons obligé de marcher et pousser les vélos, le pneu étant vraiment à plat. Il nous reste….3,3km…. dont 1,3km en poussant les vélos…Les deux autres sans. Nous rendons donc les vélos et nous dirigeons vers le mobil. 

Cette mésaventure nous retarde et nous abandonnons la plage pour aujourd’hui au profit d’un nouveau passage à la piscine et de jeux de cartes, le Skyjo ayant la côte 🙂

Ce soir, c’est moules frites au camping, les enfants attendent cela avec impatience.

Après avoir vendangé les volants de badminton un  peu partout il est l’heure d’aller dîner.

Après ce festin (longueur du service et chaleur…), nous sommes repus.

La soirée va se terminer et je suggère aux enfants d’aller tranquillement (c juste impossible ça…le terme tranquillement !!!) à la douche et au lit, il est tout de même 23H30….