VOUS ÊTES ICI: Accueil » Blog » Domotique » Eedomus » La gestion des ordures et du tri avec la domotique, comment faire?
Eedomus Mini Guides

La gestion des ordures et du tri avec la domotique, comment faire?

Depuis maintenant deux ans, nous pouvions avoir les notifications dans notre box préférée grâce à Aurélien et son article La gestion des ordures avec la domotique

ordures-domotique-gestion-poubelles-google-calendar

La gestion des ordures par les calendrier google

En raison d’une évolution de l’API Google, nous avons probablement tous reçu un mail début octobre de la part de google nous annonçant la fin des flux XML sur les google calendar.
ordures-domotique-gestion-poubelles-google-calendar

Par conséquent le service s’est arrêté le 18 novembre 2015. Depuis cette date, il n’est plus possible de récupérer les informations des calendriers Google via un flux XML.

 

Mais alors comment continuer à lire les calendriers google depuis eedomus?

Voici donc une méthode qui remplace, l’ancienne façon de récupérer les informations de nos différents calendriers Google. Elle n’est pas nouvelle puisque je me suis inspiré pour cela du tuto de Pierre sur le blog maison et domotique . Je l’ai simplement un peu adapté.

La puissance des calendrier google dans la gestion des ordures par la #domotique pari réussi Tweeter

Pour cela nous allons donc utiliser un script Google, rien de bien sorcier vous allez voir. Il faut simplement surtout bien suivre le tuto à la lettre et tout se passera bien !

Pré requis :

  • Avoir un compte Google.
  • Avoir une box Eedomus.

Voici mes deux Agendas : Déchetterie et Sortir_Poubelle

ordures-domotique-gestion-poubelles-google-calendar

Pour créer un calendrier, vous pouvez suivre l’article d’Aurel ici, la procedure y est très bien détaillée et en plus rien ne change, simplement à l’étape 2 revenez sur ce tuto pour continuer.

Mise en place Coté eedomus

1 Création des Etats dans l’EEDOMUS: D’abord, créez 4 états. Pour cela, il faut, comme avant un état aujourd’hui puis un état demain par calendrier. Ici 4 puisque je gère à la fois le calendrier sortir les poubelles et le calendrier de la déchetterie soit 2 x 2 calendriers.

Le principe est presque le même qu’avec l’ancienne technique, simplement, nous n’utilisons plus des capteur HTTP mais des Etats

ordures-domotique-gestion-poubelles-google-calendar

2  Récupérer les  4 codes API (1 code API par état)

api

Mise en place du script sur Google

1  Se connecter à son compte Google Drive https://drive.google.com/

2  Créer un script

Clique droit -> Nouveau Fichier -> Google Apps Script

ordures-domotique-gestion-poubelles-google-calendar

4  Nommer le script, moi je l’ai nommé Calendrier_eedomus

google_calend

4  Copier/Coller le code suivant dans le script créé précédemment.
 

Les valeurs à changer sont

1 Le nom des calendriers (ici ils s’appellent « NOM_CALENDRIER1 »  et « NOM_CALENDRIER2 » ) en ligne 23 et 24

2 Le numéro de périphériques:

AAAAA  =Numéro du périphérique Aujourd’hui  pour le calendrier 1 en ligne 23

BBBBB = Numéro du périphérique Demain  pour le calendrier 1 en ligne 23

CCCCC  =Numéro du périphérique Aujourd’hui  pour le calendrier 2 en ligne 24

DDDD = Numéro du périphérique Demain  pour le calendrier 2 en ligne 24

 

3 Modifier’adresse mail « MON_MAIL@gmail.com » à avertir en cas de problème  en ligne 97

4 Remplacer les XXX et YYYY correspondants aux API user et Secret à la ligne 88

 

L’exécution du script

1  Une fois le script copié et adapté, cliquez sur l’icône  « Exécuter » .

2  Une fenêtre d’avertissement s’ouvre pour demander l’autorisation pour que ce script ait accès aux différents services Google.

Cliquez sur Autoriser.

ordures-domotique-gestion-poubelles-google-calendar ordures-domotique-gestion-poubelles-google-calendar

3  Maintenant que le script est créé, il faut l’automatiser pour qu’il s’exécute selon la période désirée.

Dans l’éditeur de Scripts de Google Drive, cliquez sur la petite icône en forme de montre :  » Déclencheurs du script actuel…  »

ordures-domotique-gestion-poubelles-google-calendar

4  Cliquez sur le lien  » Aucun déclencheur configuré. Cliquez ici pour en ajouter un.  « 

ordures-domotique-gestion-poubelles-google-calendar

Comme vous avez pu le remarquer dans le script, nous allons chercher l’ensemble des événements sur la journée d’aujourd’hui et le lendemain.

5  Il nous suffit donc de planifier son exécution une fois par jour. (Entre 1h et 2 heures par exemple)

ordures-domotique-gestion-poubelles-google-calendar

6  Demandez à exécuter la fonction  » Calendrier  » en  » Fonction du temps  » en choisissant le  » compteur de jour  » positionné à la valeur  » Entre 1 h et 2h  » par exemple.

7  Appuyez sur le bouton  « Enregistrer »

Le script va scruter vos agendas une fois par jour et mettre à jour les différents Etats.

A savoir !

Dans cet exemple, on récupère les valeurs de deux calendriers. Cependant, vous pouvez bien sûr en utiliser autant que vous voulez, au contraire.

Il suffit, plutôt que d’ajouter une seule ligne comme ci-dessous, d’en ajouter autant que nécessaire et la customiser comme nous l’avons fait plus haut.

 

Conclusion

En conclusion, malgré l’arrêt du service XML par google pour ses calendrier assez dommageable au départ. Cette méthode particulièrement pertinente, permet de continuer à utiliser les calendriers google pour alimenter les scénarios de nos box domotique. C’est d’ailleurs un script qui est mis en oeuvre sur la box eedomus ici, mais il peut tout à fait être adapté sur une autre box.

ordures-domotique-gestion-poubelles-google-calendar

A propos de cet auteur

eedomusbox

eedomusbox

Informaticien spécialisé dans les ERP, je me suis mis à la domotique en 2014 avec ma première box domotique l'eedomus que j'ai depuis associée à un deux raspberry Pi 2

  • titi007

    merci, je vais tester ça ce week end. j’ai déjà interfacé l’eedomus avec les script google pour avoir l’état de mon alarme. assez puissant ces scripts

    • De rien, bonne config !

  • Romain Rousseau

    on place ou dans le script « Adresse URL privée  » que l on trouve dans l étape 3 ??

    • Salut, c’est une erreur dans la rédaction du tuto, si ton calendrier existe déjà, il faut simplement passer à la mise en place coté eedomus.

      • Romain Rousseau

        et « NOM_CALENDRIER1 » correspond au nom du calendrier google utilisé?

        car après j ai le code erreur TypeError: Impossible d’appeler la méthode « getEvents » de undefined. (ligne 39, fichier «  »

      • oui, il faut remplacer NOM_CALENDRIER1 par le nom de ton calendrier Attention a bien respecter la casse ! Bonne config 😉

      • Romain Rousseau

        Merci j’avance petit à petit, les codes et moi ça fait 2

      • jf morette

        j’ai aussi cette erreur quand j’exécute le script mais ça fonctionne, j’ai maintenant  » RAS » sur mes capteurs 😉
        n’y a t il pas un espace de trop ligne 23 avant les  » de AAAAAAA ?
        En tout cas, merci une fois de plus pour ce tuto et la réactivité

      • ah oui, bien vu, en effet! je suis pas sur que l’espace change beaucoup mais test et redis nous, je corrige le code dans l’article en attendant !

      • Romain Rousseau

        j ai ça comme erreur

        Une erreur s’est produite lors à la réalisation de l’événement [weekend] Fri Nov 13 10:17:27 CET 2015 INFO: {
        « success »: « 0 »,
        « body »:
        {
        « error_code »: « 1 »,
        « error_msg »: « Authentification error. »
        }
        }
        Fri Nov 13 10:17:28 CET 2015 INFO: {
        « success »: « 0 »,
        « body »:
        {
        « error_code »: « 1 »,
        « error_msg »: « Authentification error. »
        }
        }

      • hum, comme ca je dirais regarde du coté de tes codes API

      • Romain Rousseau

        Non mes api sont bon j ai vérifié et plus je me connecte sur l eedomus avec

      • Eedomusbox

        Ton API user et Secret à la ligne 88 sont surement erronés.

  • bon je sais quoi faire ce weekend

    merci pour ton script

  • Julien

    Je m’excuse d’avance pour ma question… :/

    Je cherche à comprendre l’interet d’une telle solution à base de script google pour la gestion des ordures ?
    Quel est le point bloquant, empêchant de gérer cela directement depuis la box ?
    Je ne souhaite pas troller.. juste comprendre, merci 🙂

    • Salut, il n’y a pas de question bête !

      l’intérêt est de pouvoir faire intervenir les éventements de ton calendrier perso dans tes scénarios. Il est vrai qu’il est aussi possible de gérer cela depuis la box mais le calendrier eedomus. A l’époque le calendrier eedomus n’existait pas, nous avions donc géré cela depuis google cal. Certains ne veulent pas refaire leur config d’autres comme moi, préfère passer par les google cal plutôt que le calendrier interne à la box. Question de gout. Cela dit, le calendrier google est tout de même bien plus simple à administrer. cela peut être fait depuis un mobile ou une tablette sans passer par l’eedomus, il est aussi possible de créer autant de calendrier que d’utilisation (perso, pro, poubelles, déchetterie, école…).

      Voici en gros l’intérêt d’une telle solution.

      • Julien

        OK, merci pour la réponse !
        Je ne voulais surtout pas que mon message soit interprété comme du troll 😉

        pour l’instant, je me contente du calendrier eedomus, mais effectivement, j’aurais p-e envie de tester google cal un de ces jours 😉

      • Pas de soucis, c’est pas le genre de la maison !

  • Tony Content

    J’ai :
    {
    « success »: « 0 »,
    « body »:
    {
    « error_code »: « 23 »,
    « error_msg »: « HTTP protocol not allowed on your
    account. »
    }

    une petite idée ?

    • Il semble que ton compte ne permette pas de faire des requetes http. As tu bien autorisé les actions du script à la premiere execution?

      • Tony Content

        Il me semble bien avoir tout validé pourtant

      • lecameleon99

        Http not allowed sur la box eedomus.
        Remplace avec https tout simplement

  • Cédric Pierret

    Salut,
    j’ai le même problème que Tony Content :
    « error_msg »: « HTTP protocol not allowed on your account. »
    je vois pas ce que j’ai mal fait?
    Sinon autre chose en rapport avec les calendriers: je cherche à créer un état ou un capteur http dans mon eedomus qui me retournerais la date du jour au format aaaa-mm-jj.
    Merci d’avance

  • Jean-Pierre DE MASURE

    Merci pour ce tuto, je l’ai installé, il fonctionne nickel mais cependant il engendre tous les jours un mail avec le message : « TypeError: Impossible d’appeler la méthode « getEvents » de undefined. (ligne 39, fichier « calendrier eedomus ») »; Une idée ?? Merci !

  • lecameleon99

    Je viens de le mettre en place.
    J’ai mis par contre https pour la maj des périphériques, car j’ai désactivé le http sur la BOX. (j’ai mis du temps à comprendre pourquoi ça marchait pas, alors que je recevais les mails avec la cause…)

  • max

    Merci pour ce très bon script !
    Si j’ai bien compris, cela permet de récupérer seulement 1 événement par jour, c’est bien ça ?
    Que se passe t’il si on place plusieurs RDV sur la même journée ?
    Merci

  • Tibhix On Line

    Je viens de poster une mise à jour de ce script sur http://forum.eedomus.com/viewtopic.php?f=50&t=3039&p=32037#p32037 afin de ne gérer qu’un seul calendrier avec plusieurs types d’événements (dont les poubelles…)

  • Neopate

    Bonjour à tous, je ne comprend pas je n’ai pas de menu script dans Google , j’ai raté une étape ?

    • Dans ton drive, tu n’as pas la possibilité de creer un script?

      • Neopate

        Merci pour ta réponse rapide , comme sur l’image ci-jointe, je n’ai pas les scripts.

      • Étrange! Je n’ai jamais rencontré ce cas! As tu un autre compte google ou as tu essayé de créer un nouveau compte pour voir si tu as l’option?

      • Neopate

        Je viens de tester avec le compte de ma femme et c’est pareil,.
        On est d’accord, il ne faut pas de compte pro ?

      • Sam

        Pas de compte pro.
        Il suffit juste « d’associer plus d’applications » et de taper script dans la barre de recherche puis ajouter.

  • Neopate

    Bonjour à tous, j’ai le script qui fonctionne à merveille par contre je me retrouve avec des données à J-1, avez vous ce phénomène ?

Notre dernière vidéo

S'inscrire à la domo-letter


Adresse email