Page 3 sur 8

Re: Contrôler sa freebox avec google home

Publié : 16 nov. 2017, 18:27
par loteran
Ne parvenant pas à trouver le problème sur mon nouveau sript, je vous le soumet voir si vous trouvez la solution.

J'ai gardé les même variable pour pouvoir passer d'un scipt à l'autre.

Le script lua qui recoit la variable depuis le site d'ifttt :

Code : Tout sélectionner

commandArray = {}

nom="osmc"
ip=""
port="8080"

ifttt=uservariables["freebox"]
ifttt=string.lower(ifttt)


print("valeur d'ifttt au début du script : "..ifttt)

if ifttt=="vide" or ifttt== nil then
print("sortie du script")
return commandArray

else
print("lancement du script freebox.sh avec ifttt = "..ifttt)
os.execute('/home/'..nom..'/domoticz/scripts/freebox.sh '..ifttt) -- Le problème est ici, pour envoyer la valeur d'ifttt à freebox.sh (alors que dans mon script premier, lorsque je transmet la valeur d'ifttt au script chg_chaine.sh, cela ne pose aucun problème)

end

raz="vide"
commandArray['Variable:freebox']=''..raz
return commandArray
Et le script freebox.sh qui fait appel aux scipt chg_chaine.sh et chg_touche.sh qui est beaucoup moins lourd que ce que j'ai fait avec le script lua, du coup tout est plus léger mais ca bug, sachant que si je fais en mode console un :

Code : Tout sélectionner

sh freebox.sh la 1
cela fonctionne et me change la chaine.

Code : Tout sélectionner

#!/bin/bash

#########################declaration des variables#################################
ifttt="" #remise à zero d'ifttt
chaine="sh /home/"$USER"/domoticz/scripts/chg_chaine.sh"
touche="sh /home/"$USER"/domoticz/scripts/chg_touche.sh"

############Recuperation de la valeur d'ifttt et vérification du nombre d'arguments##########################
case $# in
        1) ifttt="$1";;
        2) ifttt="$1 $2";;
        3) ifttt="$1 $2 $3";;
        4) ifttt="$1 $2 $3 $4";;
        5) ifttt="$1 $2 $3 $4 $5";;
        6) ifttt="$1 $2 $3 $4 $5 $6";;
        7) ifttt="$1 $2 $3 $4 $5 $6 $7";;
        8) ifttt="$1 $2 $3 $4 $5 $6 $7 $8";;
        9) ifttt="$1 $2 $3 $4 $5 $6 $7 $8 $9";;
esac
######################################Changement de chaines######################################################


case "$ifttt" in
# Par nom de chaine
	"tf 1") $chaine 0 0 1;;
	"france 2") $chaine 0 0 2;;
	"france 3") $chaine 0 0 3;;
	"canal plus") $chaine 0 0 4;;
	"france 5") $chaine 0 0 5;;
	"m 6") $chaine 0 0 6;;
	"arte") $chaine 0 0 7;;
	"c 8") $chaine 0 0 8;;
	"w 9") $chaine 0 0 9;;
	"tmc") $chaine 0 1 0;;
	"nt1") $chaine 0 1 1;;
	"nrj 12") $chaine 0 1 2;;
	"lcp") $chaine 0 1 3;;
	"france 4") $chaine 0 1 4;;
	"bfm") $chaine 0 1 5;;
	"cnews") $chaine 0 1 6;;
	"cstar") $chaine 0 1 7;;
	"gulli") $chaine 0 1 8;;
	"france haut") $chaine 0 1 9;;
	"hd 1") $chaine 0 2 0;;
	"lquipe") $chaine 0 2 1;;
	"6 ter") $chaine 0 2 2;;
	"numro 23") $chaine 0 2 3;;
	"rmc") $chaine 0 2 4;;
# Par numéro de chaine
	"la 1") $chaine 0 0 1;;
	"la 2") $chaine 0 0 2;;
	"la 3") $chaine 0 0 3;;
	"la 4") $chaine 0 0 4;;
	"la 5") $chaine 0 0 5;;
	"la 6") $chaine 0 0 6;;
	"la 7") $chaine 0 0 7;;
	"la 8") $chaine 0 0 8;;
	"la 9") $chaine 0 0 9;;
	"la 10") $chaine 0 1 0;;
	"la 11") $chaine 0 1 1;;
	"la 12") $chaine 0 1 2;;
	"la 13") $chaine 0 1 3;;
	"la 14") $chaine 0 1 4;;
	"la 15") $chaine 0 1 5;;
	"la 16") $chaine 0 1 6;;
	"la 17") $chaine 0 1 7;;
	"la 18") $chaine 0 1 8;;
	"la 19") $chaine 0 1 9;;
	"la 20") $chaine 0 2 0;;
	"la 21") $chaine 0 2 1;;
	"la 22") $chaine 0 2 2;;
	"la 23") $chaine 0 2 3;;
	"la 24") $chaine 0 2 4;;
######################################Appuie sur une touche######################################################


esac
exit 0

Je suis persuadé que ce n'est pas grand chose mais je bloque...

Re: Contrôler sa freebox avec google home

Publié : 21 nov. 2017, 14:31
par alexbi
petite info pour que webhook envoi bien les accents il faut mettre comme cela :
type=command&param=updateuservariable&id=54&vname=freebox&vtype=2&vvalue=<<<{{TextField}}>>>

c'est les <<<>>> qui change tout

Re: Contrôler sa freebox avec google home

Publié : 21 nov. 2017, 17:01
par loteran
alexbi a écrit :petite info pour que webhook envoi bien les accents il faut mettre comme cela :
type=command&param=updateuservariable&id=54&vname=freebox&vtype=2&vvalue=<<<{{TextField}}>>>

c'est les <<<>>> qui change tout
Salut Alexbi,

Merci de ton retour ca marche impécable, c'était pourtant indiqué mais je n'avais pas saisi le sens de leur phrase :) et si j'ai mis la reconnaissance des mots plus celle des numéros, c'est parceque ca me posait des problèmes de reconnaissance, avec les deux pas de soucis.

PS: t'aurais pas un indice pour me faire avancer sur le dernier script que je veux mettre en place ??? :)

Re: Contrôler sa freebox avec google home

Publié : 21 nov. 2017, 17:13
par alexbi
de rien !

dsl pour ton dernier script je suis largué je connaissais ce petit truc à cause de tuto que j'ai suivis pour utiliser autovoice et tasker et ifttt. mais le Bash c'est un truc que connais pas je suis entrain de lire des tutos lol



Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk

Re: Contrôler sa freebox avec google home

Publié : 21 nov. 2017, 18:19
par loteran
Voilà problème réglé pour mon script plus "léger" :)

Mon problème venait de la variable $USER qui n'est pas reconnu lorsque le script est executé depuis domoticz, je l'ai donc remplacé par $user (mais il faut renseigner la variable au préalable) et le tour est joué...enfin !!!

Je modifie le premier post du coup

Re: Contrôler sa freebox avec google home V2

Publié : 21 nov. 2017, 18:44
par alexbi
cool je vais pouvoir mettre tout ça en place avec mon orvibo all in one ça va être sympas

Envoyé de mon HUAWEI VNS-L31 en utilisant Tapatalk

Re: Contrôler sa freebox avec google home V2

Publié : 22 nov. 2017, 01:47
par alexbi
j'ai rencontré un problème d'execution de script bash (.sh). Je pouvait l’exécuter directement via putty mais pas via domoticz ...

mon problème c’était juste que mon notepad++ n’étais pas configuré de la bonne façon pour écrire du bash

il faut tout simplement changer le paramètre édition>convertir les sauts de ligne>format UNIX(lf)

voila je voulais partager parce que moi ça m'a bien prit la tete cette histoire.




#!/usr/bin/php^M : mauvais interpreteur de commande
Posted on 15 mai 2014 by dominique
Lorsque que l’on écrit un script php destiné a être une ligne de commande linux, il faut s’assurer le texte a ses retours de chariot formaté façon linux (LF). Si ce n’est pas le cas on obtient ce message d’erreur.

Pour le changer dans phpstorm il faut cliqué en bas a droite de la fenêtre de phpstorm sur

CR/LF pour le changer en LF



Dans ultraedit c’est dans le menu édition=>Convertir les sauts de ligne => Convertir en Format UNIX (LF)



Après réenregistrement le script s’exécutera normalement en ligne de commande.

Re: Contrôler sa freebox avec google home V2

Publié : 22 nov. 2017, 01:48
par loteran
Bon, melle si le problème d'accent est résolue pour le récupérer depuis ifttt, pour le script freebox.sh, c'est pas encore réglé :) donc on ne peut pas changer sur une chaîne ayant un accent, comme pour la chaîne l'équipe :') il faut dire 21.

Si quelqu'un peut me mettre sur la voie je sus preneur.

En attendant je modifierai script_variable_freebox.sh pour gérer ce problème.

Re: Contrôler sa freebox avec google home V2

Publié : 22 nov. 2017, 01:52
par loteran
alexbi a écrit :j'ai rencontré un problème d'execution de script bash (.sh). Je pouvait l’exécuter directement via putty mais pas via domoticz ...

mon problème c’était juste que mon notepad++ n’étais pas configuré de la bonne façon pour écrire du bash

il faut tout simplement changer le paramètre édition>convertir les sauts de ligne>format UNIX(lf)

voila je voulais partager parce que moi ça m'a bien prit la tete cette histoire.



#!/usr/bin/php^M : mauvais interpreteur de commande
Posted on 15 mai 2014 by dominique
Lorsque que l’on écrit un script php destiné a être une ligne de commande linux, il faut s’assurer le texte a ses retours de chariot formaté façon linux (LF). Si ce n’est pas le cas on obtient ce message d’erreur.

Pour le changer dans phpstorm il faut cliqué en bas a droite de la fenêtre de phpstorm sur

CR/LF pour le changer en LF



Dans ultraedit c’est dans le menu édition=>Convertir les sauts de ligne => Convertir en Format UNIX (LF)



Après réenregistrement le script s’exécutera normalement en ligne de commande.

J'ai eu le problème, pour le résoudre je copie colle sur un fichier nouveau sans "language" et je re copie colle sur putty.

Je vais tester ta solution demain.

Re: Contrôler sa freebox avec google home V2

Publié : 22 nov. 2017, 13:50
par pierre
Hello

Super tuto, merci

Mais je ne comprend pas comment on envoi les commandes pour les touches, je ne vois pas où chg_touche.sh est utilisé.

Cdt