Même id pour un équipment et pour une commande

Bonjour,
En voulant récupérer la dernière communication sur un équipement, je me suis rendu compte que j’avais la même id pour un équipement et pour une commande d’un autre équipement.
Du coup lorsque je souhaite récupérer la date de la dernière communication de mon équipement, je récupère la date pour la commande d’un équipement qui n’a rien à voir avec l’équipement que je cherche a récupérer.

L’id de l’équipement est 165 relatif à mon équipement tydom :

L’id de la commande 165 est relatif à l’ampoule dans une chambre :

La commande de récupération que j’utilise dans un virtuel info/autre : date_fr(lastCommunication(#165#,« l d F H : i : s »))

dès que je sauvegarde c’est le nom de la commande qui remplace le numéro id de l’équipement :

Dans mon résumé domotique, on voit aussi qu’il y a les mêmes id :

Mes questions du coup :

  • est-ce normal?
  • comment puis-je récupérer la valeur de mon équipement et non de ma commande?

Merci par avance,

Jpjobe

Bonsoir,

C’est tout a fait normale, eqLogic (Equipement) et cmd (Commande) ont chacun une table dédié en base de données.

Encore une fois, c’est un comportement attendu, car tu utilise la fonction « lastCommunication » qui renvoie la date de la dernière communication pour un équipement et nom pour une commande.

Oui c’est normal,
Donc pour conclure, il n’y a aucun bug, c’est juste que tu emploies les mauvaises fonctions.

Pour ceci, je te renvoie a ce qui est écrit dans la documentation Jeedom :

collectDate(cmd,[format]) : Renvoie la date de la dernière collecte de données pour la commande placée en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour

valueDate(cmd,[format]) : Renvoie la date de la dernière valeur connue pour la commande placée en paramètre, le 2ème paramètre optionnel permet de spécifier le format de retour

Le lien :
https://doc.jeedom.com/fr_FR/core/4.2/scenario

Bonne soirée.

3 « J'aime »

Bonjour et merci pour ta réponse rapide.
J’ai modifié mon poste car j’ai vu qu’il y avait des coquilles d’orthographe.
Merci pour tout le détail de ta réponse.
Le tag bug que j’ai utilisé n’est pas le bon en effet si il y a bien deux tables différentes. Je m’en excuse.

Concernant ma demande.
Tu me dis que lastCommunication récupère la date pour un équipement.
C’est bien mon objectif. Je souhaite savoir quand est-ce qu’il y a eu une communication entre tydom (équipement) et jeedom.
Donc je pense que lastCommunication est bien adapté à mon objectif non?

Peut être que je n’utilise pas les bons termes et du coup j’utilise pas la bonne fonction pour récupérer la date.

Pour moi, mais je me trompe sûrement au vu de ta réponse,
-Tydom est un équipement
-blanc ( id#165#) est une commande de l’équipement Ampoule_e14_veilleuse.
Est-ce bien cela?

Avec ma compréhension j’utilise bien la bonne fonction il me semble.
Collectdate() permettrait de récupérer la date pour une commande dans tydom il me semble.

Il faut peut être que je rajoute Local PAC dans lastCommunication (#[Local PAC] [Tydom]#, l d H …)
Pour spécifier que c’est dans Local PAC qu’il fait aller chercher Tydom.
A ce moment là ça serait Local PAC qui serait un équipement…

Je te remercie par avance pour tes éclaircissements.

Pour les liens, j’ai bien consulté avant de posé ma question et c’est ce qui m’a permis d’arriver à comprendre les fonctions comme décrit si avant et de proposer la fonction comme écrit dans mon premier poste.
Le problème doit sûrement venir que je n’ai pas compris ce qu’est un équipement et une commande :upside_down_face:.

Merci

Merci @Phpvarious,

avec tes explications j’ai testé
date_fr(lastCommunication(#[Local PAC][TYDOM1]#,« l d F H : i : s »))
Et cela fonctionne.
Du coup je suis pas sur d’avoir tout compris, mais ça fonctionne avec ça.

Bonsoir,
désolé je n’avait pas vu tes messages.

en faite en mettant date_fr(lastCommunication(#165#,« l d F H : i : s »)) c’est jeedom qui vient remplacer #165# par le nom de la commande correspondante, c’est le fonctionnement normal, le soucis comme expliqué au dessus c’est que lastCommunication() est pour un équipement.
Donc la méthode que tu as utilisé est bien la bonne en déclarant directement le nom de l’équipement que d’utiliser son id.

Bonne soirée.

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.