Prise intelligente EnOcean avec HC2 et Jeedom

prise_metering_enocean_mur

PRÉSENTATION

La prise télécommandée NodOn est pilotable via une centrale domotique compatible EnOcean ou directement via d’autres contrôleurs EnOcean tels que la Soft Remote ou l’interrupteur mural NodOn. Au standard Allemand (Schuko) ou Français (Type E), la prise peut se brancher dans les 2 sens, tête en haut ou tête en bas. Associé à son design fin, ces 2 caractéristiques permettent une intégration facilitée, sans boucher les fûts voisins sur une multiprise. L’apprentissage de la prise avec son contrôleur nécessite seulement quelques secondes. Un bouton local permet d’allumer ou d’éteindre la prise directement. Connectée à une centrale domotique, la prise remonte la consommation électrique.

prise_metering_enocean_asp_typee_3d_l

CARACTÉRISTIQUES

Alimentation : 230V AC +/-10% – 50Hz Puissance maximum : 3000W en continue / 3500W cyclique (Charge résistive) Consommation intrinsèque : <1W
Température de fonctionnement : 0°C à 40°C – Altitude : 2000m
Protocole radio EnOcean : 868.3MHz – Bidirectionnel – EEP : D2-01-0B Portée: 30m indoor
Détection perte de courant secteur
Metering : Mesure de la puissance instantanée (W) et de l’énergie cumulée (Wh)
Dimension : 104*51*36mm

INTÉGRATION DANS JEEDOM

jeedom

La nouvelle prise de NodOn n’est pas reconnu directement par Jeedom mais sur le forum officiel de Jeedom nous pouvons trouver une solution partiel de son intégration. Téléchargez les deux fichiers de  ubo76 et suivez la vidéo.
d2-01-0b.json.txt (a renommer en d2-01-0b.json) et d2-01-0b.jpg
L’état réel ainsi que l’appui manuel sur le bouton de la prise est pris en compte. La remontée de la consommation ne se fait pas pour le moment.

INTÉGRATION DANS HC2

hc2

Maintenant que notre prise et intégré dans notre réseau EnOcean et géré par Jeedom il nous reste l’intégration dans notre HC2. Pour cela il faut utiliser les API HTTP de Jeedom et un peu de LUA dans la HC2.

Dans JEEDOM:

Jeedom met à disposition des développeurs et des utilisateurs une API complète afin de pouvoir piloter depuis n’importe quel objet connecté. Nous allons nous servir de l’API HTTP de Jeedom. Pour la trouver vous devez vous rendre dans le menu Outils>Résumé Domotique et vous obtiendrez cet écran:

resumé_domotique_jeedom

Sélectionnez le bouton On et Off de notre prise EnOcean et copiez son URL (voir image)

url_jeedom

Vous devriez obtenir une URL de ce type:

http://IP_JEEDOM/core/api/jeeApi.php?apikey=API_KEY&type=cmd&id=3

Passons maintenant dans la HC2,
Menu module>Ajouter un périphérique virtuel, nommer le attribuez lui l’adresse IP et le port de votre Jeedom.

HC2_VD1

Allez en suite dans l’onglet Avancé et sélectionnez Deux Boutons (1) puis Un Bouton (2)

HC2_VD2

Nommez les Deux boutons On et Off et un bouton Etat, sélectionner Code LUA puis collez le code respectif:

HC2_VD_code

Munissez vous des URL et de votre API Key Jeedom.

Code ON:

1
2
3
4
5
6
7
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=3");
fibaro:call(fibaro:getSelfId(), "setProperty","currentIcon",1007);
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=3");
fibaro:call(fibaro:getSelfId(), "setProperty","currentIcon",1007);

Code OFF

1
2
3
4
5
6
7
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=4");
fibaro:call(fibaro:getSelfId(), "setProperty","currentIcon",1008);
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=4");
fibaro:call(fibaro:getSelfId(), "setProperty","currentIcon",1008);

Code Etat

1
2
3
4
5
6
7
8
9
10
11
12
13
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=5");
fibaro:debug(response);
 
if (tonumber(response) > 0) then
    fibaro:log("ON");
else
    fibaro:log("OFF");
end
local ip = fibaro:get(fibaro:getSelfId(), "IPAddress");
local port = fibaro:get(fibaro:getSelfId(), "TCPPort");
local apiJeedom = "Votre API Key de Jeedom ici";
local JEEDOM = Net.FHttp(ip,port);
// URL précédemment copié dans Jeedom
local response = JEEDOM:GET("/core/api/jeeApi.php?apikey="..apiJeedom .."&type=cmd&id=5");
fibaro:debug(response);

if (tonumber(response) > 0) then
    fibaro:log("ON");
else
    fibaro:log("OFF");
end

Maintenant il vous suffit d’appuyez sur le bouton On ou Off pour allumer ou éteindre votre prise EnOcean, ou appuyez sur le bouton Etat pour récupérer son état. L’appuis sur On ou Off change également l’icone de votre module.

Prise_EnOcean_HC2

C’est juste un simple exemple d’utilisation des modules EnOcean dans la Hc2 de Fibaro, libre a vous de faire selon vos besoins.

 

Laisser un commentaire