Changer un dispositf virtuel de matériel

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Changer un dispositf virtuel de matériel

Message 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 ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: Changer un dispositf virtuel de matériel

Message 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 :mrgreen:

[edit] : HardwareID, la colonne à modifier en sql...
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Changer un dispositf virtuel de matériel

Message 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
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
mgugu
Messages : 18
Inscription : 05 nov. 2016, 18:03

Re: Changer un dispositf virtuel de matériel

Message 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.
Dernière modification par Keros le 24 avr. 2021, 18:25, modifié 1 fois.
Raison : Merci de ne pas citer le message précédent lors d'une réponse directe
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Changer un dispositf virtuel de matériel

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Changer un dispositf virtuel de matériel

Message 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.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Changer un dispositf virtuel de matériel

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: Changer un dispositf virtuel de matériel

Message 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 !
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Changer un dispositf virtuel de matériel

Message 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ù ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Changer un dispositf virtuel de matériel

Message 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 :roll:
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre