Accéder à Jeedom à distance sans DynDNS

Accéder à Jeedom à distance sans DynDNS

Introduction

Il peut être intéressant d’accéder à Jeedom à distance. Pour prendre des nouvelles de la maison, de l’installation ou des enfants. Ou alors pour bosser dessus pendant un creux au boulot… (non, pas bien !).

Je vais te proposer proposer ici une astuce que j’avais mis en place il y a quelque temps. Elle ne me sert plus parce que mon environnement techniques a évolué mais peut être pourra-t-elle t’être utile. Pour ce faire, je vais expliquer quelques principes de bases. Si tu veux aller à l’astuce directement, Tu peux aller directement à mon astuces si tu connais déjà tout ça.

Pour me passer de DynDNS je m’envoyais l’IP Publique par notification PushBullet.

Principes

Pour accéder à Jeedom à distance, ou n’importe quel équipement IP sur son réseau domestique il faut l’IP Publique de la box. C’est une IP routable sur internet, contrairement à celles des équipements de ton LAN (réseau domestique).

Pour pouvoir aller sur internet depuis un LAN, il y a un mécanisme qu’on appel NAT (par abus de langage, en réalité il s’agit de PAT) qui permet d’emprunter l’IP Publique de ta box pour sortir. La box sait ou vont les machines et sait les différencier. Sinon on retrouverai la page Facebook de sa femme ou le porno de son colocataire.

Ce qui t’intéresse ici, pour accéder à Jeedom à distance, ce n’est pas de sortir, mais de rentrer dans le réseau. Il faut donc l’IP de la box, tu peux la trouver sur ifconfig.me/ip.

On a une bonne base, mais la box de ton opérateur à une mission: te protéger. Alors pour sortir, tu fais ce que tu veux… mais les trucs qui rentrent… elle aime pas, elle bloque. Et quand bien même elle ne bloquerait pas, tu te retrouverai sur la page d’administration de ton modem. Ce n’est clairement pas ce qui t’intéresse.

pare feu

Alors du coup, il faut configurer ta box pour qu’elle accepte de laisser entrer certaines choses et où les rediriger. On appelle ça une ouverture de ports ou translation de port dans le cas ou celui d’entrée n’est pas le même que celui de sortie.

Comment

Deux cas de figure, soit tu as une ip publique fixe (qui ne change jamais), soit une ip dynamique (qui change régulièrement ou à chaque redémarrage de la box).

Pour savoir dans quel cas tu es:

  • Si tu es chez Orange et Fibré, c’est un ip fixe
  • Chez Orange, dans les autres cas c’est du dynamique (sauf cas particulier, contrat, option etc)
  • Pour les autres opérateurs, je ne sais pas. Le mieux est de vérifier ton ip publique sur ifconfig.me/ip, redémarrer ta box et revérifier l’IP, si elle a changé tu es fixé =)

Cas d’une IP Fixe

Facile, tu as juste a enregistrer l’adresse (http://ip:port/chemin) dans tes favoris. Ne manque que la configuration de la box. Bien que cela soit une ouverture de ports ou une translation de port, cette configuration se trouve dans la partie NAT/PAT de ta box, voila pourquoi je t’ai embêté avec ça =)

Du coup tu n’as pas besoin de mon astuce, juste à configurer ta box.

Cas d’une IP Dynamique

Moins facile… vu quelle change et qu’on ne peut pas la deviner à distance. On va devoir ruser et faire en sorte de recevoir l’info… de jeedom lui même. Il y a la solution DunDNS mais comme le titre le dis « accéder à jeedom sans DynDNS »…. C’est tellement casse pied, soit faut payer, soit faut les réactiver tout les X temps… une calamité.
Sauf si tu as ton propre nom de domaine et que ton hébergeur te propose des zones Dynamiques la ça va, ou encore mieux, t’es un maso et tu as ton propre serveur DNS.

PushBullet

PushBullet est un service « gratuit » qui permet d’envoyer des notifications sur des appareils. Il permet aussi (accessoirement) de lier son compte avec des amis pour discuter comme dans un chat.
Je t’invite à créer ton un compte ajouter le plugin dans Jeedom. Une fois le plugin ajouté il faudra l’access token:
Dans Settings:

pushbullet settings

Account:

pushbullet account

Et enfin, « Create access token »:

pushbullet access token

Copie le code dans la configuration du plugin de PushBullet:

Accéder à Jeedom à distance - pushbullet plugin jeedom

Evidemment, on peut utiliser plusieurs autres services de communications. Slack, Pushover, mail etc…

Partie Jeedom

On va utiliser le plugin Script. On ajoute un objet script, on lui donne un petit nom et le programmer pour s’exécuter tous les jours.

jeedom script

Dans les commandes, on redonne un nom, on choisi le type HTTP, Info et type d’info à Autre. La requête: ifconfig.me/ip

Accéder à Jeedom à distance - jeedom script commande

Ensuite, on fait un scénario pour s’envoyer l’information (l’IP publique) quotidiennement via PushBullet:

Accéder à Jeedom à distance - jeedom scénario

Il enregistre l’ancienne valeur d’IP récupérée à la dernière occurrence dans une variable « -1 », il rafraîchit la valeur d’IP et compare l’ancienne avec la nouvelle. Si elles sont différentes, il t’envoie une notification avec l’info sinon rien.

Ou Port est le port externe configuré sur la box. Moi j’ajoute /jeedom parce que je l’ai mis dans le dossier… si ce n’est pas ton cas, ne met rien =)

Enfin, programmé tous les jour à 10h00 pour pas être réveillé par la notification:

jeedom scénario programmé

Scénario au format export

Configuration de la Box

Orange

En général ce paramètre ce trouve dans « Paramètres avancés > NAT/PAT ». Sur la V4 c’est la « Roue dentée > Réseau > NAT/PAT ».

La, tu trouveras un tableau (vide normalement). Dans l’ordre, choisir un service ou en donner un nom, les deux cases suivantes sont les ports internes et externes respectivement le port que t’utilise habituellement pour accéder à Jeedom et le port que tu voudras utiliser pour accéder à jeedom à distance une fois tout ça fini (le même en général). La dernière case c’est le protocole, dans ton cas c’est du TCP.

Comme ça par exemple:

Jeedom | 80 | 80 |tcp

T’enregistre et c’est bon.

Attention toute fois, si tu mets plusieurs règles d’ouverture de port. Un même port externe ne peut pas être utilisé plusieurs fois. Si les machines sur lesquels tu voudrais avoir accès à distance utilise le même port tu devras utiliser un autre port externe ou modifier celui de ta machine.

SFR

La, je ne suis pas expert du tout, j’ai été client SFR pendant un an mais je ne me rappelle plus vraiment comment faire.
Donc, de mémoire, dans le menu « résau > NAT », pareil il fazut nommer la règle de NAT, ensuite c’est la même philosophie. Port Interne, port Externe, ip de destination (celle de la jeedom). Il me semble qu’il y a des histoire d’activation enfin c’est plus clair.

Je suis tombé sur cette image pour me rappeler:

ouverture de ports sfr

Il semblerait que SFR propose un « type », choisis « Port ». L’autre devrait être adresse je pense pour rediriger tous les flux vers une machine.

Bouygues

Littéralement aucune idée, je n’en ai jamais eu. J’ai été client mobile longtemps, mais jamais fixe…
Je t’ai trouvé ça, il est pas très à jour sur les interfaces de ceux que je connais mais comme je l’expliquais avant, les opérateurs aiment bien garder leur « philosophie »:
https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html#bbox

Un mot sur les interractions

Alors bien entendu, on peut remplacer le scénario par une interaction. Ça économiserait des ressources (l’éxécution quotidienne du scénario, du script). Mais, soucis d’automatisation passe au dessus de l’utilisation des ressources. D’autant que ces ressources son minimes et exécutées, dans 90% des cas, à des moments ou elles sont moins nécessaires.

Néanmoins voici un exemple d’interactions:

interraction

Ne pas oublier de cocher « ce device recevra les réponses d’interaction » dans votre objet Pushbullet (ou autre) si tu veux passer par le champs réponse.

Conclusion

Ben voila, tu vas recevoir tous les jours le lien pour accéder à jeedom à distance.

Pour être honnête je ne trouve pas ça très propre. Mais les service DynDNS ne sont vraiment pas top. Cette méthode la n’est pas fiable à 100% (si l’IP change après l’envoi de l’info). Mais, pas a avoir à payer, ou a réactiver le service tous les mois.

A+ =)