Message écrit par une IA qui décrit le mouvement détecté d’une caméra

Feature description :
Permettre à Gladys d’envoyer un message écrit par une IA qui décrit le mouvement détecté d’une caméra

Evolution de l’intégration existante ChatGPT ?

Suite au post Message écrit par une IA qui décrit le mouvement détecté d'une caméra, je créer cette demande de fonctionnalité afin que les personnes intéressés puissent voter

Salut à tous :slight_smile:

C’est un sujet que je voulais faire depuis longtemps, notamment la partie « Poser une question à l’IA depuis les scènes » (même sans image) pour pouvoir avoir des notifications proactives venant de l’IA (futuriste!)

Comme j’avais le nez dans la partie ChatGPT ce matin j’ai développé cette fonctionnalité ce qui n’était pas très compliqué avec la nouvelle API lié à la vision de GPT-4o mini :slight_smile:

Demander à l’IA de décrire une image de caméra

Dans une scène, il devient possible de demander à l’IA de réagir à une image de caméra :

Ce qui m’envoie ensuite une notification sur mon téléphone, par exemple ici sur la caméra il n’y avait rien :

Demander à l’IA de faire une action en fonction d’une caméra

Si on va plus loin, il est possible de prendre la caméra du garage, et de réagir en fonction de la voiture qui vient d’arriver :

J’ai pris une image sur internet d’un garage avec cette voiture exactement, et j’obtiens :

Maintenant, changeons la description de la voiture :

Cette fois-ci, l’IA comprend ce qui se passe et me préviens :

C’est assez dingue !!!

Les possibilités sont infinies

Cette fonctionnalité est assez futuriste, et comme il est possible d’injecter des variables dans le message, elle permet plein de choses

  • Analyser le bulletin météo du jour et me rédiger un petit résumé envoyé sur mon téléphone tous les matins à 8H
  • Si l’alarme retentit chez moi, me faire un message qui récapitule ce qui se passe : états des capteurs, analyse d’image, etc… tout combiné en un seul message !
  • Analyse de n’importe quelle image, que l’image vienne d’une caméra chez moi, à un flux en ligne, tout est possible
  • et plein d’autres !!

Qu’en pensez-vous ?

Edit: Posté sur Twitter ici

11 Likes

Juste un mot : Trop hâte de tester !! (ah bah non ça fait 4 ^^)

Cela fait rêver !! Il ne commencerait pas à y avoir un début de Jarvis par hasard ?? ^^ Ne manque pas grand chose pour faire parler SonosJarvis non ??^^

1 Like

Ah bah là on est en plein dans le Jarvis :grin:

Edit: il est possible assez facilement de rajouter une option de réponse vocale sur enceinte au lieu d’un message, on a toutes les briques :slight_smile:

1 Like

Incroyable ! Les possibilités avec ce type d’intégration sont énorme je pense !!

2 Likes

J’adore le concept, car il permettrait chez moi de me passer d’une partie de mes flux node-red en lien avec les caméras.
Pourvoir reconnaitre une voiture / un humain / un vélo serait un gros plus !!

J’adore l’idée !!

2 Likes

Manque plus que des declencheurs sur un événement lie a la camera (une voiture rentree dans le champ de vision alors …)

1 Like

Hello à tous :slight_smile:

J’ai continuer à travailler sur ce sujet ce matin, et je penses avoir fini.

Voilà un build Docker avec la fonctionnalité :

gladysassistant/gladys:ask-ai-in-scene

@Terdious (et les autres) si jamais tu veux tester et me dire ce que t’en penses !

Comment l’utiliser ?

Dans les scènes, il y a une nouvelle action « Demander à l’IA ».

Cette action va poser une question à l’IA Gladys (ChatGPT) comme si vous envoyiez un message à Gladys, et vous pouvez joindre une image de caméra qui sera analysé par l’IA (c’est optionnel).

Dans votre message, vous pouvez injecter des valeurs de capteurs :

Et demander des actions dans la liste des 7 actions actuellement supportés par Gladys, par exemple :

Pour les images de caméras, vous pouvez demander n’importe quoi :

Note: Afin que le temps de traitement soit le plus rapide possible, et afin que cette fonctionnalité ne soit pas trop cher économiquement, les images sont envoyés à l’API OpenAI en résolution « low », soit 512px maximum.

Si certaines informations sont toutes petites, ce ne sera pas visible par l’IA, mais franchement 512px on voit déjà vraiment pas mal !

2 Likes

Génial, vivement quelques retours de test !!!

1 Like

Salut @pierre-gilles,

J’ai pu tester un peu ce matin. Ca à l’air très intéressant même si je n’ai pas pu tester pleinement. Par exemple, selon la disposition de la caméra, je ne suis pas persuadé qu’en 512px il soit capable de déterminer la lecture d’une plaque d’immatriculation dans ma configuration ^^
Voici mon contexte et les réponses intéressante qu’il m’a faite, malheureusement même en mettant à 10s je n’ai pas pu avoir une voiture centrée dans l’image (d’ailleurs tu me diras si je te dois des sous car il a tourné une 10aine de minute comme ça) donc pas pu tester si il éteignait bien la lumière :


En sachant qu’il réponds à l’image du bas, je suis impressioné qu’il repère bien une Skoda à cette distance.
On peut voir que « Montre moi la caméra de la barrière » n’a pas d’effet, je suis obligé de l’envoyer dans une autre action.

Une chose est certaine c’est que ça va me motiver à intégrer la caméra dans Netatmo mais d’autant plus les webhooks.

Avis :

  • Intégrer la récupération de l’état des commutateur comme celle des éclairages pour ne pas avoir besoin de faire l’action « Récupérer … » et injecter de variable
  • Intégrer l’action sur les commutateurs comme cela est fait sur les éclairages
  • Intégrer la récupération de tout les types de fonctionnalités
  • Intégrer la récupération multiple (exemple: « Vérifie l’état de tout mes capteurs de température et fait moi un rapport complet »)

Mais sincèrement sinon ça fonctionne très bien et c’est très rapide.

4 Likes

Hello ! Quel sont les events lié a la camera ? :slight_smile:
Vivement l’intégration des caméras

Merci d’avoir testé !

C’est un peu trop sur le côté effectivement, si tu bouge la caméra ou la voiture je pense ça peut marcher :wink:

Non tkt c’est bon :slight_smile:

C’est vrai que c’est fort!

Le développement actuel ne gère que les 7 actions qui sont dans la documentation, et n’a aucune connaissance de ta maison connectée.

Donc demander des « si le bureau est allumé », ou « Récupérer l’état du commutateur du purificateur de foin », ça ne fonctionne pas, c’est de l’hallucination de ChatGPT.

Je suis d’accord que ça serait cool que ce soit possible ! Je pense qu’il faut juste donner à l’IA une vision de l’état de toute la maison connectée au moment de la requête.

Je vois aussi que tu demandes des actions multiples dans ton bloc, actuellement ce n’est pas possible. Actuellement, 1 demande = 1 action/réponse. Si tu demandes plusieurs choses, l’IA va déterminer l’action la plus importante pour elle.

Mais on peut développer le multi-action sans souci.

C’est clair que pour toi qui est beaucoup Netatmo ça va être sympa le combo :stuck_out_tongue:

1 Like

Salut @spenceur,

Tu peux visiter le site dev Netatmo : Netatmo Connect | Security API Documentation.

Recherche « webhooks » dedans ou « List of events ».
@pierre-gilles nous a dejà créé le webhooks dans Gladys il y a quelques années maintenant. Le plus long je pense aujourd’hui est de finir la PR sur les caméras. « Y a plus qu’à » ^^

Salut @Terdious :slight_smile:

J’ai mis à jour l’image avec ce qu’on s’est dit: la possibilité pour l’IA de tout savoir sur l’état des capteurs de ta maison

Toujours la même image Docker :

gladysassistant/gladys:ask-ai-in-scene

Mais maintenant tu peux demander:

(Le Co2 est à 1200ppm)

La réponse :

Tu peux du coup faire des conditions sur des valeurs de capteurs, par exemple « Si la luminosité est faible, alors allume la lumière du salon »

:warning: Attention néanmoins, quand une image de caméra est jointe, je trouve que ChatGPT hallucine plus facilement. J’avais essayé de lui demander de me décrire l’image de la caméra + de me faire un récap des capteurs de la maison, et il hallucinait complètement en me sortant des valeurs de capteurs que je n’ai même pas !

Dis moi ce que ça donne chez toi, je serais curieux de voir sur une installation aussi grosse si ça ne ralentie pas trop l’exécution.

Next step pour moi : Le multi-action !

2 Likes

Oups !! Je crois qu’il n’aime pas ^^

Je te transmet les logs en privé !!

Aïe aïe ! Merci :slight_smile: J’investigue semaine prochaine, lundi retour en France, je regarderais vendredi!

1 Like

@Terdious j’ai trouve la cause, c’était côté serveur, le payload était bloqué car trop gros, mais la limite serveur était vraiment très basse donc je l’ai augmentée !

Tu peux retester ? :slight_smile:

1 Like

Sniff !!


Mais plus aucun logs …

Aaaah !! Je rebondis. J’ai changé ma phrase :

et il y a des réponses :

Est ce que ces valeurs sont bonnes ?