Voici un code pour remonter dans un virtuel les info non présentes dans le plugin Karotz

Bonjour,

Comme le plugin Karotz est bien moins complet qu’il ne l’a été, en fouillant un peu sur le forum, j’ai adapté au Karotz un bout de Code proposé ici : https://community.jeedom.com/t/resolu-interpreter-reponse-dune-commande-rest/73060

Solution mise en place :
1- Faire un scénario avec un bloc Code qui permet de récupérer les informations JSON du script status du Karotz et les mettre en tag :

$tags=$scenario->getTags();
$json=json_decode(shell_exec('curl "http://#IP DE VOTRE KAROTZ#/cgi-bin/status"'),true);
foreach($json as $key => $value){$scenario->setLog($key.': '.$value);$tags['#'.$key.'#']=$value;}
$scenario->setTags($tags);
  1. Exécuter une première fois le Code pour prendre dans le Log tous les tags créés (version;ears_disable;sleep;sleep_time; et plein d’autres…)
    Ou tout simplement taper l’url [http://#IP DE VOTRE KAROTZ#/cgi-bin/status](http://#IP DE VOTRE KAROTZ#/cgi-bin/status) dans votre navigateur.

  2. Créer un virtuel avec autant d’info virtuelle que de tag.
    Attention juste à bien attribuer le type (Binaire, Numérique ou Autre).
    On n’y met aucune valeur, aucun paramètre, juste un nom et le type.

  3. Revenir sur le scénario précédemment commencé, et y ajouter les actions qui vont écrire la valeur de chaque tag dans le virtuel :
    Action EVENT avec comme commande l’info virtuelle et comme valeur le tag.
    Par exemple : event ─ Commande : #[OBJECT][MonKarotz][sleep]# ─ Valeur : tag(sleep)

A partir de là, on peut lancer le scénario par programmation ou sur demande, à vous de voir ce que vous allez en faire.

Personnellement, je le lancerais à la demande sur d’autres scénarii. Par exemple, si la couleur est rouge je ne veux pas qu’elle change. Donc lorsque le scénario qui doit la passer bleu se lance, il lance celui avec la Code en premier, puis vérifie la couleur en cours et ne la change que si elle n’est pas rouge.
On peut donc savoir maintenant si notre Karotz dort et depuis combien de temps, s’il est allumé et de quelle couleur, la mémoire disponible ou encore le nombre de phrases TTS en cache (ce qui permet de faire le vide parfois par scénario par exemple).

En espérant que cela puisse aider les novices comme moi, car cela m’a pris 3 jours pour finalement 3 lignes de Code !!! Hahahaha.
Prochaine étape, trouver où se trouve la position des oreilles !

Nabaztaguement :slight_smile:

1 « J'aime »