Page 1 sur 2
Changer un dispositf virtuel de matériel
Publié : 23 avr. 2021, 21:46
par Keros
Bonjour à tous,
Avec la nouvelle version 2021.1, il est possible de rendre silencieux les logs de certain matériel.
J'utilise des dispositifs virtuels pour des commandes et d'autres qui ont une fonction d'horloge avec un planning. J'ai des scripts, qui, en fonction de mes horloges, actionnent différentes choses.
Mes horloges génèrent à chaque changement une ligne de log qui ne mets pas utile. Je ne peux pas couper les logs de ce plugin virtuel car je perdrai les logs pour les autres boutons virtuels.
L'idée serait de mettre mes horloges dans un plugin virtuel séparé : je pourrais ainsi les rendre "silencieuses".
Savez-vous s'il serait possible de passer un dispositif d'un plugin virtuel à un autre ? Peut-être directement dans la base de données ?
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 15:58
par ogulf
Via l'IHM de Domoticz je ne pense pas.
Par contre comme tu le suggères, directement en base.
Ça se passe dans la table devicestatus, et tu as une colonne qui référence le matériel : me souviens plus de son nom et je ne suis pas chez moi.... mais tu l'identifieras très facilement
[edit] : HardwareID, la colonne à modifier en sql...
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 16:51
par Keros
Donc opération chirurgicale dans la base de donnée, ça ne me plait pas trop d'y toucher
Je vais faire une bonne sauvegarde et essayer. Merci
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 18:18
par mgugu
En effet modifier la base est hasardeux sachant qu'il n'y a pas qu'une table à modifier mais plusieurs liées.
Si il a peu de devices le plus simple est de les recréer à la main dans un nouveau virtual harware.
Sinon ne pas oublier qu'on peut faire des choses dans l'API JSON (
https://www.domoticz.com/wiki/Domoticz_ ... l_hardware) qui permet de:
- Créer un virtual hardware et aussi le supprimer
- Créer un virtual sensor dedans
J'ai fait ça pour ma clim de 5 splits comportant 6 sensors chacun
J'ai fait un script en node js (en bash ça marche aussi !) pour automatiser tout cela.
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 18:29
par Keros
Merci de ton retour mgugu.
Pour info, évite stp de citer les messages précédents lorsque tu fais une réponse : cela prend de la place sur la page et la lecture est moins facile.
Évidemment, il y a la possibilité de recréer les dispositifs. Mais comme j'en ai un petit nombre, je souhaitais éviter les erreurs.
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 19:35
par Neutrino
Créer les nouveaux dispositifs un par un avec un nouveau Hardware Virtual Devices puis faire "Remplacer" un par un la aussi.
Dans tous les cas, ça va être fastidieux.
Re: Changer un dispositf virtuel de matériel
Publié : 24 avr. 2021, 21:16
par Keros
L'avantage du remplacer est que je ne risque pas d'erreur dans le nom de mes horloges (mes scripts appellent les dispositifs par leurs noms).
Je vais essayer la modification de la base de données et si j'ai des erreurs, je créerai de nouveaux dispositifs. Merci à tous.
Re: Changer un dispositf virtuel de matériel
Publié : 25 avr. 2021, 00:16
par ogulf
Selon moi, pas de risque à modifier HarwareID dans la table devicestatus.
Par contre, il est bien entendu impératif de créer d'abord le nouveau matériel pour connaître son id.
Ensuite, identifier et connaître tous les id des devices à modifier.
Pour sécuriser l'update, bien mettre dans la clause where les devices ET HardwareID=ancienne valeur.
Le tout avec sqlite3, même pas besoin d'arrêter Domoticz... attention à ne pas trop intervenir lors des sauvegardes horaires quand même : elles bloquent en maj la base pendant 10 à 15 secondes... autant éviter d'envoyer une maj (insertion, update ou delete)...
Prudence étant mère de sûreté.... faire une sauvegarde ponctuelle si elle est trop éloignée delà dernière sauvegarde horaire ==> perso, si j'interviens à hh:03 je ne fais pas une nouvelle sauvegarde : je ne suis pas à 3 minutes près !
Re: Changer un dispositf virtuel de matériel
Publié : 25 avr. 2021, 00:29
par Keros
Merci ogulf pour ces précisions.
N'étant pas familier avec le langage SQL, je vais utiliser un logiciel avec interface graphique. J'ai trouvé DB Browser for SQLite. J'ai fait un essai sur un DomoticZ de test : export de la BD, modif d'un dispositif et réimport de la BD > ça a fonctionné.
Je vais tester en live si ça passe.
Perso, si j'interviens à hh:03, je fais quand même une sauvegarde : elle sera dans le dossier téléchargement de mon PC au cas où

Re: Changer un dispositf virtuel de matériel
Publié : 25 avr. 2021, 09:21
par Keros
Je viens de faire la manip, j'y suis arrivé !!
Par contre, je n'ai pas pu faire la modif en direct live : "
La base de données ne peut pas être ouverte. Motif : Format de fichier invalide."
Je suis donc passé par un export depuis l'interface web, ouverture (sans problème), modif et réimport dans DomoticZ.
J'ai essayé d'ouvrir la base après avoir arrêté DomoticZ : pareil.
Je n'ai jamais bricolé ma base de donnée. C'était la première fois aujourd'hui.
Ce n'est pas gênant, ça tourne, mais je me dis qu'il y a quelque chose qui n'est pas normal
