Le package Jeedom vous permet de contrôler vos équipements et vos scénarios Jeedom.

Cette documentation a été réalisé avec la version 1.0 du package Jeedom ainsi que la version 1.0 du plugin Constellation pour Jeedom.

Le code source est disponible sur https://github.com/myconstellation/constellation-packages/tree/master/Jeedom

Installation du package Jeedom

Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Jeedom :

clip_image002[4]

Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.

Pour finir, sur la page de Settings vous devez obligatoirement spécifier l’adresse URL ainsi que la clé API de votre installation Jeedom sans le « http:// » :

clip_image004[4]

Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :

Détails du package

Les Settings

Nom Type Détail Description
ServerUrl String Obligatoire Adresse IP de Jeedom
ApiKey String Obligatoire Clé API de Jeedom

Les StateObjects

Ce package ne comporte aucuns StateObjects.

Les MessageCallbacks

Le package expose 2 types de MessageCallbacks :

  • SceneControl :

Ces Message Callbacks ne produisent aucunes réponses (saga).

Nom Champ scene_id Description
Start Id du scénario Démarre le scénario
Stop Id du scénario Arrête le scénario
Activer Id du scénario Active le scénario
Desactiver Id du scénario Désactive le scénario
  • SendCommand :

Ces Message Callbacks ne produisent aucunes réponses (saga).

Nom Champ id Champ value Champ value2 Description
Switch Id de l’équipement Aucun Aucun Pour un équipement de type switch
Slider Id de l’équipement Valeur souhaitée Aucun Pour un équipement de type slider
Message Id de l’équipement Titre du message Corps du message Pour un équipement de type message
Color Id de l’équipement Couleur souhaitée Aucun Pour un équipement de type color

Le plugin pour Jeedom (version 1.0)

Installation

Afin d’éviter de questionner Jeedom toutes les x secondes et pour obtenir les informations le plus rapidement possible, un plugin pour Jeedom a été développé.

Celui-ci vous permet d’envoyer toutes les informations d’un équipement quand une ou plusieurs informations de cet équipement se mettent à jour.

Le plugin peut être téléchargé à cette adresse : http://erwann.laville.free.fr/Jeedom/constellation.zip

Il vous suffit alors de l’extraire dans le dossier plugin de Jeedom. Une fois installé, vous pourrez l’activer dans la liste des plugins sur Jeedom :

Une fois activé, vous aurez accès à la configuration générale du plugin. Il vous faudra indiquer l’url de Constellation (sans le http), le nom de la sentinelle et la clé créditential associée au plugin.

Par la suite vous pouvez ajouter autant d’équipement que souhaités. Chaque équipement créé correspondra à un package différent sur Constellation. Le nom de cet équipement correspondra au nom du package.

Les StateObjects

Le plugin Constellation pour Jeedom envoi un SO par équipement ajouté dans le « package ».

Si vous ajoutez plusieurs commandes d’un même équipement dans le package, les informations de l’équipement seront envoyés au même package dans Constellation à chaque mise à jour de chaque commandes indiquées.

Par exemple dans mon équipement Zwave, je rajoute #[Salle de Bains][Wall Plug][Etat]# et #[Salle de Bains][Wall Plug][Puissance]#. Les informations de mon Wall Plug seront envoyés à Constellation si l’état ou si la puissance changent.

Pour le moment, les SO ont comme nom le chemin de l’équipement dans Jeedom, par exemple : [Salle de Bains][Wall Plug]

N’oubliez pas de rajouter dans Constellation la sentinel et le package, par exemple ici :

Les Plugins compatiblent

Du fait du système utilisé (fonction listener) tous les plugins de Jeedom ne sont pas compatibles. Voici une liste non exhaustive des plugins Jeedom essayés :

Nom du plugin Compatible Non compatible
BLEA X
Espeasy X
Agenda X
Monitoring X
RFXCom X
Zwave X
Jeedom dans Constellation
Étiqueté avec :        

Sur le forum :

  1. Bonjour et merci pour tout ce travail.

    Je ne comprends pas bien ce qu’il faut mettre comme « clé créditential associée au plugin » du côté du plugin Constellation sur Jeedom ?

    Merci pour ton aide.

  2. Ok je me réponds à moi-même, j’ai pas mal avancé depuis hier.
    Dans le pluging Constellation du côté Jeedom, il faut mettre la clé crédential associée à la sentinelle à qui on envoie les données.

  3. hydro says:

    Bonjour,

    N’ayant pas de box Vera pour contrôler mon réseau zwave, j’utilise un cubieboard 2 avec Jeedom.
    Bien sûr j’ai voulu obtenir les informations de Jeedom dans Constellation.

    Pour éviter de faire du pull toutes les x secondes, j’ai dev un petit plugin pour Jeedom qui permet de sélectionner les données des équipements et qui envoi l’intégralité des données à Constellation dès qu’elles sont modifiées.

    Par exemple pour un wallplug, je lui indique l’info Puissance et Etat. Quand une des deux données sera mise à jour sur Jeedom, il enverra l’intégralité des info du Wallplug à Constellation.

    C’est la première étape. Si certaine personnes veulent essayer, je peux vous fournir le zip.

  4. Super bonne nouvelle çà !

    Je voulais justement travailler sur ce sujet cet été afin de proposer des ponts avec les box domotique les plus courantes (Jeedom & HC2 puis Domoticz & eedomus) pour compléter le package Vera :slight_smile:

    Je te contact par mail pour donner suite à ce super projet !

    A+

  5. hydro says:

    Pas de problèmes j’attend ton email.

    En attendant voici quelques screen pour mieux comprendre.

    La page principale de configuration du plugin sur Jeedom avec l’adresse URL du serveur, le nom de la sentinelle (à déclaré dans la config de Constellation) et la clé api :

    config

    Ensuite la liste des packages créés, on peut par exemple créer un package Zwave et un package RFXcom :

    package

    Puis dans un package, je déclare la liste des info des équipements que je veux envoyer :

    equipement

    Le résultat dans la liste des SO de Constellation :

    SO

    Et le détail d’un des SO :

    détail

  6. Absolument génial !!! Je sur-like !!!

  7. Merci beaucoup.
    Je vais essayer de le tester ce WE.

  8. hydro says:

    J’ai oublié de préciser, pour ce plugin il faut une sentinelle sur ta constellation :

          <sentinel name="Jeedom" credential="Standard">
            <packages>
              <package name="Zwave" enable="true" />
            </packages>
          </sentinel>
    

    Le nom du package correspond au nom que tu as mis sur jeedom :slight_smile:

  9. Salut Hydro,

    Sympa ton Plugin, j’ai pas encore réussi a le faire fonctionner correctement mais je continue de creuser :wink:

    Pourquoi ne pas utiliser l’api, et la méthode fulData de jeedom directement, la première fois depuis constellation directement ?

    Je ne sais pas si tu connais cette méthode qui est pas vraiment documenté coté jeedom, mais je m’en suis servi plusieurs fois…
    http://192.168.1.3/core/api/jeeApi.php?type=fulData&apikey=<apikeyjeddom>
    je récupère un bon json qui se parse facilement, mais il faudrait en avoir plus d’un pour avoir un “standard”…

    As tu un SVN/GIT public pour qu’on puisse t’aider ?

    Etienne
    (je commence un nouveau boulot lundi, pas sur que j’ai bcp de temps la première semaine :slight_smile: mais après ça devrait aller :D)

    [
       {
          "configuration":{
             "parentNumber":1,
             "summary":{
    
             },
             "summary::global::door":"0",
             "summary::global::humidity":"1",
             "summary::global::light":"1",
             "summary::global::luminosity":"1",
             "summary::global::motion":"0",
             "summary::global::outlet":"1",
             "summary::global::power":"1",
             "summary::global::security":"1",
             "summary::global::shutter":"0",
             "summary::global::temperature":"1",
             "summary::global::windows":"0",
             "summary::hide::desktop::door":"0",
             "summary::hide::desktop::humidity":"0",
             "summary::hide::desktop::light":"0",
             "summary::hide::desktop::luminosity":"0",
             "summary::hide::desktop::motion":"0",
             "summary::hide::desktop::outlet":"0",
             "summary::hide::desktop::power":"0",
             "summary::hide::desktop::security":"0",
             "summary::hide::desktop::shutter":"0",
             "summary::hide::desktop::temperature":"0",
             "summary::hide::desktop::windows":"0",
             "summary::hide::mobile::door":"0",
             "summary::hide::mobile::humidity":"0",
             "summary::hide::mobile::light":"0",
             "summary::hide::mobile::luminosity":"0",
             "summary::hide::mobile::motion":"0",
             "summary::hide::mobile::outlet":"0",
             "summary::hide::mobile::power":"0",
             "summary::hide::mobile::security":"0",
             "summary::hide::mobile::shutter":"0",
             "summary::hide::mobile::temperature":"0",
             "summary::hide::mobile::windows":"0"
          },
          "display":{
             "icon":"<\/i>",
             "tagColor":"",
             "tagTextColor":""
          },
          "eqLogics":[
             {
                "category":{
                   "automatism":"0",
                   "default":"0",
                   "energy":"0",
                   "heating":"0",
                   "light":"1",
                   "multimedia":"0",
                   "security":"0"
                },
                "cmds":[
                   {
                      "configuration":null,
                      "display":{
                         "generic_type":"LIGHT_MODE"
                      },
                      "eqLogic_id":"29",
                      "eqType":"philipsHue",
                      "html":null,
                      "id":"247",
                      "isHistorized":"0",
                      "isVisible":"0",
                      "logicalId":"alert_off",
                      "name":"Alerte Off",
                      "order":"0",
                      "subType":"other",
                      "template":null,
                      "type":"action",
                      "unite":"",
                      "value":null
                   },
                   {
                      "configuration":null,
                      "display":{
                         "generic_type":"LIGHT_MODE"
                      },
                      "eqLogic_id":"29",
                      "eqType":"philipsHue",
                      "html":null,
                      "id":"246",
                      "isHistorized":"0",
                      "isVisible":"0",
                      "logicalId":"alert_on",
                      "name":"Alerte On",
                      "order":"1",
                      "subType":"other",
                      "template":null,
                      "type":"action",
                      "unite":"",
                      "value":null
                   },
                   {
                      "configuration":null,
                      "display":{
                         "generic_type":"LIGHT_MODE"
                      },

    Edit : Message tronqué, merci de penser aux personnes sur téléphones.

  10. hydro says:

    Merci pour ton aide.

    Malheureusement je ne comprend pas trop l’utilité de ce json ? Il faudrait que je le parse dès qu’une commande est mise à jour ? Donc pas vraiment d’envoi que quand la commande est changée.

    A part si j’ai pas tous compris.

Continuez la discussion sur le forum Constellation

23 plus

Participants