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

copier une valeur dans un autre device
http://forum.eedomus.fr/viewtopic.php?f=14&t=1000
Page 1 sur 1
Auteur:  aurel [ 10 Avr 2013 10:52 ]
Sujet du message:  copier une valeur dans un autre device

Depuis la dernière MAJ on peut déplacer les widget des programmation, j'au donc créer une nouvelle pièce "chaufferie" pour y déplacer tout les devices qui permettent à mon chauffage de réguler la température de la maison. J'ai un seul élément qui est toujours dans ma pièce principale, la température.
En attendant une éventuelle possibilité de dupliquer un device, je souhaite créer un device dans lequel vient se recopier la valeur de mon thermomètre, à son changement ou toutes les x minutes pour avoir également cette info dans ma pièce "chaufferie".

Dans la MAJ d'octobre il y a:
Code : Tout sélectionner
Nouveaux tags [LAST_VALUE PERIPH_ID=XXX] utilisables dans les messages et les URL de capteurs/actionneurs HTTP (Ce tag est remplacé par la dernière valeur du périphérique)


Est il possible de s'appuyer la dessus pour recopier ma température dans un capteur http? Je dirai que oui mais je ne vois pas comment utiliser ce tag.

Avez vous déjà essayé?
Auteur:  Marcus-67 [ 10 Avr 2013 12:18 ]
Sujet du message:  Re: copier une valeur dans un autre device

+1

Je confirme ne pas avoir retrouvé moi aussi comment rédiger la synthaxe de cette fontion depuis la doc en ligne pour la retranscrire dans ma box.
Si l'équipe support eedomus pouvait nous compléter la doc par un ou deux exemples ou nous indiquer le chemin, ça serait cool,
Merci.
;)
Auteur:  tchex [ 10 Avr 2013 15:44 ]
Sujet du message:  Re: copier une valeur dans un autre device

Je me pose la même question. j'ai pas mal cherché mais sans trouver.
mon but est de récupérer le max d'une T° dans la journée (pareil pour le min, pour des conso électriques, etc.).

je voulais faire ceci :

stocker la T° d'une sonde dans un périphérique virtuel
à intervalles réguliers comparer la T° de la sonde avec le périphérique virtuel
si T° > P.V. on met à jour le P.V sinon rien..

à la fin de la journée je récupère ma valeur (le max du jour) et je remet le PV à une valeur délirante (-1000) pour qu'il redémarre du bon pied le lendemain..

malheureusement je ne vois pas comment attribuer la valeur d'un périphérique à un autre..
Auteur:  cedriclocqueneux [ 10 Avr 2013 16:39 ]
Sujet du message:  Re: copier une valeur dans un autre device

C'est possible, je viens d'essayer vite fait et ca fonctionne bien:
relevez l'ID du périphérique dont vous souhaitez copier la valeur, par exemple 10000
créez un Etat Virtuel, et sélectionnez valeur décimale, puis l'unité que vous voulez. Relevez également son ID, par exemple 10001
créer ensuite un actionneur HTTP, et en commande renseignez
http://api.eedomus.com
puis en paramètre
/set?action=periph.value&periph_id=10001&value=[LAST_VALUE PERIPH_ID=10000]&api_user=VOTREID&api_secret=VOTRESECRET

en remplacant bien sûr par vos identifiants. Il n'y a plus qu'à faire une règle qui s'active quand vous voulez (par exemple toutes les 5min) et qui ira lancer l'actionneur http qu'on a créé en dernier.
Auteur:  Marcus-67 [ 10 Avr 2013 18:04 ]
Sujet du message:  Re: copier une valeur dans un autre device

Super, ça au moins c'est clair cedriclocqueneux :P
Au moins là je peux construire mes requêtes.
Merci man ! ;)
Auteur:  aurel [ 11 Avr 2013 07:51 ]
Sujet du message:  Re: copier une valeur dans un autre device

Super, Merci Cédric,
Dommage de passer par un virtual device en plus, mais ça fonctionne c'est le principal ;)
Auteur:  cedriclocqueneux [ 11 Avr 2013 08:32 ]
Sujet du message:  Re: copier une valeur dans un autre device

Je n'ai pas essayé, mais depuis la denrière mise à jour, il y a peut être moyen d'utiliser l'IP de la box plutot que de passer par les serveurs eedomus. En utilisant en paramètre
/api/set?action=periph.value&periph_id=10001&value=[LAST_VALUE PERIPH_ID=10000]&api_user=VOTREID&api_secret=VOTRESECRET
et en indiquant l'adresse ip de votre box plutot que http://api.eedomus.com
Ce serait encore mieux :p
Auteur:  tchex [ 11 Avr 2013 08:39 ]
Sujet du message:  Re: copier une valeur dans un autre device

super merci !
Auteur:  aurel [ 11 Avr 2013 09:05 ]
Sujet du message:  Re: copier une valeur dans un autre device

Je n'ai pas essayé, mais depuis la denrière mise à jour, il y a peut être moyen d'utiliser l'IP de la box plutot que de passer par les serveurs eedomus.


Ca fonctionne aussi!

pour cela mettez "http://ipdelabox/api" a la place de "http://api.eedomus.com/" ;)
Auteur:  tchex [ 12 Avr 2013 14:09 ]
Sujet du message:  Re: copier une valeur dans un autre device

Pour info j'ai fait quelques essais d'addition de 2 valeurs, de multiplication ou de division etc, directement dans l'url mais ça ne fonctionne pas.
Les opérateurs n'ont pas l'air interprétés.
ex : [LAST_VALUE PERIPH_ID=10000]+[LAST_VALUE PERIPH_ID=10000] met à jour le périphérique avec "13 13"
Dommage !
Auteur:  Vincent [ 12 Avr 2013 15:01 ]
Sujet du message:  Re: copier une valeur dans un autre device

Il y a quelque chose sur les opérations mathématiques ici :).
Auteur:  Hakkai94 [ 27 Avr 2016 11:07 ]
Sujet du message:  Re: copier une valeur dans un autre device

Bonjour,

J'ai essayé cette configuration sans succès.
BUT : ne récupérer la température de l'eau de la piscine que lorsque la pompe est en marche. Car sinon ça donne ça :
Image

Pour cela, j'ai créé un état virtuel décimal et un actionneur http comme décrit plus haut. La température est relevée par un Universal Sensor (FGBS321 + 1 DS18B20) placé dans une conduite d'eau dans le local technique.

Lorsque je lance ma requête http dans un navigateur, j'ai cette réponse :
Code : Tout sélectionner
{ "success": "0", "body": { "error_code": "10", "error_msg": "Value not decimal [[LAST_VALUE PERIPH_ID=392183]]." } }


Requête utilisée :
Code : Tout sélectionner
http://192.168.1.102/api/set?action=periph.value&periph_id=394228&value=[LAST_VALUE%20PERIPH_ID=392183]&api_user=MONUSER&api_secret=MONSECRET


Voici les périphériques en question :
Image
Image

Une idée ?

Merci

César
Auteur:  Hakkai94 [ 03 Mai 2016 09:44 ]
Sujet du message:  Re: copier une valeur dans un autre device

Bonjour,

J'ai posé ma question auprès du support eedomus, ils m'ont répondu que le tag ne pouvait être utilisé que dans un message de règle et qu'il fallait passer par un script. Soit. Du coup j'ai créé un petit script que voici :
Code : Tout sélectionner
<?php

$PeriphSrc = getArg('src');
$PeriphDest = getArg('dest');

echo "PeriphSrc : $PeriphSrc<br>";
echo "PeriphDest : $PeriphDest<br>";

$ActualValue     = getValue($PeriphSrc);

echo "ActualValue : ".$ActualValue['value']."<br>";

if ($ActualValue['value'] == NULL) {
       setValue($PeriphDest, 0);
} else {
       setValue($PeriphDest, $ActualValue['value'] );
}

?>


Lorsque j'exécute le script manuellement en utilisant l'url suivante :
Code : Tout sélectionner
http://192.168.1.102/script/?exec=copy_value.php&src=392183&dest=394228

mon navigateur affiche bien la réponse
Code : Tout sélectionner
PeriphSrc : 392183
PeriphDest : 394228
ActualValue : 16.37

et mon état virtuel est bien mise à jour.

Mais lorsque je positionne cette URL dans mon actionneur, ça ne fonctionne pas, je pense pourtant l'avoir correctement paramétré :
Image

Une idée ?

César
Auteur:  Madoma73 [ 03 Mai 2016 09:55 ]
Sujet du message:  Re: copier une valeur dans un autre device

la partie paramètre devrait être tout ce qui est après le ? (? y compris) mais je ne garantie pas que ça suffise à le faire marcher
Auteur:  Hakkai94 [ 03 Mai 2016 10:02 ]
Sujet du message:  Re: copier une valeur dans un autre device

J'ai pourtant utilisé le même système pour générer des consos à partir d'index, ça fonctionne parfaitement :
Image
Page 1 sur 1 Le fuseau horaire est UTC+1 heure