dzVents et openUrl

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
feanor
Messages : 11
Inscription : 09 févr. 2019, 20:23

dzVents et openUrl

Message par feanor »

Bonjour,

J'ai un problème avec l'appel de la fonction openUrl de dzVents. Je veux activer la sortie d'un weemos D1 sous easyesp en fonction de certains paramètres (je sais que easyesp peut le faire de façon autonome mais je veux m'entrainer à écrire des scripts...).

Dans mon script j'appelle donc la fonction

Code : Tout sélectionner

domoticz.openUrl("http://192.168.0.192/control?cmd=GPIO,12,1")
mais systématiquement dans le log de domoticz j'ai l'erreur "attempt to call field 'openUrl' (a nil value)"

qu'est-ce qui coince ??? il faut fournir d'autres paramètres ? Je ne trouve pas vraiment de doc à ce sujet...
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: dzVents et openUrl

Message par papoo »

il faut definir un callback
et ensuite attendre la réponse de ce callback pour continuer le script
exemple :
https://easydomoticz.com/forum/viewtopi ... 822#p58822
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
feanor
Messages : 11
Inscription : 09 févr. 2019, 20:23

Re: dzVents et openUrl

Message par feanor »

J'ai donc remplacé comme dans ton exemple par

Code : Tout sélectionner

domoticz.openUrl({url="http://192.168.0.192/control?cmd=GPIO,14,1", callback='trigger'})
et j'obtiens toujours la même erreur : l'URL n'est pas appelée.

Comment je fais pour attendre le callback pour continuer ? Je suis par

Code : Tout sélectionner

 if (item.isHTTPResponse and item.ok) then
		         domoticz.openUrl({url="http://192.168.0.192/control?cmd=GPIO,12,0", callback='trigger'})
		         end
?

J'ai testé et ça ne marche pas non plus...

Edit :
Je ne comprend vraiment pas comment fonctionne cette fonction. Dans la doc, c'est juste précisé
openURL(url/options): Function. Have Domoticz 'call' a URL. If you just pass a url then Domoticz will execute the url after your script has finished but you will not get notified.

J'avais plusieurs appels de la fonction, mais comme elle n'est sensée être appelée que lorsque le script est terminé, je n'en ai gardé qu'une pour tester... J'obtiens systématiquement le même résultat, comme si j'utilisais juste la fonction sans paramètres... J'ai testé toutes les lignes suivantes, j'obtiens systématiquement le même message d'erreur : il ne parvient pas à récupérer l'url à appeler...

Code : Tout sélectionner

domoticz.openUrl({url='http://192.168.0.192/control?cmd=GPIO,14,1'})
domoticz.openUrl('http://192.168.0.192/control?cmd=GPIO,14,1')
domoticz.openUrl({url='http://192.168.0.192/control?cmd=GPIO,14,1', callback='trigger'})
domoticz.openUrl({url='http://192.168.0.192/control?cmd=GPIO,14,1', method='GET'})

J'ai même testé domoticz.openUrl() tout seul, et j'ai la même erreur :D
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: dzVents et openUrl

Message par papoo »

escuse moi je t'ai orienté vers une fausse piste. le callback n'est que lorsque tu attend une info en retour de ta commande
un autre exemple sans callback

https://easydomoticz.com/forum/viewtopi ... 982#p65445

as tu essayé en ligne de commande sur la machine qui utilise ton script de lancer un curl sur cette url voir si la machine distante accepte la requete?

essai aussi de stocker ton url dans une variable puis d'appeler cette variable dans openurl
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
feanor
Messages : 11
Inscription : 09 févr. 2019, 20:23

Re: dzVents et openUrl

Message par feanor »

Cettte URL fonctionne très bien lorsqu'elle est appelée par exemple au changement d'état d'un switch, donc le module esp accepte bien les commandes venant de domoticz. Le problème est surtout qu'en l'état le script ne déclenche même pas d'appel de l'URL, il génère juste une erreur et le script s'arrête...

Pas de changement en stockant l'url dans une variable. Je ne comprend pas pourquoi la fonction interprète systématiquement la chaine de caractères que je lui passe en entrée comme null...

J'ai essayé aussi

Code : Tout sélectionner

url='http://192.168.0.192/control?cmd=GPIO,14,1'
		   domoticz.openUrl(tostring(url))
pas mieux...
Je suis à cour d'idée...
Tirso
Messages : 6
Inscription : 10 nov. 2019, 20:54

Re: dzVents et openUrl

Message par Tirso »

Je suis au même point. Avez-vous pu régler ce soucis?
Merci
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: dzVents et openUrl

Message par Keros »

Regarde dans ma signature, j'ai écris quelques conseils à propos du débogage.

Postes nous ton script complet avec tes log. Mets des prints des éléments qui nous intéresse.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: dzVents et openUrl

Message par Keros »

Tiens, Denis vient de poster une fonction que tu peux adapter pour ouvrir un lien web.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Nass2
Messages : 2
Inscription : 22 janv. 2021, 09:38

Re: dzVents et openUrl

Message par Nass2 »

Bonjour à tous,

Je me permet de répondre à ce sujet car c'est le premier qui remonte quand on fait une recherche google "dzvents openurl" ou "dzVents attempt to call a nil value (field "'openUrl" ')" et que la réponse au problème n'y figure pas. (j'ai créé mon compte uniquement pour ça)

Le problème vient de l'utilisation de openUrl la bonne fonction est openURL (j'ai eu le même souci avant de trouver la solution sur un autre forum en anglais).

donc si je déterre le sujet désolé, mais celui est bien référencé.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: dzVents et openUrl

Message par Keros »

Bonjour Nass2 et bienvenue sur le forum ;)

Le déterrage n'est pas si vieux, aucun soucis. Même au contraire, merci d'être venu pour partager l'info. :)

Ce serait donc une différence d'écriture entre openUrl et openURL qui expliquerait les soucis ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre