Aller au contenu

soulac

Membres confirmés
  • Compteur de contenus

    168
  • Inscription

  • Dernière visite

Réputation sur la communauté

9 Neutral

À propos de soulac

  • Rang
    Membre passionné

Profile Information

  • Sexe :
    Homme
  • Ville :
    33
  • Box
    Home Center 2
  • Version
    V4
  1. soulac

    Google Home

    franchement non
  2. soulac

    Module Virtuel Alarme Avancée

    j'ai commencé avec ce code: ---------------------------------------------------------------- -- TEST TEMPO CAPTEUR DE PORTE ---------------------------------------------------------------- --Capteur différé tempo1 if ( tonumber(fibaro:getValue(267, "value")) > 0 -- Porte entrée ) then setTimeout(function() local delayedCheck1 = false; local tempDeviceState1, deviceLastModification1 = fibaro:get(267, "armed"); if ( (os.time() - deviceLastModification1) >= 10) then delayedCheck1 = true; end if ( delayedCheck1 == true ) then --fibaro:call(297, "turnOn"); fibaro:debug(mode) fibaro:debug(PA_MODE) fibaro:debug("Capteur differe 20sec") end end, 10000) end mais cela ne fonctionne pas comme je le souhaite. J'ai bien une tempo mais du coup même si je reste en mode jour que j'ouvre la porte est je n'ai pas de détection.
  3. soulac

    Module Virtuel Alarme Avancée

    non je n'ai pas résolu le problème mais le module hors mit ce bug fonctionne très bien.
  4. soulac

    Google Home

    @jjacques68 comme convenu --[[ %% properties %% events %% globals --]] -- ========================================================== -- -- Script pour IFTT (Google Assistant + Webhooks) -- input : "jarvis $" -- webhooks : https://<login>:<password>@<adresse>:443/api/scenes/40/action/start -- method : post -- content : application/json -- body : {"args":[{"action":" {{TextField}}"}]} -- ========================================================== -- -- Ce script va comparer le texte énoncé à l'assistant -- avec les phrases contenues dans les champs liliCommand -- Il va d'abord chercher dans les modules puis les scénarios -- et finir par les modules virtuels -- Pour les modules virtuels il suffit d'énoncer le nom -- du VD suivis du libellé du bouton, ex : "Chauffage Manuel" -- ========================================================== -- -- Les synonymes permettent de remplacer des énoncés à la volée. -- Si par exemple vour avez une phrase lili "allume le chauffage" -- et que vous souhaitez aussi pouvoir dire "active le chauffage" -- il suffit d'ajouter : -- ["active le chauffage"] = "allume le chauffage", -- Vous pouvez aussi lier des phrases avec de boutons de VD -- Exemple ["ouvre le portail"] = "Portail action", -- va donc cliquer sur le bouton "action" du VD "Portail". -- Il est aussi possible de créer ses propres function -- Exemple : -- ["capture camera salon"] = function() -- fibaro:call(<id camera>, "sendPhotoToUser", <id user>) -- end, local synonymes = { ["alarme"] = function() fibaro:call(291, "pressButton", 1) end, ["ouvre le portail"] = "Portail action", } -- Remplacement des caractères spéciaux -- 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 -- Recherche un module correspondant -- -- et effectue l'action nécessaire -- function doDevice(device, liliCommand) if (device.properties.liliOnCommand) then if (isEqual(device.properties.liliOnCommand, liliCommand)) then fibaro:call(device.id, "turnOn") return true, device.name elseif (isEqual(device.properties.liliOffCommand, liliCommand)) then fibaro:call(device.id, "turnOff") return true, device.name end end return false end -- Recherche une scène correspondante -- -- et effectue l'action nécessaire -- function doScene(scene, liliCommand) if (isEqual(scene.liliStartCommand, liliCommand)) then fibaro:startScene(scene.id) return true, scene.name elseif (isEqual(scene.liliStopCommand, liliCommand)) then fibaro:killScenes(scene.id) return true, scene.name end return false end -- Recherche un module correspondant -- -- et effectue l'action nécessaire -- function doVirtual(device, liliCommand) local fullname = device.name .. " " for k, v in ipairs(device.properties.rows) do for j, w in ipairs(v.elements) do if (w.caption) then if (isEqual(fullname .. w.caption, liliCommand)) then fibaro:call(device.id, "pressButton", w.id) return true, fullname .. w.caption end end end end return false end -- Lecture des paramètres de cette scène -- local params = fibaro:args() fibaro:debug(json.encode(params)) local action = nil if (params) then for k, v in ipairs(params) do if (v.action) then action = v.action end end end -- Recherche une action a effectuer -- if (action) then liliCommand = string.lower(replaceChar(trim(action))) fibaro:debug("Utilisé : " .. liliCommand) if (synonymes[liliCommand]) then liliCommand = synonymes[liliCommand] if (type(liliCommand) == "function") then liliCommand() return end end local name = "< none >" local done = false local devices = api.get("/devices?&enabled=true") for i = 1, #devices do thisDone, n = doDevice(devices[i], liliCommand) if (thisDone) then name = n done = true end end if (not done) then local scenes = api.get("/scenes") for i = 1, #scenes do thisDone, n = doScene(scenes[i], liliCommand) if (thisDone) then name = n done = true end end end if (not done) then local devices = api.get("/devices?type=virtual_device&enabled=true") for i = 1, #devices do thisDone, n = doVirtual(devices[i], liliCommand) if (thisDone) then name = n done = true end end end if (done) then fibaro:debug("Device reconnue : " .. name) end end
  5. soulac

    Module Virtuel Alarme Avancée

    @kinou.69 bonjour en relisant les pages d'avant j'ai vue que tu avais fait une tempo sur la porte d'entré peux tu m'aider à faire la même chose stp merci
  6. soulac

    Google Home

    @jjacques68 merci pour ton retour mais cela ne fonctionne pas de mon coté. oui c'est ce que j'ai fait un user unique pour GH et IFTTT avec un accès très limité. j'ai aussi fait un reverse proxy avec mon syno sous les conseils de @Lazer.
  7. soulac

    Module Virtuel Alarme Avancée

    Sinon une prit idée pour retarder le déclenchement de mon alarme afin que je puise la désactiver par nfc ou autre ?
  8. soulac

    Module Virtuel Alarme Avancée

    @MAM78 tout compte fait tu m as fait changer d avis effectivement cela est dangereux. Merci je n avais pas vue ça comme ça.
  9. soulac

    Module Virtuel Alarme Avancée

    @MAM78 effectivement cela est dangereux mais il faut quand même que le cambrioleur c est qu il y a un google home et en plus savoir la phrase
  10. soulac

    Module Virtuel Alarme Avancée

    @Moicphil je me permets de te contacter car tu m'avais bien n'aidé à mettre en place ton Vd chez moi. La je suis en train de mettre en place Google Home et je lui dit "ok Google active l'alarme mode jour" il active l'alarme en appuyant sur le bouton Jour aucun problème mais quand je rentre je lui dit "ok Google désactive l'alarme" et la il appui sur le bouton arret de ton VD mais j'ai quand même une intrusion. Je ne me rappelle plus comment on fait pour faire un tempo de x second est arrêter l'alarme. je m'explique: je rentre détection via mon détecteur de porte tempo arrêt de l'alarme via Google Home donc pas de détection Merci pour ton retour
  11. soulac

    Google Home

    bon sinon a part notre discutions http et htpps j'ai réussie à faire mon Applets IFTTT effectivement je me suis trompé dans le choix du trigger GH j'avais prit <Say a simple phrase> alors qu'il faut <Say a phrase whith a text ingredient> merci @jjacques68 Maintenant je souhaite appuyer sur un bouton nommé <alarme> d'un VD nommé <Passerelle SMS> je vais au plus simple pour comprendre et tester. Si j'ai bien compris je dois écrire dans ma scène : local synonymes = { ["alarme"] = "Passerelle SMS", et la dans le débug j'ai [DEBUG] 14:53:41: null [DEBUG] 14:53:51: [{"action":"test SMS"}] [DEBUG] 14:53:51: Utilisé : test sms [DEBUG] 14:53:51: 2019-01-16 14:53:51.702507 [ fatal] Unknown exception: /opt/fibaro/scenes/169.lua:69: bad argument #1 to 'lower' (string expected, got nil) par contre je n'ai pas inséré les lignes liliOnCommand = "allume la télévision" liliOffCommand = "éteins la télévision" car je ne comprends pas ou je dois le faire. merci pour votre retour
  12. soulac

    Google Home

    @Lazer merci beaucoup pour ton retour qui ma éclairci sur mon ignorance. Effectivement je suis HS donc fin de la discussion pour ne pas ce faire gronder
  13. soulac

    Google Home

    @Steven Effectivement pas de rapport avec la scène Google Home Je continue la discutions avec Lazer et l'ensemble des informations précise sur l'interaction IFTTT et Google Home et essayer de sécuriser tout cela. Maintenant ci cela dérange je sors.
  14. soulac

    Google Home

    @Lazer Du coup je tais écouté en faisant du HTTPS avec synology et un reverse proxy et cela fonctionne en passant par IFTTT. N'étant pas expert j'ai quelques questions : J'envois dans IFTTT la commande suivante https://admin:admin@nondudomaine/api/callAction?deviceID=175&name=pressButton&arg1=4 Mon login et password est tjrs en claire. Peux tu me confirmer quand faisant du HTTPS l'ensemble de l'URL est codé et donc que le password ne se voit pas. autre question je souhaite avoir le retour d'information de la température de mon salon via un FGMS-001. Je tape la commande : http://<LOGIN>:<PASS>@<IP>/api/devices?id=XXX je me retrouve avec une liste d'information je souhaiterais récupérer l'information "userDescription":"","value":"24.30" comment dois je faire ? Tu vas me dire il faut parcer mais malheureusement je ne sais pas le faire. Merci encore pour ton aide
  15. soulac

    Google Home

    @Lazer Merci pour tout c'est renseignement constructif je vais voir du coté du proxy reverse. Sinon il n'existe pas une possibilité d'envoyer les requêtes en local ?
×