[Présentation] Benj29 et blog Jeedom-Facile

Petite update oubliée récemment, intégration des relevés ioPool dans les designs.
Après un crop de l’image, je fais un relevé maintenant toutes les 3h par le téléphone.
Je notifie par télégram uniquement à 6/12/18h.

Le scénario a donc évolué (côté macrodroid, j’ai juste augmenté le nombre de déclencheurs, pas besoin d’une image).

Le script a évolué, après l’installation du paquet :
https://doc.ubuntu-fr.org/imagemagick
En gros, toujours comme avant, ménage, récupération du fichier, droits, crop de l’image (je fais appel à un script trouvé sur le net, pratique) pour ne plus avoir la météo de l’iopool et le bandeau du tél et je copie le fichier à la fin sur mon design pour affichage.

Pensez à avoir les propriétaires et droits www-data/www-data et 775 sur vos fichiers côté Jeedom (/var/www/html/), chmod et chown sont à utiliser.
De même pour les scripts, pensez à les rendre exécutable par :
sudo chmod u+x nomduscript.sh
(sudo si stockés dans /var/www/html/plugins/script/data)

Le code du script get-snapshot.sh :

#!/bin/bash
sudo rm /home/boss/iopool_snapshot.*
sudo wget -P /home/boss ftp://192.168.2.200:2221/iopool_snapshot.png
sudo chown www-data:www-data /home/boss/iopool_snapshot.png
sudo /var/www/html/plugins/script/data/crop_image.sh /home/boss/iopool_snapshot.png 0 0 340 310
sudo chown www-data:www-data /home/boss/iopool_snapshot[cropped].png
sudo chmod 775 /home/boss/iopool_snapshot[cropped].png
sudo rm /var/www/html/montheme/images/iopool_snapshot[cropped].png
sudo cp /home/boss/iopool_snapshot[cropped].png /var/www/html/montheme/images -f -p

Le script qui fait le crop :

#!/usr/bin/env python3
import subprocess
import sys

# image, crop- dimensions
img = sys.argv[1]; left = sys.argv[2]; right = sys.argv[3]; top = sys.argv[4]; bottom = sys.argv[5]
# arrange the output file's name and path
img_base = img[:img.rfind(".")]; extension = img[img.rfind("."):]; path = img[:img.rfind("/")]
img_out = img_base+"[cropped]"+extension
# get the current img' size
data = subprocess.check_output(["identify", img]).decode("utf-8").strip().replace(img, "")
size = [int(n) for n in data.replace(img, "").split()[1].split("x")]
# calculate the command to resize
w = str(size[0]-int(left)-int(right)); h = str(size[1]-int(top)-int(bottom)); x = left; y = top
# execute the command
cmd = ["convert", img, "-crop", w+"x"+h+"+"+x+"+"+y, "+repage", img_out]
subprocess.Popen(cmd)

Je passe par l’affichage d’une iframe sur mon design.
Le code HTML :

<iframe
    width="320"
    frameborder="0"
    style="border:0"
    height="375"
    allow="fullscreen"
    src="/montheme/iopool.html">
</iframe>

Le fichier html iopool.html :

<html>
  <head>
  <meta http-equiv="refresh" content="60" >
  </head>
  <body>
    <img src="/montheme/images/iopool_snapshot[cropped].png" width="300px"/>
  </body>
</html>

Autre solution, ajouter directement ce code HTML dans le design (ajouter html/code) :

<html>
  <head>
  <meta http-equiv="refresh" content="60" >
  </head>
  <body>
    <img src="/montheme/images/iopool_snapshot[cropped].png" width="300px"/>
  </body>
</html>

EDIT : je me suis posé la question de le faire à la demander, c’est à dire, design qui lance la requête sur le tél pour récupérer l’image mais au final, pas d’intérêt.
Si je veux une analyse, je prends mon tél et l’apk dédié…