Aller au contenu

récupérer l'adresse IP publique du LAN qui héberge la HC3


jluc2808

Messages recommandés

bonjour ,

 

je ne sais pas si ça existe, mais je souhaiterais récupérer l'adresse IP public du LAN qui héberge la HC3 et envoyer un mail à chaque fois que cette adresse change. 

est-ce que ça existe ?

ou comment je peux faire pour réaliser ce module ?

 

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

à l'époque de la HC2 j'utilisais une scène pour ça... de mémoire il y en a 2 ou 3 déjà partagées sur le forum.

A ma connaissance ça n'a pas été porté sur HC3, donc il faudra peut être adapter un peu le code LUA.

 

Ma scène (je ne sais plus si je l'ai déjà partagée sur le forum, utilise l'URL suivante :

http://ip-api.com/json/?fields=country,countryCode,region,regionName,city,zip,isp,org,as,reverse,mobile,query,status,message

 

Elle me notifiait en cas de changement d'adresse IP publique (quand j'étais chez Orange, je n'en ai plus besoin depuis que je suis en IP fixe chez Free)

 

En pièce jointe si ça peut t'aider.

Scene Check Public IP Address v1.3.lua

Lien vers le commentaire
Partager sur d’autres sites

d'abord merci pour ce partage (je suis exactement dans la situation que tu décris, box orange qui change d'IP quand elle reboot)

 

ouahh c'est chiadé ta scène !!

 

quelques questions pour être certains de bien comprendre

toutes les variables  dans User variables sont en dur ?

si oui tu récupères les infos ou ?

-- User variables
local URL = "http://ip-api.com/json/?fields=country,countryCode,region,regionName,city,zip,isp,org,as,reverse,mobile,query,status,message"
local conditions = {
	["mobile"]  = {equal = true},
	["org"]     = {match = "Mobile"},
	["reverse"] = {nomatch = "subs.proxad.net"}, -- lfbn -- LFbn
}
local intervalle = 60
local userID = {"Christophe"}   -- Mail notification
local smartphoneID = {          -- Push notification
	"Google Pixel 5",
	"Google Pixel C",
}
local sms = {                   -- SMS  notification
	["VD_ID"]     = 99,           -- Virtual Device ID
	["VD_Button"] = "1",          -- Virtual Device Button
	["VG_Name"]   = "SMS"         -- Global Variable Name
}

 

 

le Check(intervalle) c'est 60 quoi secondes / minutes /heures ?

pour le tester j'aurais besoin de changer quoi à minima ?

Lien vers le commentaire
Partager sur d’autres sites

Je t'ai copié coller le truc tel quel je l'utilisais à l'époque où j'avais Orange et une HC2, donc ça date pas mal et je n'ai plus vraiment le sujet en mémoire.
Si c'est en variable en début de scène, c'est surtout qu'on ne pouvait pas mettre de variable dans les propriétés d'une scène (on ne peut toujours pas sur HC3 d'ailleurs, c'est uniquement pour les QuickApps)

 

D'ailleurs maintenant que tu le dis, je vois que le reverse est sur Free.... j'ai probablement dû utiliser cette scène après avoir quitté Orange, même si ça n'a servi à rien car je suis bel et bien en IP fixe chez Free.

Lien vers le commentaire
Partager sur d’autres sites

Ah si je sais, c'est parce que j'avais la bascule automatique du routeur sur le réseau 4G, donc ça me permettait de détecter si j'étais en ADSL/Fibre, ou bien basculé sur le réseau 4G (qui est NATé, donc de toute façon l'IP publique est privée et non accessible depuis Internet... mais au moins avec la notification sur mon téléphone, j'étais au courant)

Lien vers le commentaire
Partager sur d’autres sites

en bout de course j'ai simplifié pas mal ton script et j'ai opté pour 3 fonctions

 

- 1 variable globale qui reste et est consultable y compris en dehors des scripts / scènes ==> stored_ip   (à créer 1 fois au début à la main)

- 1 scène en LUA qui fait les appels pour aller chercher l'IP public courante de la HC3 ==> pas de récurrence et se lance sans condition ni déclencheur, 1 email fixe à changer au début dans les variables locales (pour faire simple c'est l'Id du user.

- 1 scène qui n'a pour objectif que de déclencher le lancement de la scène au dessus ==> ça permet de mettre ce que l'on veut comme récurrence

 

L'objectif :

- être informé du changement et de la valeur de l'IP public de votre box (orange ou autre) et stocker l'adresse IP dans la HC3 (cela nécessite que la box internet héberge la HC3 sur le même LAN ou un autre mais que l'accès à internet de la HC3 passe par cette box)

 

Le fonctionnement :

- lancer via un scénario UI le programme LUA qui va chercher l'adresse IP public

- envoyer une notification par mail

- stocker la nouvelle valeur.

 

l'installation:

1-  créer une variable globale du nom de "stored_ip" la mettre à "" 

2 - importer le LUA dans 1 scène vide LUA dans la partie action - copier/coller

3 - aller chercher l'Id du user que vous voulez voir notifier par email lors des changements d'IP public de la box internet qui héberge la HC3

4 - affecter directement dans le LUA la valeur numérique de l'id à la variable locale "id"

5 - sauvegardez

6 - test avec un lancement direct de la scène ==> contrôle de la reception du mail avec la valeur de l'IP public

7 - créer 1 scène via l'interface UI des scénarios, mettre dans les déclencheurs celui que vous voulez , j'ai mis un déclencheur temps à 11h00 (tous les jours) et dans les actions le lancement de la scène LUA créée pour aller chercher IP public

 

 

Scene Check Public IP Address v1.0.lua

Modifié par jluc2808
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 14 heures, jojo a dit :

je n'ai as eu le courage de tout lire jusqu'eau bout (:23:), mais What is my IP donne un json

API - MyIP (my-ip.io)

une piste ?

@jojo  comme l'a dit @Lazer la fonction qu'il a proposé est équivalente à celle que tu listes et est aussi simple d'usage, donc comme ça fait le job je l'ai utilisé

 

ma contribution avec ce LUA porte sur le complément autour de cette récupération de l'IP public, cad de stocker le résultat de la requête et le comparer périodiquement à un nouvel appel pour transférer par mail le nouvel IP s'il a changé

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...