Je viens de paramétrer l’application, j’ai mon premier équipement et le panel tourne en boucle
Il faut attendre au moins 3h que des données soit remontées et que la synchronisation entre les infos au fil de l’eau (Conso_teleinfo) soit remontées sur les infos du jours (conso_jour). Il est possible de le faire plus rapidement en allant dans le moteur de tâches et en forçant l’exécution manuellement. Il est intitulé “UpdateTable” pour conso
Je ne trouve pas le Widget dans le Dashboard de Jeedom
Le plugin ne s’affiche pas sur le Dashboard de Jeedom mais dans un panel. Il faut se rendre dans l’onglet Accueil->Suivi Conso
Le Panel ne s affiche pas dans L’onglet Accueil
Il faut activer l’affichage dans la configuration du plugin (Plugin -> Gestion des plugins -> suivi Conso -> Afficher le panel desktop)
Le plugin ne passe pas de HP a HC
Si vous passez par le plugin teleinfo, il faut verifier que la commande PTEC soit de type Autre puis relancer le Deamon Téléinfo
Pour vérifier le bon fonctionnement du plugin, assurez vous que toutes vos commandes insérées dans la configuration retournent bien les bonnes valeurs. ( Si vous récuperez les valeurs du plugin téléinfo , cliquer sur le bouton “tester” de ce plugin afin de vous assurer que toutes les commandes vous retournent la bonne information )
Les crons et Démon
Le plugin utilise 2 cron et 1 Deamon Il existe 2 tables de données
La table conso_teleinfo contient les données des commandes. La table conso_jour contient les données calculées.
StartDeamon
Le démon permet de récuperer les informations de chaque commande et de les stocker dans la table conso_teleinfo. Pour modifier la fréquence de récupération des données, vous pouvez modifier la valeur de la colonne “Démon” ( voir dans le moteur des taches de jeedom) Ce démon tourne toutes les minutes par défaut.
UpdateOldDay
Le cron UpdateOldDay permet de mettre à jour toutes les informations de la table jour. Ce cron tourne tous les jours a 00:30
UpdateTable
Le cron UpdateTable permet de mettre à jour la ligne du jour de la table conso_jour. Ce cron tourne toutes les 3 heures.
Les tables Conso_jour et conso_teleinfo sont disponibles dans le panel , onglet “Info”
Pour configurer votre équipement il faut se rendre dans l’onglet du plugin Suivi Conso. Plugins / Energie / Suivi Conso
Cliquer sur “Ajouter un équipement”
Libelle : Nom de votre équipement
Type : Electricité ou Prod. Elect. ou Gaz ou Fioul ou Eau
Objet Parent : renseigner la catégorie de votre équipement.
Equipement parent : Permet de rattacher un équipement à un parent afin de récupérer les informations du père.
Compteur: Puissance maximale pouvant être atteinte. La graduation de la jauge de puissance dépend de cette information. Pour les sous-équipemnts il y a la possibilité de définir un maximal différent.
Informations récupérées du parent :
Abonnement
Compteur/Puissance (par défaut, mais modifiable tout de même pour les sous-équipements pour régler l’échelle de la jauge. Pour cela cocher la case “Puissance personnalisée”)
Type
Commande PTEC
Commande IMAX
Abonnement : Le type de tarif actuellement géré. Bleu(Heure pleine heure creuse),Base (heure pleine)
Production complémentaire : Lorsqu’une hiérarchie parent enfants (équipement principal, sous-équipement) existe, un graphe camembert de la répartition des consommations apparait. Si la somme de la consommation des enfants dépasse celle de l’équipemnt parent, alors un message d’erreur apparaitra. Si jamais on place en tant que sous équipement la production solaire alors pause le problème puisque la somme de cconsommation dépassera l’équipement parent. Cette cas s’il est cochée permet de passer outre ce problème.
Je n’ai que la consommation de mon équipement (Exemple FGD-212) :
Commande disponible :
Consommation Kwh ou Wh
Puissance PAPP
je n’ai que la puissance de mon équipement (Exemple FGD-211) :
Commande disponible :
Etat : Votre équipement est allumé ou éteint (Type : numerique 0 ou 1 )
Consommation électrique déclarée (Wh) La consommation de vos ampoules ou équipements une fois mesurée
## Si un parent a été attribué :
Application Abonnement :
Permet d’applliquer l’abonnement sur l’équipement enfant.
Puissance personnalisée : Si coché remplace le champ Compteur par le champ Puissance :
Si le champ est vide alors la jauge sera automatique. Elle prendra la valeur max de la journée qu’elle arrondira au kVa superieur et l’appliquera à la jauge.
Si vous spécifiez une valeur, la jauge se configura par rapport à votre valeur.
Si votre équipement est un total cocher la case Total.
Le bouton Défaut permet d’afficher un équipement au démarrage de votre panel.
Ces deux cases ne sont disponibles que pour les équipements qui n’ont pas de parent.
Une fois les informations renseignées, il faut ajouter les commandes nécessaires au bon fonctionnement du plugin .
Pour cela cliquer sur Ajouter les commandes
Pour sélectionner les commandes il faut cliquer sur la pastille verte ou orange pour récupérer les informations .
Puis il vous faut récupérer les commandes configurées dans Jeedom.
Il y a quelques paramètres à mettre à jour dans la configuration générale du plugin Plugins / Energie / Suivi Conso / configuration
J’utilise Un Docker ? : Comme son libellé l’indique, à cocher si votre Jeedom est sous Docker
VARIATION : Insere si Conso > Conso précedente : Permet de ne pas prendre en compte l’index si sa valeur est plus petite que la fois précédente. Pour éviter les aberrations de consommations (ne pas utiliser si les index de consommation des équipements ont tendance à repasser à 0 de temps en temps)
PUISSANCE : Ne pas insérer la valeur si la puissance est > 50 000 : Pour éviter de prendre en compte des valeurs de report de puissance fantaisistes et de fausser ainsi les calculs.
Utiliser les commandes 7, 15, 31 jours glissants : Cocher cette case permet de créer pour chaque équipement les commandes de report de consommations et de coûts pour les 7, 15, 31 derniers jours glissants.
Utiliser les commandes jours, semaines, mois, année -1, -2 : Cocher cette case permet de créer pour chaque équipement les commandes de report de consommations et de coûts pour les jours -1, -2, semaines -1, -2, mois -1, -2, année -1, -2.
Utiliser les commandes saisons : Cocher cette case permet de créer pour chaque équipement les commandes de report de consommations et de coûts pour les 4 saisons passées (Printemps, Eté, Automne, Hivers).
Affichage systématique de la température dans graphe du jour : Cocher cette case permet d’avoir systématiquement le graphique de la température dnas le tableau “Consommation du jour”
Epuration et sauvegarde automatique de conso_teleinfo : Permet d’épurer la table conso_teleinfo (relevé détaillé des infos sur la journée) en fonction d’un délai en mois renseigné dans le champs: ‘Sauvegarder les valeurs de plus de * mois’. Les informations épurées seront stockées dans un fichier zip se trouvant dans le répertoire backup.
Devise Monétaire : Choix de la devise monétaire apparaissant dans le dashboard et les factures
Reconstruction de la base de données !!! : Permet de réparer la base de données du plugin en cas de problème. Cet outil est à utiliser avec précaution et en ayant fait une sauvegarde préalable
La page d’accueil vous permet de visualiser sur une même page les informations les plus importantes
Prix
Ce tableau retourne le coût de votre consommation par Jour / Semaine / Mois et Année.
Vous pouvez afficher le détail en vous positionnant sur le libellé
HP/HB TTC et HC TTC : Prix HT + TVA
TOTAL TTC : Prix TTC + Abonnement + TVA + Taxes
Année : vous pouvez paramétrer la date de début de votre année dans l’onglet outil
Watt
Ce Tableau vous affiche la consommation par Jour / Semaine / Mois et Année.
Vous pouvez afficher le détail en vous positionnant sur le libellé
Prévisions
Les prévisions seront affichées uniquement si vous avez un historique d’1 an minimum pour pouvoir comparer sur l’année précédente. La prevision par année est calculée en Year to month. de janviers au dernier mois complet
Si nous sommes en septembre alors la comparaison se fera : 01/01/2017-> 31/08/2017 à 01/01/2016-> 31/08/2016
Puissance
Puissance instantanée sous forme de jauge
Variation
Ce Tableau vous informe des variations de puissance Il vous permet de voir la différence de puissance entre chaque relevé Heure / puissance / Différence par rapport au dernier relevé / Type Abonnement
Il est possible que ce tableau ne s’affiche pas lors du lancement du plugin , il faut alors attendre quelque heures.
Statistique
Du jour , de la semaine, du mois , de l’année disponible en cliquant sur les flèches
Consommation par équipement
La consommation
Pourcentage en HP et HC
Consommation du jour
Graphique du jour
La puissance instantanée
La consommation du jour
La consommation de la veille
La puissance maximale et minimale du jour
Graphique en Bar
Consommation des 7 derniers jours (en Kwh )
Consommation du mois par semaine (en Kwh )
Consommation par mois sur 1 an (en Kwh )
Consommation des 7 derniers jours (en euro )
Consommation du mois par semaine (en euro )
Consommation par mois sur 1 an (en euro )
En passant la souris sur le graphique vous pouvez afficher le detail.
Taxe Variable : Taxes variables paramétrées dans l onglet Taxes + TVA
Factures
Cet onglet vous permet d ‘afficher les factures EDF, Gaz, Eau, Fioul elles sont générées automatiquement en fonction des paramètres Prix , Taxe, Abonnement et TVA Pour générer une facture il faut ajouter une période onglet “Périodes” du menu
Graphiques
Cet onglet vous permet d’afficher des graphiques selon une période définie dans l’onglet “Périodes”.
Périodes
Grace a cet onglet vous allez pouvoir générer des factures et des graphiques selon une borne de date.
Pour créer une periode il faut cliquer sur “Ajouter une période”
Libelle : nom de votre période ( c’est le titre de votre facture et/ou de votre graphique ) Date début : début de votre facture ou/et graphique Date fin : fin de votre facture et/ou graphique Affichage ( HP , HB ,HC ) : type de graphique ( en ligne , en bar ..) pour chaque index. Regrouper par : jour , semaine , mois Type : Watt ou Euro Affichage Facture : générer une facture pour cette période ( oui ou non ) Affichage Graphique : générer un graphique pour cette période ( oui ou non ) Afficher année précédente : cela vous permet d’afficher sur le même graphique la courbe de l’année dernière Equipement : Quel équipement pour cette période
Lorsque vous sélectionnez “Afficher année précédente” vous pouvez choisir quel type de graphique à afficher ( ligne bar ….)
Prix
Cet onglet permet de configurer les prix pour le détail de votre facture, des tableaux sur la page d’accueil et du détail de chaque graphique
**Lors de la création ou de la modification du prix une synchro jour est lancée pour recalculer les prix.** Les prix sont HT
Pour ajouter un prix il faut cliquer sur “Ajouter un Prix “
Pour éditer un prix il faut cliquer sur le petit crayon vert
En fonction des catégories, la saisie sera différente.
Pour l’électricité:
Pour le gaz avec le coefficient de convertion en kWh:
La valeur ne peut être supérieure à 9.9999 Si une valeur supérieure à 9.9999 est renseignée, alors il affichera 9.9999
Abo
L’onglet Abo permet de paramétrer le coût de votre abonnement.
Pour ajouter un abonnement il faut cliquer sur “Ajouter un Abonnement”
Pour éditer un abonnement il faut cliquer sur le petit crayon vert
Les Taxes
Les taxes sont utilisées dans l’onglet Facture.
Lorsqu’une taxe n’est pas calculée par rapport a la consommation, le champ Multiplié doit etre à oui.
Comme par exemple : Contribution Tarifaire d’Acheminement d’électricité (CTA).
Fixe : cette taxe sera dans le calcul des taxes fixes ( graphique taxes TTC )
Variable : cette taxe sera dans le calcul des taxes variables ( graphique taxes TTC )
TVA
Cet onglet permet de paramétrer la TVA.
Le champ global est à mettre à Oui pour la TVA à appliquer sur les consommations d’électricité.
info
Cet onglet affiche les informations techniques des commandes.
Vous pouvez visualiser, modifier et supprimer les informations de la table teleinfo et jour.
Cela vous permet de vérifier le bon fonctionnement du cron et des valeurs.
Correcteur
La page correcteur permet comme son nom l’indique de corriger les données. Il est possible que votre équipement vous envoie des données erronées.
Pour corriger les données, selectionner votre période, aidez-vous de la page d’accueil pour connaître exactement le jour ( graphique semaine).
Une fois la recherche effectuée, identifiez une variation à corriger ( heure pleine et/ou heure creuse).
Passer au tableau 2
Insérer le timstamp du début et de fin en vous aidant du tableau recherche
Si le timestamp de fin n’est pas renseigné alors la correction se fera jusqu’à aujourd’hui.
Outils
Synchroniser Aujourd’hui : permet de recalculer le jour.
Synchroniser les jours : permet de recalculer tous les jours. Purger : ATTENTION ce bouton vide votre table teleinfo du plugin, une confirmation est demandée pour poursuivre votre choix.
Cependant avant de vider la table, par sécurité, une sauvegarde est effectuée automatiquement.
Vous n’avez pas accès à cette table de sauvegarde par l interface. ( à faire ).
Changement ID Equipement : lors de la mise a jour de la V1 vers la V2 , toutes les informations sont mises a jour pour associer les données à un équipement.
Si vous avez des problèmes d’équipement à 0 il faut alors utiliser ce bouton. Lien du bouton retour : pour ajouter une lien sur un bouton retour du menu (A gauche de la sélection de l’équipement dans le menu )
Changement ID Equipement
Si vous voulez changer les id 0 par un autre id ( 150 cf image du dessus ex )
Tous les ID 0 seront modifiés par 150
Pour connaître l’id de votre équipement , regarder dans le menu déroulant du menu général du panel
Supprimer les données d’un équipement
Vous pouvez supprimer les données d’un équipement si vous avez rencontré des problèmes avec une commande
Selectionner la date de début, la date de fin et l’équipement dans la liste déroulante
Les données seront supprimées definitivement selon les critères
Une synchronisation est nécessaire pour visualiser les corrections dans le panel
Sauvegarde / Import
Grâce à cet onglet vous allez pouvoir sauvegarder, importer et historiser vos relevés de consommation .
Il est maintenant possible de sécuriser vos données en cas de crash de la SD, externaliser votre historique et ainsi alléger votre espace de stockage, ainsi le backup jeedom sera plus léger et donc plus rapide.
Créer une sauvegarde
Vous pouvez selectionner l’emplacement du dossier pour vos archives.
Par defaut : ressources/backup/
Si vous cliquer sur “créer une sauvegarde” vous pouvez sauvegarder :
Toute votre base de données teleinfo
Nombre de mois, si le champ “Sauvegarde les valeurs de plus de n mois” est renseigné
Vous pouvez choisir quel type de sauvegarde :
Zip : pour gagner de la place sur votre machine
SQL : plus souple à utiliser pour effectuer un import sur une autre machine
CSV : plus pratique pour comparer des données avec Excel
Une fois le backup lancé vous pouvez suivre le traitement dans la partie de droite “ Information”
Le traitement terminé, la sauvegarde se trouve dans la liste déroulante et le message suivant s’affiche :
[END CONSO_HISTORIQUE SUCCESS]
Une fois la sauvegarde créée, vous pouvez supprimer l’historique de plus de n mois.
Vous pouvez maintenant :
Télécharger cette sauvegarde
La restaurer
La supprimer
Supprimer l’histoique de plus de n mois.
IMPORTANT: ATTENTION ! Avant de supprimer votre historique : assurez vous que le fichier créé est bien valide.
Import depuis un fichier local
Vous pouvez importer vos données :
Votre fichier doit etre un .sql.gz , un sql
IMPORTANT: ATTENTION – Le Format CSV n’est pas pris en charge pour l’import.
Les champs vides doivent êtres renseignés par defaut (cochés dans le table colonne Type ) :
Liste des champs obligatoires :
timestamp
rec_date : AAAA-MM-JJ
rec_time : HH:MM:SS
hchp : index HP sur 9 chiffre
hchc : index HC sur 9 chiffre
ptec : HP ou HC pour l abonnement Heures pleines / heures creuses sinon mettre HP par defaut.
papp : exemple 3420
La structure de la table doit être identique au tableau affiché dans l’onglet Save. ATTENTION CETTE PROCEDURE EST RESERVEEE AUX PERSONNES CONNAISSANT UN MINIMUM MYSQL
Import Distant
Vous pouvez recupérer les données sur une base distante.
(A faire : automatiser l’import distant pour un fonctionnement en esclave )
Insérer le host, login Mysql et mot de passe Mysql du distant pour vous connecter à la base de données.
Vous pouvez importer les données :
Toute la base de données du distant
Du jour
Du mois
De plus de n mois (Si vous avez rempli le champ “Sauvegarde les valeurs de plus de n mois” )
ATTENTION
Si vous avez un message de ce type : 504 Gateway Time-out
PHP a une limite d’exécution et affiche une erreur quand il arrive au maximum.
Votre import ou votre sauvegarde est toujours en cours , il tourne en tâche de fond.
Attendre le message dans la partie information :
Configuration du plugin : VARIATION : Insère uniquement si la consommation est > 0
Permet d’insérer uniquement si la consommation est > 0.
Evite le problème si votre module vous retourne une consommation inferieure à la dernière valeur enregistrée
Configuration du plugin : PUISSANCE : Ne pas insérer la valeur si la puissance est > 50 000
Permet de ne pas insérer la valeur si votre commande retourne une valeur erronée.
Ce plugin permet de calculer la consommation de vos appareils électriques et des coûts associés en fonction de votre contrat fournisseur.
Le plugin peut:
Calculer le coût d’un plugin suivant sa consommation kWh, sa puissance W ou kW, son état (Allumé-Eteint)
Comparer les dépenses énergétiques de vos équipement par rapport au compteur
Trouver les équipements les plus energivores
Envoyer des notifications HTML utilisable avec Telegram pour avoir un rapport sur vos équipements
Pour pouvoir utiliser le plugin à son plein potentiel, vous devrez créer un équipement “Contrat” puis un équipement “Compteur”.
Il est possible de se passer de ces deux équipements mais le plugin ne calculera alors que la consommation et non les coûts associés.
Voici un exemple de ce que vous pouvez obtenir en combinant le plugin avec un design Jeedom:
Pour créer un équipement, cliquez sur le bouton +
1) Configuration des équipements
Vous pouvez configurer 3 types d’équipement:
Un contrat reprenant les coûts en électricité de votre fournisseur et le créneau d’heures creuses si vous en possédez un.
Un compteur remontant les information de consommation de votre logement
Un équipement qui définit un équipement électrique de votre logement rattaché au compteur
1.1) Contrat
L’équipement contrat est le premier équipement à créer. Il représente le contrat qui vous lie à votre fournisseur. Vous pourrez par la suite lié des équipements à ce contrat pour mesurer les coûts. L’équipement contrat ne possède pas de commandes mais doit tout de même être configuré.
1) Sélectionnez Contrat dans le champ ci dessous:
2) Choisissez votre type de contrat:
heures pleines si vous avez un tarif unique
heures pleines heures creuses si vous avez un seul créneau d’heures creuses
multiples créneaux si vous avez plus d’un créneau d’heure creuse
1.1.1) Contrat avec plusieurs créneaux
Vous allez pouvoir définir plusieurs créneaux d’heures creuses avec pour chaqun des créneau un jour de la semaine, une heure de début, une heure de fin et un prix au kWh.
1) Définissez un prix du kWh par défaut. lorsqu’une des mesures ne sera pas dans un des créneaux que vous avez définit, c’est ce tarif qui s’appliquera.
2) Ajoutez les différents créneaux dans la table
Enfin choisissez le nombre de décimales devant être utilisées pour carrondir les coûts et pourcentages. Par défaut le plugin arrondira les coûts et pourcentages à 3 décimales après la virgule. Attention ceci n’affecte pas le coût total qui lui reste avec toutes ces décimales. Les arrondis sont appliqués à l’ensemble des équipements liés au contrat ainsi que l’ensemble des équipements liés aux compteurs eux même liés au contrat.
Exemple:
1.2) Compteur
L’équipement Compteur, représente votre compteur électrique et sa consommation. Pour utiliser pleinement les fonctionnalité du plugin, il faut au préalable créer un équipement Contrat
1.2.1) Configuration d’un compteur
Pour configurer un compteur:
1) Sélectionnez “Compteur” dans la champ de choix des équipements:
2) Choisissez une période de raffraîchissement pour cet équipement. Le plugin ne va pas récupérer les informations en temps réel et son raffraîchissement n’aura lieu que si vous remplissez cette commande.
3) Sélectionnez l’information que le plugin va utiliser pour calculer la consommationen kWh cumulée.
Si votre compteur est un compteur ENEDIS, je vous conseille de prendre la puissance moyenne horaire de votre compteur (appelée consommation horaire sur le plugin ENEDIS
Si votre compteur est de type téléinfo, alors je vous conseille de la consommation cumulée avec la commande index de BASE (téléinfo) qui remonte votre consommation en kWh
4) Sélectionnez la commande remontant la puissance horaire ou la consommation cumulée du compteur. Dans le cas de la puissance, saisissez également l’unité.
L’équipement est configuré mais tel quel, il ne remontera pas les coûts associés. Pour cela vous devez lier cet équipement à un contrat:
Sélectionnez dans le champ qui apparaît en dessous le Contrat auquel le plugin doit lier cet équipement.
6) Définissez un budget mensuel pour votre équimement (optionnel). L’équipement possède une commande de dépassement de budget qui passe à 1 si le budget mensuel prévu pour cet équipement est dépassé
7) Définissez l’heure à laquelle l’équipement doit générer les notifications journalières, hebdomadaires, mensuelles, annuelles.
SAUVEGARDEZ l’équipement pour créer les commandes
1.2.2) Informations remontées par l’équipement compteur
Cet équipement vous remontera les informations suivantes:
Puissance
Consommation
Coût de la journée en cours (si vous avez lié un contrat)
Coût de la veille (si vous avez lié un contrat)
Coût de la semaine en cours (si vous avez lié un contrat)
Coût de la semaine dernière (si vous avez lié un contrat)
Coût du mois en cours (si vous avez lié un contrat)
Coût du mois dernier (si vous avez lié un contrat)
Coût de l’année en cours (si vous avez lié un contrat)
Coût de l’année dernière (si vous avez lié un contrat)
Coût toutes périodes confondues (si vous avez lié un contrat)
Equipements liés (renvoie tous les équipements qui sont liés au compteurs, voir la catégorie autres équipements)
Le pourcentage cumulé du coût mensuel de tous les équipements liés a compteur par rapport à ce dernier
Le dépassement d’un budget pré-définit
Le pourcentage de consommation en heures creuses
L’économie réalisée si l’équipement fonctionnait uniquement en heures creuses
Si l’équipement est actuellement en heures creuses
Temps restant avant le prochain créneau d’heures creuses
La commande pourcentage cumulé vous permet de mieux comprendre la consommation de votre logement.
Enfin l’équipement peut vous générer des notifications HTML reprenant les données ci-dessus. Les données de la notification dépendent du type d’équipement (compteur ou autre).
1.3) Equipements
Cette catégorie regroupe tous les équipements en dehors du compteur pour lesquels vous souhaitez calculer la consommation. Le plugin peut calculer le coût d’un équipement suivant :
la consommation cumulée
la puissance consommée
l’état de l’équipement (Allumé / Eteint).
Bien sûr le plus précis reste la consommation cumulée en kWh.
Dans la configuration, choisissez “Equipement” et la période de raffraîchissement:
Les trois types d’équipements renvoient les mêmes commandes que le Compteur.
1.3.1) Configuration d’un équipement suivant sa consommation cumulée kWh
Cette configuration est la plus précise. Choisissez la commande qui va renvoyer la consommation cumulée pour cet équipement. ATTENTION: cette commande doit être historisée, suivant la période de rafraîchissement sélectionnée, le plugin peut être amené à récupérer des informations historisées.
1.3.2) Configuration d’un équipement suivant sa puissance instantanée
Choisissez la commande qui va renvoyer la puissance instantanée pour cet équipement. ATTENTION: cette commande doit être historisée, suivant la période de rafraîchissement sélectionnée, le plugin peut être amené à récupérer des informations historisées.
Choisissez ensuite l’unité de la puissance renvoyée par la commande que vous avez saisit.
1.3.3) Configuration d’un équipement suivant sa puissance moyenne
Cette configuration diffère de la puissance instanée, ici la commande que vous allez saisir renvoie une moyenne de puissance sur une plage de temps. Le compteur électrique du plugin ENEDIS par exemple renvoie la puissance moyenne par demi heure. ATTENTION: cette commande doit être historisée, suivant la période de rafraîchissement sélectionnée, le plugin peut être amené à récupérer des informations historisées.
1.3.4) Configuration d’un équipement suivant son état
Cette configuration est la moins précise mais permet cependant d’avoir une estimation du coût des équipements ne remontant qu’un état comme une lampe, une télévision, un amplificateur etc
Renseignez la commande remontant l’état de l’équipement. ATTENTION: cette commande doit être historisée, suivant la période de rafraîchissement sélectionnée, le plugin peut être amené à récupérer des informations historisées.
Renseignez la puissance que consomme cet équipement allumé et la puissance que consomme cet équipement éteint.
Renseignez l’unité des puissances que vous avez renseigné.
1.4) Groupe
1.4.1) Configuration
Pour créer un groupe choisissez “Groupe” dans la sélection:
Une fois sélectionné, un nouvel onglet apparaît. Cet onglet vous permet de choisir les équipements que vous souhaitez aggréger.
Comme pour les autres équipements, vous devez également définir une période de raffraîchissement.
ATTENTION: lors du raffraîchissement, le groupe ira récupérer les données actuelles des autres équipements sans se soucier de si ces derniers sont actualisés ou non.
Vous pouvez également affecter le groupe à un compteur:
Le plugin vous remontera le pourcentage de consommation du groupe par rapport à celui du compteur
Le plugin n’UTILISERA PAS les données du groupe pour calculer le pourcentage d’investigation du compteur.
1.4.2) Commandes
Le groupe propose les mêmes commandes qu’un équipement. Il est donc possible de récupérer:
la consommation
les coûts journalier / hebdomadaire / mensuel / annuel
les coûts de périodes précédentes
le pourcentage d’utilisation en heures creuses
les économies potentielles si le groupe tournait exclusivement en heures creuses
1.5) Lier un équipement à un contrat ou un compteur
Vous avez la possibilité de lier un équipement d’Electricity Cost à:
Aucun autre équipement, le plugin calculera alors la consommation de votre équipement par rapport aux données en sa possession
Un contrat, le plugin calculera les coût de votre équipement en fonction de sa consommation et des données que vous avez saisit dans votre contrat. Le plugin arrondira les coûts et les pourcentages avec les données saisi dans votre contrat.
Un compteur, le plugin ira récupérer le contrat de votre compteur (votre compteur doit donc être lié à un contrat) et calculera les coûts de votre équipement par rapport à ce contrat. En plus le plugin calculera le pourcentage du coût de votre équipement par rapport à celui du compteur. Le plugin arrondira les coûts et les pourcentages avec les données saisi dans le contrat lié à votre compteur.
INFORMATIONS SUPPLEMENTAIRES COMPTEUR: En liant un équipement à un compteur, l’équipement récupère le contrat lié au compteur mais permet également d’obtenir plus d’informations:
Chaque équipement lié vous renverra alors le pourcentage que représente le coût mensuel de l’équipement par rapport au coût mensuel du compteur.
Le compteur vous renverra les équipements qui lui sont associés.
Le compteur vous renverra le cumul du pourcentage de tous les équipements liés (Permet d’investiguer des éventuels problèmes de consommation électrique dans votre foyer).
ATTENTION: Le pourcentage se basant sur le coût mensuel, les pourcentages ne sont vraiment exploitable que passé un mois.
1.5) Réparer un équipement
Dans le cas ou l’historique d’une des commandes de l’équipement est corrompue, vous avez la possibilité de le réparer. Pour réparer l’historique d’un équipement, sélectionnez ce dernier et cliquez sur “Réparer”
Lorsque vous lancez la réparation de l’équipement, le plugin va supprimer l’historique de toute ses commandes et relancer un raffraîchissement. Attention, suivant les historiques initiaux, le raffraîchissement peut durer plus ou moins longtemps (environ 3 minutes pour 1 an d’historique à analyser).
Gestion des notifications
Le plugin peut générer des notifications prenant la forme de rapports que vous pouvez utiliser pour vous notifier via le plugin Telegram ou autre plugin de notification (permettant d’envoyer de l’HTML). Les données du rapport diffèrent suivant le type de l’équipement. Il existe un type de notification pour chaque période de temps et vous pouvez définir dans la configuration l’heure à laquelle vous souhaitez que le plugin créer la notification:
Le plugin génère mais n’envoie pas de notifications. Si vous souhaitez envoyer la notification, vous devrez de votre côté créer un scénario:
2) Calcul du coût pour les équipements Etat / Puissance instantanée
Prenons un exemple pour expliquer le fonctionnement: Je possède un téléviseur qui est soit allumé (état 1), soit éteint (état 0). Lorsque que mon téléviseur est allumé, sa puissance est de 100 W, lorsqu’il est éteint sa puissance est de 0,3W. Je possède un contrat Heures creuses / Heures pleines avec le début des heures creuses à 22h04.
Afin de calculer les coûts, le plugin se base sur l’historique de l’état de l’équipement. Si j’allume ma télévision à 21h, et que je l’éteint à 23h, le plugin devrait calculer que j’ai consommé 100W pendant 2h. Cette consommation chevauche une période heures creuses / heures pleines. Le plugin décomposera alors la consommation pour établir la consommation avant le début des heures creuses et après le début des heures creuses.
En image: Ici l’état de ma télévision
Ici la puissance de ma télévision en ayant décomposé début heures creuses / fin heures creuses
Ici la consommation de ma télévision qui prends bien en compte le début de l’heure creuse
3) Compatibilité des plugins
Ce plugin est compatible avec le plugin Laundry. Si vous avez créé un équipement sur le plugin Laundry et qu’Electricity Cost est installé sur votre Jeedom, Laundry vous proposera de configurer votre équipement avec les mêmes paramètres que les équipements d’Electricity Cost.
Ce plugin est compatible avec le plugin Light Group. Si vous avez créé un équipement sur le plugin Light Group et qu’Electricity Cost est installé sur votre Jeedom, Light Group vous proposera de configurer votre équipement avec les mêmes paramètres que les équipements d’Electricity Cost.
4) Que faire si le plugin ne renvoie pas les informations:
1) Vérifier que la configuration de l’équipement est bien complète
2) Vérifier que les commandes que l’on a saisit dans la configuration de l’équipement soient bien historisés
3) Vérifier que les commandes Etat / Puissance / Consommation / Coût total soient bien historisées pour cet équipement
3) Vérifier que vous avez bien remplit la configuration d’auto raffraîchissement du plugin
4) Vérifier si vous n’avez pas une erreur dans les messages de Jeedom. Si votre erreur est MISSING CMDs, tentez de re-sauvegarder l’équipement. La commande manquant doit alors apparaître dans la liste des commandes. Si la commande n’apparaît pas, vérifiez la configuration de l’équipement.
5) Vérifier si vous n’avez pas une erreur dans les messages de Jeedom. Si votre erreur est BAD CONFIGURATION vérifiez la configuration de l’équipement.
6) Basculez le niveau de log du plugin en DEBUG, faîtes un refresh de l’équipement et envoyez moi les logs via Community. N’oubliez pas de retirer le niveau de log DEBUG après récupération
5) FAQ
Le pourcentage que me remonte le plugin n’est pas cohérent:
-> Le pourcentage calculé par le plugin dépend des données d’historisation des commandes. Si vous venez d’ajouter l’historisation à vos commandes, le pourcentage ne deviendra cohérent qu’au mois suivant
L’historique des données est incohérent / corrompue:
-> Le plugin calcule l’ensemble des coûts par rapport aux données que vous lui transmettez. Vérifiez les données de l’historique de la commande d’état / puissance ou consommation que vous avez mis dans la configuration. Une fois que vous avez trouvé / corrigé l’erreur dans cet historique, lancez la réparation de l’équipement dans le plugin Electricity Cost.
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
S’identifier sur la pop-up d’Amazon
Fermer la fenêtre dès que le Cookie Amazon est créé.
Lancer le Daemon s’il ne se lance pas tout seul
Lancer le SCAN
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 bouton
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
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 :
Solution 3 : Le SCAN
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
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
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
La tuile de la playlist en cours
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
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>
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) :
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 :
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”.
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.
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 :
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) :
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 :
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 :
Vous pouvez donc modifier vos pistes et leurs noms.
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
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
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 :
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 :
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.
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.
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)
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.
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.
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”.
# 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 :
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” :
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.
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
# Présentation du Widget
Le widget se présente sous la forme suivante, si aucun style n’est appliqué :
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 :
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.
Actions historisées :
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.
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 variable. exemple : 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|#activeRemarque: ces 2 actions ne permettent pas de lancer le scénario, mais juste d’agir dessus.
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=valeur. exemple : 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.
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("||", "\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”.
— 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.
— (?) 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)