Base de donnée domoticz : Accès et modification

Voici comment modifier à la main une donnée dans la base de données de domoticz.
Le fichier concerné est domoticz.db

Contexte :
J’ai modifié un script LUA et son execution fait planter domoticz !
Plus d’accès à l’interface, et le script n’est pas dans le répertoire /scripts/lua mais dans base de données…

GLUPS !

La base de données du domoticz

Tout est stocké dans ce fichier :

> /home/domoticz/domoticz.db

Accès par SSH

Heuresement l’accès à ma raspberry est toujours possible par ssh…

> ssh pi@xx.xx.xx.xx

Une fois connecté, le fichier domoticz.db n’est pas directement exploitable. Il faut installer de quoi le gérer. -> sqlite3

Sqlite3 et domoticz

Il est necessaire d’installer sqlite3

$ sudo apt-get install sqlite3

Lecture de domoticz.db

$ cd /home/domoticz

On lance sqlite3

$ sqlite3

Puis quelques instructions pour :
– ouvrir le fichier domoticz.db
– demander un affichage par ligne pour que ca soit plus clair.
– lister les tables de la base données

En image :

ouvrir, lire et modifier la base de données domoticz

Bon parmis toutes ces tables, c’est EventMaster qui contient les scripts LUA.

sqlite3>SELECT * FROM EventMaster;

Et là vous obtenez tous les scripts à la suite. En regardant attentivement vous pouvez repérer plusieurs infos :

ouvrir, lire et modifier la base de données domoticz

On retrouve, dans cette capture d’écran, 2 scripts : un Lua et un Blockly

On voit que chaque script porte un identifiant ID (en majuscule, c’est important), et un champ Status qui est soit égale à 0 ou 1.

C’est mon script « test_notif » qui plante tout. (Je n’en connais pas la cause, là n’est pas le problème)
Je souhaite le désactiver.

Pour cela je dois passer le paramètre Status à « 0 ».

je vérifie que le sélectionne bien le bon script que je veux modifier avec la commande :

sqlite3>SELECT * FROM EventMaster where ID=5;

puis je modifie le paramètre Status

sqlite3>UPDATE EventMaster SET Status=0 WHERE ID=5;

et je vérifie que tout est correcte :

sqlite3>SELECT * FROM EventMaster;

En image :

ouvrir, lire et modifier la base de données domoticz

Après cela tout est rentré dans l’ordre.

En espérant que ca puisse servir à d’autres…

Pour vous aider dans les commandes sqlite, voici un bon récapitulatif de ce qu’il est possible de faire.
https://sqlite.org/cli.html

Add a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

AlphaOmega Captcha Classica  –  Enter Security Code