bonjour,
j'ai découvert un moyen d'effectuer des opérations arithmétiques simples sur plusieurs valeurs en utilisant les fonctionnalités xpath du "HTTP - Capteur" c'est un peu usine a gaz mais cela fonctionne et m'a permis de reproduire l'algorithme "Zone de chauffage 10% ... 100%" avec en plus la gestion du pilotage de l’arrêt et l’arrêt sur ouverture d'une fenêtre
voici un exemple simple pour effectuer une soustraction de 2 valeurs de température (Extérieur et Intérieur du Salon),
Ensuite nous avons besoin de :
- Un Etat pour stocker un chaîne de caractère qui contiendra [Temp Intérieur], [Temp Extérieur]
- Un Actionneur HTTP qui va envoyer les 2 températures a l'état du dessus
- Un Capteur HTTP qui effectuera la soustraction donc le résultat du calcul
- ainsi que les code API
Etape 1 : Configurer l'envoi avec l'actionneur HTTP 'TEST - Envoi Valeurs' via l'API eeDomus vers 'TEST - Etat Text' en concaténant les 2 températures avec une , en séparateur
Ajouter une nouvelle Valeur sur 'TEST - Envoi Valeurs'
Valeur : 3 dans mon exemple
Description : SEND 2 'TEST - Etat Text'
URL : http://localhost/api/
Type : GET
Parametre : set?action=periph.value&periph_id=64116&format=xml&value=[LAST_VALUE PERIPH_ID=63282],[LAST_VALUE PERIPH_ID=63224]
64116 : Code API de 'TEST - Etat Text'
63828 : Code API de la 'Température Séjour'
, : le séparateur
63224 : Code API de la 'Température Exterieur'
Etape 2 : Configurer le Capteur HTTP - Résultat Calcul
Type de données : Nombre décimal
Url de la requete : http://localhost/api/get?action=periph.caract&format=xml&periph_id=64116
Chemin XPATH : substring-before(//last_value,',') - substring-after(//last_value,',')
64116 : Code API de 'TEST - Etat Text'
substring-before(//last_value,',') : Extration de la Température Séjour'
- : Opérateur
substring-after(//last_value,',') : Extration de la Température Extérieure'
Le principe est donc de concaténer 2 (N) valeurs avec une virgule en séparateur, puis de les extraire a nouveau et d’utiliser les opérateurs Arithmétiques disponibles avec xPath
Voila, j’espère que c'est assez clair