Zibase et calendrier Google ?

Cédric
29 juin 2012

Suite à mes deux précédents articles, expliquant comment connecter la Vera ou encore l’eedomus à son agenda Google, vous avez été nombreux à me demander s’il était possible de faire la même chose avec la Zibase. J’ai donc pris un peu de temps pour étudier la question, et la réponse est OUI !

Bien que la Zibase sache lire une valeur dans un fichier xml, cela reste compliqué, le fichier xml de l’agenda Google étant relativement complexe. Nous nous étions déjà heurté à ce problème avec l’eedomus. Je suis donc parti sur le même principe que pour l’eedomus.

Pour remettre le problème en situation: bien que la Zibase sache gérer un calendrier, elle est par exemple incapable d’adapter automatiquement des scénarios selon s’il s’agit d’un jour travaillé ou non. Le fait de la lier à un calendrier Google va lui permettre de vérifier le type de journée, et de déclencher des actions en conséquence.

 

I. Pré requis

 

Comme pour l’eedomus, il va être nécessaire d’utiliser un script PHP stocké sur un serveur FTP (votre Nas, un serveur extérieur, etc…). C’est contraignant, mais l’API Google étant un peu complexe à exploiter, c’est pour le moment la seule solution que j’ai trouvé.

Il vous faudra donc:

Si vous n’avez pas d’agenda Google, vous pouvez en créer un gratuitement ici.

A lire également:
Guide: Intégrer son alarme Ajax à Home Assistant, c'est possible !

Pour ma part, j’ai un calendrier Google réservé à mes congés. Les congés sont indiqués dans l’entête de la journée (un congé marqué de telle heure à telle heure ne fonctionnera pas):

 

calendrierconges

 

II. Installation des scripts

 

L’installation des scripts est très simple: il suffit de vous connecter à votre serveur FTP, puis de les déposer dans le répertoire de votre choix:

 

ftp

 

Ces trois fichiers sont à copier tels quels, aucune modification n’est nécessaire.

Pour le dernier fichier, agenda.php, il faudra renseigner l’adresse privée de votre calendrier.

Pour cela, rendez vous dans les paramètres de votre calendrier Google. Tout en bas, vous trouverez une icône XML, dans la partie adresse URL privée:

 

parametresagenda

 

Faites un clic droit sur cette icône, et récupérez l’adresse. Cette adresse est l’adresse de votre calendrier, mais codée de façon à ce qu’elle ne soit pas publique, de ce genre:

http://www.google.com/calendar/feeds/qsnmyourtcndaoeh6mt3663ing%40group.calendar.google.com/private-1ac30ee2598467tfb4807d7096dc6/basic

Copiez cette adresse dans le fichier agenda.php:

 

agendaphp

 

C’est la seule chose à modifier. Une fois renseigné, il n’y a plus qu’à le mettre sur le serveur FTP avec les autres fichiers:

 

ftp2

 

Pour vérifier que tout fonctionne bien, il suffit de taper l’adresse web de ce fichier dans votre navigateur web, par exemple http://www.monserveurweb.com/agenda/agenda.php

On doit obtenir quelque chose de ce genre:

 

 
14

 

On a donc ici un fichier xml facilement exploitable par la Zibase.

Pour mes besoins, j’ai décidé d’y faire figurer l’état du jour, mais également l’état du lendemain.

 

III. Configuration sur la Zibase

 

A lire également:
Comment utiliser ChatGPT avec Home Assistant pour automatiser votre maison : Guide pour débutants !

Après divers tests, j’ai finalement trouvé une méthode assez simple, que je vais illustrer dans un exemple: l’ouverture des volets, au lever du soleil s’il s’agit d’un jour travaillé, ou à 9h s’il s’agit d’un jour non travaillé (week end, jour férié, ou une journée de congé posée n’importe quand).

On crée un premier scénario, qui se lancera au lever du soleil:

 

2012 06 25 17 36 19

 

Au lancement du scénario, j’affecte la chaine de caractères « aujourdhui » à la variable V15, qui est une variable qui restera en mémoire (pas effacée à chaque action).

Ensuite, j’utilise l’action « Commander par HTTP », mais pour récupérer une valeur balisée par ma variable V15.

Dans cette variable, je récupére ainsi 1 s’il s’agit d’un jour travaillé, ou 0 s’il s’agit d’un jour férié.

 

2012 06 25 17 37 14

 

Ensuite, j’utilise « Activer un périphérique » en sélectionnant mon volet, et en cochant On-Off variable, puis en indiquant ma variable V15.

Ainsi, s’il s’agit d’un jour travaillé, le volet va s’ouvrir, s’il s’agit d’un jour férié il va se fermer (comme il est normalement déjà fermé, cela n’aura donc aucune incidence).

C’est tout pour ce scénario.

On en crée ensuite un autre très très simple, qui se lancera tous les jours à 9h, et qui ouvrira le volet:

 

2012 06 25 17 57 05

 

S’il a déjà été ouvert au lever du soleil, ce scénario n’aura aucune incidence. Si le volet n’avait pas été ouvert (jour férié), ce scénario va l’ouvrir à 9h.

Très simple, non ? A l’utilisation c’est vraiment très pratique, puisque j’utilise tous les jours mon calendrier Google: cela me permet de gérer mon emploi du temps, de le synchroniser sur mon iPhone, de le partager avec ma femme, etc…  L’utilité de l’agenda Google n’est plus à démontrer. Aujourd’hui, sans rien faire de plus, ce calendrier est également consulté par ma Zibase, qui gère alors la maison en conséquence.

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

Le script tient compte également de l’état du lendemain. Il suffit d’affecter la chaine de caractère « demain » au lieu de « aujourdhui » pour récupérer l’état du lendemain. Chez moi, cet état me permet de faire d’autres actions: par exemple quand le lendemain est une journée travaillée, je coupe les alertes vocales de mon système multiroom plus tôt histoire de ne pas être dérangé quand on est couchés. Le volet de ma porte fenêtre se ferme également plus tard si le lendemain est une journée à la maison.

Ce procédé peut être utilisé pour diverses choses. J’ai par exemple configuré un autre calendrier pour le ramassage des poubelles, car avec les jours fériés et le ramassage des déchets recyclables tous les 15 jours, je suis toujours en train de me demander quelle poubelle sortir quel jour :p Cette alerte me permet de recevoir une notification push la veille au soir, ou même une notification via mon Karotz.

On peut imaginer faire un calendrier pour les anniversaires, un pour gérer le chauffage, etc… Même si la Zibase gère un système de calendrier, cette méthode permet de ne gérer que son agenda perso, sans avoir d’autre action à effectuer.

Voilà, j’espère que ce petit tuto répondra aux besoins que vous aviez !

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 !

1 réaction

fau patrick
9 février 2014

bonjour,

j’ai un doute quelle partie de la ligne dois je remplacer par mon url ?

Votre réaction
Nom
Adresse de messagerie
Site internet