Page 3 sur 4

Re: Adresse IP publique

Publié : 08 févr. 2018, 12:22
par QcVictor
papoo a écrit :@QcVictor
Que disent tes logs ? Il y a t’il une erreur à l’exécution du script ?
Papoo, oui c'est mon log au dessus, ca commnence Par

Code : Tout sélectionner

2018-02-07 17:16:00.428 Error: EventSystem: in script_time_my_ip_com: [string "--[[..."]:62: cannot open --[[
name : script_time_my_ip_com.lua 
le script a été crée dans l’éditeur de script interne, il s'appel bien script_time_my_ip_com

Re: Adresse IP publique

Publié : 08 févr. 2018, 13:07
par papoo
ligne 62 du script => chemin vers curl

Code : Tout sélectionner

curl = '/usr/bin/curl
il me semble que tu est sous windows? as tu Curl d'installé? quel est le chemin vers son répertoire d'installation?
il te faut personnaliser le script par rapport à ta configuration

Re: Adresse IP publique

Publié : 08 févr. 2018, 14:17
par Vercing
Rebonjour,

Je reviens sur ma modification plugin python "WAN-IP-CHECKER" qui intégrerait la mise à jour du dynhost OVH.

J'ai testé le bout de code suivant :

Code : Tout sélectionner

#!/usr/bin/python2.7

import argparse
import requests
import socket
import sys

queryArguments = {'system':'dyndns', 'hostname':'mondynhost', 'myip':'monip'}
response = requests.get("https://www.ovh.com/nic/update", params=queryArguments, auth=('mondynhost-ID', 'monpass'))
print(response.text)
et cela fonctionne parfaitement (par contre ip entrée en "dure")

Donc toujours à partir du plugin Python "WAN-IP-CHECKER"
=> j'ai rajouté les import manquants (ceux indiqués dans le script ci-dessus),
j'ai rajouté ce bout de code...

et toujours les mêmes erreurs...
2018-02-08 12:53:03.470 Error: (WAN-IP-OVH) failed to load 'plugin.py', Python Path used was '/home/pi/domoticz/plugins/Wan-IP-OVH/:/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2018-02-08 12:53:03.471 Error: (OVH-Dynhost) Module Import failed, exception: 'TabError'
2018-02-08 12:53:03.471 Error: (OVH-Dynhost) Import detail: File: /home/pi/domoticz/plugins/Wan-IP-OVH/plugin.py, Line: -1486153632, offset: 157
2018-02-08 12:53:03.471 Error: (OVH-Dynhost) Error Line ' if Parameters["Mode5"] == 'misajour':
Donc si quelqu'un s'y connait assez en python...
car j'ai pas l’impression que ce soit réellement ce bout de code qui pose problème... et je tourne en rond...

Par contre, s'il faut que je crée un nouveau sujet à part...
Ne pas hésiter à me le dire

Bien cordialement,

Cyril

Re: Adresse IP publique

Publié : 08 févr. 2018, 15:00
par QcVictor
papoo a écrit :ligne 62 du script => chemin vers curl

Code : Tout sélectionner

curl = '/usr/bin/curl
il me semble que tu est sous windows? as tu Curl d'installé? quel est le chemin vers son répertoire d'installation?
il te faut personnaliser le script par rapport à ta configuration
Non sur un ubuntu

Code : Tout sélectionner

curl is already the newest version (7.47.0-1ubuntu2.6)

Code : Tout sélectionner

pi@UbuntuTemplate:~$ curl = '/usr/bin/curl
> 

Re: Adresse IP publique

Publié : 11 févr. 2018, 10:07
par papoo
@QcVictor :
as tu essayer de lancer en ligne de commande ceci :

Code : Tout sélectionner

/usr/bin/curl -m 5 -4 https://api.myip.com/
?
Afin de savoir si ton système trouve et utilise correctement la commande curl ou si c'est le script qui ne fonctionne pas chez toi

Re: Adresse IP publique

Publié : 11 févr. 2018, 12:18
par QcVictor
papoo a écrit :@QcVictor :
as tu essayer de lancer en ligne de commande ceci :

Code : Tout sélectionner

/usr/bin/curl -m 5 -4 https://api.myip.com/
?
Afin de savoir si ton système trouve et utilise correctement la commande curl ou si c'est le script qui ne fonctionne pas chez toi
Oui ca fonctionne :

Code : Tout sélectionner

pi@UbuntuTemplate:~$ /usr/bin/curl -m 5 -4 https://api.myip.com/
{"ip":"xx.xx.xx.xxx","country":"Canada","cc":"CA"}pi@UbuntuTemplate:~$ 

Re: Adresse IP publique

Publié : 11 févr. 2018, 13:35
par papoo
@QcVictor
cela provient peut etre du code juste avant CAD le chemin vers ton dossier lua qui serait mal interprété par ton ubuntu
remplace le code

Code : Tout sélectionner

	if (package.config:sub(1,1) == '/') then
		 luaDir = debug.getinfo(1).source:match("@?(.*/)")
	else
		 luaDir = string.gsub(debug.getinfo(1).source:match("@?(.*\\)"),'\\','\\\\')
	end
par

Code : Tout sélectionner

luaDir = "/le/chemin/vers/ton/fichier/lua/"
exemple

Code : Tout sélectionner

luaDir = "/home/pi/domoticz/scripts/lua/"
essai aussi de remplacer les lignes commentées en début de script

Code : Tout sélectionner

--[[
name : script_time_my_ip_com.lua
auteur : papoo
date de création : 23/01/2018
Date de mise à jour : 11/02/2018
Principe : tester, via l'api du site myip.com votre adresse publique et être notifié de chaque changement.
possibilité de tester une IP en V4 ou V6, d'être notifié seulement par mail en renseignant la variable EmailTo avec une plusieurs adresses mails, 
mais aussi avec toutes autres notifications paramétrées dans domoticz avec le choix de celles-ci (variable notification pour activer celles-ci, variable subsystem pour ne sélectionner qu'une ou plusieurs notifications parmi celles disponible
Le délai d"exécution est modifiable simplement (variable delai à renseigner en minutes) ainsi que l'activation/désactivation du fonctionnement de ce script (variable script_actif)
https://easydomoticz.com/forum/viewtopic.php?f=8&t=5732&p=48620#p48620
http://pon.fr/etre-notifie-de-son-changement-dip-publique-en-lua/
https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_my_ip_com.lua
]]--
par

Code : Tout sélectionner

--name : script_time_my_ip_com.lua
--auteur : papoo
--date de création : 23/01/2018
--Date de mise à jour : 11/02/2018
--Principe : tester, via l'api du site myip.com votre adresse publique et être notifié de chaque changement.
--possibilité de tester une IP en V4 ou V6, d'être notifié seulement par mail en renseignant la variable EmailTo avec une plusieurs adresses mails, 
--mais aussi avec toutes autres notifications paramétrées dans domoticz avec le choix de celles-ci (variable notification pour activer celles-ci, variable subsystem pour ne sélectionner qu'une ou plusieurs notifications parmi celles disponible
--Le délai d"exécution est modifiable simplement (variable delai à renseigner en minutes) ainsi que l'activation/désactivation du fonctionnement de ce script (variable script_actif)
--https://easydomoticz.com/forum/viewtopic.php?f=8&t=5732&p=48620#p48620
--http://pon.fr/etre-notifie-de-son-changement-d-ip-publique-en-lua/
--https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_my_ip_com.lua
au cas où car ton erreur dans tes logs commence par ça

Code : Tout sélectionner

string "--[[..."]:62: cannot open --[[
enfin remplace

Code : Tout sélectionner

curl = '/usr/bin/curl -m 5 -u domoticzUSER:domoticzPSWD '
par

Code : Tout sélectionner

curl = '/usr/bin/curl -m 5 '

Re: Adresse IP publique

Publié : 11 févr. 2018, 15:38
par QcVictor
Edit:
Juste remplacer comme suggérer le chemin par

Code : Tout sélectionner

luaDir = "/home/pi/domoticz/scripts/lua/"
fonctionne dans l’éditeur de script...
Merci encore.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ok ça fonctionne, le script doit être crée dans le dossiers "/home/pi/domoticz/scripts/lua/"
je le faisais dans l’éditeur de script interne et visiblement cela ne le fait pas ....... Merci pour ton support
papoo a écrit :@QcVictor
cela provient peut etre du code juste avant CAD le chemin vers ton dossier lua qui serait mal interprété par ton ubuntu
remplace le code

Code : Tout sélectionner

	if (package.config:sub(1,1) == '/') then
		 luaDir = debug.getinfo(1).source:match("@?(.*/)")
	else
		 luaDir = string.gsub(debug.getinfo(1).source:match("@?(.*\\)"),'\\','\\\\')
	end
par

Code : Tout sélectionner

luaDir = "/le/chemin/vers/ton/fichier/lua/"
exemple

Code : Tout sélectionner

luaDir = "/home/pi/domoticz/scripts/lua/"
essai aussi de remplacer les lignes commentées en début de script

Code : Tout sélectionner

--[[
name : script_time_my_ip_com.lua
auteur : papoo
date de création : 23/01/2018
Date de mise à jour : 11/02/2018
Principe : tester, via l'api du site myip.com votre adresse publique et être notifié de chaque changement.
possibilité de tester une IP en V4 ou V6, d'être notifié seulement par mail en renseignant la variable EmailTo avec une plusieurs adresses mails, 
mais aussi avec toutes autres notifications paramétrées dans domoticz avec le choix de celles-ci (variable notification pour activer celles-ci, variable subsystem pour ne sélectionner qu'une ou plusieurs notifications parmi celles disponible
Le délai d"exécution est modifiable simplement (variable delai à renseigner en minutes) ainsi que l'activation/désactivation du fonctionnement de ce script (variable script_actif)
https://easydomoticz.com/forum/viewtopic.php?f=8&t=5732&p=48620#p48620
http://pon.fr/etre-notifie-de-son-changement-dip-publique-en-lua/
https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_my_ip_com.lua
]]--
par

Code : Tout sélectionner

--name : script_time_my_ip_com.lua
--auteur : papoo
--date de création : 23/01/2018
--Date de mise à jour : 11/02/2018
--Principe : tester, via l'api du site myip.com votre adresse publique et être notifié de chaque changement.
--possibilité de tester une IP en V4 ou V6, d'être notifié seulement par mail en renseignant la variable EmailTo avec une plusieurs adresses mails, 
--mais aussi avec toutes autres notifications paramétrées dans domoticz avec le choix de celles-ci (variable notification pour activer celles-ci, variable subsystem pour ne sélectionner qu'une ou plusieurs notifications parmi celles disponible
--Le délai d"exécution est modifiable simplement (variable delai à renseigner en minutes) ainsi que l'activation/désactivation du fonctionnement de ce script (variable script_actif)
--https://easydomoticz.com/forum/viewtopic.php?f=8&t=5732&p=48620#p48620
--http://pon.fr/etre-notifie-de-son-changement-d-ip-publique-en-lua/
--https://github.com/papo-o/domoticz_scripts/blob/master/Lua/script_time_my_ip_com.lua
au cas où car ton erreur dans tes logs commence par ça

Code : Tout sélectionner

string "--[[..."]:62: cannot open --[[
enfin remplace

Code : Tout sélectionner

curl = '/usr/bin/curl -m 5 -u domoticzUSER:domoticzPSWD '
par

Code : Tout sélectionner

curl = '/usr/bin/curl -m 5 '

Re: Adresse IP publique

Publié : 11 févr. 2018, 18:36
par papoo
je ne me sers pas de l’éditeur interne du coup tout mes scripts utilisant JSON.lua on la reconnaissance automatique du chemin vers celui-ci
j'ai mis mon code à jour avec l'explication pour modifier le chemin en cas d(utilisation de l'éditeur interne
https://github.com/papo-o/domoticz_scri ... ip_com.lua

Re: Adresse IP publique

Publié : 26 févr. 2018, 20:11
par phalseb
Bonsoir papoo,

Super ce script, je débute. Je l'ai installer dans mon dossier lua et... il fonctionne! Super merci mais j'ai une petite question:
Je l'ai mis tourner toutes les 30 mins (je n'ai donc rien changé) et je reçois un mail toutes les 30 . est-il possible de mettre des lignes de code pour ne pas avoir de notification si l'adresse ip ext n'est pas modifiée?

J'ai ceci toutes les 30 min dans le log:
2018-02-26 20:01:00.129 LUA: =========== Mon IP Publique (v0.4) ===========
2018-02-26 20:01:00.129 LUA: --- --- --- /usr/bin/curl -m 5 -4 "https://api.myip.com/"
2018-02-26 20:01:01.298 LUA: --- --- --- Adresse IP Publique : XXX.4X.23.2X4 (je viens de rajouter des XX pour ne pas que tout le monde vienne chez moi ;-)
2018-02-26 20:01:01.299 LUA: --- --- --- pays : Belgium
2018-02-26 20:01:01.299 LUA: --- --- --- code pays format ISO a-2 : BE
2018-02-26 20:01:01.299 LUA: --- --- --- La Variable IP Publique n'existe pas --- --- ---
2018-02-26 20:01:01.299 LUA: --- --- --- adresse XXX.4X.23.2X4 --- --- ---
2018-02-26 20:01:01.299 LUA: --- --- --- Création de la Variable IP Publique manquante --- --- ---
2018-02-26 20:01:01.309 LUA: script supendu
2018-02-26 20:01:01.309 LUA: --- --- --- Notification par mail activée
2018-02-26 20:01:01.309 LUA: --- --- --- Objet:Changement de l'adresse IP à 20:01
2018-02-26 20:01:01.309 LUA: --- --- --- Corps du message: La nouvelle adresse IP est maintenant => http://XXX.4X.23.2X4:8080
2018-02-26 20:01:01.309 LUA: --- --- --- Destinataire: XXXXXXXXXXXXXXXXXXX@gmail.com
2018-02-26 20:01:01.309 LUA: --- --- --- Notification système activée pour les services pushbullet
2018-02-26 20:01:01.309 LUA: ======== Fin Mon IP Publique (v0.4) ==========