Fonction intégrale d'un capteur

Plugin Intégrale V1.0 du 22 février 2022

Le périphérique Intégrale pour eedomus permet d'intégrer dans le temps un capteur (fonction mathématique).

Le Plugin est constitué de 2 devices: une commande (actionneur HTTP) et un affichage (capteur HTTP).

Lors de la création vous devez saisir:

puis sélectionner le capteur dans une liste déroulante, et saisir l'Unité de l'intégrale (ex kWh, m3, ...).

Optionnellement saisir ensuite la date de début de l'intégration et la date de fin. Le format est AAAA-MM-DD HH:MM:SS. Par défaut VAR2="2022-02-16 00:00:00" et VAR3="2022-02-16 23:59:59".

Cliquer ensuite sur le lien Cliquer ici pour mémoriser vos identifiants API eedomus dans le script. Enfin cliquer sur "créer" pour créer les 2 devices.

Vous allez retrouver:

Un device Commmande Intégrale avec 3 commandes et 3 états (masqués):

Un device Valeur Intégrale qui affiche la valeur calculée.

Avec les paramètres:

VAR1 (obligatoire) contient le code API du capteur à intégrer (Un device de type capteur avec un historique de valeurs).

VAR2 (optionnel) permet de spécifier "date/heure début" format AAAA-MM-JJ HH:MM:SS.

VAR3 (optionnel) permet de spécifier "date/heure fin" format AAAA-MM-JJ HH:MM:SS.

Le script est lancé à la fréquence la plus rapide possible (polling à 1 minute, il est recommandé de ne pas changer cette valeur).

POLLING=1.

Vous pouvez à tout moment modifier en mode configuration VAR1, VAR2 et VAR3. Il est recommandé de cliquer sur "Remise à Zéro" dans Commande Intégrale après les modifications de VAR1, VAR2 ou VAR3.

Le fonctionnement du PLUGIN est le suivant:

3 cas selon dates dans VAR2 et VAR3:

1.Cas où les dates ne sont pas saisies (VAR2 et VAR3 vides).

Quand on clique sur la commande "Marche" cela met la date de début à la date actuelle du système, puis la date de fin, systèmatiquement à chaque passage du script, à la date actuelle. Le device Commande Intégrale passe en état "Intégration en cours". C'est une intégration au fil de l'eau.

2.Cas où la date de début d'intégration est saisie (VAR2) et la date de fin est vide (VAR3). Si l'abonnement eedomus n'est pas premium ce sera un maxi de 24h d'historique.

Le script intégre l'historique du capteur, en cliquant sur la commande "Marche". Le système calcule l'intégrale de l'historique avec la méthode des trapèzes (ou de Monte Carlo), puis ajoute le complément au fil de l'eau toutes les minutes avec la méthode des trapèzes. Le device Commande Intégrale passe en état "Intégration en cours". C'est une intégration d'historique puis au fil de l'eau.

3.Cas où la date de début et la date de fin d'intégration sont saisies (VAR2 et VAR3).

Le script intègre l'historique du capteur, en cliquant sur Marche. Le système calcule l'intégrale de l'historique avec la méthode des trapèzes (ou de Monte Carlo), puis le device Commande Intégrale passe en état "Intégration en arrêt", car pas d'autre calcul à faire. C'est une intégration d'historique seulement.

La commande "Arrêt", met la date actuelle au moment du clic en date de fin. Le device Commande Intégrale passe en état "Intégration en arret".

La commande "Remise à Zéro" nettoie le résultat dans le device Valeur Integrale, les dates de début et de fin et autres paramètres. Le device Commande Intégrale passe en état "Intégration en arret".

Si le device Commande Intégrale affiche Erreur alors la valeur de l'intégrale est en erreur, avec valeur numérique de l'intégrale à:

-99999.1 signifie la requête d'historique a retourné un capteur n'existe pas ou n'est pas un tableau de données.

-99999.2 signifie la requête d'historique a retourné un tableau strictement de moins de 2 éléments.

-99999.3 signifie la date de début dans VAR2 est supérieure à la date actuelle du système.

-99999.4 signifie la date de fin dans VAR3 est supérieure à la date actuelle du système.

-99999.5 signifie la date de début dans VAR2 est vide alors que date de fin dans VAR3 n'est pas vide.

-99999.6 signifie que la commande n'est pas valide.

-99999.9 signifie une erreur non identifiée.

Un mode debug est disponible en ajoutant &debug=1 à la fin de la "Requête de mise à jour : http://localhost/script/?exec=integrale.php&Sensor=[VAR1]&date1=[VAR2]&date2=[VAR3]&debug=1. Dans ce cas il faut passer en mode test en appuyant sur "tester", et les messages s'affichent dans le fenêtre XML.