Bonjour, j’utilise la fonction ask avec google home pour programmer l’heure d’un réveil
la ask me permet donc d’obtenir par google l’heure du dit réveille, j’ai besoin de cette heure comme variable pour lancer un autre scenario a la dite heure
mais je ne comprend pas comment faire
merci par avance pour votre aide
ci-joint le log du ask avec donc la réponse qui contient l’heure
[2020-04-20 11:19:52][SCENARIO] Start : Scenario lance manuellement.
[2020-04-20 11:19:52][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-04-20 11:19:52][SCENARIO] Demande {"title":"a quelle heure je programme le r\u00e9veille ?","message":"a quelle heure je programme le r\u00e9veille ?","answer":["11"],"timeout":"60","variable":"reponseTest"}
[2020-04-20 11:20:09][SCENARIO] Réponse <<19 h>>
[2020-04-20 11:20:09][SCENARIO] Pause de 10 seconde(s)
[2020-04-20 11:20:19][SCENARIO] Exécution d'un bloc élément : 173
[2020-04-20 11:20:19][SCENARIO] Exécution du sous-élément de type [condition] : if
[2020-04-20 11:20:19][SCENARIO] Evaluation de la condition : ["<<19 h>>" == "<<11>>"] = Faux
[2020-04-20 11:20:19][SCENARIO] Exécution du sous-élément de type [action] : else
[2020-04-20 11:20:19][SCENARIO] Fin correcte du scénario
Bonjour,
Tu as la réponse du ask dans ta variable heure.
Si elle a le bon format, tu peux juste faire un bloc A avec cette variable et mettre une action scenario start
C’est le cas, si tu veux la valeur d’une variable tu dois écrire variable(heure)
Renomme ta variable autrement, par exemple heurereveil si tu veux éviter la confusion en lisant ton scénario.
[2020-04-21 11:06:04][SCENARIO] Lancement du scénario en mode synchrone
[2020-04-21 11:06:04][SCENARIO] Start : Scénario lancé manuellement.
[2020-04-21 11:06:04][SCENARIO] Exécution du sous-élément de type [action] : action
[2020-04-21 11:06:04][SCENARIO] Demande {"title":"a quelle heure je programme le r\u00e9veille ?","message":"a quelle heure je programme le r\u00e9veille ?","answer":["11"],"timeout":"60","variable":"heurer\u00e9veil"}
[2020-04-21 11:06:16][SCENARIO] Réponse <<19 h>>
[2020-04-21 11:06:16][SCENARIO] Pause de 10 seconde(s)
[2020-04-21 11:06:26][SCENARIO] Exécution d'un bloc élément : 174
[2020-04-21 11:06:26][SCENARIO] Exécution du sous-élément de type [condition] : at
[2020-04-21 11:06:26][SCENARIO] Evaluation de la condition : [-1] = -1
[2020-04-21 11:06:26][SCENARIO] Bloc type A : 174, heure programmée invalide : -1
[2020-04-21 11:06:26][SCENARIO] Fin correcte du scénario
j’explore quelque chose que je maitrise très faiblement ^^ j’essaye de chercher et comprendre mais pas simple. heureusement que le forum existe car jusque la j’utilise que des scénarios sans variable de ce type
en tout cas avec (str_replace(« h »," ",variable(heureréveil))
je passe de : 19 H a: 19
déja un bon début, il me faut donc 1900 pour que le bloc A accepte, il me faut donc formater 19 , j’ai testé avec :
formatTime(‹ Hi ›,strtotime(valeur(heureréveil))),-30)
time(‹ Hi ›,strtotime(valeur(heureréveil))),-30)
(time(‹ Hi ›,strtotime(valeur(heureréveil))),-30)
time_op(time(‹ Hi ›,strtotime(valeur(heureréveil))),-30)
time_op(time(‹ Hi ›,strtotime(#[chambre][GH Chambre][Alarme 1]#)),-30)
Time(str_replace(« h »," ",variable(heureréveil))
(str_replace(« h »," ",variable(heureréveil))
formatTime((str_replace(« h »," ",variable(heureréveil))
formatTime((str_replace(« h »," ",variable(heureréveil)))
formatTime(time)(str_replace(« h »," ",variable(heureréveil))
(str_replace(« h »," ",variable "H "(heureréveil))
(str_replace(« h »," ",variable"H "(heureréveil))
(str_replace(« h »," « ,variable"H »(heureréveil))
(str_replace(« h »," « ,variable"H i »(heureréveil))
(str_replace(« h »," ",variable(heureréveil))
(str_replace(« h »," « ,variable(heureréveil’H’ i »))
(str_replace(« h »," « ,variable(heureréveil(‹ H › i »)))
(str_replace(« h »," ",variable(heureréveil))
(str_replace(« h »," « ,variable"Time »(heureréveil))
(str_replace(« h »," ",variable’Time’(heureréveil))
(str_replace(« h »," ",variableTime(heureréveil))
sans résultat,
j’aime comprendre car c’est toujours utile par la suite et évite de demander encore de l’aide mais la sincèrement je sèche
Si tu as toujours des heures pleine, tu peux faire
str_pad((str_replace(« h »," ",variable(heureréveil)), 4, "0")
str_pad va s’assurer de renvoyer une chaine d’au moins 4 caractères (dans ce cas), complétée par des « 0 » (dans cet exemple), à droite (c’est par défaut)
merci infiniment @Mips mais rien a faire il retire bien le h mais n’ajoute pas les 0 ,j’ai chercher sur le forum et le web et compris que c’etait une fonction php , il resteras possible d’ajouter le time_op de -30 a cette chaine ?
str_pad((str_replace(" h « , » ",variable(heureréveil)), 4, « 0 »)
y a un problème avec les espaces et l’évaluation des expressions manifestement, du coup il ne remplace pas l’espace.
C’est un peu lourd de faire ca par expression en fait alors que ca prend une ligne de code, ca m’énerve …
met un bloc code avec ceci, j’ai mis plus de log que de ligne de code pour avoir plein de détail
$heure = $scenario->getData('heureréveil');
$scenario->setLog('heure recue:'.$heure);
$heure = str_pad(filter_var($heure, FILTER_SANITIZE_NUMBER_INT), 3, '0');
$scenario->setLog('heure format hhmm:'.$heure);
$scenario->setData('heureréveil',$heure);
$scenario->setLog('Fin du bloc code');
oh effectivement radicale comme solution, un grand merci a toi pour ta patience
il me retourne bien le format 200 pour 20h
top top top
j’utilise donc maintenant mon bloc A avec time_op(variable(heureréveil),-30)
mais il me donne :
[2020-04-21 19:14:59][SCENARIO] Réponse <<20 h>>
[2020-04-21 19:14:59][SCENARIO] Pause de 15 seconde(s)
[2020-04-21 19:15:14][SCENARIO] Exécution d'un bloc élément : 176
[2020-04-21 19:15:14][SCENARIO] Exécution du sous-élément de type [action] : code
[2020-04-21 19:15:14][SCENARIO] Exécution d'un bloc code
[2020-04-21 19:15:14][SCENARIO] heure recue:<<20 h>>
[2020-04-21 19:15:14][SCENARIO] heure format hhmm:200
[2020-04-21 19:15:14][SCENARIO] Fin du bloc code
[2020-04-21 19:15:14][SCENARIO] Exécution d'un bloc élément : 177
[2020-04-21 19:15:14][SCENARIO] Exécution du sous-élément de type [condition] : at
[2020-04-21 19:15:14][SCENARIO] Evaluation de la condition : [130] = 130
[2020-04-21 19:15:14][SCENARIO] Tâche : 177 programmée à : 2020-04-22 01:30:00
[2020-04-21 19:15:14][SCENARIO] Fin correcte du scénario
il me rend chèvre ce scénario , je comprend meme pas ou il trouve la valeur 130
Ah c’est pas bon ça, il faut que je corrige. Parce que 200 ça veut dire 2h du mat.
Voilà pourquoi il retourne 130 qui veut dire 1h30.
Je te fais ça plus tard ce soir ou demain parce que je suis sur téléphone là et ça ne va pas le faire