Page 2 sur 3
Re: Premier script probleme
Publié : 12 avr. 2016, 18:32
par vil1driver
Salut,
Alexandre a écrit :Pour info l'erreur serait sur la 4 eme ligne
Ça aurait pu en effet mais
Le message d'erreur indique ligne 2..
Alexandre a écrit :Error: EventSystem: in Ambil On: [string "commandArray = {} ..."]:2: attempt to index global 'devicechanged' (a nil value)
Indiquer le message d'erreur est clairement le mieux à faire..
Il est également utile de préciser le nom donné au script.. Ou le type si usage de l'éditeur d'événements.
* devicechanged ne peut être utilisé que dans un script_device.... Voir wiki ou articles du blog sur les tables des périphériques Domoticz passées aux scripts lua.
Les scripts selon leur type n'ont pas tous accès aux même infos..
Re: Premier script probleme
Publié : 12 avr. 2016, 19:09
par Alexandre
vil1driver a écrit :Salut,
Alexandre a écrit :Pour info l'erreur serait sur la 4 eme ligne
Ça aurait pu en effet mais
Le message d'erreur indique ligne 2..
Alexandre a écrit :Error: EventSystem: in Ambil On: [string "commandArray = {} ..."]:2: attempt to index global 'devicechanged' (a nil value)
Indiquer le message d'erreur est clairement le mieux à faire..
Il est également utile de préciser le nom donné au script.. Ou le type si usage de l'éditeur d'événements.
* devicechanged ne peut être utilisé que dans un script_device.... Voir wiki ou articles du blog sur les tables des périphériques Domoticz passées aux scripts lua.
Les scripts selon leur type n'ont pas tous accès aux même infos..
Si dans" event" je met sur "device" au lieu de "all" il ne se passe plus rien!
Re: Premier script probleme
Publié : 12 avr. 2016, 19:30
par vil1driver
Pas d'action visible ne veut pas dire que rien ne se passe !
Mets un print dans ton script, tu verras qu'il se lance (dans les logs)
Re: Premier script probleme
Publié : 12 avr. 2016, 20:32
par Alexandre
Dans le switch virtuel,faut il lui indiqué un commande?
Re: Premier script probleme
Publié : 12 avr. 2016, 21:52
par vil1driver
Pourquoi cette question ?
Tu penses que le script ne se suffit pas à lui-même ?
Comprends tu ce que fait le script que tu nous à montré ?
Que souhaite tu obtenir comme fonctionnement ?
D'ou te vient ta commande curl ?
A-t-elle été testée dans un navigateur ou en ligne de commande avant ?
As tu suivi les conseils de rimram31 ?
Re: Premier script probleme
Publié : 12 avr. 2016, 22:32
par Alexandre
vil1driver a écrit :Pourquoi cette question ?
Tu penses que le script ne se suffit pas à lui-même ?
Comprends tu ce que fait le script que tu nous à montré ?
Que souhaite tu obtenir comme fonctionnement ?
D'ou te vient ta commande curl ?
A-t-elle été testée dans un navigateur ou en ligne de commande avant ?
As tu suivi les conseils de rimram31 ?
SI mais je doit passer a coté de quelque chose,et oui j'ai testé dans chrome et je t'assure que je suit de près vos conseils
Je veux via des switch virtuel allumé la tv,l'ambilight... il me faut des commande POST comme ceci:
http://192.168.1.22:1925/1/ambilight/power
Donnée:
{"power":"Off"}
Cette commande POSTque je prend pour exemple fonctionnne .
Je pense que je me complique la vie!
Re: Premier script probleme
Publié : 13 avr. 2016, 08:33
par rimram31
La bonne question est effectivement que veux-tu faire exactement ?
Si j'essaie de comprendre ton premier post, quand ton device nommé
ambilight_power de domoticz (switch ?) passe a On, tu exécutes ton appel, qui apparemment éteins un
ambilight qque chose, soit.
Le plus simple pour moi c'est de créer un switch virtuel dans domoticz lié a tes commandes.
Tu écris deux scripts sh, un script on et un script off, power_on.sh par exemple:
Code : Tout sélectionner
#!/bin/sh
curl -X POST -H "Content-Type: application/json" -d '{"power":"On"}' http://192.168.1.22:1925/1/ambilight/power
et le power_off.sh. Tu vérifies que tes deux scripts font bien ce que tu veux (tu testes aussi avec root au cas ou ...) et tu mets ces deux scripts dans le répertoire domoticz/scripts.
Ensuite sous domoticz, tu créés un switch virtuel et tu l'édites. Dans Action On, tu mets l'appel a power_on.sh ->
script://power_on.sh et Action Off le script off. Tu peux a ce moment là tester de domoticz en allumant/éteignant ton switch virtuel que ça fait bien toujours l'action on/off.
Enfin tu utilises ce switch dans ta logique de domotique domoticz -> quand machin est actionné, j'éteins/j'allume bidule ...
En règle générale en "programmation", il est préférable de procéder par étapes simples, les valider puis enchainer pour arriver au résultat souhaité. C'est le plus efficace.
Re: Premier script probleme
Publié : 13 avr. 2016, 12:46
par Alexandre
rimram31 a écrit :La bonne question est effectivement que veux-tu faire exactement ?
Si j'essaie de comprendre ton premier post, quand ton device nommé
ambilight_power de domoticz (switch ?) passe a On, tu exécutes ton appel, qui apparemment éteins un
ambilight qque chose, soit.
Le plus simple pour moi c'est de créer un switch virtuel dans domoticz lié a tes commandes.
Tu écris deux scripts sh, un script on et un script off, power_on.sh par exemple:
Code : Tout sélectionner
#!/bin/sh
curl -X POST -H "Content-Type: application/json" -d '{"power":"On"}' http://192.168.1.22:1925/1/ambilight/power
et le power_off.sh. Tu vérifies que tes deux scripts font bien ce que tu veux (tu testes aussi avec root au cas ou ...) et tu mets ces deux scripts dans le répertoire domoticz/scripts.
Ensuite sous domoticz, tu créés un switch virtuel et tu l'édites. Dans Action On, tu mets l'appel a power_on.sh ->
script://power_on.sh et Action Off le script off. Tu peux a ce moment là tester de domoticz en allumant/éteignant ton switch virtuel que ça fait bien toujours l'action on/off.
Enfin tu utilises ce switch dans ta logique de domotique domoticz -> quand machin est actionné, j'éteins/j'allume bidule ...
En règle générale en "programmation", il est préférable de procéder par étapes simples, les valider puis enchainer pour arriver au résultat souhaité. C'est le plus efficace.
Rimram en effet tu vois bien ce que je veux faire.
Je pensais juste q'en éditant un script On et un OFF pour commencer dans "evenement"/"Lua"/" device" se serait plus simple pour moi , oublie pas je suis novice.Et aussi je t'ai pas préciser je suis sous windows.
Re: Premier script probleme
Publié : 13 avr. 2016, 13:50
par vil1driver
rahh Windows, le truc hyper important à préciser.. !
il faut vraiment tout dire à son médecin sinon il ne peut pas soigner correctement son malade
pas de curl en natif sous windows, mais on doit trouver des équivalent à installer..
https://curl.haxx.se/download.html
Re: Premier script probleme
Publié : 13 avr. 2016, 14:28
par rimram31
Alexandre a écrit :...Et aussi je t'ai pas préciser je suis sous windows.
Aie, ça va beaucoup moins bien marcher alors ... Comme tu utilises curl, j'avais déduit que tu étais sous linux, là, je vais laisser les windosiens t'aider, même si dans le principe, au sens de l'interface avec dz, ça fonctionne de façon similaire. Un conseil, bosse le power shell.