Commande lua windows

Le logiciel Domoticz s'installe sur un Raspberry Pi ou sur une machine linux. Il supporte déjà plusieurs protocoles de domotique. Ces derniers mois, de nombreuses mises à jour ont fait progressé ce logiciel ...

Commande lua windows

Messagede Atoila » 18 Nov 2017, 10:39

Bonjour,

Je cherche Ă  envoyer une trame Ă  mon RFXtrx433E via un script Lua sous Windows.
J'ai essayé avec la commande "os.execute" (qui est utilisée avec un Raspberry) mais je ne trouve pas d'équivalent sous Windows.

Mon but est de piloter un Ă©quipement qui n'est pas encore accessible dans la liste de domoticz.
Je fais mes interrupteurs via domoticz et c'est le script qui envoi la trame qui va bien directement.

Merci par avance

Atoila
Atoila
Membre un peu timide !
 
Messages: 4
Inscription: 15 Nov 2017, 20:39

Re: Commande lua windows

Messagede lmet » 18 Nov 2017, 12:46

Bonjour,
Normalement la commande "os.execute" est implémentée.
peux-tu communiquer ton script ?
As-tu un message d'erreur dans les logs ?
lmet
Domotique : RPI 3 raspbian stretch, clef Z-wave Aeon Labs, application Domoticz v4.9700
EverSpring : ST814, AN158-6
Fibaro : FGR-221,FGS-221, FGS-211,FGD-211,FGK-103, FGRM-221, FGRM-222, FGMS-001, FGFS-101
iPad Air 2 : Imperihome
Caméras : FosCam FI9805W
Sécurité : Nest Protect
Energie : AEO_HEM2 d'AEON LABS, onduleur APC Back-UPS ES 700
Autres : Pc Windows 10 Pro 64 bits, IPX 800 v3, Netatmo station météo, NAS Synology DS214, TV Sony KDL-50W755c
Avatar de l’utilisateur
lmet
Dieu de domotique
 
Messages: 1031
Inscription: 14 AoĂ» 2011, 18:54
Localisation: Val d'Oise

Re: Commande lua windows

Messagede Atoila » 18 Nov 2017, 13:33

je suis parti de ça :

Code: Tout sélectionner
    timetofly06 a Ă©crit:
    1) CrĂ©ation d'un interrupteur virtuel "POELE Mode" avec les valeurs "Arret/Manuel/Auto/Eco"
    Je n'exploite pas la valeur OFF du device car en l'utilisant Ă  partir de l'appli Domoticz pour Android, j'ai remarquĂ© que l'Ă©tat "Off" n'Ă©tait pas propagĂ© correctement avec un interrupteur Ă  plusieurs valeurs comme on en a besoin pour recrĂ©er la tĂ©lĂ©commande d'origine

    2) j'utilise ce bout de script LUA Ă  positionner sous /volume1/@appstore/domoticz/var/scripts/lua (attention aux droits)
    Tu remplaces <trame> par les bonnes valeurs sĂ©parĂ©es par des caractères "x". Je n'ai volontairement pas renseignĂ© le contenu de la trame Ă  envoyer au RFXCOM. Il faut demander Ă  Bert l'autorisation.

    Je passe ensuite par le shellscript sendrfx.sh car je n'ai pas reussi Ă  faire executer la commande echo qui va envoyer la trame partir du script lua.

    commandArray = {}
    if devicechanged['POELE Mode'] == 'Arret' then
    print('Arret du poele')
    mode="00"
    cmd=<trame>
    os.execute("/volume1/@appstore/domoticz/var/scripts/lua/sendrfx.sh " .. cmd )
    end
    if devicechanged['POELE Mode'] == 'Manuel' then
    print('Demarrage du poele : Manuel')
    mode="01"
    cmd=<trame>
    os.execute("/volume1/@appstore/domoticz/var/scripts/lua/sendrfx.sh " .. cmd )
    end
    return commandArray

    3) Tu crĂ©es le script sendrfx.sh comme indiquĂ© çi-dessous
    Pour mes tests, j'envoie la trame finale dans le fichier out pour pouvoir la visualiser avant de l'envoyer vers le RFXCOM (/dev/ttuUSB0)

    Je remplace au passage les x par des \x car sinon l'antislash est interprĂ©tĂ© dans le lua et on ne rĂ©cupère pas la trame complĂŞte dans le shell script

    #!/bin/sh
    commande="$1"
    gener=`echo "${commande//x/'\x'}"`
    echo $gener > /volume1/@appstore/domoticz/var/scripts/lua/out
    echo -e $gener > /dev/ttyUSB0


et j'en suis Ă 

Code: Tout sélectionner
-- nom de zone
local Mode = 'Mode_poele'       

commandArray = {}

print('Test1')
if otherdevices[Mode] == 'Off' then
print('Arret du poele')
mode="00"
cmd='trame'
os.execute('script C:/Program Files (x86)/Domoticz/scripts/lua/sendrfx.sh '.. cmd)
print('Test2')
end

if otherdevices[Mode] == 'Manu' then
print('Demarrage du poele : Manuel')
mode="01"
cmd='trame'
os.execute('sh /C:/Program Files (x86)/Domoticz/scripts/lua/sendrfx.sh .. cmd')
print('Test3')
end

return commandArray


j'ai fait des essais avec sh, script, bash, curl mais rien ni fait, j'ai toujours cette erreur:
" 'script' n'est reconnu comme commande interne ou externe, un programme exécutable ou un fichier de commande "
Atoila
Membre un peu timide !
 
Messages: 4
Inscription: 15 Nov 2017, 20:39

Re: Commande lua windows

Messagede lmet » 18 Nov 2017, 14:04

Je vais creuser un peu mais dans un premier temps voici une petite interrogation :
Le script de départ semble écrit pour un os de type unix/linux (.sh)
Sous Windows les scripts sont en ".bat" ou ".cmd"
lmet
Domotique : RPI 3 raspbian stretch, clef Z-wave Aeon Labs, application Domoticz v4.9700
EverSpring : ST814, AN158-6
Fibaro : FGR-221,FGS-221, FGS-211,FGD-211,FGK-103, FGRM-221, FGRM-222, FGMS-001, FGFS-101
iPad Air 2 : Imperihome
Caméras : FosCam FI9805W
Sécurité : Nest Protect
Energie : AEO_HEM2 d'AEON LABS, onduleur APC Back-UPS ES 700
Autres : Pc Windows 10 Pro 64 bits, IPX 800 v3, Netatmo station météo, NAS Synology DS214, TV Sony KDL-50W755c
Avatar de l’utilisateur
lmet
Dieu de domotique
 
Messages: 1031
Inscription: 14 AoĂ» 2011, 18:54
Localisation: Val d'Oise

Re: Commande lua windows

Messagede Atoila » 18 Nov 2017, 14:21

Effectivement, je l'ai passé en ".bat".
Mais je ne suis pas sûr non plus que l'écriture du ".bat" soit la même que le ".sh"
Atoila
Membre un peu timide !
 
Messages: 4
Inscription: 15 Nov 2017, 20:39

Re: Commande lua windows

Messagede lmet » 18 Nov 2017, 14:36

Oups ! Je n'avais pas tout lu :
Code: Tout sélectionner
#!/bin/sh
commande="$1"
gener=`echo "${commande//x/'\x'}"`
echo $gener > /volume1/@appstore/domoticz/var/scripts/lua/out
echo -e $gener > /dev/ttyUSB0
C'est un script Linux cela ne fonctionnera pas sous Windows.
lmet
Domotique : RPI 3 raspbian stretch, clef Z-wave Aeon Labs, application Domoticz v4.9700
EverSpring : ST814, AN158-6
Fibaro : FGR-221,FGS-221, FGS-211,FGD-211,FGK-103, FGRM-221, FGRM-222, FGMS-001, FGFS-101
iPad Air 2 : Imperihome
Caméras : FosCam FI9805W
Sécurité : Nest Protect
Energie : AEO_HEM2 d'AEON LABS, onduleur APC Back-UPS ES 700
Autres : Pc Windows 10 Pro 64 bits, IPX 800 v3, Netatmo station météo, NAS Synology DS214, TV Sony KDL-50W755c
Avatar de l’utilisateur
lmet
Dieu de domotique
 
Messages: 1031
Inscription: 14 AoĂ» 2011, 18:54
Localisation: Val d'Oise

Re: Commande lua windows

Messagede Atoila » 18 Nov 2017, 14:52

oui tout Ă  fait.
Pendant mes essais je l'ai passé en ".bat".
Je suis actuellement en train d'essayer de faire fonctionner le batch
Atoila
Membre un peu timide !
 
Messages: 4
Inscription: 15 Nov 2017, 20:39


Retourner vers Logiciel - Domoticz

Qui est en ligne

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

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