=== 4.8 Envoi courriels automatiques === ----
LogisDom peut envoyer un courriel automatiquement en fonction du résultat d'un capteur virtuel. Quel intérêt ? Envoi d'une alarme si quelque chose d'anormal se produit, envoyer un rapport quotidien sur les performance d'un système. Le principe est de créer un capteur virtuel et de placer dans la formule une syntaxe spécifique, un exemple est donné ci-dessous : webmail mailAddress=machin@orange.fr mailAddress=toto@orange.fr mailAddress=bidule@orange.fr textSubject=Alarme Température PAC textMail=monfichier.txt formula=T°_PAC < 1 mailAction=sendifnull/sendifnotnull Les paramètre se serveur mail sont dans la page de configuration, onglet General, Html \\ Cette syntaxe doit être écrite avec une ligne pour chaque élément. En premier il faut écrire le mot clé **webmail** pour que LogisDom identifie ce capteur virtuel pour envoyer des courriels. Le préfixe **mailAddress=** est utilisé pour fournir l'adresse destinataire du courriel, il peut y en avoir plusieurs successif, il suffit d'ajouter une ligne suivante avec la même syntaxe et l'adresse suivante. **textSubject=** pour le sujet du courriel **textMail=** On peut mettre directement du texte mais sur une seule ligne, si on veut faire un mail plus complet sur plusieurs ligne, on indiquera en guise de texte le nom du fichier texte (situé dans le répertoire web) contenant le texte du mail. Dans les deux cas, le texte subira le processus d’inclusion html, c'est à dire le remplacement des valeurs entre double crochets par les valeur en temps réel, avec entre les doubles crochets, le nom d'un capteur ou son RomID. exemple de fichier texte : Bonjour, statut de la PAC : %%[[PAC_Statut%%]] Bonne journée. LogisDom. NOTA : sous Windows, les fichiers texte enregistrés sous notepad pourront engendrer un problème avec les caractères accentué ou spéciaux. Pour être sur que le fichier texte soit décodé correctement par LogisDom, il faut enregistrer le fichier texte avec un autre éditeur de texte (XPad text editor par exemple) puis enregistrer le fichier avec un encodage UTF-8 sans option BOM. {{:xpad1.png?200|}} Comme il a été enregistré sans BOM, quand on réouvre le fichier il sera mal décodé par XPad, il faut alors lui préciser un encodage de lecture comme si dessous : {{:xpad2.png?200|}} **formula=** pour la formule sur une seule ligne. **mailAction=** un courriel sera envoyé quand la valeur du capteur change et si elle est égale à zéro si **sendifnull** est précisé ou différent de zéro si c'est **sendifnotnull** , si aucune option n'est précisée sendifnotnull sera retenu. Ne pas oublier le fait que pour éviter l'envoi répétitif de courriel, l'envoi est déclenché seulement quand il y a changement de valeur, c'est à dire qu'au démarrage de l'application si les conditions sont remplies pour l'envoi d'un courriel mais qu'il n'y a pas eu de valeur différente calculée avant, le mail ne sera pas envoyé. \\ \\ **Exemple 1 : Envoyer un mail quotidien de bilan énergétique** webmail mailAddress=moi@orange.fr formula=DayOfWeek() textSubject=Mail LogisDom textMail=bilan.txt mailAction=sendifnotnull **Contenu du fichier bilan.txt** Bonjour, Bilan énergétique quotidien : %%PAC [[00000000052VD]]%% %%[[00000000047VD]] consomé, [[00000000045VD]] fournis%% %%Bois [[00000000053VD]]%% %%Chambre [[00000000008VD]]%% %%Cuve [[00000000013VD]]%% LogisDom. __Il faut configurer le capteur virtuel pour que le calcul se fasse une fois par jour à l'heure ou vous souhaiter envoyer le mail__ \\ \\ **Exemple 2 : Envoyer un mail quand le régulateur de charge de batterie change d'état** webmail mailAddress=moi@orange.fr %%formula=(C0A8011505BE020MD = 2) + (C0A8011505BE020MD = 3) + (C0A8011505BE020MD = 4) + (C0A8011505BE020MD = 5) + (MeanRomID(C0A8011505BE005MD;10) > 0.3)%% smtpServer=smtp.orange.fr textSubject=Alerte régulateur solaire %%textMail=Etat : [[C0A8011505BE020MD]] Load Current = [[C0A8011505BE005MD]] Tension Batterie = [[C0A8011505BE001MD]]%% mailAction=sendifnotnull