[RESOLU] Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

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 <\>.
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

[RESOLU] Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

Bonjour à tous,

je possède une google home mini et je souhaitais envoyer des notifications depuis Domoticz dessus.

J'ai trouvé ce script python : https://bierdok.net/post/obtenir-les-va ... ogle-home/

J'ai effectué l'installation et cela fonctionne bien depuis rapsbian directement : si je fais un gnotify coucou, ma google home mini dit "coucou".
Par contre, si je fais cela dans un script lua en timer dans domoticz alors rien ne se passe :

Code : Tout sélectionner

commandArray = {
os.execute("GNOTIFY coucou")
return commandArray
Si je regarde le retour de os.execute :

Code : Tout sélectionner

commandArray = {}
retour_cmd=os.execute("GNOTIFY test")
if retour_cmd then
   print("ok")
else
    print("ko")
end
return commandArray
c'est ko qui sort dans mes logs domoticz.

J'ai pensé à un problème avec les variables d'environnement car Gnotify en a besoin pour fonctionner.
Une des étapes d'installation est :

Code : Tout sélectionner

echo -e "export GNOTIFY_IPS=[ip-addresses]\nexport GNOTIFY_LANG=[language]" | sudo tee --append /etc/profile
Cependant, mes connaissances sur raspbian sont trop limitées.

Auriez-vous une idée?
Dernière modification par Douns le 23 août 2019, 15:34, modifié 1 fois.
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
Doume
Messages : 550
Inscription : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Doume »

GNOTIFY et gnotify, ce n'est pas la même chose, sous Linux !
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

Ah ouaip, bien vu! J'essaye ce soir (si c'est cela, j'ai les boules). :roll:
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

Doume a écrit : 19 août 2019, 14:37 GNOTIFY et gnotify, ce n'est pas la même chose, sous Linux !
Bon ce n'est pas cela (j'avais déjà essayé, mais je n'étais plus sur.). Peux-t'on avoir un retour complet de la commande (avec le message d'erreur si présent) dans domoticz?
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par vil1driver »

Salut,

Comme ceci

viewtopic.php?p=72425#p72425

Certaines réponses à des problèmes qui ne sont pas les notres peuvent servir..
Restez curieux ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

Alors voici le script implémenté pour tester :

Code : Tout sélectionner

commandArray = {}
function os.capture(cmd, raw)
  local f = assert(io.popen(cmd, 'r'))
  local s = assert(f:read('*a'))
  f:close()
  if raw then return s end
  s = string.gsub(s, '^%s+', '')
  s = string.gsub(s, '%s+$', '')
  s = string.gsub(s, '[\n\r]+', ' ')
  return s
end

print('script lance par :'..os.capture('whoami'))
print(os.capture('gnotify test'))

return commandArray
voici le retour :

Code : Tout sélectionner

2019-08-20 00:49:00.356 Status: LUA: script lance par :root
2019-08-20 00:49:00.564 Status: LUA: 
pas de retour sur l'exécution...
Comment puis-je vérifier que les variables d'environnement GNOTIFY_IPS et GNOTIFY_LANG sont initialisées pour l'utilisateur root? (on serait sous windows, je vous embêterais pas, mais là j'ai beau chercher, je suis perdu!)
Dernière modification par Douns le 20 août 2019, 15:47, modifié 1 fois.
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par vil1driver »

Et en utilisant le chemin complet ?

Code : Tout sélectionner

whereis gnotify
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

vil1driver a écrit : 20 août 2019, 01:21 Et en utilisant le chemin complet ?

Code : Tout sélectionner

whereis gnotify
Alors dans putty :

Code : Tout sélectionner

pi@Domoticz:~ $ whereis gnotify
gnotify: /usr/local/bin/gnotify
J'ai donc modifié mon code comme ceci :

Code : Tout sélectionner

print('script lance par :'..os.capture('whoami'))
print(os.capture('/usr/local/bin/gnotify test'))
et cela ne change rien à la fenêtre de résultat... :cry:

Code : Tout sélectionner

 2019-08-20 15:46:00.230 Status: LUA: script lance par :root
2019-08-20 15:46:00.484 Status: LUA: 
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
Doume
Messages : 550
Inscription : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Doume »

Quel éditeur utilises-tu pour créer/modifier tes scripts sous Raspbian ?

Il faut proscrire tout éditeur "Windows", comme Notepad !
Douns
Messages : 64
Inscription : 04 oct. 2018, 20:38
Localisation : Meurthe-et-Moselle

Re: Script python s'éxecute depuis raspbian mais pas depuis scripts lua domoticz - Gnotify

Message par Douns »

Doume a écrit : 21 août 2019, 12:28 Quel éditeur utilises-tu pour créer/modifier tes scripts sous Raspbian ?

Il faut proscrire tout éditeur "Windows", comme Notepad !
Mes scripts Lua sont modifiés directement depuis l'interface domoticz.

Le script python gnotify n'est pas de moi, je l'ai trouvé et suivi l'installation à cette adresse : https://bierdok.net/post/obtenir-les-va ... ogle-home/

Pour mes exécutions depuis raspbian, je me connecte dessus avec putty.
Domoticz V4.10717 sur raspberry pi 3 B+
RFLink Gateway Nodo 433Mhz
Contrôleur Aeon Labs Z-Wave Plus Z-Stick GEN5
Répondre