Récupérer son adresse IP publique via la zibase

Tout sur la Zibase, son utilisation, les modules qui sont compatibles, les problèmes rencontrés et les solutions testées.

Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 16 Jan 2013, 08:57

Mon FAI ne me fournissant pas d'IP fixe, je passe par No-IP.org pour avoir un DNS fixe me permettant de prendre la main sur mon PC à la campagne. Malheureusement ma connexion à No-IP s'est désactivée (ma zibase se connecte elle toujours sans problème puisque je récupère bien les infos de mes sondes) et j'aurais donc besoin de récupérer l'adresse IP publique de mon réseau.

Y a-t-il un moyen de le faire avec la zibase 2 ?

Je pensais par exemple à faire une commande par HTTP qui irait se connecter sur http://www.whatismyip.com/ puis récupérer l'adresse indiquée par le site mais je ne sais pas si la zibase peut faire cela et si oui comment programmer un tel scénario ?

Merci.
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04

Re: Récupérer son adresse IP publique via la zibase

Messagede richard » 16 Jan 2013, 16:55

Bonjour,

je pense qu'il faut créer un scénario avec une action "Commander par Http" et mettre l'url : http://monip.toolsit.fr/api?type=text , qui permet de récupérer ton adresse IP au format texte (tu peux essayer l'url dans ton navigateur).

Il suffit ensuite de récupérer le contenu dans une variable et de t'envoyer le contenu de la variable par mail par exemple.
J'avais testé cela il y a quelques mois, mais la zibase ne m'envoyait que le 1er chiffre par mail (car je crois que la zibase s'arrête au 1er ".").
Tu trouveras sur la page http://monip.toolsit.fr/api/help pour avoir tous les formats retournés (text,xml,....).
Il faut donc tester les différents format peut-être qu'un conviendra.
A+
Richard
richard
P'tit Guru de domotique
 
Messages: 62
Inscription: 04 Mai 2011, 15:03

Re: Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 16 Jan 2013, 17:06

Merci Richard ! :wink:
richard a écrit:Il suffit ensuite de récupérer le contenu dans une variable et de t'envoyer le contenu de la variable par mail par exemple.

C'est justement cela que je ne sais pas faire. Pourrais-tu détailler la manip ?
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04

Re: Récupérer son adresse IP publique via la zibase

Messagede richard » 16 Jan 2013, 17:29

Tu trouveras normalement toutes informations en passant la souris sur le "?" après avoir choisi dans ton scénario "Commander par Http".

tu peux aussi t'inspirer de ceci : http://www.touteladomotique.com/index.p ... &showall=1

J'ai retrouvé l'info en tapant dans le moteur de recherche "zibase tuto récupérer valeur xml", il y a d'autre exemple.
A+
Richard
richard
P'tit Guru de domotique
 
Messages: 62
Inscription: 04 Mai 2011, 15:03

Re: Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 16 Jan 2013, 17:55

OK donc je pourrais utiliser l'adresse URL : http://monip.toolsit.fr/api?type=xml&loadpage
qui retourne ceci :
<?xml version="1.0"?>
<response>
<ip>127.0.0.1</ip>
<host>localhost</host>
</response>

Le problème est que je ne sais pas comment dire à la zibase que ce qui m'intéresse se situe après la balise <ip> et la doc accessible via le ? n'est pas très claire.

Est-ce que Zodianet met à disposition des tutoriaux précis sur ces questions un peu complexes ?
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04

Re: Récupérer son adresse IP publique via la zibase

Messagede richard » 17 Jan 2013, 22:08

Bonjour Andre33,
pas toujours facile de débuter avec la zibase, mais avec un peu de temps et pratique on peut faire des choses formidable.

Bon après quelques tests ( et plusieurs heures) voici le scenario qui envoi par mail l'adresse ip publique de votre zibase :
La zibase sait aller rechercher une valeur numérique dans du XML mais s'arrête à chaque caractère ".".
Nous allons donc rechercher octet par octet l'adresse ip.

J'utilise les variables V6 et V7 (variable de travail) et V8 (qui va contenir l'adresse IP finale)
Imaginons que j'ai l'adresse ip publique : 127.128.129.130


J'ai testé le scénario jusqu'à l'étape 10, mais après vous remarquerez qu'il s'agit de répétition.
Autre point, il se peut que le scénario n'accepte pas autant d'action, dans ce cas, il faudra créer un second scénario qui sera appelé par le 1er.
Par avance merci pour vos retours.

Voici donc comment faire :

Créer un nouveau scénario "IP publique".
1. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=ip
==> On prepare la recherche dans xml de la balise <ip>
2. Créer l'action "COMMANDER PAR HTTP" : URL = http://monip.toolsit.fr/api?type=xml et cocher "Lire en retour une valeur balisé par " V7
==> On va récupéré dans la variable V7 le 1er chiffre de l'adresse ip (soit 127 dans mon exemple)
==> On se prépare maintenant a aller chercher le deuxième octet.
3. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=V7
==> La valeur retournée dans l'action précédente est numérique et nous recherchons une chaine de caractère
4. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V6=. (le caractere ".")
5. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V8=V7+V6
==> V8 contient donc maintenant le 1er octet + un "." soit dans mon exemple "127."
==> On va rechercher le 2ème octet
6. Créer l'action "Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=ip/*
7. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V7=V7+V8
==> On va demander à la zibase d'aller chercher dans le xml la chaine <ip>127. et de ramener la valeur numérique qui suit (soit le 2ème octet)
8.Créer l'action "COMMANDER PAR HTTP" : URL = http://monip.toolsit.fr/api?type=xml et cocher "Lire en retour une valeur balisé par " V7
==> On va récupéré dans la variable V7 le 2eme chiffre de l'adresse ip (soit 128 dans mon exemple)
==> On se prépare maintenant a aller chercher le troisime octet.
9. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=V7
==> La valeur retournée dans l'action précédente est numérique et nous recherchons une chaine de caractère
10. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V8=V7+V6
==> V8 contient donc maintenant les 2 premiers octets + un "." soit dans mon exemple "127.128."
==> On va rechercher le 3ème octet
11. Créer l'action "Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=ip/*
12. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V7=V7+V8
==> On va demander à la zibase d'aller chercher dans le xml la chaine <ip>127.128 et de ramener la valeur numérique qui suit (soit le 3ème octet)
13.Créer l'action "COMMANDER PAR HTTP" : URL = http://monip.toolsit.fr/api?type=xml et cocher "Lire en retour une valeur balisé par " V7
==> On va récupéré dans la variable V7 le 3eme chiffre de l'adresse ip (soit 129 dans mon exemple)
==> On se prépare maintenant a aller chercher le troisime octet.
14. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=V7
==> La valeur retournée dans l'action précédente est numérique et nous recherchons une chaine de caractère
15. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V8=V7+V6
==> V8 contient donc maintenant les 3 premiers octets + un "." soit dans mon exemple "127.128.129."
==> On va rechercher le 4ème octet
16. Créer l'action "Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=ip/*
17. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V7=V7+V8
==> On va demander à la zibase d'aller chercher dans le xml la chaine <ip>127.128.129 et de ramener la valeur numérique qui suit (soit le 4ème octet)
18.Créer l'action "COMMANDER PAR HTTP" : URL = http://monip.toolsit.fr/api?type=xml et cocher "Lire en retour une valeur balisé par " V7
==> On va récupéré dans la variable V7 le 4eme chiffre de l'adresse ip (soit 130 dans mon exemple)
==> On se prépare maintenant a aller chercher le troisime octet.
19. Créer l'action "AFFECTER UNE CHAINE DE CARACTERE A UNE VARIABLE" : V7=V7
==> La valeur retournée dans l'action précédente est numérique et nous recherchons une chaine de caractère
20. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V8=V7
==> V8 contient donc maintenant les 4 octets soit dans mon exemple "127.128.129.130"
==> On va rechercher le 4ème octet
21. Créer l'action "EMAIL" : Adresse e-mail : l'adresse e-mail ou vous souhaitez recevoir l'ip et cocher "Envoyer en corps d'email le contenu de la variable globale" et selectioner V8
richard
P'tit Guru de domotique
 
Messages: 62
Inscription: 04 Mai 2011, 15:03

Re: Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 19 Jan 2013, 13:19

Merci pour tous ces détails ! Je viens de tester moi aussi.

Quand je paramètre un envoi de mail après l'étape 5, je reçois bien le premier octet suivi du point (127. dans ton exemple) mais quand je continue la procédure jusqu'en 10, je reçois un mail avec uniquement le deuxième octet (128. dans ton exemple)

Ne serait-il pas mieux de prendre une variable différente pour chaque octet et de concaténer les 4 juste avant l'envoi du mail ?


Par ailleurs, je pense qu'il manque quelque chose ici (en rouge).
richard a écrit:20. Créer l'action "CONCATENER 2 CHAINES DE CARACTERE" : V8=V7 + ???
==> V8 contient donc maintenant les 4 octets soit dans mon exemple "127.128.129.130"


Et puis effectivement le code est trop long. Comment peut on enchaîner plusieurs scenarii ? Le mieux serait peut etre de faire un scenario par octet, puis d’enchaîner les 4 en finissant par envoyer par mail les 4 valeurs obtenues.

PS:Comment se fait-il qu'on ne puisse pas exporter et importer des scenarii en mode text dans la zibase, ce serait quand mĂŞme beaucoup plus simple que de passer par cette interface graphique web non ?
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04

Re: Récupérer son adresse IP publique via la zibase

Messagede richard » 10 FĂ©v 2013, 12:25

J'ai eu un peu plus de temps Ă  consacrer Ă  ce sujet.
Des images valant mieux qu'un long discours, vous trouverez ci-dessous les copies d'écrans des 2 scénarios qui s'enchaînent :

Test IP distante
Image

Test IP distante 2
Image

A+
Richard
richard
P'tit Guru de domotique
 
Messages: 62
Inscription: 04 Mai 2011, 15:03

Re: Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 11 FĂ©v 2013, 18:02

Merci !

Dommage que l'import/export de scénario ne soit pas possible dans la zibase...
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04

Re: Récupérer son adresse IP publique via la zibase

Messagede quikdav » 12 FĂ©v 2013, 12:51

Je ne sais pas si Zodianet se rend bien compte de ce qu'il faut faire pour récupérer une simple chaine dans une balise !!!!
quikdav
Dieu de domotique
 
Messages: 454
Inscription: 23 Mar 2011, 13:15
Localisation: Toulouse

Re: Récupérer son adresse IP publique via la zibase

Messagede richard » 23 Mar 2013, 12:35

Je reviens sur ce post.
Car le 22/02/2013, Zodianet a mis en ligne une nouvelle version de l'API Zibase (V1.4) ( http://zodianet.com/zapi.html ).

A la fin du document on trouve une requĂŞte HTTP (ou HTTPS) pour connaitre l'adresse LAN et WAN de sa zibase :

Utilitaire pour connaitre les @IP LAN:WAN de ZiBASE (par http/https, par identification par login/pass ou par Token).
Exemples :
https://zibase.net/m/zapi_remote_zibase ... dressesget
https://zibase.net/m/zapi_remote_zibase ... dressesget
exemple de réponse :
192.168.1.105:129.175.131.162
A+
Richard
richard
P'tit Guru de domotique
 
Messages: 62
Inscription: 04 Mai 2011, 15:03

Re: Récupérer son adresse IP publique via la zibase

Messagede Andre33 » 25 Mar 2013, 10:30

Merci Richard !

Info intéressante effectivement.

On peut quand même se demander pourquoi Zodianet n'intègre pas certaines de ces infos (comme l'adresse LAN) dans son interface native...
André
Zibase 2S + FOSCAM FI8905W + Sondes Oregon Température + Pluvio + Hygro + Piscine + Chacon + OWL - Connexion Satellite Sat2Way (pour cause d'isolation totale au fond des bois ;-) + Routeur TP-Link Wifi N 3G/3.75G TL-MR3420
Andre33
P'tit Guru de domotique
 
Messages: 53
Inscription: 28 Nov 2012, 15:04


Retourner vers Box - Zibase de Ziblue (ex Zodianet)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 23 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique