[Store] Script pour module radiateur électrique Heatzy V1

Discussion et échanges de scripts pour la box eedomus

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar eozanne » 12 Mars 2018 10:56

Aurelsam20 a écrit:
eozanne a écrit:Bonjour,

Voila plusieurs semaine que mon script retourne une valeur vide.
La suppression-reinstallation n'a rien réglé.
J'ai supprimé le test de la variable time() dans le script et là tout refonctionne.
Peut-Être si je coupe l'alimentation de la box, ca va disfonctionner ?
En attendant d'avoir un script à jour
Je tiens à remercier Havok pour son travail

Cordialement


Bonjour Eozanne,
Peux-tu m'expliquer comment tu as fait stp??
Merci beaucoup


Bonjour,

Comme je l'avais prédit dans mon précédent POST, le script a cesse de fonctionner au bout d'un moment. J'ai tout supprimé, désolé.
J'ai ensuite réinstallé le script d'Havoc, la ca remarche; mais bon je ne me sers plus d'eedomus pour l'instant car le script n'est pas assez fiable.
Je me suis résigné à utiliser la programmation du module Heatzy avec l'outil fourni; il m'as fallu un bon moment car l'ergonomie (selon moi) de cette programmation est délicate !
J'ai réussi sur un iPad (en mode X2) pour y arriver.

Cordialement
eozanne
 
Messages : 4
Inscription : 13 Fév 2018


Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar eozanne » 26 Mars 2018 20:07

Bonjour,

J'ai pas mal galère pour arriver à faire fonctionner le script.
Comme lu dans les post du forum; les désinstallation-installation remettaient tout en ordre sauf pour moi ??? J'ai recommencé une nouvelle fois et là on dirait que le script fonctionne depuis quelques semaines.
Je suis tombé entre le plantage du script et un plantage des serveurs Hetzy en fin d'année !
C'est pour cela que j'hésite à continuer d'investir dans des modules Heatzy
En plus le changement d'heure dernier, ça a merdé

Cordialement
eozanne
 
Messages : 4
Inscription : 13 Fév 2018

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar eozanne » 27 Mars 2018 15:43

Bonjour,

Après quelques semaines, le script est en erreur comme la dernière fois.
Erreur sur EEDOMUS
En fait c'est se que j'avais eu en fin d'année après environ 1 mois d'utilisation même erreur
Code : Tout sélectionner
[code]Le 27 mars à 15:14 : Heatzy Pilote Cuisine en erreur: [Valeur lue vide]. Aperçu du contenu.
La fréquence de cette notification est maintenant réduite.[/code]


En cliquant sur aperçu du contenu :

<root><status></status></root>

On dirait bien qu'un problème avec les API Heatzy est bien présent.

Cordialement
eozanne
 
Messages : 4
Inscription : 13 Fév 2018

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar paulogaz » 03 Fév 2019 15:48

Hello,

J'ai aussi connu ces soucis "d'instabilité".
en réalité, pour ma part, cela fonctionnait bien au travers de eedomus jusqu'à une mise à jour (Heatzy ou eedmous?).
J'avais des espaces dans le nom de mes périphériques.
en supprimant ces espaces, tout est rentré dans l'ordre.
donc, règle de base :
- bannir les espaces
- bannir les caractères spéciaux (accents, etc)

Toutefois, @Havoc, est-il possible de remonter la MAC address depuis le script?
ce serait une évolution sympa pour tous ceux qui filtrent les accès à leur wifi au travers de la MAC.

Merci pour ce script!
Paulogazzzz!!
paulogaz
 
Messages : 15
Inscription : 13 Avr 2017

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar technoseb27 » 09 Fév 2019 22:02

Bonsoir à tous. Je ne sais pas si chez vous c'est pareil mais depuis quelques jours, impossible de faire fonctionner mes modules sur Eedomus. Je viens d'essayer avec "Jeedom" et cela fonctionne sans problème comme sur l'application.
N'y aurait-il pas eu une mise à jour du côté de chez Heatzy?
Merci de votre retour
Une box Eedomus, 9 x FGS-221, 6 FGR-221, 1 x FGRM-222, 6 x Prises Neo Coolcam, 4 Détecteurs de mouvements Fibaro et Neo Coolcam, 8 Sondes Banggood, et le reste top secret ;-)
Voici mon blog :
https://domotiquetechnoseb27.com/
technoseb27
 
Messages : 396
Inscription : 01 Sep 2013

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar Havok » 13 Fév 2019 19:13

Ca devrait fonctionner correctement maintenant. Mais il faut mettre à jour le script.
Havok
 
Messages : 672
Inscription : 06 Fév 2015

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar technoseb27 » 14 Fév 2019 10:50

Havok a écrit:Ca devrait fonctionner correctement maintenant. Mais il faut mettre à jour le script.

Bonjour Havok. Je te confirme que cela fonctionne à nouveau. Un grand merci à toi de ton retour. ;)
Une box Eedomus, 9 x FGS-221, 6 FGR-221, 1 x FGRM-222, 6 x Prises Neo Coolcam, 4 Détecteurs de mouvements Fibaro et Neo Coolcam, 8 Sondes Banggood, et le reste top secret ;-)
Voici mon blog :
https://domotiquetechnoseb27.com/
technoseb27
 
Messages : 396
Inscription : 01 Sep 2013

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar Havok » 14 Fév 2019 14:49

J'y suis pour rien :)
C'est la team eedomus qui a detecté une anomalie sur la gestion des noms de variables (générale pas que pour mon script hein ;) pouvant provoquer des instabilités et qui a apporté des corrections à mon script (et peut être à d'autres) pour que ca fonctionne de nouveau.
Havok
 
Messages : 672
Inscription : 06 Fév 2015

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar technoseb27 » 17 Fév 2019 22:21

Bonsoir à tous,
Après consultation avec Havok, je pose ma question ici pour savoir si je suis tout seul dans mon cas.
Actuellement j'avais mon sèche-serviette de connecté avec un module qui fonctionne impeccable. Ce week-end j'ai voulu ajouter mes autres modules Heatzy, ceux-ci s'intègrent parfaitement mais impossible de les piloter depuis Eeedomus alors que le premier fonctionne toujours.
Y'a t'il des personnes ayant plusieurs modules de connectés sur la box?
Merci par avance pour votre réponse.
:D
Une box Eedomus, 9 x FGS-221, 6 FGR-221, 1 x FGRM-222, 6 x Prises Neo Coolcam, 4 Détecteurs de mouvements Fibaro et Neo Coolcam, 8 Sondes Banggood, et le reste top secret ;-)
Voici mon blog :
https://domotiquetechnoseb27.com/
technoseb27
 
Messages : 396
Inscription : 01 Sep 2013

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar sebafil » 30 Oct 2019 22:02

Bonjour,

Je viens d'installer le script depuis le store Eedomus : on voit bien que mon module Heatzy reçoit l'instruction d'Eedomus, les voyants changent, clignotent... puis Heatzy se remet dans la configuration qui était la sienne avant l'ordre, tout cela en l'espace de quelques petites secondes...

Une idée sur ce qui pourrait causer ce problème ?

J'ai tenté de dés installer/réinstaller/ le script après avoir simplifié le nom du Heatzy et même son mot de passe... ça n'a rien changé au comportement décrit ci-dessus.
sebafil
 
Messages : 2
Inscription : 21 Avr 2013

Re: [Store] Script pour module radiateur électrique Heatzy

Messagepar Havok » 07 Nov 2019 15:11

A priori le script n'est plus valable pour la V2 du module heatzy.
Comme hélas je n'ai pas de V2 je ne peux pas faire grand chose...
Havok
 
Messages : 672
Inscription : 06 Fév 2015

Re: [Store] Script pour module radiateur électrique Heatzy V

Messagepar gule2004 » 10 Nov 2019 12:55

Bonjour,
J'ai adapter le script pour la génération 2
Ne savant pas comment ajouter un plugin je le met ici:

Les commandes ne sont plus les mêmes.

confort = cft
Eco = eco
Hors-Gel = fro
Off = stop
Annotation 2019-11-10 125153.png
Annotation 2019-11-10 125153.png (27.78 Kio) Consulté 1797 fois

je met la capture d'écran en pièce jointe

Code : Tout sélectionner
<?php

/*
script cree par twitter:@Havok pour la eedomus

------------------- Parametres :

user = login du compte heatzy_username
pass = password du compte heatzy_username
device = nom du module heatzy
mode = set - Modification de l'etat de l'appareil
  ordre = cft confort/ eco eco/ fro hors-gel/ stop off
*/

//--- Paramètres Script
$heatzy_application_id = "c70a66ff039d41b4a220e198b0fcc8b3";

//-------------- Parametres
$mode = getArg('mode');
$ordre = getArg('ordre');
$heatzy_username = getArg('user');
$heatzy_password = getArg('pass');
$heatzy_devicename = getArg('device');

//*************   Récupération du token, validité 7 jours
// POST /app/login (User login)
function sdk_heatzy_login($login, $password, $appid) {

  $postfields = '{"username":"'.$login.'","password":"'.$password.'","lang":"en"}';

  $return = httpQuery('https://euapi.gizwits.com/app/login','POST',$postfields,NULL,array("Content-Type: application/json","Accept: application/json","X-Gizwits-Application-Id: ".$appid));
  $obj = sdk_json_decode($return);
  //print_r($obj);
  saveVariable('tokenheatzy',$obj['token']);
  saveVariable('tokenexpireat',$obj['expire_at']);
  return $obj['token'];
}

function sdk_clean_variable_name($name)
{
   $name = strtolower($name);
   $name = trim($name);
   $name = str_replace(' ', '_', $name);
   $name = strtr($name,'àáâãäçèéêëìíîïñòóôõöùúûüýÿ','aaaaaceeeeiiiinooooouuuuyy');
   return $name;
}

//*************   Récupération did (identifiant de l'appareil (validité permanente)) en fonction du nom de l'appareil
// GET /app/bindings
function sdk_heatzy_getdidbyname($token, $appid, $devicename) {

  $return = httpQuery('https://euapi.gizwits.com/app/bindings?limit=20&skip=0','GET',NULL,NULL,array("Accept: application/json","X-Gizwits-Application-Id: ".$appid,"X-Gizwits-User-token: ".$token));

  $obj = sdk_json_decode($return);
  //print_r($obj);

  foreach($obj['devices'] as $device) {
    if (sdk_clean_variable_name($device['dev_alias']) == sdk_clean_variable_name($devicename)) {
      $did = $device['did'];
      saveVariable('did-'.sdk_clean_variable_name($devicename), $did);
      return $did;
    }
  }

}


//*************   Récupération de l'etat de l'appareil
// GET /app/devdata/{did}/latest
function sdk_heatzy_getstatus($diditem, $appid) {

  $return = httpQuery('https://euapi.gizwits.com/app/devdata/'.$diditem.'/latest','GET',NULL,NULL,array("Accept: application/json","X-Gizwits-Application-Id: ".$appid));

  $obj = sdk_json_decode($return);
  //print_r($obj);

  $etatch = $obj['attr']['mode'];
 
  switch ($etatch) {
    case 'cft':
      $etat = 'cft'; // 'confort';
      break;
    case 'stop':
      $etat = 'stop'; //'off';
      break;
    case 'eco':
      $etat = 'eco'; //'eco';
      break;
    case 'fro':
      $etat = 'fro'; //'hors-gel';
      break;
    default:
      $etat = 99; //'inconnu';
      break;
  }
  return $etat;
}

//*************   Mise en forme xml du status pour la eedomus
function sdk_heatzy_eedomusstatus($status) {

  $eestatus = "<root><status>";
  switch ($status) {
    case 'cft':
      $eestatus .= '<libelle>confort</libelle><value>cft</value>';
      break;
    case 'eco':
      $eestatus .= '<libelle>eco</libelle><value>eco</value>';
      break;
    case 'fro':
      $eestatus .= '<libelle>hors-gel</libelle><value>fro</value>';
      break;
    case 'stop':
      $eestatus .= '<libelle>off</libelle><value>stop</value>';
      break;

    default:
      # code...
      break;
  }
  $eestatus .= "</status></root>";
  return $eestatus;
}

//*************   Modification de l'etat de l'appareil
// POST /app/control/{did}
function sdk_heatzy_setstatus($diditem, $appid, $token, $ordre) {

  $ordreapi = $ordre;
  $modeapi = '"mode"';

  $return = httpQuery('https://euapi.gizwits.com/app/control/'.$diditem,'POST','{"attrs":{'.$modeapi.':"'.$ordreapi.'"}}',NULL,array("Content-Type: application/json","Accept: application/json","X-Gizwits-Application-Id: ".$appid,"X-Gizwits-User-token: ".$token));

  $obj = sdk_json_decode($return);
  //print_r($obj);

  return $obj;
}

/* **** MAIN PROGRAM *******************/

if (isset($mode) && $mode == 'set') {

  if (loadVariable('tokenheatzy') != '' && (loadVariable('tokenexpireat') > time())) { // récupération du token
    $token = loadVariable('tokenheatzy');
  } else {
    $token = sdk_heatzy_login($heatzy_username,$heatzy_password,$heatzy_application_id ); // récupération du token
  }

  if (loadVariable('did-'.sdk_clean_variable_name($heatzy_devicename)) != '') { // récupération du did
    $did = loadVariable('did-'.sdk_clean_variable_name($heatzy_devicename));
  } else {
    $did = sdk_heatzy_getdidbyname($token,$heatzy_application_id,$heatzy_devicename);
  }

  $result = sdk_heatzy_setstatus($did,$heatzy_application_id,$token,$ordre); // définition du status actuel

} else {

  if (loadVariable('tokenheatzy') != '' && (loadVariable('tokenexpireat') > time())) { // récupération du token
    $token = loadVariable('tokenheatzy');
  } else {
    $token = sdk_heatzy_login($heatzy_username,$heatzy_password,$heatzy_application_id ); // récupération du token
  }

  if (loadVariable('did-'.sdk_clean_variable_name($heatzy_devicename)) != '') { // récupération du did
    $did = loadVariable('did-'.sdk_clean_variable_name($heatzy_devicename));
  } else {
    $did = sdk_heatzy_getdidbyname($token,$heatzy_application_id,$heatzy_devicename);
  }

  $status = sdk_heatzy_getstatus($did,$heatzy_application_id); //récupération du status actuel
  sdk_header('text/xml');
  echo sdk_heatzy_eedomusstatus($status); //mise en forme du xml pour eedomus
}
 ?>
gule2004
 
Messages : 1
Inscription : 10 Nov 2019

Re: [Store] Script pour module radiateur électrique Heatzy V

Messagepar Havok » 10 Nov 2019 16:12

Super :)
Je veux bien le mettre a jour mais il faut me dire ce que tu as changé dans le fichier php
Havok
 
Messages : 672
Inscription : 06 Fév 2015

Re: [Store] Script pour module radiateur électrique Heatzy V

Messagepar oliv30 » 10 Avr 2020 21:20

bonsoir tout nouveau depuis aujourd'hui sur Eedomus!
mes Heatzy doivent être des V2..
j'ai une erreur valeur lue vide , <root><status></status></root
pas bien compris ce qu'il fallait changer dans le script.
Si quelqu'un a des mots simples pour moi :roll:
oliv30
 
Messages : 2
Inscription : 10 Avr 2020

Re: [Store] Script pour module radiateur électrique Heatzy V

Messagepar oliv30 » 10 Avr 2020 21:33

bon ca marche bien !
il faut changer le script
et aussi modifier les valeurs

Par contre si on modifie le mode de chauffage dans Heatzy cela ne se change pas dans Eedomus
oliv30
 
Messages : 2
Inscription : 10 Avr 2020

Précédent

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 9 invité(s)