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é !
- Installation
- Importation des modules par type
- Liste des Taches Disponible:
- Solution de rafraîchissement régulier et instantané
- Téléchargement
Installation:
Il suffit de télécharger le script via le Plugin > Programmation > Script > Market
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
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
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
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
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
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
Luminosité
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
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
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
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
Volets roulants
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
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#
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
Détecteur d’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
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
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
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.
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.
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 ?
@+
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.
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
Bonjour R.Syrek,
ta des nouvelles concernant ton script pour les VD ? 🙂
Bonjour,
En cour de développement 😉
en même temps que la nouvelle version de GSG 😉
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
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 😎
NFC ? explique, ca m’intéresse lol. Je pourrai lui remettre ca en place
Oyé Oyé 🙂
Je reviens aux nouvelles sur les nouvelles version, c’est l’été, les pieds dans l’eau hihihi, des mises à jour ?
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 😯
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.
Bonjour,
Le script est disponible dans le Market des Scripts.
Il faut aller dans
Plugins->Programmation->Script->Market
puis sélectionner Passerelle Domotique