Je débute avec domoticz et je rencontre bien entendu des difficultés avec un script fonctionnel en ligne de commande.
En gros, j'ai un script bash qui me prend une photo avec caméra pi, la nomme, la copie, lui applique un filtre (bandeau et écritures) et ensuite l'enregistre sur un nom à base de date et d'heure.
Il fonctionne bien en ligne de commande, meme en ./script.sh mais lorsque je le lance via domoticz, les fichiers sont créés mais ils sont commes protégés en écriture.
Une erreur se marque lorsque je veux les ouvrir et meme lors d'une syncro rcone sur gdrive, ceux ci ne sont pas copiés.
Une idée d'une solution ?
Je compte mettre mon script et le message d'erreur des photos afin de visualiser un peu mieux.
Merci à ceux qui prendront le temps de me lire et encore plus à ceux qui me répondront avec un début de solution.
Laurent.
Code : Tout sélectionner
#!/bin/bash
# Se d?placer dans le dossier idoine au sein du Raspberry Pi
cd /home/pi/Pictures/photos-domoticz
# Cr?er l'image et faire une pause de 15 secondes (car image de belle qualit? alors que le Raspberry Pi est un nano-ordinateur)
raspistill -w 800 -h 600 -o photo_camera.jpg -q 100
echo "photo_camera.jpg"
sleep 10
# D?finition du format de la date ? inscrire (en texte) sur l'image
time=$(date +"%d/%m/%Y - %H:%M:00")
# Choix automatique de la taille de la police de caract?res (permet le placement des lignes o? il faut dans le bandeau)
if [ $width -ge $height ]
then
pointsize=$(($width))
else
pointsize=$(($height))
fi
echo " Width: $width, Height: $height. Using pointsize: $pointsize"
# Script de transformation de l'image avec cr?ation du bandeau + ajout du texte puis enregistrement sous un autre nom (le nom du fichier ? transf?rer)
convert "photo_camera.jpg" -fill '#DCDCDC' -draw 'rectangle 0,450,800,600' \
-gravity SouthEast -pointsize 18 -font Bookman-DemiItalic -fill '#7F7F7F' -annotate +$pointsize+10 "test3" \
-gravity SouthEast -pointsize 20 -fill '#7F7F7F' -annotate +$pointsize+30 "Lau GO " \
-gravity SouthWest -pointsize 30 -font Bookman-DemiItalic -fill '#000000' -annotate +$pointsize+10 "$time" \
-gravity SouthWest -pointsize 20 -fill '#7F7F7F' -annotate +$pointsize+40 "test3" \
-quality 100 \
"photo_camera2.jpg"
echo "photo_camera2.jpg"
sleep 3
# D?finition d'un autre format de date pour l'ins?rer dans le nom du fichier de sauvegarde
time=$(date +"%Y-%m-%d_%H-%M")
# Copie de l'image modifi?e avec un autre nom pour la garder durablement (le fichier "photo_camera2.jpg" est auto-?cras? en local et en distant)
#mv "photo_camera2.jpg" "$time.jpg"
cp "photo_camera2.jpg" "$time.jpg"
echo "$time.jpg"
sleep 3