[TUTO] utilisation: URL de retour et Push URL dans un virtuel

EDIT:
1 février 2022
ATTENTION DEPUIS LA VERSION 4.2.7 c’est l’api du plugin et la syntaxe change un peut

https://MON_URL/core/api/jeeApi.php?plugin=virtual&type=event&apikey=API_KEY&id=ID_ETAT_VIRTUEL#&value=#value#

Merci @xcorp


URL de retour et Push URL dans un virtuel
c’est deux méthodes de communication avec le monde extérieur.

En gros URL de retour est un récepteur d’information jeedom

Et Push URL est un éméteur de jeedom

Comme vous pouvez le voir URL de retour se situe tout en bas de l’équipement.

Elle est composé de plusieurs informations
une partie celle que j’ai caché en rouge est L’IP le port et l’apikey de votre jeedom … on y touche pas

la partie qui nous interesse se trouve a la fin de cette ligne :
id=#cmd_id#&value=#value#

Mais alors comment cela fonctionne

Vous allez devoir remplacer :
#cmd# par le n° de la commande a laquel vous voulez envoyer la valeur
#value# que vous remplacez par la valeur désirée

Remarquez je n’ai mis aucune info dans la case valeur, c’est parce que je vais l’envoyer après depuis l’extérieur.

Bon pour moi ca donne ca :
ma commande se nome test elle a comme ID 3158
je veux que ma commande info passe a la valeur 50

je remplace donc :
id=#cmd_id#&value=#value#
par :
id=3158&value=50
dans mon url de retour

l’essayer c’est l’adopter :slight_smile:

pour tester recopiez simplement la ligne ainsi faite dans la barre de votre navigateur.

Et Push URL me direz-vous

Et bien c’est exactement l’inverse c’est pour envoyer des données

la syntaxe est celle du récepteur de donnée cela peut’être un autre ou un même jeedom ou tout autre système capable de recevoir des données en ligne de commande http://…?cmd=test&val=#value# par exemple
la on ecrit #value# qui représente la valeur de votre commande.

Voilà c’est a vous de jouer

Vous trouverez un ligne par commande
ou :
cliquez sur la roue cranté en fin de ligne de commande
puis choisir onglet configuration
vous trouverez Push URL tout en bas de cet onglet

8 « J'aime »

Un grand merci pour cet article court et lisible par un grand (et vieux) débutant. J’ai essayé, et ça marche sans problème. Je ne fais qu’entrevoir toutes les applications possibles.

:pensive::pensive::exploding_head::exploding_head::exploding_head::exploding_head:

:wink: heureux d’avoir fait un heureux !

Salut,

Merci pour le tuto. J’ai l’impression pourtant que ce n’est pas la solution pour connaître l’état d’une commande info sur un Jeedom distant.

Je pensais utiliser l’URL de retour pour récupérer l’état d’une commande information sur un Jeedom distant et lancer une alerte si l’état est à 0 ou ne répond pas.

Il y a moyen de faire ça ? C’est dans le but d’alerter quelqu’un en cas de coupure de courant sur l’une de ses prises.
Un scénario tournerait chez moi et lancerait l’alerte.

1er machine tu fait un push de valeur 1 a interval régulier genre toutes les minutes
2ieme machine tu recupere le push de la 1ere
et tu verifi que aprés avoir remis a zero la valeur et attendu 2 minutes qu’elle soit bien passée a 1

si c’est pas le cas la machinne 1 est en panne …

aprés il y a surment 10000 autre méthode.

Machine à monitorer : sur l’une des commandes infos je mets une Push URL (dans configuration) qui correspondant à ma machine de monitoring

Du coup je pourrais effectivement connaitre cette valeur sur ma machine de monitoring.

Par contre comment faire ce Push URL toutes les minutes du coup ?

Ben ta commande celle qui contiens le push (Gestion de la répétition des valeurs: toujours répéter)
fait partie d’un équipement qui est rafraichie par un cron
dans notre exemple tu le regle a une minute soit * * * * *

image

OK J’ai compris et mis en place mais ça ne fonctionne pas malheureusement.

Sur l’équipement d’un Jeedom à monitorer :
image

Sur l’une des commandes informations de ce Jeedom à monitorer (qui est non affichée car pas besoin) :
image
J’ai mis en valeur : 1

Sur le Jeedom qui monitor :

J’ai mis un retour à la valeur 0 au bout de 2 minutes.

Dès que j’applique la configuration sur le Jeedom à monitorer, ça fonctionne bien, la commande « Prise Surveillée » passe à 1.

Au bout de 2mn environ, la commande « Prise Surveillée » passe à 0 (retour état).

Normalement toutes les minutes le push devrait se faire et du coup le retour à l’état 0 devrait se faire qu’en cas de non communication du Jeedom à monitorer mais ça ne fonctionne pas.

J’ai mal fais quelque chose ?

Autre question au passage : Est-ce que l’on peut faire passer dans ce push la valeur d’une commande info et non une valeur indiquée en dure, je n’ai pas trouvé la bonne syntaxe.
Pour le moment j’ai mis ça à la fin de la Push URL : type=virtual&id=1706&value=1

ben pour cette partie oui en lieu et place de 1 tu met #value# c’est la valeur de ta commande

Pour le reste mais il me semble que ca doit passé par un scénario

du genre si il y a 1
ok on remet 0 et on repasse dans 2 minutes pour voir si 1 est revenu …

2 « J'aime »

Ah merci pour #value# je n’avais pas compris que ça fonctionnait comme ça.

Pour le scénario tu veux dire de gérer le retour à la valeur 0 via un scénario et non via un retour à la valeur 0 au bout de x minutes ?

Je pense pas que ça va changer les choses car en regardant le log event sur mon Jeedom de monitoring, je vois bien quand la valeur de la commande change et clairement je devrais voir une requête chaque minute provenant du Jeedom à surveiller.

Pour moi l’actualisation automatique et/ou le « toujours répéter » ne fonctionne pas.

1 « J'aime »

Si non tu passe dans un sénario dans la machine a surveillé
programmé chaques minutes

avec une action avec le code suivant

$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'http://XX.XX.XX.XX:5000/core/api/jeeApi.php?plugin=virtual&apikey=XXXXXXXXXXXX&type=virtual&id=1278&value=1');
        $response = curl_exec($ch);
        curl_close($ch);

dans cet exemple 1278 est le n° d’id de la commande de la machine qui surveille

1 « J'aime »

Merci beaucoup @olive, ça marche impec avec :

  • Jeedom à surveiller : le scénario et ton code chaque minute
  • Jeedom qui surveille : une commande info avec retour à l’état 0 au bout de 2 minutes
  • Jeedom qui surveille : la commande info déclenche un scénario qui alerte si la valeur passe à 0

Bon super si ca roule

1 « J'aime »

Bonsoir,

Pense à cocher la case “solution” sur le message d’@olive qui répond à la demande. ça fermera automatiquement la sujet et fera remonter la réponse sur le 1er post pour que ceux qui auraient la même demande visualisent immédiatement la solution.

Bonsoir,

Il s’agit d’un tuto, pas d’une question que j’ai directement posée et donc pour laquelle il y aurait matière à mettre une solution.

Pour moi il faut laisser ce sujet ouvert, non ?

1 « J'aime »

C’est @olive qui a ouvert le sujet.

1 « J'aime »

Oui oui c’est un TuTo ca reste ouvert :wink:

Merci pour ce tuto, je cherche a récupérer la valeur d’un virtuel depuis un script python.
J’ai l’impression que ce tuto permet d’assigner une valeur, et ça fonctionne bien, mais pas de récupérer la valeur.
J’ai consulté la doc de l’api mais ne vois pas comment recupérer la valeur de mon info virtuel. Une idée?

Bonjour, ouvre un nouveau sujet : récupérer la valeur d’un virtuel depuis un script Python
Je me ferait un plaisir de t’aider.
ajoute juste @olive dans le corps du sujet comme ça je serais notifié.

Je me trompe en disant qu’il y a plus simple en prenant directement l’url ici ?