Récupérer facilement tous les modules HC2/HCL dans Jeedom. EasyHC2

hc2_jeedom

hc2_jeedom

J’utilise plusieurs protocoles domotiques, jusqu’au aujourd’hui je me servais de #FHEM comme passerelle domotique. Le système et puissant mais vraiment pas facile a apprivoiser, je perdais trop de temps pour la configuration. Alors je me suis dit, allons voir de coté de #JEEDOM. Il gère les commandes Http alors je peux exploiter les API de #Fibaro et cerise sur le gâteau, il peux également être commandé par ses propres API. Que du bonheurs.

Coté #Jeedom l’importation des modules est facile mais trop longe, pffff (plus de 500 objets dans la HC2). En regardant de plus prêt je m’aperçois que Jeedom gère aussi le Json et les scripts, alors pourquoi pas exploiter ça a mon avantage et de créer un script qui m’importe mes modules HC2 facilement et rapidement.

Le script EasyHC2 est né !

  1. Installation
  2. Importation des modules par type
  3. Liste des Taches Disponible:
  4. Solution de rafraîchissement régulier et instantané
  5. Téléchargement

Installation:

Il suffit de télécharger le script via le Plugin > Programmation > Script > Market

installation_script_1

Utilisation:

  • Plugin > Programmation > Script > Ajouter
  • Donner lui un nom (ex:Lampe Salon)
  • Commandes
  • Ajouter une commande script
  • Sélectionner le script HC2.php précédemment téléchargé
  • Ajouter login de la HC2, Mot de passe et le ID_HC2 du module séparé par un espace
  • Ajouter une tache en fonction de type de module et vos besoins
  • Attribuer un Template

Importation des modules par type:

Interrupteurs / Variateurs

lumières interrupteur variateur

lumières interrupteur variateur

 

Affichage dӎtat

Nom: Etat (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Etat

interupteur_etat jeedom hc2
Affichage de l’Etat

Affichage boutons ON OFF

Nom: On ou Off
Type script: Script
Type: Action
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=On

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=On

ou

/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Off

interupteur_on_off interupteur_etat jeedom hc2
Affichage bouton ON OFF

Affichage de la Consomation (W)

Nom: Etat (de votre choix)
Type script: Script
Type: Info + Numérique
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Power

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Power

interupteur_on_off interupteur_etat jeedom hc2
Affichage Power

 

Températures

temperatures
Températures

Affichage de la Température

Nom: Tmp (de votre choix)
Type script: Script
Type: Info + Numérique
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat
Divers: °C

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Etat

température jeedom
Température

Humidité

humidite
Humidité

Affichage Humidité

Nom: Hum (de votre choix)
Type script: Script
Type: Info + Numérique
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat
Divers: %

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Etat

humidite
Humidité

Luminosité

luxmetre
Luxmetre

Affichage Luminosité

Nom: Lux(de votre choix)
Type script: Script
Type: Info + Numérique
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat
Divers: Lux

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Etat

luxmetre_config
Luxmetre configuration

 

Détecteur de mouvement

Détecteur de mouvement
Détecteur de mouvement

Affichage Etat de Détecteur de Mouvement

Nom: Mvt (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=382 tache=Etat

Détecteur de Mouvement
Détecteur de Mouvement

Affichage Etat Armement de Détecteur de Mouvement

Nom: Armé (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Armed

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=382 tache=Armed

Etat Armement Detecteur de mouvement
Etat Armement Detecteur de mouvement

Affichage de bouton Arm Disarm

Nom: Arm ou Disarm
Type script: Script
Type: Action
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Arm

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Arm

ou

/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=215 tache=Disarm

arme_desarme_detecteur
Arme_Desarme_Detecteur

Volets roulants

volet
Volet

Affichage dӎtat

Nom: Etat (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=242 tache=Etat

volet_etat
Volet Etat

Affichage de variateur

Nom: Var (de votre choix)
Type script: Script
Type: Action + Cursor
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=#slider#

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=242 tache=#slider#

volet_variateur
Volet Variateur

Affichage de boutons Open Close STOP

Nom: Open ou Close ou STOP
Type script: Script
Type: Action
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=0

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=242 tache=100

ou

/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=242 tache=0

ou

/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=242 tache=Stop

volet_boutons
Volet Boutons

 

Détecteur d’ouverture

detecteur-ouverture
détecteur-ouverture

Affichage Etat de Détecteur d’ouverture

Nom: Etat (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Etat

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=22 tache=Etat

detecteur-ouverture-etat
detecteur-ouverture-etat

Affichage Armement de Détecteur d’ouverture

Nom: Armée (de votre choix)
Type script: Script
Type: Info + Binaire
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Armed

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=22 tache=Armed

detecteur-ouverture-etat
détecteur-ouverture-état

Affichage de bouton Arm Disarm

Nom: Arm ou Disarm
Type script: Script
Type: Action
Requête: /var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=MotDePasse device=ID_module_HC2 tache=Arm

Exemple:
/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=22 tache=Arm

ou

/var/www/html/core/php/../../plugins/script/core/ressources/hc2.php IP=ip_de_HC2 login=admin mdp=12345678 device=22 tache=Disarm

detecteur-ouverture-boutons
détecteur-ouverture-boutons

 

Liste des Taches Disponible:

  • Nom -> Nom de Module
  • Etat -> Etat de Module (Ouvert/Fermé – Armé/Désarmé – Allumé/Eteint ….)
  • Power -> Consommation énergétique
  • Armed -> Etat de armement des modules de détection de ouverture/mouvement
  • Type -> Le type d’action a exécuter:
    • On -> Actionne interrupteur
    • Off ->  Des-actionne interrupteur
    • #slider# -> Variateur de 0 à 100%
    • 0 -> Fermeture volet ou  extinction interrupteur à variation
    • 100 -> Ouverture volet ou  allumage interrupteur à variation
    • Stop -> Arrêt d’ouverture ou fermeture de volets
    • Arm -> Armement de détecteur ouverture/mouvement
    • Disarm -> Des-armement de détecteur ouverture/mouvement

Attention: Pour Armement / Des-armement des détecteurs ouverture/mouvement le code PIN n’est pas pris en compte vous devait le désactiver dans la HC2 pour le module concerné.

Scénario de réveil toutes les minutes:

Pour obtenir le rafraîchissement régulière de l’état des modules HC2 dans Jeedom je vous conseil de créer un scénario qui le declanche toutes les minutes par exemple.

scénario jeedom hc2
scénario jeedom hc2

Pour les module plus sensible comme détecteur d’ouverture ou de mouvement je vous conseil de déclencher un trigger dans la HC2 et utiliser les API HTML de Jeedom pour changer l’état instantanément.

Exemple de script LUA qui envoi la commande de Rafraîchissement au détecteur de mouvement Jeedom

1
2
3
4
5
6
7
8
9
10
--[[
%% properties
XX value
%% globals
--]]
 
local mvt_device = XX;
if (( tonumber(fibaro:getValue(mvt_device, "value")) > 0 )  then
http:request("http://"..IP_JEEDOM..":"..Port_JEEDOM.."/core/api/jeeApi.php?apikey=8vCeCfxxxxxxxxxxxxxxxgp&type=cmd&id=360");
end
--[[
%% properties
XX value
%% globals
--]]

local mvt_device = XX;
if (( tonumber(fibaro:getValue(mvt_device, "value")) > 0 )  then
http:request("http://"..IP_JEEDOM..":"..Port_JEEDOM.."/core/api/jeeApi.php?apikey=8vCeCfxxxxxxxxxxxxxxxgp&type=cmd&id=360");
end

Exemples de PuNiSHeR sur le forum Jeedom

les retours d’état d’un interrupteur

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--[[
%% properties
16 value
16 dead
%% globals
--]]
 
local LumSalonID = 16;
 
local Ip = fibaro:getGlobalValue("DomoIp");
local Port = fibaro:getGlobalValue("DomoPort");
 
local http = net.HTTPClient()
 
LumStatus = fibaro:getValue(LumSalonID, 'dead');
 
if LumStatus == "1" then
   fibaro:wakeUpDeadDevice(LumSalonID);
   fibaro:debug("Lumiere Salon - Reveil du Noeud Mort")
   fibaro:sleep(3 * 1000);
end
 
local LumSalon = fibaro:getValue(LumSalonID, 'value');
 
fibaro:debug("Value Lumiere Salon = " ..LumSalon)
 
if (LumSalon > "0") then
   http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=11&value=1");
   fibaro:debug("Envoi de la Commande On - Lumiere Salon")
else
   http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=11&value=0");
     fibaro:debug("Envoi de la Commande Off - Lumiere Salon.")
end
--[[
%% properties
16 value
16 dead
%% globals
--]]

local LumSalonID = 16;

local Ip = fibaro:getGlobalValue("DomoIp");
local Port = fibaro:getGlobalValue("DomoPort");

local http = net.HTTPClient()

LumStatus = fibaro:getValue(LumSalonID, 'dead');

if LumStatus == "1" then
   fibaro:wakeUpDeadDevice(LumSalonID);
   fibaro:debug("Lumiere Salon - Reveil du Noeud Mort")
   fibaro:sleep(3 * 1000);
end

local LumSalon = fibaro:getValue(LumSalonID, 'value');

fibaro:debug("Value Lumiere Salon = " ..LumSalon)

if (LumSalon > "0") then
   http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=11&value=1");
   fibaro:debug("Envoi de la Commande On - Lumiere Salon")
else
   http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=11&value=0");
     fibaro:debug("Envoi de la Commande Off - Lumiere Salon.")
end

les retours d’état pour la consommation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--[[
%% properties
171 power
%% globals
--]]
 
if (fibaro:countScenes() > 1) then
   fibaro:debug("Scène déjà en cours.");
   fibaro:abort()
else
    local SubID = 171;
    local ConsoSub = fibaro:getValue(SubID, "power");
    
    local Ip = fibaro:getGlobalValue("DomoIp");
    local Port = fibaro:getGlobalValue("DomoPort");
    
    local http = net.HTTPClient();
    
    http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=1789&value="..ConsoSub);
    fibaro:debug("Envoi de la Conso Subwoofer = "..ConsoSub..".");
end
--[[
%% properties
171 power
%% globals
--]]

if (fibaro:countScenes() > 1) then
   fibaro:debug("Scène déjà en cours.");
   fibaro:abort()
else
    local SubID = 171;
    local ConsoSub = fibaro:getValue(SubID, "power");
    
    local Ip = fibaro:getGlobalValue("DomoIp");
    local Port = fibaro:getGlobalValue("DomoPort");
    
    local http = net.HTTPClient();
    
    http:request("http://"..Ip..":"..Port.."/core/api/jeeApi.php?apikey=sExxxxxxxxxxxxxxxxxVit&type=virtual&id=1789&value="..ConsoSub);
    fibaro:debug("Envoi de la Conso Subwoofer = "..ConsoSub..".");
end

Si vous avez de idées d’amélioration n’hésitez pas de me faire part.

 

Articles Similaires

12 Thoughts to “Récupérer facilement tous les modules HC2/HCL dans Jeedom. EasyHC2”

  1. Alain

    Salut à toi !

    Excellent le tuto, ca marche impeccable, cependant as tu pensée à le dev un peu plus pour actionner des VD a plusieurs bouton sur la HC2?

    Aussi sur ton scénario, comment fais tu quand tu veux que le refresh se fasse sur plusieurs détecteurs de mouvement avec des id différents ?

    @+

    1. R.Syrek

      Bonjour,
      Oui j’ai penser a ajouter d’autre modules et VD a bouton multiples.
      Pour rafraîchir plusieurs détecteurs tu peux créer une boucle.

  2. Alain

    Hello R.Syrek

    Pour les multi ID, c’est bon, scène fonctionnel sous HC2 🙂

    Oui pour le VD, ca sera génial et autres bouton multiples, nos homes center 2 sont pleines de vd lol

  3. Alain

    Bonjour R.Syrek,

    ta des nouvelles concernant ton script pour les VD ? 🙂

    1. R.Syrek

      Bonjour,
      En cour de développement 😉
      en même temps que la nouvelle version de GSG 😉

  4. Alain

    Génial 🙂

    Pour GSG je l’avais testé et super bien, seul défaut …. ma femme le tenait pas à jour lors de rajout de sac à granulé 🙁

    Du coup, bah.. c’est mort quoi

    1. R.Syrek

      Il faut lui bidouiller un système 😉
      Chez moi j’ai collé un NFC et ma femme le scan avec son portable a chaque remplissage 😎

  5. Alain

    NFC ? explique, ca m’intéresse lol. Je pourrai lui remettre ca en place

  6. ALAIN

    Oyé Oyé 🙂

    Je reviens aux nouvelles sur les nouvelles version, c’est l’été, les pieds dans l’eau hihihi, des mises à jour ?

    1. R.Syrek

      Bonjour Alain
      Comme tu peux voir je n’ai pas beaucoup de temps en ce moment. Je travaille en parallèle sur la nouvelle version de gsg et je transforme le script EasyHC2 en plugin. En tous cas j’essaie 😉 je voudrais clôturer les deux avant la rentrée 😯

  7. Fred

    Bonjour. Super ton travail pour intégrer la HC2 avec Jeedom. Cependant, je n’arrive pas à le télécharger sur le market. Il n’apparait plus. Il a été enlevé? Sinon comment le récupérer?
    Merci.

    1. R.Syrek

      Bonjour,
      Le script est disponible dans le Market des Scripts.
      Il faut aller dans
      Plugins->Programmation->Script->Market puis sélectionner Passerelle Domotique

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.