Aller au contenu

Quel Calendrier Pour Fibaro Hc2?


elacombe

Messages recommandés

Bonjour,

 

Je voudrais pouvoir utiliser un calendrier pour automatiser des scènes sur HC2.

Google semblait être une solution idéale...Sauf que j'ai lu qu'à  partir du 20 Novembre, il ne sera plus possible de lire le code xml de Google Agenda et donc de pouvoir l'intégrer dans nos box...

Quelqu'un connaitrait-il un autre agenda utilisable sur HC2, ou une méthode pour contourner le fait de ne plus pouvoir le code xml de Google?

Merci.

 

@+

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Peux-tu partager l'info, en mettant l'article si tu te souviens de la source stp ?

 

Je pense qu'on est plusieurs à  être intéressé puisqu'on utilise google calendar ;-).

Il y a un tuto si tu ne l'as pas encore lu et ca fonctionne vraiment bien

 

 

http://www.domotique-fibaro.fr/index.php/topic/2513-google-calendar-vers-hc2hcl/?p=34052

Lien vers le commentaire
Partager sur d’autres sites

En fait, il suffit d'aller dans son agenda google et de cliquer sur les paramètres de l'agenda, puis sur XML pour récupérer l'ID de l'agenda et on obtient ce message : 

 

"Adresse URL de l'agenda

ANNONCE : À compter du 18 novembre 2015, les flux XML de Google Agenda ne seront plus disponibles. En savoir plus sur les alternatives aux flux XML 

Pour utiliser le flux XML en attendant, vous pouvez copier et coller cette URL dans n'importe quel lecteur de flux :


AVERTISSEMENT : L'accès public à  cet agenda n'a pas été activé. Vous devez modifier vos paramètres de partage avant de partager cette adresse avec d'autres personnes."

 

J'en conclue donc qu'à  partir du 18 novembre, toutes les solutions basées sur cette méthode vont être caduques...A moins d'utiliser l'alternative aux flux XML...mais après je ne sais pas comment ça marchera...

 

D'où ma question? Quelle autre alternative?

Lien vers le commentaire
Partager sur d’autres sites

Tout àfait...en tout cas, c'est ce que décrit Google dans les paramètres de son calendrier. Je suis tombé la dessus par hasard en voulant récupérer l'ID du calendrier afin de l'utiliser avec le HC2, comme décrit dans la méthodo...

Il suffit d'aller regarder dans les paramètres de l'agende, de cliquer sur l'onglet agenda, puis de cliquer sur le nom de son agenda, puis de cliquer sur xml dans la partie "intégrer cet agenda" et là, c'est la consternation : fin de ce service le 18 novembre 2015...https://support.google.com/calendar/answer/6285065?p=xml_deprecation&rd=1

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Pour info, j'héberge un script sur mon Google Drive. Ce script va chercher les rendez-vous que j'ai et les mets dans un VD. Je vous le met ici comme exemple de code si vous en avez besoin .. bonne continuation.

 

Pour info, le VD est composé de 10 labels vides (label1 à  label2) et au début un bouton "Reset" qui vide les labels.

 

var HC2_IP = "..........";
var LOGIN = "admin";
var PWD = "admin";

var CAL_ID = 'xxxxxxxxxx@xxxxxxxx.xxx' // '2lioqtmqrhcfv8dd9vnrevvcpc@group.calendar.google.com';

var TIMEZONE = "GMT+1";
var DATE_FORMAT = "dd.MM";
var ALL_DAY = "";
var TIME_FORMAT = "HH:mm";

var MV_ID = 178;

var options = {"headers": {
    "User-Agent": "MY_APP_NAME (App URL/your email address)",
    "Authorization": "Basic " + Utilities.base64Encode(LOGIN + ":" + PWD)
}}

/**
 * ----------------------------------------------------------------------------
 * Recherche dans l'agenda les 10 premiers évenements et les envoi dans le VD
 * Maximum 2 semaines
 * ----------------------------------------------------------------------------
**/
function findAndSend() {
  
  var cal = CalendarApp.getCalendarById(CAL_ID);
  var now = new Date();
  var nowPlus2Weeks = new Date(now.getTime() + (14 * 24 * 60 * 60 * 1000));
  var events = cal.getEvents(now, nowPlus2Weeks);

  var index = 1;
  reset();
  for (var i=0 ; i < events.length && i < 10; i++) {
      var d = getDateTime(events[i])
      send("ui.Label"+index+".value", d + " - " + events[i].getTitle());
      index += 1;
  }

}

/**
 * ----------------------------------------------------------------------------
 * Obtient la date/heure de l'événement dans un format agréable
 * ----------------------------------------------------------------------------
**/
function getDateTime(event) {
  var dt = ""
  if (event.isAllDayEvent()) {
    dt = Utilities.formatDate(event.getStartTime(), TIMEZONE, DATE_FORMAT);
    dt += " " + ALL_DAY;
  } else {
    dt = Utilities.formatDate(event.getStartTime(), TIMEZONE, DATE_FORMAT);
    dt += " ";
    dt += Utilities.formatDate(event.getStartTime(), TIMEZONE, TIME_FORMAT);
  }
  return dt;
}

/**
 * ----------------------------------------------------------------------------
 * Méthode de test
 * ----------------------------------------------------------------------------
**/
function testit() {
  reset();
  send("ui.Label1.value", "2Ts");
}

/**
 * ---------------------------------------------------------------------------------------------------------
 * Action
 * ---------------------------------------------------------------------------------------------------------
**/
function send(name, value) {
    var url = "http://"+HC2_IP + "/api/callAction?deviceID="+MV_ID+"&name=setProperty&arg1="+name+"&arg2="+value + " "
    envoi = UrlFetchApp.fetch(url, options) 
}

/**
 * ---------------------------------------------------------------------------------------------------------
 * Appuye sur le bouton Reset du VD
 * ---------------------------------------------------------------------------------------------------------
**/
function reset() {
  var url = "http://" + HC2_IP + "/api/callAction?deviceID="+MV_ID+"&name=pressButton&arg1=1";
  envoi = UrlFetchApp.fetch(url, options) 
}

636812agenda.png
Lien vers le commentaire
Partager sur d’autres sites

Ben je vois pas pourquoi cela ne devrait pas être le cas. J'utilise exclusivement l'API. L'ID est utilisé et le restera pour les iCal et les format HTML et c'est le seul moyen pour identifié le calendrier que tu veux utiliser.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour messieurs,

 

Je suis intéressé par la solution de calendrier de google. Il y a pour moi plusieurs solution la version Google Drive ou la solution de Cédric de maison et domotique en installant le scripts sur un synology pour ma part.

 

J'ai commencé avec le tuto de Cédric voir le lien http://www.maison-et-domotique.com/34193-hc2-de-fibaro-et-calendrier-google/ mais je n'arrive pas à  le faire fonctionné. Sa sa doit être mon coté boulet

 

Pour la partie Google Drive j'arrive bien à  allumer ou éteindre des lumières de chez moi avec le calendrier google mais maintenant il faudrait que je fasse un module virtuel du type :

 

Aujourd'hui je suis au travail ou en Congé ou Férié

 

Demain je  suis au travail ou en Congé ou Férié

 

Un peu le même type de module que HANSOLO voir lien http://www.domotique-fibaro.fr/index.php/topic/1420-jour-ch%C3%B4m%C3%A9/

 

Mais administré par le calendrier google car plus simple à  modifié.

 

PS : Je sais pas si je suis bien dans le bon sujet 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Steven,

 

Je me permet de te demander comment tu as fait pour ouvrir les volets de ta maison à  tel heure si tu travail ou à  tel heure si tu es en congé ou jour férié je m'explique.

 

Aujourd'hui j'utilise le VD de Hansolo pour les jour CHOME ou NONCHOME sa sa marche super avec ton script GEA mais je souhaiterais ajouter les congés de madame ou de moi même .

 

L'idée est d'utilisé le calendrier de gmail pour une question de facilité. 

 

Merci pour ton aide

Lien vers le commentaire
Partager sur d’autres sites

J'ai adapté le MV JourChomé à  mes besoin.

 

750471VDChom.png

 

Tout les soirs à  0:00 et 2:00 j'ai un scrip google qui va venir regarder mon agenda et qui va selon ce qu'il trouve "Vacances", "Maison" cliquer sur les bouton puis sur "Calculer".

 

Tiens moi au courant si tu souhaite plus de détails.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Jojo 

 

Ce que je souhaite est je pense très simple.

 

Ce Souhaite ouvrir mes volets à  9h si je suis au travail avec la solution GEA.

  local Maison = {"Global", "JourChome", "OUI"}
  local Travail = {"Global", "JourChome", "NON"}
  local Vacance Seb = {"Global", "VacanceSeb", "NON"}
  local Vacance Cel = {"Global", "VacanceCel", "NON"}
 
 -- Ouverture tous les matin hors Vacances
    GEA.add({Travail}, 1*60, "Ouverture Volets Semaine", {{"Time", "09:15", "09:20"}, {"Open",id["VR_SALON"],100},{"Open",id["VR_SAM"],100}})
    GEA.add({Maison}, 1*60, "Ouverture Volets Weekend & Jour Férié", {{"Time", "10:00", "10:05"}, {"Open",id["VR_SALON"],100},{"Open",id["VR_SAM"],100}}) 

Maintenant je souhaiterais rajouter les vacances de madame et de moi même via le calendrier.

 

Si je suis en vacance tu ouvres les volets du salon à  10h mais tu n'ouvres pas la chambre.

Lien vers le commentaire
Partager sur d’autres sites

rien de plus simple avec la solution de Pinou.

Je défini quand la TV/PS3 est en mode autorisé/interdit. L'heure à  laquelle mon eau chaude doit s'enclencher, s'arrêter. Quand je suis en vacances.

la solution de Pinou clique sur un VD (pour des raisons de sécurité) qui met à  jour les variables globales concernées (voir un tuto dans ma signature).

Puis pour le reste tout est fait par GEA comme toi.

post-1320-0-45977800-1447330981_thumb.jpg

 

 

Lien vers le commentaire
Partager sur d’autres sites

@jojo

Tu prends vraiment un tank pour écraser un fourmi toi  :60:

 

Voici mon module virtuel et le script google.

 

La méthode "traiter" du script doit être planifié tous les jours entre minuit et 1h00 et entre 2.00 et 3.00 au cas ou ta box serait inaccessible la première fois.

 

Ensuite, il faut renseigner tes infos dans le script et dans le MV, je suis en suisse alors que toi en France. Il y a un france = false à  remplacer par france = true.

 

Je te laisse te débrouillé, j'ai du pain sur la planche.

 

Courage.

Jours_Chômé.vfib

agenda_google.txt

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...