Un contrôle tactile avec OpenRemote

Nous avons vu que l’utilisation de la voix était possible pour piloter son installation domotique. Ici, le contrôle se fera par un écran tactile, grâce au logiciel OpenRemote !

OpenRemote logo

OpenRemote est une plateforme open source intégrant un grand nombre de protocoles et technologies, permettant de créer des automatismes et d’utiliser son smartphone ou tablette comme centre de commande. Utilisable sous iOS, Android, ou sur navigateur avec une console intégrée, OpenRemote permet de facilement réunir (et faire communiquer ensemble) des technologies fonctionnant séparément à l’origine.

Comment cela fonctionne :

OpenRemote est divisé en deux :

  • Un contrôleur sera installé dans une architecture Linux, Windows, Mac, Raspberry, NAS,… Il transformera, en quelques sortes, votre matériel en box domotique, en créant un serveur hôte où tous les appareils tactiles viendront se connecter. Ce contrôleur embarque toutes les clefs nécessaires afin que les protocoles puissent communiquer ensembles. Et ils sont nombreux! (KNX, Lutron, AMX, Zwave, 1-Wire, FreeBox, VLC, XBMC, Russound, x10, xPL et d’autres).
  • Une application installée sur l’appareil tactile servira d’écran de commande afin de gérer son installation. Les applications se connecterons au contrôleur afin de générer interface et ordres. Comme il n’y a qu’un seul contrôleur pour tous les points de commandes, si une action est générée sur un device, tous les autres auront un retour d’état signalant que l’action est générée. Autre point très intéressant ; cette interface est complètement personnalisable, de l’arrière plan, à l’emplacement de chaque boutons.

La création de cette interface se fera en ligne avec un éditeur où nous pourront configurer à notre guise les modules et apparence souhaitée. Une fois enregistré, il suffira de charger ce fichier dans le contrôleur et l’interface sera automatiquement mise à jour sur les appareils connectés.

Installation sous Windows :

Je vais détailler ici comment installer OpenRemote sur une machine fonctionnant sous Windows. L’utilisation de Windows ne sera pas le choix le plus judicieux pour une utilisation continuelle, sachant que la machine devra tourner sans cesse afin de garder le serveur OpenRemote opérationnel, mais pour commencer et montrer l’uilisation, ça sera parfait !

Environnement Java :

Pour commencer, nous allons installer l’environnement Java nécessaire au fonctionnement, c’est par ici que ça se passe : Lien

Rien de bien compliqué lors de l’installation.

Configuration des variables :

Ensuite, nous allons définir les variables afin d’utiliser l’environnement sous commande DOS. Et oui, OpenRemote se lancera depuis l’invite de commande de Windows ! Pour ce faire, clique droit sur ‘Ordinateur’, ‘Propriétés’, puis ‘Paramètres système avancés’ et enfin ‘Variables d’environnement’ tout en bas.

Variables environnements

Nous allons ajouter 3 nouvelles variables, cliquez sur ‘nouvelle’ dans variables système :

Variable1

Nom de la variable : CLASSPATH et Valeur : C:\Program Files\Java\jdk1.6.0_41\lib\tools.jar

Nom de la variable : PATH et valeur : C:\Program Files\Java\jdk1.6.0_41\bin

Nom de la variable : JAVA_HOME et valeur : C:\Program Files\Java\jdk1.6.0_41

Il est possible que la variable PATH existe déjà, changez la valeur avec celle écrite ici.

Le chemin peut bien évidemment légèrement différé suivant où vous avez installé votre environnement Java, pensez à modifier s’il est différent.

Sources OpenRemote :

Enfin, les sources OpenRemote à télécharger : Lien.

Décompressez le dossier dans un chemin court et simple d’accès, sous la racine C:\ serait parfait. Renommez ensuite le dossier décompressé en un nom tout simple, comme ‘openremote’.

Lancement d’OpenRemote :

Pour lancer OpenRemote, nous allons ouvrir l’invite de commande : tapez cmd dans l’onglet recherche dans démarrer, faites ENTRER.

invite commandecmd

Arrivé ici, nous allons nous déplacer dans le dossier ‘openremote’ fraîchement crée :

cmd chemin

Il suffit de taper : cd C:\openremote\bin et d’appuyer sur ENTRER.

Maintenant que nous sommes dans le bon dossier, écrivez la commande : openremote run

cmd run

Le contrôleur et serveur OpenRemote devrait se lancer:

cmd serveur

Utilisation de l’outil de design :

Construction des commandes :

Nous allons maintenant créer l’interface qui permettra de piloter le tout, c’est par ici que ça se passe : Lien (n’oubliez pas, bien sur, de créer un compte gratuit).

La navigation simple se résume à quelques menus :

openremote_menu

De gauche à droite :

  • Bulding modeler : les appareils, commandes et le choix des protocoles se fera ici
  • UI Designer : c’est ici que le rendu graphique sera modelé, l’affichage final sur l’appareil tactile
  • Account management : on pourra ajouter ici plusieurs utilisateurs pouvant ainsi se connecter au même compte
  • Le bouton de sauvegarde
  • Exportation au format zip
  • Test UI online in your panel : permet de tester l’UI sans déployer un contrôleur

Dans la fenêtre Buling modeler, plusieurs possibilités sont offertes :

openremote_selectdevice

  • New Device/New Russound Device : Création de nouveaux ensembles objets
  • New Command : Ajout d’une fonction/commande de communication avec choix du protocol
  • New Sensor : Permettra de récupérer une information/changement d’état d’une commande
  • New Slider : Une glissière pour l’affichage et le contrôle d’une commande variable avec retour d’état
  • New switch : Même principe que la glissière en format interrupteur deux états
  • Import ETS et Lutron : Pour l’importation des data KNX et Lutron afin de créer les fonctions associées automatiquement

Afin d’essayer cela, nous allons envoyer une requête HTTP :

Commençons par créer un nouveau device dans la fenêtre Bulding modeler et on terminera en cliquant sur ‘Finish’

openremote_newdevice

A l’intérieur de ce device, créons une nouvelle commande :

openremote_command

On peut voir ici que le nombre de protocoles prient en charges est tout de même conséquent.

Dans cet exemple nous allons choisir HTTP.

Bien sûr, certains protocoles nécessiteront un complément hardware, comme le Zwave qui aura besoin d’une puce afin de communiquer avec les modules.

openremote_commandconfig

Optionnel :

Deux fenêtres sont également accessibles en bas de cette page :

Macro_config

Macros :

Macro

Ce menu permettra de rassembler plusieurs commandes, par exemples, en une seule. On pourra rajouter, si on le souhaite, des délais entre l’exécution de chaque commandes.

Config :

Config

Cette fenêtre configurera, en autre, certains paramètres des protocoles, modification du port du server OpenRemote, ou encore l’ajout de règles plus complexes. Ces règles seront générées par des lignes de code afin de démultiplier les possibilités, mais c’est paramètres seront plus compliqués à mettre en application.

Interface visuelle :

Ensuite, nous allons créer l’interface visuelle en allant dans la partie UI Designer.

Nous allons pouvoir créer autant d’interface que l’on veut, chaque appareil tactile aura sa propre interface personnalisée. Créons-en une nouvelle, paramétrée aux résolutions voulues.

openremote_panel

Ensuite, chaque page sera créée une à une, classées dans des dossiers groupes. La première, ‘Starting Screen’, est créée automatiquement lors de l’ajout du nouveau panel. Mais il est possible d’en rajouter autant que souhaité.

openremote_screen

Afin de personnaliser complètement l’interface, plusieurs Widgets sont disponible :

openremote_widgets

Sur cette première page, ajoutons un nouveau bouton en le déplaçant de son menu à l’endroit voulu sur la page.

En cliquant ensuite sur ce bouton, nous avons accès à la fenêtre de propriétés permettant de faire le lien avec les commandes ajoutées précédemment.

openremote_properties

Nous avons donc créé un bouton qui générera une URL.

Optionnel :

Template

Templateconfig

De la même manière que les macros, la fenêtre Tempate se trouve en bas de la page de design. Il sera possible de créer ici des modèles de page afin de les utiliser plusieurs fois, sans les récréer.

Il y aurait bien évidement beaucoup à rajouter sur la création d’une interface complète, mais ce billet ne suffirait pas ! Je vous laisse découvrir toutes les fonctionnalités en mettant la main à la pâte.

Chargement de l’interface dans le contrôleur :

Une fois l’interface voulue terminée, il va falloir la charger dans le contrôleur que nous avons déployé plus haut. Pour ce faire, allons ici http://localhost:8080/controller

opeenremote_controller

Il est possible de charger son interface, soit online en entrant son compte designer, soit offline avec un fichier zip exportable depuis le menu cité plus haut.

L’application Android

Téléchargez l’application depuis le Play Store. Elle possède très peu de réglages :

OpenRemote Application

Bien qu’il soit possible de rentrer manuellement l’adresse du contrôleur, la fonction ‘auto discovery’ détectera automatiquement celui-ci. Egalement, une fonction de communication SSL ajoutera une sécurité si vous le souhaitez.

Il ne vous reste plus qu’a choisir le panel que vous souhaiter utiliser et appuyer sur ‘Done’. Votre interface devrait s’afficher à l’écran.

Les possibilités sont très importantes avec OpenRemote, mais le temps à passer dessus l’est également. On peut avoir une interface complètement personnalisée et même la changer si l’envie nous prend. Gimp s’avère être un allier intéressant pour la création graphique.

A vous de jouer !

Une toute petite démo en vidéo avec un exemple d’interface :

Et parce que la qualité de la vidéo est incroyablement mauvaise, un screenshot de l’écran d’accueil :

Starting Screen

Publicités

4 Commentaires

  1. Bonjour,

    Je suis scrupuleusement vos indication pour installer Openremote sur mon pc Windows 7 64bit mais au moment de lancer openremote avec CMD, il me dit que la variable d´environnement CATALINA_HOME n’est pas correcte.

    Avez vous une idee de se que signifie ce message?

    Bien Cordialement

  2. Bonjour,

    Le message que vous indiquez signifie que les variables de l’environnement JAVA ne sont pas définies correctement. Essayez de vérifier si l’installation du kit de développement JAVA s’est bien faite, également la configuration des variables comme expliquée dans l’article (pensez à vérifier le chemin d’accès de JAVA, celui-ci peut différer de ce que j’ai marqué, suivant l’endroit que vous avez choisi lors de l’installation).

    En espérant avoir pu vous aider.

  3. Merci pour votre réponse!

    Effectivement mauvaise adresse du module JAVA.

    Tout fonctionne à présent! Merci beaucoup!

  4. […] SynoZwave : La domotique sur le NAS Synology EnOcean et SynoZwave, point avec Mikael OpenRemote Un contrôle tactile avec OpenRemote OpenRemote package for Synology […]

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :