Analyse d'une photo pour déterminer si volet piscine ouvert ou fermé

C’est tout à fait ce que je voulais à la base ! Mon volet est blanc, et la piscine, ben bleu (normalement :sweat_smile:). Je regarderai plus en détail demain ou jeudi … Encore une bonne piste !

Je vais aussi regarder de mon coté, l’idéal serait de pouvoir rogner le snapshot de la caméra sur la piscine pour augmenter la fiabilité de la détection puis de faire cette analyse de niveau de gris ou de blanc, à voir ce qui semble le plus pertinent

Bonsoir,
Comprends pas bien, le système ouverture/fermeture n’a pas de fin de course?? Comment fait-on pour arrêter le volet en bout de bassin et/ou éviter un enroulement intempestif en fin d’ouverture. Tout à la mimine?? et donc au pif. Dommage car avec une SaltRelax on peux tout commander même l’éclairage en fonction de la position du volet. Il doit y avoir un boitier entre la commande à clef et le moteur du volet qui est dans l’axe car dans tous les cas le système fonctionne en 24v, donc un transfo 220v/BT. Veuillez confirmer car il me semble que dans ce boitier vous devriez trouver une réponse.

Que se passe-t-il en fin d’ouverture, si tu maintiens le contact à clé en position ouverture ?
Que se passe-t-il en fin de fermeture, si tu maintiens le contact à clé en position fermeture ?
Si le volet de piscine s’arrête automatiquement malgré le maintient du contact à clé, c’est qu’il doit être équipé de fins de course.
Dans ce cas un module pour volet roulant doit pouvoir faire l’affaire si les tensions de commande et de puissance sont compatibles avec le volet.
Suivant le pays ou tu te trouves, il reste l’histoire de la réglementation en vigueur dans ton pays.

1 « J'aime »

Si les 2 états sont à 0 (ouvert), c’est que le volet n’est pas complètement fermé…

Hello,
ça doit être possible aussi avec le plugin DeepStack et l’installation d’un container docker deepstack associé (reconaissance d’image avec son API en local), mais j’imagine que pour faire de la reconnaissance d’image il faut un matériel turbo boosté…

Bonjour @HermioneG,

A tout hasard, si l’utilisation d’une API non-locale est possible et vu l’utilisation que vous voulez en faire il n’y aura pas de cout associé car vous tomberez dans la facturation gratuite du service, jetez un oeil sur la fonction Custom Vision d’Azure qui permet sans code et à partir d’un jeu d’images à télécharger de produire une API qui prendra en entrée une image (celle de votre caméra), et vous dira en retour si le volet est ouvert ou fermé.

Si vous voulez une exécution locale uniquement, il suffira de passer par toutes les étapes précédentes, puis d’exporter depuis l’interface le projet dans un conteneur Docker qui contiendra le modèle TensorFlow créé et de quoi accéder à l’API en local.

Déjà utilisé à titre professionnel, ça marche super bien si vous ne voulez pas coder une IA mais juste récupérer un statut (ouvert/fermé) à partir d’un jeu de photos de référence.

3 « J'aime »

Voici un exemple, que je viens de faire en quelques minutes avec ce que j’avais sous la main qui pourrait s’apparenter à votre cas. La feuille blanche représentant le volet de la piscine.

J’ai téléchargé des photos qui représentent les 2 états (ouvert/fermés). Je l’ai ensuite « tagguées » avec mes critères : ouvert et fermé :

Ensuite j’ai lancé l’entrainement du modèle(1). Celui a duré un peu moins d’une minute avec mes 21 images et à priori avec un excellent taux de précision pour reconnaitre chacun des états(2):

Puis j’ai testé le modèle d’IA créé avec de nouvelles photos prises dans des conditions de lumières différentes(3) histoire de valider, et l’API me retourne le résultat attendu à savoir sa prédiction avec un taux de confiance :slight_smile:



Maintenant je peux sois utiliser cette API depuis internet avec des identifiants qui vous seront fournis après avoir cliqué sur Publish(4).

Soit (optionnel), vous pouvez exporter votre modèle et l’API en local en cliquant sur Export selon vos préférences(5). Mais je vous recommande l’export vers un conteneur Docker:

Vous pourrez bien sur enrichir le modèle au fil du temps avec des photos supplémentaires : différentes saisons, heures de la journée, météo…

Reste plus qu’à savoir appeler une API en PHP depuis un bloc Code (j’imagine) pour l’intégrer dans Jeedom :wink:

Au plaisir de vous aider, voir à tester avant de vous lancer pour de vrai.

12 « J'aime »

je viens d’essayer avec ma piscine et effectivement, ca marche !!! incroyablement bluffant
3 états, Ouvert, Fermé, En cours
Reste à voir comment intégré ceci

Si quelqu’un se sent l’âme de développer un plugin, qui permet d’envoyer une image et de récupérer le status… :star_struck:

1 « J'aime »

C’est excellent ! Merci beaucoup pour l’explication détaillée !!
Je ne sais pas encore si je vais le mettre en place, car localement il faut docker et mon NAS n’est pas assez puissant, et en cloud ça m’ennuie. Je ne voudrais pas envoyer des photos de mes enfants dans la piscine !
En tout cas bravo pour cette solution, qui répond à la demande initiale !

1 « J'aime »

Merci pour votre message. Effectivement, j’ai un SaltRelax PRO, mais le pisciniste n’a branché que les sondes pH et Redox. Je n’ai jamais essayé d’aller au bout de l’ouverture de peur de l’enroulement du volet. Pour la fermeture, de toute façon ça bloque avec le bord de la piscine. Au cas où les fins de course seraient programmées, savez-vous comment connecter le volet au Salt Relax ?

Bonjour,

Au delà du volet de piscine, ou pourrait imaginer ce plugin pour de multiples usages…

Etat portail, porte garage, volet…
présence de voiture à la maison
sur un parking, emplacements disponibles
et j’en passe

3 « J'aime »

Pour le volet cloud, je comprends car moi aussi si j’ai pris Jeedom c’est pour le coté local.
De mon côté, après j’aime bien bien cette solution car on peut la faire tourner en local.

Du coup, ça m’a donné une idée pour avoir des infos sur ma chaudière non-domotisable avec les lumières qui s’affichent sur le panneau de controle en permanence avec une petite cam attaché à un esp32 :wink:

1 « J'aime »

Tant mieux si ça inspire d’autres usages, comme les voitures garées etc citées plus haut. Je pense qu’on va entendre parler de cette solution dans de futures installations :+1:

1 « J'aime »

Pour le mettre en local, on doit pouvoir faire quelque chose avec le plugin docker management, mais ca atteint mes limites de compétence.
Ensuite, il suffit d’envoyer l’image via

curl -X POST http://127.0.0.1/image -F imageData=@some_file_name.jpg

(d’autes commandes existent avec une URL par exemple)
et j’imagine, d’avoir en retour le tag voulu (ouvert/fermé)

1 « J'aime »

Bonsoir,
En fait il y a 2 postes différents. La commande ouverture/fermeture du volet et l’utilisation des informations par le SaltRelax.
Ce dernier a une entrée prévue pour les infos d’un volet et dans son programme il est possible de s’en servir pour commander autre chose. Par exemple, quand le volet est fermé, je suis en vitesse pompe lente, quand il est ouvert je pense en vitesse moyenne. La grande vitesse étant utilisée uniquement entre 12h et 15h qui sont les heures chaudes. (Pomper en dehors de photo synthèse n’a aucun intérêt
sauf pour Enedis.).
Revenons au volet, il me parait indispensable de trouver le boitier de commande avec le transfo. Il me parait raisonnable de penser que tout est prévu, y compris le réglage des fins de course.A partir de ce boitier on pourra voir comment il est possible de récupérer l’info de position du volet à transmettre au boitier SaltRelax. Ensuite ,on pourra utiliser le port RS485/modbus prévus dans le SaltRelax) pour transmettre ces infos à Jeedom (WiFi). C’est très loin de l’usine à gaz trop souvent développé et ça fonctionne parfaitement.J’ai déjà passé tous les détails de mise en oeuvre à d’autre utilisateurs de Jeedom (pour lesquels j’attends toujours un semblant de remerciement…) Mais ce coup ci on va arriver à faire quelque chose.
Pour info, voilà ce que j’ai avec JeedomConnect sur mon phone:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.

Suite à cet échange, j’ai continué de creuser sur l’usage de la solution de computeur vision d’Azure, gratuite en deçà d’un certain seuil, et voilà le résultat :

[2022-05-25 12:34:15][SCENARIO] -- Start : Scenario lance manuellement.
[2022-05-25 12:34:15][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-05-25 12:34:15][SCENARIO] Exécution d'un bloc code 
[2022-05-25 12:34:17][SCENARIO] Predictions ouverture volet piscine :
[2022-05-25 12:34:17][SCENARIO]     Ouvert   --> 76 %
[2022-05-25 12:34:17][SCENARIO]     En cours --> 24 %
[2022-05-25 12:34:17][SCENARIO]     Fermé    --> 0  %
[2022-05-25 12:34:17][SCENARIO] Fin correcte du scénario

bloc code dispo là :

Reste à voir comment intégrer le docker fourni par Azure dans Jeedom pour éviter d’envoyer des photos à microsoft (via plugin-docker2 ?) mais là, ca dépasse mes compétences.
Je suis preneur pour accompagner quelqu’un à développer un plugin pour faire ceci parce que les usages de fonctionnalités de computer vision dans un contexte domotique peuvent être énormes

4 « J'aime »

Ce sujet a été automatiquement fermé après 8 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.