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

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
kiala
Messages : 4
Inscription : 18 oct. 2016, 11:59

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

Message 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
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

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

Message 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
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
kiala
Messages : 4
Inscription : 18 oct. 2016, 11:59

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

Message 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.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

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

Message par vil1driver »

MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
kiala
Messages : 4
Inscription : 18 oct. 2016, 11:59

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

Message 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
kiala
Messages : 4
Inscription : 18 oct. 2016, 11:59

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

Message 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 :)
Répondre