Formation PUB420 : Système domotique DIY, 2020 Jeedom

5.34 Contenu de la base de données de Jeedom


Lorsque j'apprends à utiliser un nouveau système, j'aime bien comprendre ce qui se cache derrière les écrans qu'il me propose. Et ceci passe assurément par sa base de données.

Je vous propose ici quelques manipulations pour explorer la base de données de Jeedom.

Attention : si vous effectuez des manipulations autres que des SELECT, vous risquez d'endommager votre système. C'est une bonne idée d'effectuer une copie de sécurité de Jeedom avant de vous lancer.

  • Accédez à la ligne de commande du Pi soit via SSH, soit en y branchant un écran et un clavier.
  • Vous devez avoir en main le mot de passe de l'usager jeedom sur le serveur MySQL. Si vous ne le connaissez pas, suivez les instructions ici : Retrouver le mot de passe de la base de données Jeedom.
  • Dans une fenêtre Terminal sur le Pi, lancez la commande suivante puis entrez le mot de passe lorsque MySQL vous le demandera.
    Terminal

    mysql -u jeedom -p

  • Vous êtes désormais à la ligne de commande MySQL. L'invite (MariaDB [(none)]>) indique qu'aucune base de données n'est sélectionnée.
    Résultat à l'écran

    pi@raspberrypi:~ $ mysql -u jeedom -p
    Enter password:

    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 182
    Server version: 10.3.29-MariaDB-0+deb10u1 Raspbian 10

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]>

  • Pour connaître les bases de données disponibles :
    MySQL

    SHOW DATABASES;

    Résultat à l'écran

    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | jeedom             |
    +--------------------+
    2 rows in set (0.002 sec)

    MariaDB [(none)]>

  • Sélectionnez la base de données nommée jeedom. L'invite de commande changera pour MariaDB [jeedom]>.
    MySQL

    USE jeedom;

  • Pour connaître les tables qu'elle contient :
    MySQL

    SHOW TABLES;

    Résultat à l'écran

    MariaDB [jeedom]> SHOW TABLES;
    +--------------------+
    | Tables_in_jeedom   |
    +--------------------+
    | cache              |
    | cmd                |
    | config             |
    | cron               |
    | dataStore          |
    | eqLogic            |
    | event              |
    | history            |
    | historyArch        |
    | interactDef        |
    | interactQuery      |
    | listener           |
    | message            |
    | note               |
    | object             |
    | plan               |
    | plan3d             |
    | plan3dHeader       |
    | planHeader         |
    | scenario           |
    | scenarioElement    |
    | scenarioExpression |
    | scenarioSubElement |
    | timeline           |
    | update             |
    | user               |
    | view               |
    | viewData           |
    | viewZone           |
    | widgets            |
    +--------------------+
    30 rows in set (0.002 sec)

    MariaDB [jeedom]>

  • Notez que vous pourriez avoir quelques tables en plus ou en moins selon les plugins que vous avez installés.
  • À partir d'ici, vous pouvez explorer le contenu de chacune des tables, par exemple la table cron, comme ceci :
    MySQL

    SELECT * FROM cron;

    Résultat à l'écran

    MariaDB [jeedom]> SELECT * FROM cron;
    +----+--------+----------+-------------+--------------------+---------+--------+-----------------+------------------+------+
    | id | enable | class    | function    | schedule           | timeout | deamon | deamonSleepTime | option           | once |
    +----+--------+----------+-------------+--------------------+---------+--------+-----------------+------------------+------+
    |  1 |      1 | plugin   | cronDaily   | 00 00 * * *        |     240 |      0 |               1 | NULL             |    0 |
    |  2 |      1 | jeedom   | backup      | 36 00 * * *        |      60 |      0 |               1 | NULL             |    0 |
    |  3 |      1 | plugin   | cronHourly  | 00 * * * *         |      60 |      0 |               1 | NULL             |    0 |
    |  4 |      1 | scenario | check       | * * * * *          |      30 |      0 |               1 | NULL             |    0 |
    |  5 |      1 | scenario | control     | * * * * *          |      30 |      0 |               1 | NULL             |    0 |
    |  6 |      1 | jeedom   | cronDaily   | 7 0 * * *          |     240 |      0 |               1 | NULL             |    0 |
    |  7 |      1 | jeedom   | cronHourly  | 2 * * * *          |      60 |      0 |               1 | NULL             |    0 |
    |  8 |      1 | jeedom   | cron5       | */5 * * * *        |       5 |      0 |               1 | NULL             |    0 |
    |  9 |      1 | jeedom   | cron10      | */10 * * * *       |      10 |      0 |               1 | NULL             |    0 |
    | 10 |      1 | jeedom   | cron        | * * * * *          |       2 |      0 |               1 | NULL             |    0 |
    | 11 |      1 | plugin   | cron        | * * * * *          |       2 |      0 |               1 | NULL             |    0 |
    | 12 |      1 | plugin   | cron5       | */5 * * * *        |       5 |      0 |               1 | NULL             |    0 |
    | 13 |      1 | plugin   | cron10      | */10 * * * *       |      10 |      0 |               1 | NULL             |    0 |
    | 14 |      1 | plugin   | cron15      | */15 * * * *       |      15 |      0 |               1 | NULL             |    0 |
    | 15 |      1 | plugin   | cron30      | */30 * * * *       |      30 |      0 |               1 | NULL             |    0 |
    | 16 |      1 | plugin   | checkDeamon | */5 * * * *        |       5 |      0 |               1 | NULL             |    0 |
    | 17 |      1 | cache    | persist     | */30 * * * *       |      30 |      0 |               1 | NULL             |    0 |
    | 18 |      1 | history  | archive     | 00 5 * * *         |     240 |      0 |               1 | NULL             |    0 |
    | 19 |      1 | plugin   | heartbeat   | */5 * * * *        |      10 |      0 |               1 | NULL             |    0 |
    | 20 |      1 | weather  | pull        | 23 19 05 09 * 2021 |      60 |      0 |               1 | {"weather_id":3} |    0 |
    +----+--------+----------+-------------+--------------------+---------+--------+-----------------+------------------+------+
    20 rows in set (0.002 sec)

    MariaDB [jeedom]>

  • À vous de poursuivre l'exploration afin de savoir ce que Jeedom stocke dans sa base de données!

Voir les données directement dans Jeedom

Jeedom vous permet d'effectuer certaines manipulations de la base de données directement dans son interface Web.

  • Dans l'interface Web de Jeedom, rendez-vous dans le menu Réglages / Système / Configuration.
  • Dans l'onglet _OS/DB, vis-à-vis Administration Base de données, cliquez sur Ouvrir.

    Administration Base de données

  • L'interface permet d'effectuer certaines opérations sur la base de données. Attention : certaines opérations modifieront les données alors vous devez être prudents avant de cliquer sur les différents boutons. C'est une bonne idée d'effectuer une copie de sécurité de Jeedom avant de tenter des manipulations.
  • L'interface permet d'effectuer facilement un SELECT sur une table données. Voici par exemple le contenu de la table widgets.

    Table widgets

Voir les données dans votre éditeur MySQL favori

Petit truc pour explorer la base de données à l'aide d'un outil graphique :

  • Effectuez une copie de sécurité de Jeedom.
  • Téléchargez la copie sur votre poste de travail puis décompressez le fichier.
  • Créez une base de données vide sur votre poste de travail à l'aide de phpMyAdmin ou d'un autre outil de votre choix (vous devez avoir un serveur MySQL qui roule).
  • Remplissez la base de données à l'aide du script SQL qui se trouve dans la copie de sécurité que vous venez de télécharger.
  • Vous avez désormais accès aux données de Jeedom dans votre outil SQL préféré!

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre