Plugin Jeedom pour HomeSeer 3

Je vous avais présenté mon installation domotique il y a quelques jours dans cet article.

Cette installation repose sur une Zibase Pro pour tout ce qui concerne la communication radio. Zodianet semble malheureusement délaisser ce produit et ne propose plus de mise à jour, ce qui fait de mon point de vue perdre la compétitivité de cette box par rapport à d’autres solutions. C’est d’autant plus gênant que les nouveaux modules domotiques sont du coup partiellement, mal, voire pas du tout pris en compte par la Zibase.

D’autre part, cette solution dépend des serveurs de Zodianet et vu que leurs produits ne semblent plus avoir spécialement le vent en poupe (là encore, ça n’engage que moi), j’ai bien peur que ma box se transforme en brique du jour au lendemain …

Du coup, j’ai décidé de me lancer dans le développement d’un plugin Jeedom pour HomeSeer 3 afin de remplacer la Zibase de mon système par un Raspberry PI2 faisant tourner Jeedom.

Le besoin

Mon but était :

  • de pouvoir récupérer les commandes Jeedom (info et action) et pouvoir les associer avec des devices HS3.
  • de fournir une possibilité manuelle et/ou automatique de mise à jour des devices HS3 associés a des commandes Jeedom de type info quand ces dernières changent dans Jeedom.
  • de pouvoir regrouper des commandes Jeedom de type action au sein d’un même device HS3 en les associant à des contrôles.

La réalisation

Le plugin possède 2 pages de configuration : une page Config, une page Devices.

La page Configuration

Config

Elle permet :

  • de spécifier les paramètres du serveur Jeedom (adresse IP, clé API)
  • D’activer un polling périodique pour récupérer automatiquement les valeur des commandes Jeedom de type info associées à des devices HS3. La période minimum de polling ne peut pas être inférieure à 1s.
  • D’activer des log dans un fichier de trace.

La page Devices

Device

Elle permet de créer/supprimer des liens entre les commandes Jeedom et les Devices HS3.

  • Une commande Jeedom de type action ne peut être associée qu’a un seul device HS3.
  • Plusieurs commandes Jeedom de type action peuvent être associées à un même devcie HS3. Chaque commande sera automatiquement convertie dans le control approprié (bouton, slider, color picker au textBox)
  • En conséquence, un device HS3 pourra être associé à une commande Jeedom de type info et/ou n commandes Jeedom de type action.

Par exemple, si on veut créer un Device HS3 nommé A2 représentant la valeur du Dimmer Qubino ci-dessous et permettant de controller son état ON/OFF et le pourcentage du variateur :

Exemple1

Il suffit :

  • d’associer les 3 commandes Jeedom de type action : Intensité, On et Off au Device HS3 A2.
  • d’associer la commande Jeedom de type info Etat au device HS3 A2.

exemple2

On obtient finalement dans HS3 le device suivant :

exemple3

Mon utilisation

Je suis en train de migrer progressivement mes modules radio de la Zibase vers Jeedom, en commençant par les plus simples (RFXCOM) et je poursuivrai par les plus compliqués (Zwave) tout en m’assurant que le PI tient la charge et que les perfos ne sont pas dégradés par rapport à la Zibase (le polling est très légèrement moins performant que le broadcast possible depuis la Zibase).

Une fois que j’aurais réussi à me débarrasser complétement de la Zibase, j’envisagerai sûrement de déporter également tout ou partie des traitement fait dans HS3 vers Jeedom, ce qui pourrait éventuellement me permettre de me débarrasser également de HomeSeer 3, mais pour cela, il faudra également que j’arrive à transposer mes IHM customizés avec HSTouch sous Jeedom.

Les évolutions possibles

Je vois deux évolutions qui pourraient être intéressantes à ce jour :

  • Supprimer le mode « polling » automatique et le remplacer par une notification venant de Jeedom à chaque changement d’une commande de type info, ceci afin de diminuer la charge côté HS3. Ce développement nécessitera probablement un plugin complémentaire côté Jeedom.
  • Donner la possibilité de déclencher des scénarii Jeedom depuis HS3.

Disponibilité

Le plugin a été soumis a HomeSeer pour intégration dans l’updater il y a une semaine. Je n’ai pas de délai sur la date de dispo au téléchargement, mais j’imagine que ça ne devrait plus trop tarder.

Le plugin fonctionne aussi bien sur la version Linux que Windows de HS3.

Il devrait être disponible au prix de $18.95, mais vous disposer d’une période d’essai gratuite de 30j.

Je tiens à remercier Lulu740 rencontré sur le forum Toute La Domotique pour son aide lors du test du plugin.

Tags:, , , , ,

20 réponses à “Plugin Jeedom pour HomeSeer 3”

  1. noisette08 dit :

    Bonjour,
    Mon ip serveur homesser passe bien au vert coté HS3, en revanche lorsque je renseigne l’Api key jeedom cela reste rouge. Je précise que mon homesseer tourne sous windows 8-64.
    J’ai beau demander à jeedom (qui tourne sous raspberry 2 avec derniere maj) de changer la clé APi, je la retape dans HS3, et pourtant votre plugin reste en rouge.

    J’aime

    • Shodan dit :

      Bonjour,
      Ce n’est pas l’IP du serveur Homeseer qu’il faut rentrer, mais l’IP du serveur Jeedom. Je pense que votre pb vient de là.

      Afin que l’ensemble de la communauté HS3 profite de vos expériences/difficultés, je vous invite à poster vos questions/commentaires sur le forum officiel de support ici : http://board.homeseer.com/forumdisplay.php?f=1299

      J’aime

      • noisette08 dit :

        c’est bien l’IP de mon serveur jeedom que j’ai renseigné, effectivement, je n’ai pas été très prècis… Je me suis créé un compte forum homeseer mais pour le moment j’ai comme réponse: « you do not have permission to access this page. This could be due to one of several reasons:

        Your user account may not have sufficient privileges to access this page. Are you trying to edit someone else’s post, access administrative features or some other privileged system?
        If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation. »

        J’aime

      • Shodan dit :

        Dans ce cas :
        – Activez le logfile dans la page de config,
        – Vérifiez que vous avez bien copier les 20 caractères de l’Api key (pas d’espace avant ou après)
        -Arrêtez puis redémarrez le plugin.

        Ensuite, si le problème persiste :
        -Regardez s’il y a des erreurs dans le log HomeSeer
        – Faites-moi parvenir en MP le fichier Jeedom.log qui se trouve dans le répertoire Logs de HS3.

        Autre question : utilisez-vous d’autres plugins ?

        J’aime

  2. noisette08 dit :

    Je viens de réinstaller un HS3 sur un pc de test sous win7-64, seul votre plugin a été aussi installé, j’ai le même problème. Je précise que mon jeedom est en 1.212 sur RPI2

    déc.-13 11:02:02 Speaker Speaker host added, Name: PC-CHAMBRE Instance: Default IP address: 127.0.0.1
    déc.-13 11:01:53 TTS Speak ():Welcome to Home-Seer
    déc.-13 11:01:24 Web Server Web Server authorized local login successful from: 192.168.1.125 User: default
    déc.-13 11:01:23 Info System connected to MyHomeSeer Service successfully.
    déc.-13 11:01:22 Info System connected to MyHomeSeer Service, waiting for acknowledge…
    déc.-13 11:01:22 Startup Start up complete.
    déc.-13 11:01:22 Startup HSSentry is disabled in Setup, sentry will not be started.
    déc.-13 11:01:22 Startup (Startup.vb script) No speaker clients detected, waiting up to 30 seconds for any to connect…
    déc.-13 11:01:22 Startup (Startup.vb script) Scripting is OK and is now running Startup.vb
    déc.-13 11:01:22 Startup Starting Event Scheduler…
    déc.-13 11:01:22 Startup Running the startup script Startup.vb
    déc.-13 11:01:22 Startup Starting DDNS service…
    déc.-13 11:01:22 Startup Updater services starting…
    déc.-13 11:01:22 Database Opening (Mode=Read/Write) up HomeSeer Energy database C:\Program Files (x86)\HomeSeer HS3\Data\Energy\Energy.hsd
    déc.-13 11:01:22 Speech Listening for remote speaker connections on port 10401
    déc.-13 11:01:22 Startup Initializing Speaker Client Interface
    déc.-13 11:01:22 Startup Start automation engine…
    déc.-13 11:01:21 Startup Creating ASP.NET application host…
    déc.-13 11:01:21 Web Server Web Server started on port 80
    déc.-13 11:01:21 Web Server UPNP Discovery started
    déc.-13 11:01:21 Web Server Local IP address (subnet) is: 192.168.1.125 (255.255.255.0)
    déc.-13 11:01:21 Plug-In Finished initializing plug-in Jeedom
    déc.-13 11:01:21 Jeedom Initialization completed
    déc.-13 11:01:21 Jeedom Connected ! Now initializing …
    déc.-13 11:01:21 Info Plugin Jeedom has connected. IP:127.0.0.1:53612
    déc.-13 11:01:21 Plug-In Interface Jeedom is running as a trial, 30 days remaining.
    déc.-13 11:01:21 Startup Initializing Plug-Ins
    déc.-13 11:01:21 Plug-In Found plug-in: Jeedom, version: 1.0.0.0
    déc.-13 11:01:21 Plug-In Found plug-in: HSTouch Server, version: 3.0.0.75
    déc.-13 11:01:21 Startup Checking for available plug-ins
    déc.-13 11:01:21 Info Remote plug-in API interface started on port 10400
    déc.-13 11:01:21 Startup This version of HomeSeer is not registered and is running as a trial, 30 days remaining.
    déc.-13 11:01:21 Startup Creating Speaker Client Interface Object…
    déc.-13 11:01:21 Startup HomeSeer version is: 3.0.0.208
    déc.-13 11:01:21 Load Config Loading TIMERS…
    déc.-13 11:01:21 Load Config Loading COUNTERS…
    déc.-13 11:01:21 Load Config 0 total events loaded.
    déc.-13 11:01:21 Load Config Loading Events…
    déc.-13 11:01:21 Load Config Loading Event Groups…
    déc.-13 11:01:21 Load Config 0 total devices loaded.
    déc.-13 11:01:21 Database Loading Devices…
    déc.-13 11:01:21 Warning Configuration database has no devices in it: C:\Program Files (x86)\HomeSeer HS3\Data\HomeSeerData.hsd
    déc.-13 11:01:21 Database Opening (Mode=Read Only) up HomeSeer database C:\Program Files (x86)\HomeSeer HS3\Data\HomeSeerData.hsd
    déc.-13 11:01:21 Startup Loading configuration file …
    déc.-13 11:01:21 Startup Database SAVE process started.
    déc.-13 11:01:21 Startup Local voice recognition class started.
    déc.-13 11:01:21 Startup HSPhone external interface class started.
    déc.-13 11:01:21 Startup Plug-In Interface class started.
    déc.-13 11:01:21 Startup E-Mail RECEIVE class started.
    déc.-13 11:01:21 Startup E-Mail SEND class started.
    déc.-13 11:01:21 Startup Web server class started.
    déc.-13 11:01:21 Startup Application interface class started.
    déc.-13 11:01:21 Startup COM port classes started.
    déc.-13 11:01:21 Startup Creating Class Objects…
    déc.-13 11:01:21 Startup
    déc.-13 11:01:21 Startup ********************************************************************************
    déc.-13 11:01:21 Startup HomeSeer version 3.0.0.208 Edition: HS3 Pro Starting Now
    déc.-13 11:01:21 Startup ********************************************************************************
    déc.-13 11:01:21 Startup
    déc.-13 11:01:21 Startup Settings Loaded.
    60 log entries, displaying

    J’aime

    • Shodan dit :

      Je vous ai répondu en message privé. Merci de continuer en privé. Nous posterons la solution une fois qu’on l’aura trouvé.

      J’aime

      • noisette08 dit :

        Un grand merci pour votre patience et votre collaboration! Nous avons trouvé l’origine du problème, je pense que la prochaine version de votre formidable plugin en tiendra compte.
        Cordialement, NN

        J’aime

      • Shodan dit :

        Merci également pour votre aide dans les investigations. Je vais préparer une mise à jour incluant un paramétrage permettant la prise en compte correcte des Jeedom installés à partir d’une image.

        J’aime

  3. noisette08 dit :

    Bonjour shodan, 2 nouvelles questions :
    Votre plugin est-il bien compatible Jeedom v3?
    Je teste actuellement une install de jeedom sur nas synology via chroot, j’ai l’impression que votre plugin cherche jeedom sur le port 80 par défaut et ne peut du cout pas dialoguer coté API (voyant rouge) avec mon serveur en 192.168.1.3:8088?

    J’aime

    • Shodan dit :

      Bonjour,
      Suite à votre commentaire, j’ai installé rapidement un Jeedom v3 « vide ». J’arrive à m’y connecter sans problème (les deux voyants sont verts), ça devrait donc fonctionner (veiller cependant à activer l’accès API JSONRPC dans Configuration/Clefs API).
      Pour le 2e point, l’API JSONRPC n’utilise pas le port, uniquement l’adresse IP de votre Jeedom. Le pb ne peut donc pas venir du numéro de port. De quelle version de Jeedom s’agit-il ? Essayez éventuellement de cocher/décocher le « legacy mode » et redémarrez le plugin.
      Pour la 2e

      J’aime

      • noisette08 dit :

        Je suis en Jeedom v3.0.9. J’ai bien essayé vos manips mais cela ne résout pas le problème de connectivité de l’api key jeedom dans homeseer. Une appli hébergée sur mon nas peut-elle parasiter le dialoque en JSON?

        J’aime

      • Eman dit :

        Hello Shodan,

        The HomeSeer plugin is only working one way from Jeedom V3 to HomeSeer but not from: CAPI Control Handler. Thus no communication from HomeSeer.

        Can you fix please?

        Eman

        Bonjour Shodan,

        le plugin homeseer ne fonctionne qu’une seule façon de Jeedom v3 à homeseer mais pas à partir de: CAPI gestionnaire de contrôle. Donc aucune communication de homeseer.

        Pouvez-vous réparer s’il vous plaît?

        Eman

        J’aime

      • Shodan dit :

        Hello Eman,

        I discovered that something changed in Jeedom v3 JSON API. In order to be able to send command to Jeedom, the API KEY that must be used now is not the ‘global’ API key as with previous version, but the ‘private’ API KEY associated to an admin user. You can find this API KEY on the user configuration page.

        J’aime

  4. Olivier dit :

    Hello,

    I installed jeedom on synology. I cannot connect anymore to jeedom. The setup of server IP did not accept 192.168.1.xxx:9080.

    J’aime

  5. nicolaselt dit :

    Bonjour Shodan,

    Tout d’abord bravo pour le travail fourni !
    Cependant j’ai un soucis. Le plugin s’installe, l’IP Jeddom est ok, API Key ok aussi mais aucun device ne remonte dans Homeseer.
    Ci-dessous l’erreur générée dans les logs :

    « Getting web page from plugin page JeedomDevices:Error reading string. Unexpected token: StartArray. Path ‘result[7].eqLogics[0].logicalId’, line 1, position 652305. »

    Test effectué avec 2 réinstall et 2 API Key de Jeedom (la principale et seul de l’utilisateur admin).

    J’ai loupé quelques chose ?

    Merci

    J’aime

    • Shodan dit :

      Bonjour,
      Il faudrait que tu m’écrives en direct, ça sera plus efficace.
      C’est un problème récent ? Est-ce que ça marchait auparavant ou c’est ta première utilisation du plugin ?
      Quelle version du plugin et de HS3 utilises-tu ?
      Il faudrait que tu actives les logs du plugin (dans la page config), que tu redémarres le plugin ou HS3, et que tu m’envoies les logs qui sont enregistrés dans le répertoire ‘log’ à la racine de HS3.

      J’aime

      • nicolaselt dit :

        Bonjour,

        Désolé j’étais parti à l’étranger pour le job !
        Merci du retour (et sorry pour la réponse tardive)

        Je peux t’écrire avec plaisir mais à quelle adresse ?
        Je peux aussi te donner accès aux machines labo via Teamviewer si besoin.

        Merci

        J’aime

      • Shodan dit :

        Tu peux m’écrire à shodan@orange.fr. Pour l’accès via Teamviewer, pourquoi pas, cependant je ne l’ai encore jamais utilisé (ça sera l’occasion d’essayer).
        J’attends de tes nouvelles.

        J’aime

  6. nicolaselt dit :

    Merci Shogan, excellente réactivité 🙂

    Je suis fort occupé avec le réveillon et je suppose que toi aussi !
    Je me propose de t’envoyer un email demain pour prise de RV après les fêtes.
    Nous diffuserons la solution sur ton blog après debug.

    Excellente année à toi et à tous les lecteurs 🙂 🙂 🙂

    J’aime

Laisser un commentaire