Comment faire remonter des infos dans le pluging virtuel

Bonjour j’essaye de me faire un capteur de niveau de cuve (récuperation d’eau de pluie).
J’ai suivie le tuto du site domoblog Suivre le niveau d'une cuve de récupération d'eau sur Jeedom avec un Raspberry Pi

J’ai un pb pour faire remonter l’info du script python (car dans la console il me donne bien une valleur) dans un device virtuel via le pluging virtuel.

J’ai ajouté un équipement,activé et visible puis dans commandes j’ai ajouter une information virtuelle donnée un nom sauvegarder et j’ai donc récupérer son id (9).

du coup ça m’a fait ça dans le script

distance = measure_average()
print(« Distance : {0:5.1f} ».format(distance))
payload = {‹ plugin ›: ‹ virtual ›, ‹ apikey ›: ‹ monapikey › , ‹ type ›: ‹ virtual › , ‹ id ›: ‹ 9 › , ‹ value ›: distance}
r = requests.post(« http://192.168.1.168/core/api/jeeApi.php », params=payload)
time.sleep(36)

et j’ai aucune valeur qui remonte …et j’ai l’erreur suivante ?

2022-09-15 16:17:38 jeeEvent Vous n’êtes pas autorisé à effectuer cette action, IP : 192.168.1.168 13

Je ne sais pas si ça peut aider à diagnostiqué mais quand je fait ça depuis un naviguateur

http://192.168.1.168/core/api/jeeApi.php

J’ai ça
{« jsonrpc »:« 2.0 »,« id »:99999,« error »:{« code »:1,« message »:"Requ\u00eate invalide. Version JSON-RPC invalide : "}}

ça parle à quelqu’un ?

Pour l’apikey on doit mettre celle de jeedom ou celle de la Clé API : Virtuel ?

merci

Bonjour,

Il faut mettre l’Apikey du plugin virtuel et ensuite dans ‹ type › il faut mettre event.

Merci pour la réponse ultrapide…
J’ai fait les modif mais ça n’a pas l’aire de marcher peut être faut-il attendre un peu de temps …

distance = measure_average()
print(« Distance : {0:5.1f} ».format(distance))
payload = {‹ plugin ›: ‹ virtual ›, ‹ apikey ›: ‹ Clé API : Virtuel › , ‹ type ›: ‹ event › , ‹ id ›: ‹ 9 › , ‹ value ›: distance}
r = requests.post(« http://192.168.1.168/core/api/jeeApi.php », params=payload)
time.sleep(36)

Quand je fait tester j’ai rien Résultat de la commande :
et le message d’erreur : Message de jeeEvent Vous n’êtes pas autorisé à effectuer cette action, IP : 192.168.1.168``

Post tes codes en utilisant l’outil (</>) prévu pour cet effet stp.

Edit: quelle est la version de Jeedom ?

distance = measure_average()
print(« Distance : {0:5.1f} ».format(distance))
payload = {‹ plugin ›: ‹ virtual ›, ‹ apikey ›: ‹ Clé API : Virtuel › , ‹ type ›: ‹ event › , ‹ id ›: ‹ 9 › , ‹ value ›: distance}

Version : 4.2.21
Source : default
Branche : V4-stable
Système : RPI 3 B

Edit ton message précèdent :

image

puis sélectionne le code :

puis clique sur cet icone :

image

copie/colle ceci, oubli pas de changer la cle Api :

payload = {'plugin':'virtual', 'apikey':'CléAPIVirtuel', 'type':'event', 'id':'9', 'value':distance}

Merci mille fois tu ça fonctionne maintenant … Pb d’espace ?

espace ou ' et "

En tout cas merci pour la solution à vitesse éclair !

Bonjour,

Le plus simple quand même c’est de juste copier/coller l’url qui est donnée dans la config de l’équipement…
le cadre bleu ne doit pas être assez grand :wink:

image

Il faut juste remplacer #cmd_id# dans l’url par l’id de la commande.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.