Vera et Karotz: premières interactions...

Cédric
8 décembre 2011

Vous êtes nombreux à me demander s’il est possible d’utiliser le Karotz avec la Vera. Il n’existe malheureusement pas encore d‘application aussi aboutie qu’avec la Zibase, néanmoins je vais vous expliquer aujourd’hui comment déclencher quelques actions sur la Vera depuis le Karotz.

Je vais pour cela prendre un exemple concret: activation  / désactivation de l’alarme en passant un porte clé rfid devant le Karotz.

I. Sur la Vera

Pour la configuration complète de l’alarme sur la Vera, je vous invite à lire le tutorial qui avait été fait il y a quelques mois.

Je ne détaillerai donc pas ici toute la mise en place de l’alarme. Je vais juste créer un device virtuel qui indiquera le status de celle ci.

Si vous n’avez jamais créé de device virtuel sur la Vera, il faudra commencer par télécharger les fichiers de configuration de ce device.

Ensuite, rendez vous dans MiOS Developer, puis dans l’onglet Luup Files. Uploadez les deux fichiers téléchargés précédemment, et cochez “Restart Luup after upload”:

2011 09 27 123543

Une fois l’upload terminé, retournez dans MiOS Developers, cette fois ci dans l’onglet “Create Device”, pour créer notre device virtuel:

2011 12 07 103330

Validez, et sauvez la configuration. Vous devriez obtenir un nouveau device:

2011 12 07 103433

Ce device servira donc à indiquer le status de l’alarme: On pour activée, Off pour désactivée.

Nous allons maintenant créer le scénario qui sera lancé par le Karotz. Il n’y a ici aucun déclencheur de scénario sur la Vera, puisque c’est le Karotz qui le déclenchera à distance. On crée donc simplement une nouvelle scène, avec un bout de code Lua:

2011 12 07 103726

Remarquez l’ID de la scène, indiqué en haut de l’écran: ici on voit qu’il s’agit de la scène 96. Retenez cet ID, il servira plus tard.

Je vais vous expliquer le code Lua utilisé ici, car il peut paraitre complexe, mais il ne fait en fait que reprendre du code déjà vu dans des tutoriaux précédents.

Il faut savoir qu’on ne peut déclencher qu’une seule action sur le Karotz au passage d’un Tag RFID. Si on veut activer et désactiver l’alarme, donc, il faudrait normalement un Tag pour l’activer, et un autre pour la désactiver, ce qui serait plutôt lourd :/ Notre scénario va donc « switcher » l’état de l’alarme: si elle est activée, le passage du Tag va la désactiver, et si elle est désactivée, le passage du Tag va l’activer. On n’utilise donc qu’un seul Tag.

A lire également:
Onduleur sous tension : décuplez sa puissance avec Home Assistant et devenez le maître de votre domotique

Voilà donc les actions effectuées par ce script, commentées dans le code:

[sourcecode language= »perl »]

— On récupère l’état du device virtuel « Etat Alarme » créé précédemment, dont l’ID est le 197 (à remplacer par le votre)
local etatalarme = luup.variable_get(« urn:upnp-org:serviceId:SwitchPower1 », « Status », 197)

— On vérifie cet état
if (etatalarme == « 0 ») then

— Si l’alarme est désactivée, on l’active, en passant le status du device virtuel 197 à 1
luup.variable_set(« urn:upnp-org:serviceId:SwitchPower1 », « Status », 1, 197)

— on éteint la lumière du salon (il s’agit d’un variateur, donc on passe son niveau à 0). Remplacez 52 par l’ID de votre module
luup.call_action(« urn:upnp-org:serviceId:Dimming1″, »SetLoadLevelTarget »,{ newLoadlevelTarget= »0″ },52)

— On crée une connexion au serveur Squeezebox
socket=require(‘socket’)
local client = socket.connect(‘IP_SERVEUR_SQUEEZEBOX’, 9090)

— On allume la Squeezebox du salon
client:send(« 74:00:00:00:00:95 power 1\n »)
local result=client:receive()

— On met le volume a 90
client:send(« 74:00:00:00:00:95 mixer volume 90\n »)
local result=client:receive()

— On lance l’annonce confirmant que l’alarme a bien été activée. Indiquez le chemin du fichier à lire
client:send(« 74:00:00:00:00:95 playlist play file:///D:/shares/Musique/bruitages/attentionalarme.wav\n »)
local result=client:receive()

— Pour finir, on envoie une notification Prowl sur le mobile
luup.inet.wget(« https://prowl.weks.net/publicapi/add?apikey=VOTRE_CLE_API_PROWL&application=Vera&event=Alarme&description=Alarme+activee&priority=1 »)

return true

else

— En revanche, si l’alarme est déjà activée, on la désactive en passant le status du device virtuel 197 à 0
luup.variable_set(« urn:upnp-org:serviceId:SwitchPower1 », « Status », 0, 197)

— On allume la lumière du salon
luup.call_action(« urn:upnp-org:serviceId:Dimming1″, »SetLoadLevelTarget »,{ newLoadlevelTarget= »100″ },52)

— On crée une connexion au serveur Squeezebox
socket=require(‘socket’)
local client = socket.connect(‘IP_SERVEUR_SQUEEZEBOX’, 9090)

— On allume la Squeezebox du salon
client:send(« 74:00:00:00:00:95 power 1\n »)
local result=client:receive()

— On met le volume a 90
client:send(« 74:00:00:00:00:95 mixer volume 90\n »)
local result=client:receive()

— On lance l’annonce confirmant que l’alarme a bien été désactivée
client:send(« 74:00:00:00:00:95 playlist play file:///D:/shares/Musique/bruitages/attentionalarmedesactivee.wav\n »)
local result=client:receive()

— Pour finir, on envoie une notification Prowl sur le mobile
luup.inet.wget(« https://prowl.weks.net/publicapi/add?apikey=VOTRE_CLE_API_PROWL&application=Vera&event=Alarme&description=Alarme+desactivee&priority=1 »)

return true

end
[/sourcecode]

Quand je passe le Tag devant le museau du lapin, si l’alarme est désactivée, la Vera va l’activer, éteindre la lumière du salon, diffuser un message via la Squeezebox du salon pour m’en informer vocalement, et m’envoyer également une notification Prowl sur mon iPhone, pour en être informé si jamais ce n’est pas moi qui active l’alarme.

A lire également:
Automatisez Noël avec Home Assistant et ChatGPT: Créez une maison festive et connectée en quelques clics !

A contrario, si l’alarme est activée quand je passe le Tag, la Vera va la désactiver, allumer la lumière du salon, diffuser un message de bienvenue, me confirmant la désactivation de l’alarme, et m’envoyer une notification sur mon iPhone (toujours pour être informé si ce n’est pas moi qui effectue l’action).

Il suffira de jouer avec la temporisation de l’alarme pour avoir le temps d’entrer dans la maison et passer son porté clé devant le lapin avant le déclenchement des hostilités :p

C’est tout pour la Vera, il ne nous reste plus qu’à « cabler » cela avec le Karotz.

II. Communication avec le Karotz

L’interaction entre le Karotz et la Vera va être possible via une petite application à installer sur le Karotz: Kron, que vous trouverez à cette adresse.

kron

Une fois installée sur votre Karotz, il n’y a plus qu’à la configurer:

2011 12 07 110733

Cette application permet d’envoyer une requête HTTP. Nous nous en servons ici pour contrôler la Vera, mais elle peut servir à bien d’autres choses: contrôle d’une carte IPX, de son Media Center, etc…

On commence par donner un nom au profil, ici je l’appelle « Alarme ». Ce nom servira également à activer l’alarme via une commande vocale si je le souhaite, en appuyant sur le bouton sur la tête du Karotz, et en lui susurrant « Kron Alarme ».

Ensuite, on lui indique la requête HTTP à effectuer, en remplacant l’ID de la scène par le votre:

http://MA_VERA:3480/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=96

Enfin, je coche « déclenchement manuel », et j’indique quel Tag devra déclencher cet évènement, ici le porte clé bleu. On valide, et c’est fini !

A partir de là, si je dis au Karotz « Kron Alarme », ou que je lui passe mon porte clé bleu devant le nez, il va se charger d’activer ou désactiver l’alarme en fonction de son état actuel. Petite démo en vidéo:

J’ai configuré un scénario sur mon porte clé, et un sur celui de ma femme, ce qui permet du coup de personnaliser le message d’accueil si on veut, il suffit d’utiliser un scénario différent par personne, avec un message différent diffusé sur la Squeezebox.

A lire également:
Guide: Intégrer le serveur WES dans Home Assistant pour le suivi de consommation

Sur le même principe, on peut tout à fait allumer une lampe, lancer un scénario d’ambiance, etc… Vous avez là la ligne directrice, faites en ensuite ce qu’il vous plait !

Pour les Tag, vous pouvez utiliser les Flatnanoz ou les Nanoztag. Personnellement je préfère les petits porte clé RFID qu’on peut trouver chez Planète Domotique, parfaitement compatibles, et beaucoup plus discrets:

IMG 5490

En plus, à 12.90€ les 3 portes clés, c’est plus économique ;-) Pensez aussi aux étiquettes RFID. A 3.90€ l’étiquette, ce n’est pas donné pour une étiquette, mais elle trouvera pas mal d’applications: collées sur un CD pour lancer une playlist au passage du CD, lecture d’une histoire au passage d’un livre, etc…

III. Conclusion

Comme vous le voyez, l’interconnexion entre le Karotz et la Vera n’est pas encore parfaite: j’utilise par exemple mes Squeezebox pour faire passer un message vocal alors que le Karotz en serait tout à fait capable. Mais pour cela il faudrait une application dédiée, comme celle qui existe pour la Zibase. On attend un développeur motivé, personnellement je manque de temps et je n’ai pas du tout abordé la programmation sur le Karotz. Une telle application permettrait au Karotz de nous donner la température de la pièce, nous annoncer la présence d’un visiteur à l’accueil, etc… Ce serait top !

En attendant, on fait avec ce qu’il y a, et la petite application Kron permet de déclencher des scénarios sur la Vera, via le passage d’un Tag ou via une commande vocale, ce qui n’est déjà pas si mal. Avec les évolutions prévues bientôt sur le Karotz, comme la possibilité de déclencher une action sur détection de mouvement de la caméra intégrée, ou détection de bruit via le micro, cela laisse imaginer bien des applications, comme le Karotz qui allumerait automatiquement la lumière, ou réglerait le chauffage, etc… Il y a donc déjà du potentiel à exploiter :p

share Partager

Ces articles pourraient aussi vous intéresser:

Onduleur sous tension : décuplez sa puissance avec Home Assistant et devenez le maître de votre domotique

Découvrez comment intégrer votre onduleur à Home Assistant pour une gestion optimale de votre installation domotique. Guide complet, astuces et exemples concrets pour une maison connectée plus fiable que jamais !

Automatisez Noël avec Home Assistant et ChatGPT: Créez une maison festive et connectée en quelques clics !

Découvrez comment automatiser votre maison pour Noël avec Home Assistant ! Ce guide complet vous montre comment synchroniser lumières, musique, et effets festifs pour créer une ambiance magique et connectée. Transformez chaque recoin de votre maison en un véritable décor de Noël grâce à des scénarios simples et interactifs.

Maison hantée 2.0 : Utilisez Home Assistant pour une expérience d'Halloween connectée et terrifiante !

Découvrez comment transformer votre maison en maison hantée 2.0 avec Home Assistant ! Suivez nos scénarios d'automatisation pour Halloween et créez une expérience interactive et terrifiante à l'aide de lumières intelligentes, de sons effrayants, et bien plus encore. Surprenez vos invités avec une maison connectée qui prend vie la nuit !

0 réaction

Votre réaction
Nom
Adresse de messagerie
Site internet