Aller au contenu
Domollier

RECUP ETAT PERIPH CHACON

Recommended Posts

Bonjour,

Je rappelle que je debute avec la hc2 Je souhaite soulager ma zibase en utilisant celle ci seulement comme antenne multi protocole et en abandonnant son systeme de programmation disons pas terrible!

pour l'instant j'ai reussi a faire des joli periph virtuels qui pilotent les peripheriques enocean en LUA et recupere le retour d'etat pour mettre a jour variable et icone du coup ca me donne envie de gerer TOUT mes peripheriques avec ma HC2

 

Les zwave .. pas de soucis c'est prevu pour ca !

EnOcean   ca y est j'ai compris ca marche

mais j'ai aussi des CHACON ...  :-(

 

Je n'ai trouvé ni les commandes HTLM (ProtocoleP13 pour Enocean  Quel code pour Chacon)

Ni le moyen de trouver l'etat des peripheriques Chacon dans le XML de la zibase.

 

Peut être est ce tout simplement impossible ?? La zibase ne note pas l'etat des periph chacon?? Je crois que ces periph ne confirment pas leur etat par un retour mais il pourrait y avoir une trace des ordres envoyés

 

Par avance merci

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai encore sous la main un vieux script qui me permettant d'envoyé des ordres à ma Zibase directement depuis mon agenda google, il y a le P3 pour Chacon.

 

Voici le script :

 

var ZIBASE = "ZiBASExxxxxx";
var TOKEN = "xxxxxxxxx";
var CAL_ID = 'xxxxxxxxxxxxxxxxxxxx@group.calendar.google.com';

var KEYWORD = "MODULE";

function test() {
  actionneModule("A3", "ZWAVE", "OFF");
}

/**
 * ---------------------------------------------------------------------------------------------------------
 * Cherche dans l'agenda le mot clé "MODULE" toutes les minutes et exécute l'action sur le module
 * ex. MODULE A7 ZWAVE OFF
 * ---------------------------------------------------------------------------------------------------------
**/
function searchModule() {
  var cal = CalendarApp.getCalendarById(CAL_ID);
  var now = new Date();
  var nowPlusOneMinute = new Date(now.getTime() + (60 * 1000));
  var events = cal.getEvents(now, nowPlusOneMinute, {search: KEYWORD});

  for (var i=0 ; i < events.length; i++) {
    if (events[i].getTag(KEYWORD) == null || events[i].getTag(KEYWORD) != "done") {
      var action = events[i].getTitle().replace(KEYWORD+ " ", '');
      var params = action.split(" ");
      actionneModule(params[0], params[1], params[2]);
      events[i].setTag(KEYWORD, "done");
    }
  }
}

/**
 * ---------------------------------------------------------------------------------------------------------
 * Lance une action sur un module de la ZiBASE
 * id : l'identifiant du périphérique (A3, B2, Z3, ...)
 * protocole : VISONIC433, VISONIC868, CHACON, DOMIA, RF X10, ZWAVE, ...
 * action : ON, OFF, DIM, ...
 *
 * Exemple : actionneModule("A7", "ZWAVE", "OFF");
 * ---------------------------------------------------------------------------------------------------------
**/
function actionneModule(id, protocole, action) {
  
  var erreur = "";
  
  var iprotocole = -1;
  if (protocole == "VISONIC433") {
     iprotocole = 1;
  } else if (protocole == "VISONIC868") {
     iprotocole = 2;
  } else if (protocole == "CHACON") {
     iprotocole = 3;
  } else if (protocole == "DOMIA") {
     iprotocole = 4;
  } else if (protocole == "RF X10") {
     iprotocole = 5;
  } else if (protocole == "ZWAVE") {
     iprotocole = 6;
  } else if (protocole == "RFS10/TS10") {
     iprotocole= 7;
  } else if (protocole == "XDD433") {
     iprotocole= 8;
  } else if (protocole == "XDD868") {
     iprotocole= 9;
  } else if (protocole == "XDD868Inter/Shutter") {
     iprotocole= 10;
  } else if (protocole == "XDD868PilotWire") {
     iprotocole= 11;
  } else if (protocole == "XDD868Boiler") {
     iprotocole= 12;
  } 
  if (iprotocole == -1) {
    erreur = erreur + "Protocole inconnu " + protocole;
  }
  
  
  var iaction = -1;
  if (action == "OFF") {
     iaction = 0;
  } else if (action == "ON") {
     iaction = 1;
  } else if (action == "DIM") {
     iaction = 2;
  } else if (action == "BRIGHT") {
     iaction = 2;
  } else if (action == "ALL_LIGHTS_ON") { // ne fonctionne pas en X10
     iaction = 4;
  } else if (action == "ALL_LIGHTS_OFF") { // ne fonctionne pas en X10
     iaction = 5;
  } else if (action == "ALL_OFF") { // fonctionne uniquement en X10
     iaction = 6;
  }
  if (iaction == -1) {
    erreur = erreur + " action inconnu " + action;
  }
  
  if (erreur.length > 0) {
     envoi = UrlFetchApp.fetch("https://zibase.net/m/zapi_remote_zibase_set.php?device=" + ZIBASE + "&token="+ TOKEN + 
                               "&action=rowzibasecommand&param1=0&param2="+ (iprotocole * 256 + iaction) + 
                               "&param3=" + (id.substring(1,2) -1) + 
                               "&param4=" + (id.charCodeAt(0)-65));
  }
  return erreur;
  
}

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci :74:  Ca m'embetait de devoir changer des vieux modules qui fonctionnent parfaitement!

avec la commande du type (peripherique chacon sur G2)

GET("/cgi-bin/domo.cgi?cmd=ON%20G2%20P3")

GET("/cgi-bin/domo.cgi?cmd=OFF%20G2%20P3")

ca marche nickel

 

pour ceux qui auraient encore des X10 ca marche aussi avec

GET("/cgi-bin/domo.cgi?cmd=ON%20A1%20X10")

 

reste plus quune eventuelle recup dans le xml de la zibase si certain savent que c'est impossible une confirmation mevitera de me chauffer les neurones a regarder ce xml dans tous les sens :huh:

 

Je vais mettre une variable globale dans la HC2 pour conserver l'état et afficher les icones.

 

En tout cas merci je vais pouvoir faire fonctionner TOUT mes peripheriques avec la HC2

Modifié par Domollier

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais fait l'opération inverse, càd que chaque changement d'état de mon module Chacon allait presser le bouton d'un VD sur ma HC2.

Je n'allais donc plus récupérer le XML toutes les X secondes.

Partager ce message


Lien à poster
Partager sur d’autres sites

mais comment fais tu pour reuperer l'etat ou l'action du module chacon??  pour lancer un VD sur la hc2 ??

Partager ce message


Lien à poster
Partager sur d’autres sites

29_01.png.06fa4964c7ea48088639757d2dcc137a.png

 

Ton url à toi devra est http://user:password@ip_de_ta_hc2/api/callAction?deviceID=<id du vd>&name=pressButton&arg1=<id du bouton>

Partager ce message


Lien à poster
Partager sur d’autres sites

×