Petit ajout que j’avais commencé à remonter sur le fil des analyseurs de piscine « connectés ».
Cela fait 2 ou 3 étés que je me pose la question d’en acheter un. Il est clair que suivre une piscine est un sujet et que le moindre oubli (ou madame :D) peut faire vite mal. Les prix prohibitifs m’avaient calmé (faut pas déconner quand même 500€ pour un truc qui mesure une tension et un ph… et qu’il faut changer tous les 2 ans).
Jusqu’à l’arrivée de l’IOpool à 199€ !
En vérité, ce n’est 199€, c’est plutôt 150€. Car l’iopool est livré avec des produits (1kg de chaque, ph+, ph-, chlore choc etc). Et il y a 25€ de réduction en parrainage, voir ici :
https://refrr.app/GxdvVmlaEq/58728
La petite boite m’a plu pour plein de raisons :
- le prix, le format, la taille,
- l’application « simple » et les recommandations efficaces,
- le poids des produits à mettre en fonction de votre volume (dimensions à prendre).
- l’utilisation des languettes « simplement » pour calibrer de temps à autre la sonde.
Mais mais… à ce prix là, bein il n’y a pas d’API.
Et clairement, après avoir discuté avec eux, ce n’est pas prévu.
Logique, l’infrastructure à prévoir fait monter le prix et le marché est déjà bien saturé sur les produits connectés avec API externe.
Donc il faut en Bluetooth, venir à côté de sa piscine tous les jours et faire un relevé, bof clairement.
Après, avoir tenté de remonter des données par BLEA qui voit bien IOpool, pas de trame à décoder et surtout pas la compétence, il faudrait développer un truc et qu’ils veuillent bien nous filer quelques pistes, pas sûr qu’ils le fassent. Et au final, pourquoi ? Leur modèle c’est justement la simplicité. Moi ce que je souhaite c’est pas forcément remonter les données, c’est être notifié…
Bon, on réfléchit et on voit :
- un relais Wifi/Bluetooth qu’ils vendent, 59€, bon allez, ça fait monter la note à 200€ le toutim.
Tout pour une eau propre et saine - spécialiste piscine - iopool
J’ai la chance d’avoir une prise à disposition extérieure, bien protégée, le relais ira là et plus de problème de portée.
En complétement de ma PI qui gère la pompe de piscine et me relève les températures, ça ira :
- température de l’eau,
- température de l’air,
- température de la pompe,
- niveau de l’eau,
- module Sonoff pour piloter la pompe.
- le plugin piscine fait le boulot derrière pour filtrer et protéger la pompe (+ quelques scénarios) si manque d’eau.
J’ai un tél JPI qui j’utilise pour les SMS et autres tâches.
Tiens automatisons le relevé et l’envoi tant qu’à faire.
Macrodroid ne permettant pas de fixer un nom de fichier (cela est prévu à terme) et l’envoi par Telegram, bon va falloir ruser.
Résultat, il faut :
- un serveur FTP sur le téléphone,
- Macrodroid, Automate sur le téléphone,
- Un scénario côté jeedom avec le plugin script.
Et ça donne ça,2 fois par jour ou plus !
En résumé :
- macrodroid est paramétré avec les déclencheurs que vous souhaitez, ici 2 fois par jour à heure fixe.
- comme le tél JPI est optimisé pour sa consommation, je repasse la mise en veille à 5 min pour éviter de capturer un écran noir, je lance le flux automate qui fera la photo puis pendant l’exécution (2 min) j’attends et je lance le scénario Jeedom finale par un lien http et l’api. Enfin, je remets l’affichage veille à 15 secondes.
Pour rappel pour lancer un scénario :
http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=scenario&id=#ID#&action=#start#
Ensuite côté Automate, le flux simplifié est le suivant (il faut supprimer le BT si vous passez par le relais wifi/bluetooth) :
Là encore, on allume l’écran au cas où, on attend, active le BT (si nécessaire), on supprime la copie d’écran précédente (voir le chemin plus bas), on lance l’application iopool, elle est assez longue à démarrer car va chercher des infos (au relais wifi et sur leur serveur). Je rallume l’écran si besoin, et je fais une photo. Notez que vous devez mettre un chemin (pour ma part, j’ai fait un répertoire qui sera celui qui sera partagé par le serveur FTPDroid) avec toujours le même nom de fichier. Puis on tue l’application (car root je peux), coupe le bt et relance JPI pour afficher mon design habituel.
Renommez le fichier .txt en share.data et vous pouvez l’importer directement.
Share.data.txt (425 Octets)
Pour pouvoir passer ce fichier à Jeedom, après avoir testé plusieurs solutions, j’ai simplement installé un petit serveur FTP léger sur le téléphone. FTPdroid.
https://play.google.com/store/apps/details?id=berserker.android.apps.ftpdroid&hl=fr
Voici la configuration « simple ». Il faut veiller à le faire démarrer au début. J’ai simplement partagé le répertoire où est stocké le fichier snapshot, point.
Vous pouvez tester votre accès FTP par un simple client sur un PC ou depuis votre Jeedom en pointant sur le port/ip de votre téléphone…
Et donc le scénario Jeedom fait simplement :
Le script que vous devez stocker dans le répertoire de votre choix et faire pointer le plugin script dessus (n’oubliez pas de faire un sudo chmod u+x script.sh)
#!/bin/bash
sudo rm /home/XXX/iopool_snapshot.*
sudo wget -P /home/XXX ftp://IPduTELJPI:PORTFTP/iopool_snapshot.png
sudo chown www-data:www-data /home/XXXX/iopool_snapshot.png
ne fait que supprimer le dernier fichier,
récupérer le nouveau sur le téléphone sur votre serveur FTP,
et lui mettre les droits pour permettre un envoi.
enfin, le scénario jeedom l’envoi par télégram.
A partir de là, il y a deux pistes à creuser :
- j’ai pensé à mettre en place un autocrop pour sélectionner les deux lignes importantes de cette page. C’est à dire, le ph et la désinfection. Malheureusement, le texte du haut varie en hauteur et fait changer tout
C’est dommage car on pourrait automatiser la relève toutes les heures par exemple et remonter ces fichiers dans les designs tout simplement !
- à défaut, je vais nettoyer un peu le cadre de l’image (bandeau en haut etc) pour avoir une image plus présentable et l’intégrer sur le design de la tablette par exemple…
Il faut jouer du paquet imagemagick et de ce script pour avoir un truc répétable :
#!/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)
sous ce format :
<script> <image> <crop_left> <crop_right> <crop_top> <crop_bottom>
Au final pour 150/200€ le tout, perso, je suis conquis !
Et surtout quelles économies de produit, je dois dire !