Aller au contenu

Recommended Posts

je revient sur mon problème d'espace après le   à

 

après avoir bien pris ma tête sur le fonctionnement des pattern;) 

je commence a comprendre le fonctionne, mai je ne sais pas comment  le placée dans le code google home

 

pour tester : à la  maison avec 2 espace après le à

local degre = string.gsub("à  la maison", "%A", " ")
      --> hello..up.down. 4
fibaro:debug (">>>>>>>>>>>>>>>>>>>: "..degre)

résultat : à la maison

 

bon j'ai trouver comment enlever un caractère d'espace , mai comment faire la même chose dans le code

 

voici un partie du code ou je souhaite trouver une solution pour supprimer un caractère d'espace après le   à

 

-- Remplacement des caractères spéciaux --


function Check(s)

	local sprime = string.match(s, "Ã%s")
	if sprime then
		i,j = string.find(s, "Ã%s")
		if i then return "à"..string.sub(s,j) end
	else
		return s
	end
end


----local degre = string.gsub("a  la", "%A", " ")



function replaceChar(s)
  local sprime = s:gsub("Ã", "à"):gsub("é", "é"):gsub("è", "è"):gsub("î", "î"):gsub("ô", "ô"):gsub("û", "û"):gsub("ù", "ù"):gsub("ê", "ê"):gsub("â","â"):gsub(" ' ", "'")
  return sprime
end
function trim(s)
return (s:gsub("^%s*(.-)%s*$", "%1"))

end

-- Compare 2 chaines de caractères --
function isEqual(s1, s2)
  s1 = string.lower(s1)
  s2 = string.lower(s2)
  return s1 == s2 or replaceChar(s1) == replaceChar(s2)
end

function unescape (s)
      s = string.gsub(s, "+", " ")
      s = string.gsub(s, "%%(%x%x)", function (h)
            return string.char(tonumber(h, 16))
          end)
      return s
end


function isMatching(desc, regex, lili)
  if (desc == nil) then return false end
  desc = string.lower(desc)
  lili = string.lower(lili)
  local res = desc:match(regex)
  if (res == nil) then return false end
  return res:find(replaceChar(lili))
end

merci de votre aide

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas testé mais dans la fonction ReplaceChar, 

 

tu ajoutes :        :gsub(“%A“,“ “)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci, quand je rentre à la maison je teste 

Partager ce message


Lien à poster
Partager sur d’autres sites

bon j'ai trouver une solution très sympa 

 

Quand je dis ; je pars de la maison, le code copie la phrase comme elle vient dans une variable globale  GOOGLE_H et dans GEA

 

----je part de la maison

GEA.add( {"Global", "GOOGLE_H", "je pars de la maison"}, -1, "", {{......

 

----bien venue à  la maison

GEA.add( {"Global", "GOOGLE_H", "bien venue à  la maison"}, -1, "", {{......

 

etc..

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 15/10/2018 à 20:27, cernost a dit :

Bonjour,  j ai besoin d’aide :

lorsque je commande des modules par l’assistant ou par Home,  ça me dit que les lumières ne sont pas accessible et qu’il me  fait essayer de les reconfigurer... et pourtant elle sont bien commandées!

 

est ce que vous avez une idée ? Car désassocier  et reconfigurer  le compte fibaro n’a pas l’air  de fonctionner. Pas de retour d état ? Un pb routeur ?

 

Merciii

Bonjour, j ai trouvé pourquoi j avais un mauvais un retour dès actions faite par Google home : j ai enlevé l’adresse fixe local et c est de nouveau bon, je ne voyais même plus mes scène à travers IFTTT .

 

bizarre ...

Partager ce message


Lien à poster
Partager sur d’autres sites

salut à tous

 

Toujours, pour aller plus loin, j'ai crée un petit code avec google home et ifft

 

quand je dit: Ok google, ok ouverture du volet à 10%

 

ma scène me renvois dans pas ledebug ouverture du volet à 10%

 

le code lua suivant cherche les chiffres dans une phrase 

line = "il y a 10% de chat"

for token in string.gmatch(line, "%d+") do
   print(token)
end

résultat 10

1- comment réalisée ce petit code avec FIBARO

 

2- je souhaite associé le résultat à un variable 

 

merci d'avance 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

j'avance doucement

 

local line = "les chat de 10%"

local r = string.match(line, "(%d+)")

fibaro:call(340, 'setValue', r)

fibaro:debug(">>>>> " .. r)

 résultat 

[DEBUG] 23:14:33: >>>>> 10

et mon volet roulant ID340 ce ferme à 10 %

 

maintenant que j'ai compris comment filtrée une phrase,

 

comment faire pour récupéré une phrase venant de google home et Ifttt

avec le code suivant:

local params = fibaro:args()
fibaro:debug(json.encode(params))

j'ai comme résultat dans mon debug

 

DEBUG] 23:21:29: [{"action":" ouvre le volet roulant à 50 %"}]

 

la grand question est comment récupérée le 50 de la phrase (ouvre le volet roulant à  50 %) ?


comment associé la valeur de la phrase (ouvre le volet roulant à  50 %) dans la variable local phrase

local phrase = ????????

local r = string.match(phrase, "(%d+)")

fibaro:call(340, 'setValue', r)

fibaro:debug(">>>>> " .. r)

 

merci d'avance de votre aide

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

je pense que tu devrais fair autrement.

 

là tu envoies un seul argument avec IFTTT : une phrase complète : ouvre la volet à 50 %.

tu peux envoyer 2 arguments avec IFTTT, le premier, la phrase: ouvre le volet ; et le 2ème un chiffre : 50

 

va voir dans ce topic page 23...

 

dans IFTT il te faut créer une autre recette, « say a phrase with both a number and a text ingredient »

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

merci, mai je laisse tombée pour le moment :3:

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais est-il possible d'envoyer une notification à Google Home?
Exemple: lorsque vous ouvrez la porte de la maison, Google me dit: "Bonjour, bon retour à la maison"
Ou s'il y a trop de vent: "Il y a trop de vent, je ferme la tente"

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, je suis entrain de valider la solution, mais ça passera par le cloud et il faut qqch qui tourne en continu (Mac, Windows, Linux, Syno ..) 

Dès que je sors de mon lit, je prépare un tuto 

Partager ce message


Lien à poster
Partager sur d’autres sites

Intéressant tout ça jojo si ça fonctionne sur syno 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai mis cette solution en place sur mon Synology, mais en beaucoup plus simple qu'explique 

Partager ce message


Lien à poster
Partager sur d’autres sites

ok jojo j'attends ton tuto alors ,moi je suis patient :P

Partager ce message


Lien à poster
Partager sur d’autres sites

iftt ne semble plus fonctionner, je suis le seul dans ce cas?

tous allait bien jusqu’a 16 h aujourd’hui 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

j’ai le message suivant sous iftt

could not enable applet

there is a problem with its configuration 

fix in applets settings

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 01/11/2018 à 16:30, jojo a dit :

Oui, je suis entrain de valider la solution, mais ça passera par le cloud et il faut qqch qui tourne en continu (Mac, Windows, Linux, Syno ..) 

Dès que je sors de mon lit, je prépare un tuto 

chose promise, chose due

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut tout le monde!

 

Bon j'avoue, j'ai une flaime immense de me taper les 46 pages pour trouver une information:

 

En fait je viens de m'apercevoir que Fibaro était nativement intégrée a la google home depuis peu... mais visiblement on ne récupère pas grand chose a part les interrupteurs... je n'ai pas de remontées de températures, de contrôle de scènes...

 

c'est normal? car si ça l'est c'est tout de même vachement limité non?

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est en effet limité.

Tu peux utiliser ma solution (cfr signature) pour faire parler ton GH avec les infos que tu veux, mais ça restera du "manuel"

Partager ce message


Lien à poster
Partager sur d’autres sites

×