retrouver une commande depuis son ID
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
retrouver une commande depuis son ID
Bonjour à tous et merci par avance pour votre aide.
Dans mes scénarii, mes commandes sont remplacées par leur ID (par exemple, #123# se substitue à la commande d'origine). L'étude du log du scénario me montre une erreur d'exécution au niveau de cette commande.
Comment puis je retrouver l'intitulé de cette commande à partir de son ID?
Peut on paramétrer le texte des scénarii de façon à ce que le texte reste sous sa forme initiale de façon à ce que sa compréhension - et donc la recherche des erreurs dans les logs reste plus aisée?
Avec toute l'indulgence due à un vieux débutant.
Dans mes scénarii, mes commandes sont remplacées par leur ID (par exemple, #123# se substitue à la commande d'origine). L'étude du log du scénario me montre une erreur d'exécution au niveau de cette commande.
Comment puis je retrouver l'intitulé de cette commande à partir de son ID?
Peut on paramétrer le texte des scénarii de façon à ce que le texte reste sous sa forme initiale de façon à ce que sa compréhension - et donc la recherche des erreurs dans les logs reste plus aisée?
Avec toute l'indulgence due à un vieux débutant.
- Fabrice
- Modérateur
- Messages : 3424
- Inscription : 27 oct. 2016, 22:26
- Localisation : Planète terre, IDF, 93
Re: retrouver une commande depuis son ID
Bonjour,
Quand vous avez l'ID qui s'affiche sous la forme #1234#, c'est que vous avez supprimé la commande d'origine. Il faut alors aller la rechercher pour que l'ID disparaisse et laisse la place à l'équipement / commande / état, sous son nom usuel.
Quand vous avez l'ID qui s'affiche sous la forme #1234#, c'est que vous avez supprimé la commande d'origine. Il faut alors aller la rechercher pour que l'ID disparaisse et laisse la place à l'équipement / commande / état, sous son nom usuel.
Helper Officiel Jeedom
- Jeedom : 3.3.36
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W
- Jeedom : 3.3.36
- Protocole : Z-Wave / RFXcom / BLEA
- Raspberry Pi : Pi 3 B+ / Pi 3 B / Pi Zero W
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
Re: retrouver une commande depuis son ID
Bonjour,
Merci pour la rapidité de votre réponse. Je me dois d'apporter une précision à la situation décrite: ce sont toutes les commandes de type "équipement/commande/état" qui ont été remplacées dans cette procédure, mais également dans d'autres scénarii. C'est pour celà que je demandais s'il était possible de paramétrer le texte des scénarii de façon à ce que le texte reste sous sa forme initiale. Je vais tester une nouvelle procédure pour voir si le problème se reproduit systématiquement.
D'autre part, la relecture de la documentation "scénario" m'a fait identifier une commande spécifique qui semble susceptible de me permettre de répondre à ce problème: il s'agit de cmd::byId($id). Pouvez vous me confirmer que je ne me trompe pas? Si c'est le cas, où faut-il écrire une telle commande dans JEEDOM (un plug-in spécifique? un éditeur?) pour obtenir la remontée de la commande d'origine.
En espérant ne pas abuser de cotre disponibilité, cordialement,
P. BERMON
Merci pour la rapidité de votre réponse. Je me dois d'apporter une précision à la situation décrite: ce sont toutes les commandes de type "équipement/commande/état" qui ont été remplacées dans cette procédure, mais également dans d'autres scénarii. C'est pour celà que je demandais s'il était possible de paramétrer le texte des scénarii de façon à ce que le texte reste sous sa forme initiale. Je vais tester une nouvelle procédure pour voir si le problème se reproduit systématiquement.
D'autre part, la relecture de la documentation "scénario" m'a fait identifier une commande spécifique qui semble susceptible de me permettre de répondre à ce problème: il s'agit de cmd::byId($id). Pouvez vous me confirmer que je ne me trompe pas? Si c'est le cas, où faut-il écrire une telle commande dans JEEDOM (un plug-in spécifique? un éditeur?) pour obtenir la remontée de la commande d'origine.
En espérant ne pas abuser de cotre disponibilité, cordialement,
P. BERMON
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
Re: retrouver une commande depuis son ID
Je me réponds à moi même:
je viens de trouver ceci, qui semble répondre à mon problème.
Equipement
Voici l’URL = http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=eqLogic&object_id=#OBJECT_ID#
object_id : ID de l’objet dont on veut récupérer les équipements
Je rentre dans mon navigateur l'URL en remplaçant les tags par leurs valeurs. Je prends bien soin de donner l'OBJECT_ID d'un objet existant. Je reçois en réponse "file not found' !!!!!
WHY! WHY! WHY!
n.b.: je l'ai fait avec les ID de plusieurs objets dont je suis sur de l'existence!!!
je viens de trouver ceci, qui semble répondre à mon problème.
Equipement
Voici l’URL = http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=eqLogic&object_id=#OBJECT_ID#
object_id : ID de l’objet dont on veut récupérer les équipements
Je rentre dans mon navigateur l'URL en remplaçant les tags par leurs valeurs. Je prends bien soin de donner l'OBJECT_ID d'un objet existant. Je reçois en réponse "file not found' !!!!!
WHY! WHY! WHY!
n.b.: je l'ai fait avec les ID de plusieurs objets dont je suis sur de l'existence!!!
retrouver une commande depuis son ID
Plus simplement :
dans un scenario, mettre une action puis #4585# et si après sauvegarde il se transforme en nom lisible c'est ok.
dans un scenario, mettre une action puis #4585# et si après sauvegarde il se transforme en nom lisible c'est ok.
Dernière édition par floman321 le 13 nov. 2017, 15:35, édité 1 fois.
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
Re: retrouver une commande depuis son ID
Bonjour floman321,
je teste tout de suite, mais déjà, merci pour l'attention apportée à mon problème.
je teste tout de suite, mais déjà, merci pour l'attention apportée à mon problème.
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
Re: retrouver une commande depuis son ID
CA MARCHE !!!!
C'est magique!!!!
Une petite explication sur ce que fait #4585# me rendrait béat d'admiration pour le restant de la soirée!! Mais d'ores et déjà, un grand merci.
C'est magique!!!!
Une petite explication sur ce que fait #4585# me rendrait béat d'admiration pour le restant de la soirée!! Mais d'ores et déjà, un grand merci.
-
- Timide
- Messages : 28
- Inscription : 14 août 2017, 21:28
- Localisation : Nîmes
Re: retrouver une commande depuis son ID
Bonjour à tous,
Episode suivant : tout d'abord, je confirme que la solution apportée par floman321 est pleinement opérationnelle.
Par contre, j'ai pu ainsi découvrir que plusieurs de mes commandes avaient disparues, ce qui donne raison à fabrice qui m'avait apporté une première réponse. De fait, j'ai pu vérifier que ces commandes existent toujours - en me référant à outil ---> résumé domotique --> * mais pas avec la même ID que celle que j'avais mise dans mes scénarii. Comment celà est-il possible?
Je vais donc réécrire les scénarii concernés.
Merci fabrice pour ton apport pris en compte après analyse plus approfondie de ma part.
Episode suivant : tout d'abord, je confirme que la solution apportée par floman321 est pleinement opérationnelle.
Par contre, j'ai pu ainsi découvrir que plusieurs de mes commandes avaient disparues, ce qui donne raison à fabrice qui m'avait apporté une première réponse. De fait, j'ai pu vérifier que ces commandes existent toujours - en me référant à outil ---> résumé domotique --> * mais pas avec la même ID que celle que j'avais mise dans mes scénarii. Comment celà est-il possible?
Je vais donc réécrire les scénarii concernés.
Merci fabrice pour ton apport pris en compte après analyse plus approfondie de ma part.
Re: retrouver une commande depuis son ID
bonjour a tous en cherchant je suis tombé sur ce sujet.
je suis dans un cas legerement different pour une raison inconnu certain de mes equipement on sauté il ne reste dans mes scenario que de #xxx# y'a t'il un moyen de retrouver quel etait l'equipement qui avait cette id car moi je ne me souvient plus de quel equipement a sauté
merci par avance
je suis dans un cas legerement different pour une raison inconnu certain de mes equipement on sauté il ne reste dans mes scenario que de #xxx# y'a t'il un moyen de retrouver quel etait l'equipement qui avait cette id car moi je ne me souvient plus de quel equipement a sauté
merci par avance
Damien
Re: retrouver une commande depuis son ID
Hello
Je déterre ce sujet, j'ai la même question que sheep300
Je déterre ce sujet, j'ai la même question que sheep300
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
- domoggvad
- Actif
- Messages : 1880
- Inscription : 29 avr. 2015, 16:02
- Localisation : Seine-Saint-Denis (Villepinte)
Re: retrouver une commande depuis son ID
Bonjour
ça aurait était génial de retrouver tous les ID un peut du style domo widget lors de la récupération des équipements..
ça aurait était génial de retrouver tous les ID un peut du style domo widget lors de la récupération des équipements..
3 Odroid C2 (Prod - secours - test) Z83 tests: rfxcom + Z-wave- Clims DAIKIN - espeasy - thekey - Xiaomi - Telinfo - broadlink... widget V3 :viewtopic.php?f=29&t=44183&p=717810#p717810
Re: retrouver une commande depuis son ID
En fait j'ai deux besoins qui surviennent parfois (peut-être non réalisables):
1/ retrouver le nom d'une commande qui a été détruite via son ID #xxx#
2/ changer l'ID d'une commande par une autre ID. Par exemple, une commande a été détruite et je dois la recréer, elle va avoir un nouvel ID. Est-il possible de lui attribuer l'ancien ID de sorte que mes scénarios et scripts n'aient pas à tous être modifiés
1/ retrouver le nom d'une commande qui a été détruite via son ID #xxx#
2/ changer l'ID d'une commande par une autre ID. Par exemple, une commande a été détruite et je dois la recréer, elle va avoir un nouvel ID. Est-il possible de lui attribuer l'ancien ID de sorte que mes scénarios et scripts n'aient pas à tous être modifiés
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Re: retrouver une commande depuis son ID
Bonjour,
2) déja possible dans la configuration avancée des commandes
1) sera disponible en 3.3.X
2) déja possible dans la configuration avancée des commandes
1) sera disponible en 3.3.X
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section
-
- Timide
- Messages : 57
- Inscription : 29 nov. 2018, 11:24
Re: retrouver une commande depuis son ID
Super, merci LoÏc pour cette information et pour l'évolution envisagée. Je n'avais pas été capable de reproduire la solution proposée par floman321 qui avait pourtant marché une fois.
Re: retrouver une commande depuis son ID
Perso pour éviter de se retrouver comme un gland quand on fait une supression hazardeuse je fait chaque jour au moment du backup une sauvegarde de toutes les commandes existantes avec leur libellé complet et leur ID numérique . Si dans l'analyse équipement, j'ai des commandes orphelines, je peux grace a ce backup journalier finir par retrouver ce qu'était cette cde orpheline .
Ca donne un fichier de ce style (extrait):
Ca donne un fichier de ce style (extrait):
Code : Tout sélectionner
2350 : [Automatisme][IPX800_santé][Dernier refresh]
2351 : [Automatisme][IPX800_santé][Etat]
2352 : [Automatisme][IPX800_santé][All On]
2353 : [Automatisme][IPX800_santé][All Off]
2354 : [Automatisme][IPX800_santé][Reboot]
2355 : [Automatisme][IPXana1_T°Séjour][Brut]
2356 : [Automatisme][IPXana1_T°Séjour][Réel]
2357 : [Chambre droite][T°ChDrte_ipx][Brut]
2358 : [Chambre droite][T°ChDrte_ipx][Réel]
2359 : [Chambre RdC][T° Ch Rdc-ipx3][Brut]
2360 : [Chambre RdC][T° Ch Rdc-ipx3][Réel]
1 NUC & 1 RPI3/Msata V3.3.31, EnOcean, Z-wave,
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights
Re: retrouver une commande depuis son ID
Super nouvelle pour le 1/ et pour le 2/ je ne vois pas comment cela fonctionne dans le cas où j'ai détruit la commande. Je vais dans quelle config avancée pour retrouver mes petits?Bonjour,
2) déja possible dans la configuration avancée des commandes
1) sera disponible en 3.3.X
Excellent. Tu fais cela via un script? Peux-tu m'en dire plus?Perso pour éviter de se retrouver comme un gland quand on fait une supression hazardeuse je fait chaque jour au moment du backup une sauvegarde de toutes les commandes existantes avec leur libellé complet et leur ID numérique
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Re: retrouver une commande depuis son ID
Je ne suis pas l'auteur du code. Je l'ai trouvé sur le fofo mais ou? Pas réussi à retrouver, mais je pense que c'était avant la bascule du fofo.
Donc à adapter pour le répertoire de stockage.
J'ai ce code en début d'un scénario à 03H30 (horaire avant le backup Jeedom à 03H45)
Une fois le code terminé, le scénario copie sur un serveur distant le fichier jeedomcmd.txt en changeant le nom pour l'horodater et le rendre unique.
(En fait j'utilise le gros disque disque de Kodi que je démarre si Kodi est off line au moment du backup, ce qui est généralement le cas: backup Id à 03H00 et backup Jeedom à 03H45)
avec:
$backupdir = '/var/www/html/zzzbackuperasecmd';
l'emplacement ou va etre stocker le fichier backupID
$backupfile = '/jeedomcmd.txt';
le nom du fichier backup.
Attention comme Il sera écrasé par le backupID suivant
Je le renomme avec un script
soit on le laisse sur le même disque que Jeedom ( !!, Pour ne pas me casser la tête, j'utilise le super plugin datatranfert de femsoft pour le poser sur le disque de kodi ou ailleurs ....
Donc à adapter pour le répertoire de stockage.
J'ai ce code en début d'un scénario à 03H30 (horaire avant le backup Jeedom à 03H45)
Une fois le code terminé, le scénario copie sur un serveur distant le fichier jeedomcmd.txt en changeant le nom pour l'horodater et le rendre unique.
(En fait j'utilise le gros disque disque de Kodi que je démarre si Kodi est off line au moment du backup, ce qui est généralement le cas: backup Id à 03H00 et backup Jeedom à 03H45)
Code : Tout sélectionner
$backupdir = '/var/www/html/zzzbackuperasecmd';
$backupfile = '/jeedomcmd.txt';
$cmdlistold = array();
$cmdlistnew = array();
if (!is_dir($backupdir)) {
$scenario->setLog('Création du répertoire ' . $backupdir);
mkdir($backupdir, 0775);
}
if (file_exists($backupdir . $backupfile)) {
$scenario->setLog('Récupération de la liste dans ' . $backupdir . $backupfile);
$jeedomcmd = fopen($backupdir . $backupfile, 'r');
while (($buffer = fgets($jeedomcmd)) !== false) {
$buffer = trim($buffer,"\n");
$cmdlistold[] = $buffer;
}
fclose($jeedomcmd);
}
foreach(cmd::all() as $cmd) {
$scenario->setLog('bdd ' . $cmd->getId() . ' : ' . $cmd->getHumanName());
$cmdlistnew[] = $cmd->getId() . ' : ' . $cmd->getHumanName();
}
$cmdlistdiff = array_diff($cmdlistnew, $cmdlistold);
$cmdlistnew = array_merge($cmdlistold, $cmdlistdiff);
asort($cmdlistnew,SORT_NUMERIC);
$jeedomcmd = fopen($backupdir . $backupfile, 'w+');
foreach($cmdlistnew AS $ligne) {
$scenario->setLog('bck ' . $ligne);
fputs($jeedomcmd,$ligne."\n");
}
fclose($jeedomcmd);
$backupdir = '/var/www/html/zzzbackuperasecmd';
l'emplacement ou va etre stocker le fichier backupID
$backupfile = '/jeedomcmd.txt';
le nom du fichier backup.
Attention comme Il sera écrasé par le backupID suivant
Je le renomme avec un script
Code : Tout sélectionner
#!/bin/bash
DAY=$(date +%d)
MONTH=$(date +%m)
YEAR=$(date +%Y)
sudo cp /var/www/html/zzzbackuperasecmd/jeedomcmd.txt /home/jeedom/jeedom/backup/jeedomcmd.txt
sudo cp -a /home/jeedom/jeedom/backup/jeedomcmd.txt /home/jeedom/jeedom/backup/backupcdeJ100-$YEAR-$MONTH-$DAY.txt
sudo rm /home/jeedom/jeedom/backup/jeedomcmd.txt
sudo rm /var/www/html/zzzbackuperasecmd/jeedomcmd.txt
1 NUC & 1 RPI3/Msata V3.3.31, EnOcean, Z-wave,
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights
Rflink, IPX800V3, carte 8 rl IP, IR_V3, Xiaomi gateway, JPI/APK/tel Android dédié, Somfy RTS, Rf433Mhz, Xiaomi, Bm280 , Broadlink,WifiLights
Re: retrouver une commande depuis son ID
Merci Kerdale, je vais tester
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard
Re: retrouver une commande depuis son ID
Le script original est là.Jeandhom a écrit : ↑22 janv. 2019, 10:56viewtopic.php?f=132&t=31663&p=602454#p602454
Une solution en attendant la version 3.3.X
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités