Page 1 sur 1

Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 12:09
par kiala
Bonjour,

Je suis toute nouvelle sur Domoticz et j'essaye de mettre en place mes premiers scripts.
Je suis partie sur une base trouvée ici pour sauvegarder mon système de façon journalière : https://www.domoticz.com/wiki/Daily_bac ... ternal_hdd

Mais j'envoi ma sauvegarde sur ma Dropbox et non sur un FTP ou autre. (Lien trouvé en bas).

Je souhaiterai juste ajouter le numéro de la version de Domoticz installée dans les noms de fichiers envoyés, pour ainsi savoir, quand j'installe une nouvelle beta ou autre, que je dois garder ce backup plus longtemps (ancienne version par exemple).

Code : Tout sélectionner

BACKUPDIRFILE="domoticz_$VERSION_scripts_$TIMESTAMP.tar.gz"
Y-a-il un moyen de demander à Domoticz depuis un script shell quelle est sa version actuelle ? (curl ou autre) Comme ça je pourrais remplir automatiquement ma variable VERSION que je remplis actuellement à la main dès que je change de version.

J'ai cherché dans les API j'ai rien trouvé.

Merci d'avance,

Kiala

Re: Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 14:58
par vil1driver
Salut et bienvenu,

si cela peut t'aider, ici sur un domoticz compilé je retrouve le numéro de hash et la version dans domoticz/appversion.h

Code : Tout sélectionner

#define APPHASH "a114ce6"
#define APPVERSION 5776
et je backup comme ceci

Code : Tout sélectionner

#!/bin/bash
domoticz=$'/home/vil1driver/domoticz'
cp $domoticz/domoticz.db /mnt/upload/$(date +%Y-%m-%d)-domoticz-$(awk 'NR==1 {print $3}' $domoticz/appversion.h).db
ce qui me donne un fichier nommé 2016-10-18-domoticz-5776.db

Re: Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 15:26
par kiala
Merci vil1driver

J'ai pas ce fichier dans mon domoticz :'(

J'ai cherché dans les lignes de commande (genre -v ou autre), j'ai cherché dans les API, j'ai cherché un peu partout mais rien.

Ensuite j'ai eu la bonne idée de chercher dans le www et dans le contrôleur de la page "About", là j'ai trouvé une variable config qui contient la version.
En fouillant, j'ai trouvé dans le contrôleur principal un appel ajax qui donne la version.
En testant sur mon navigateur, j'ai bien la version si je fait l'adresse de mon domoticz suivie de : json.htm?type=command&param=getversion

Ce qui fait : http://DOMOTICZ_IP:8080/json.htm?type=command&param=getversion

Résultat :

{
"DomoticzUpdateURL" : "http://www.domoticz.com/download.php?ch ... ine=armv7l",
"HaveUpdate" : false,
"Revision" : 5783,
"SystemName" : "linux",
"build_time" : "2016-10-18 08:37:25",
"hash" : "5f14463",
"status" : "OK",
"title" : "GetVersion",
"version" : "3.5783"
}
Je vais simplement essayer d'utiliser ce Json et en sortir la version. N'ayant pas beaucoup de connaissances en langage shell cela risque de me prendre un petit peu de temps ... ;p

Merci à toi.

Re: Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 15:41
par vil1driver

Re: Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 15:48
par kiala
Ok j'ai trouvé :

Code : Tout sélectionner

VERSION=$(curl "http://DOMOTICZIP:8080/json.htm?type=command&param=getversion" | python -c "import json,sys;obj=json.load(sys.stdin);print obj['version'];")
Merci

Re: Récupérer la version de Domoticz sur un script Shell

Publié : 18 oct. 2016, 15:55
par kiala
Et en ajoutant un petit :

Code : Tout sélectionner


var=$( echo "$VERSION" | tr '.' '_')
Pour remplacer le point par un '_' .

Parfait.

Si jamais ça peut aider quelqu'un :)