Forum eedomus
http://forum.eedomus.fr/

Script math.php - opérations mathématiques
http://forum.eedomus.fr/viewtopic.php?f=50&t=1671
Page 1 sur 5  Suivant »
Auteur:  Tinto [ 19 Avr 2014 16:32 ]
Sujet du message:  Script math.php - opérations mathématiques

Salut,

Ci dessous un petit script, en première version très light pour réaliser des opérations simples directement avec eedomus.

math.php va permettre de stocker dans un état virtuel le résultat d'une opération.

Les opérations supportées :
Code : Tout sélectionner
addition ( = val1 + val2 )
soustraction ( = val1 - val2 )
multiplication ( = val1 * val2 )
division ( = val1 / val2 )


Pour utiliser ce script, il faudra bien sûr le télécharger ci dessous, et l'installer comme décrit dans cette page : http://doc.eedomus.com/view/Scripts

Exemple concret d'utilisation, conversion en KWh d'un relevé de compteur :

capperiph.png
capperiph.png (20.04 Kio) Consulté 34188 fois


Pour faire cela j'ai :

- un relevé de compteur ( nommé Consommation HC, non fourni avec le script :) :) :) )
- un actionneur HTTP nommé "Actionneur - conversion" ( Ajout de periph - Actionneur HTTP )
- un périphérique Etat tout simple ( ajout de peripherique, Etat, type de données : nombre décimal, vous pouvez même lui mettre une unité ) nommé Conso KWh

A chaque changement de valeur du relevé, j'execute une règle qui actionne l'actionneur ...

regle.png
regle.png (30.27 Kio) Consulté 34188 fois


Cet actionneur execute le script, en appelant cette requete :

capactionneur.png
capactionneur.png (41.36 Kio) Consulté 34188 fois


on voit donc la requete de la forme :

Code : Tout sélectionner
URL : http://192.168.1.14/script/
Parametres : ?exec=math.php&idperiph=79679&operation=division&val1=[LAST_VALUE PERIPH_ID=71548]&val2=1000


ou l'url doit etre modifiée avec l'ip de votre box eedomus et dans les parametres :

idperiph est le code API de votre état résultat créé précedemment

le type d'opération ( ici division ) devra être renseigné par une de celles qui se trouve dans la liste ci dessus ( opérations supportées )

val1 sera votre première valeur ( ici je vais chercher la dernière valeur de mon relevé de compteur )

val2 la deuxieme opérande, ici je veux diviser par 1000

Voila, à chaque changement de valeur du relevé, l'actionneur s'éxécute, et met a jour mon Etat avec la valeur en KWh au lieu de Wh ...

La source du script : http://www.domosee.fr/math.zip
Auteur:  Tinto [ 19 Avr 2014 16:32 ]
Sujet du message:  Re: Script math.php - opération mathématiques

Réservé
Auteur:  Tinto [ 19 Avr 2014 16:32 ]
Sujet du message:  Re: Script math.php - opération mathématiques

Réservé
Auteur:  aurel [ 19 Avr 2014 17:34 ]
Sujet du message:  Re: Script math.php - opération mathématiques

bien vu Tinto ;)
simple et efficace! Une belle alternative pour ceux qui n'ont pas de serveur web!
Auteur:  DjMomo [ 19 Avr 2014 20:37 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Pour l'Etat, c'est plutôt sur une valeur numérique qu'il faut partir et non une liste de valeurs, sinon il faut renseigner toutes les valeurs possibles...impossible ;)
Auteur:  Tinto [ 19 Avr 2014 20:42 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Non non, en fait il prend la valeur qu'on lui demande de prendre, sans d'ailleurs aucune valeur définie dans son onglet valeur :) suffisant pour un affichage sur le portail :)

Peut être que si on veut réutiliser cette valeur calculée ça poserait un soucis, je n'ai pas testé ....
Auteur:  ASECADOMOTIQUE54 [ 19 Avr 2014 21:54 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Merci tinto!
Auteur:  DjMomo [ 20 Avr 2014 08:37 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Tinto a écrit:Non non, en fait il prend la valeur qu'on lui demande de prendre, sans d'ailleurs aucune valeur définie dans son onglet valeur :) suffisant pour un affichage sur le portail :)

Peut être que si on veut réutiliser cette valeur calculée ça poserait un soucis, je n'ai pas testé ....


Mais avec la liste de valeurs, pas d'unité possible. ;)
Auteur:  Tinto [ 20 Avr 2014 09:02 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Exact. Alors il faut utiliser un nombre décimal si on veut une unité. Je vais aller ajouter ça dans le premier post :)
Auteur:  Marcus-67 [ 20 Avr 2014 11:55 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Salut tinto,

Big merci !! pour ton script qui me permet de mieux saisir l'approche. ;)

J'essaye d'appliquer ce script sur un même compteur, l'objectif est transmettre la production produite des panneaux solaires depuis le matin.

1er calcul lancé (1x) le soir et envoyé dans "Etat1" pour mémoire :
?exec=math.php&idperiph=Etat 1&operation=soustraction&val1=[LAST_VALUE PERIPH_ID=Dernière valeur lue du compteur&val2=0

le lendemain, 2nd Calcul lancé à chaque changement de valeur du compteur, puis envoyé dans "Etat2" :
?exec=math.php&idperiph=Etat2&operation=soustraction&val1=[LAST_VALUE PERIPH_ID=Dernière valeur lue du compteur&val2=[LAST_VALUE PERIPH_ID=Etat1]

Ça coince lors de l'exécution du second calcul. Au lieu de prendre une valeur fixe pour val2 (1000 dans ton cas), je rappelle l'état1 et ça ne marche pas, le résultat est faux. La valeur de l'Etat2 = Dernière valeur lue du compteur, il ne tient pas compte du 1er état.

Merci pour celui ou celle qui aurait une idée :?:
Bye,
Marcus.
Auteur:  Tinto [ 20 Avr 2014 14:25 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Pas chez moi pour l'instant mais c'est justement ce que je disais dans le premier post "peut être que si on veut réutiliser cette valeur ça coince ..." faut faire des tests ... Comme le suggère djmomo peur être essayer de mettre l'État 1 en nombre décimal plutôt que liste de valeurs ... Je ne peux pas dire pour l'instant ...
Auteur:  Marcus-67 [ 20 Avr 2014 15:12 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Bien vu Tinto et DjMomo, en passant la valeur de l'état en décimal, l'opération fonctionne. :D

C'est cool !
Merci.
Auteur:  Nico33 [ 25 Avr 2014 22:21 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Script installé dans la box. Simple et efficace !
Ca devrait être intégré dans la box d'office ! Avis à la team ...
Auteur:  ASECADOMOTIQUE54 [ 22 Mai 2014 14:51 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

salut tinto, ton lien pour le script math.php renvoi vers une erreur 404, :cry: peux tu le remettre à dispo.
d'avance merci ;)
Auteur:  Tinto [ 22 Mai 2014 17:26 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Je l'ai cassé cet après-midi je crois bien :-) détection rapide :)

Je remets ce soir ;)
Auteur:  ASECADOMOTIQUE54 [ 22 Mai 2014 17:53 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

eh oui, on suit ça de prés... ;) je peux même te dire que ton lien "téléchargement" sur domosee.fr renvoi sur ton forum ;)
Auteur:  Tinto [ 22 Mai 2014 17:55 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Oui oui, pas encore fini a 100℅ mais c'est imminent :)
Auteur:  ASECADOMOTIQUE54 [ 22 Mai 2014 18:17 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

cool en tête pour moi dans les choses à tester ;) en plus un projet made in Lorraine 8-)
Auteur:  Tinto [ 22 Mai 2014 19:53 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

Résolu ;)
Auteur:  ASECADOMOTIQUE54 [ 22 Mai 2014 21:14 ]
Sujet du message:  Re: Script math.php - opérations mathématiques

nikel je viens de tester avec succés la soustraction pour avoir l'amplitude de température du jour (temp maxi - temp mini). au top ;)
il me reste plus qu'à réfléchir un peu aux usages que l'on pourrait en faire... si vous avez des pistes
Nico33 a écrit:Ca devrait être intégré dans la box d'office ! Avis à la team ...

+1
Page 1 sur 5 Le fuseau horaire est UTC+1 heure