Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    4 434
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par Steven

  1. Steven

    Heating Manager

    Lol, oublie mon message, je l'ai posté pile poil avant ta révision de code.
  2. Steven

    Heating Manager

    Encore une excellente initiative ... Bravo. Juste encore une remarque ... j'insiste ... sur la manière d'aller récupérer le VD. Ta méthode getDeviceIDbyName parcours tous les devices afin de trouver le bon alors qu'il te suffirait de faire ainsi : function getDeviceIDbyName(deviceName) local device = api.get("/devices?name="..deviceName.."&enabled=true&visible=true") if (device) then return device.id end log("Critical Error : Virtual Device Dawn & Dusk Panel not found !","Tomato",true) fibaro:abort() end C'est juste un peu plus performant. Sinon, il existe : fibaro:getRoomNameByDeviceID(id_du_device) D'ailleurs ... ne serait-ce pas un copier/coller restant "Critical Error : Virtual Device Dawn & Dusk Panel not found !" Je me permet ces petits commentaires car vu le niveau de ton code, manque pas grand chose pour qu'il soit parfait
  3. Steven

    Google Home

    Ce que souhaite @Lazer est de pouvoir dire "OK Google, j'aimerais voir un épisode du Manège Enchanté sur la télévision" ... et que le Google Home ou la Chromecast allume automatiquement la TV puis diffuse son épisode préféré. Selon moi, ce n'est pas possible mais je peux me tromper. Perso, ma Chromecast (vieille version), si elle envoie un signal à ma TV, elle le fait lorsqu'elle démarre et non pas lorsqu'elle se met à diffuser. Dans mon cas, j'utilise 2 instructions : "OK Google allume la télé" puis après un temps certain "OK Google j'aimerais voir un épisode de Strange Things sur la télévision"
  4. C'est bien cela. Hors que ce sera plusrecent.id au lieu de plusrecent: if (plusrecent.id == (id Dectecteur Entrée) ) then -- Modification Variable DEHORS fibaro:setGlobal("DEHORS", 1) elseif (plusrecent.id == (id Detecteur Chambre) ) then -- Modification Variable DODO fibaro:setGlobal("DODO", 1) elseif (plusrecent.id == (id Detecteur SdB) ) then -- Modification Variable DOUCHE fibaro:setGlobal("DOUCHE", 1) end
  5. Steven

    Support Gea

    Ou la béta avec des DisableScenario et EnableScenario ?
  6. Steven

    Google Home

    Après, cela dépend un peu de ton fournisseur Internet. Par exemple, chez Free, ton adresse IP ne change jamais. Pour la connaitre, il te suffit de te rendre sur ce site : http://www.mon-ip.com/ depuis chez toi. Par contre, si tu es chez Free, le routeur "Freebox" ne va pas redirigé automatiquement le demande http sur ta HC2. Pour cela il faut créer une redirection de port : http://supertos.free.fr/supertos.php?page=1688
  7. Perso, je ferais quelques chose de plus basique, soit d'aller vérifier toutes les X minutes le derniers détecteurs qui a été activé. Soit : --[[ %% autostart ]]-- local duree_max = 15 -- 15 minutes local duree_refresh = 5 -- toutes les 5 minutes local ids = {53, 48, 127} -- liste des id que l on souhaite controler function run() local detecteurs = {} -- On parcours les ids pour trouver les informations -- nécessaires : id, modificationtime, name for i = 1, #ids do local device = api.get("/devices/"..ids[i]) table.insert(detecteurs, {id=device.id, last=device.properties.lastBreached, name=device.name}) end -- On les tri par ordre du plus récent table.sort(detecteurs, function(a, b) return a.last > b.last end) -- Si le dernier détecteur a été déclenché il y a plus de 15 minutes local plusrecent = detecteurs[1] local ilya = math.floor((os.time() - plusrecent.last)/60) if (ilya >= duree_max) then -- TON CODE ICI fibaro:debug("Dernier détection : " .. plusrecent.name .. " il y a " .. ilya .. " minutes") end setTimeout(function() run() end, duree_refresh*60*1000) end run()
  8. Steven

    Google Home

    Oui, l'adresse externe est Ok. Ce qu'il faut vérifier ce sont les droits d'accès à la scène sauf si le login et mot de passe sont ceux de l'administrateur. Par contre, je n'ai jamais essayé avec un login contenant un "@" dedans.
  9. Steven

    Dawn & Dusk Manager

    Pour connaitre l'ID d'un VD lorsque l'on est dans le VD : fibaro:getSelfId() Pour connaitre l'ID d'une scène lorsque l'on est dans la scène : __fibaroSceneId Pour connaitre l'ID d'un VD depuis une scène ou inversement ... pas le choix, soit l'utilisateur les renseignes soit on fait un api.get() et on va chercher par programmation comme tu l'as très bien fait. Par contre, si je peux me permettre une petite optimisation, je ferais ainsi au lieu de parcourir presque tous les VD : function getDeviceIDbyName(name) local devices = api.get("/devices?name="..name) if (devices) then return devices[1].id else log("Critical Error : Virtual Device Dawn & Dusk Panel not found !","Tomato",true) fibaro:abort() end end Bon boulot.
  10. Steven

    Google Home

    Je serais curieux de savoir ce que tu as mis ici : - Dans URL : http://<login>:<password>@<adresse>/api/scenes/<id du scenario>/action/start Je pense que le problème vient de là car si tu as mis une adresse comme 192.x.x.x ... c'est mort, il te faut une adresse www.xxxxx.xxx
  11. Steven

    Support Gea

    Heuuuuu, c'est quoi le 2*60 qui traine à la fin, cela ne fonctionne pas comme cela malheureusement. Tu dois faire une ligne a part qui controle que l'ID 14 est allumé et l'éteindre dans 2 minutes
  12. Steven

    Plugin Netatmo

    C'est ici : Courage :-)
  13. Steven

    Support Gea

    Alors voici le code nécessaire : GEA.add(true, 30, "", { {"Time", "Sunset", "Sunset"}, -- Ici toutes les commandes qui doivent se lancer au couché du soleil {"turnOn", 94} }) GEA.add(true, 30, "", { {"Time", "Sunrise", "Sunrise"}, -- Ici toutes les commandes qui doivent se lancer au levé du soleil {"turnOff", 94} }) Si tu mets comme "Time" (sunset, sunset) elle ne va s'allumer qu'au couché du soleil (par exemple 19h14) et ne va pas essayé de se rallumé toute seul. Tu peux donc librement l'allumer ou l'éteindre manuellement. Ta box est intelligente, si tu essaie d'allumer une lampe déjà allumé, elle ne va pas envoyer la commande Z-Wave. Pour la différence entre déclenchement automatique et par événement, c'est ici : https://gea.piccand.me/doku.php/declenchement
  14. Steven

    Bug déclenchement de scène

    Cela arrive parfois si tu laisse une ligne vide dans l'entête .. par exemple, si tu supprime "Minute" sans supprimer la ligne et que tu te retrouve avec cela --[[ %% globals Heure --]]
  15. Steven

    Erreur json api

    Je confirme, le http redirige sur le https ... c'est donc mort depuis un VD
  16. Steven

    Support Gea

    Si tu veux l'allumé UNIQUEMENT au couché du soleil, voici la ligne GEA.add({"Value", 94,0}, -1, "", {{"turnOn", 94}, {"Time", "Sunset", "Sunset"}}) Le "Time" attend toujours une plage DE - A Et dans les version 5.4x, le "Time" doit être à la fin ... Je sais c'est tordu, mais c'est historique Donc avec cette ligne, dès que tu éteins la lampe, elle va se rallumer, est-ce vraiment ce que tu souhaite ? Si tu souhaite qu'elle s'allume toute seule au coucher du soleil, il faudrait simplement remplacer le -1 par un 30.
  17. Steven

    Fibaro Marketplace

    Ben disons que c'est la même chose ... sauf qu'ici ça fait plaisir de les fournir.
  18. Steven

    Fibaro Marketplace

    La dernière fois que @Krikroff a proposé quelque chose sur un de leur site ... ils lui ont détourné et utilisé comme argument de vente (plugin). D'ailleurs leurs conditions sont très clairs ... on cède tout les droits. Alors perso, je m'en fiche mais je ne prendrais pas part à cela.
  19. Steven

    Support Gea

    Il y a dans ton code une parenthèse ou une accolade mal fermée. Apparemment cela ne vient pas de ces 2 lignes. Cela est déjà arrivé à un utilisateur qui avait copier GEA mais pas toutes les lignes. Si tu trouve pas, envoi moi ton script @ steven.piccand@gmail.com
  20. Steven

    Support Gea

    A quoi correspond "notification" de ta 2ème ligne ? Envoyé de mon SM-G935F en utilisant Tapatalk
  21. Steven

    Google Home

    Tu as bien mis cela dans les paramètres de ton module "aplic" : avec bien évidement : allume aplic et éteins aplic
  22. Steven

    Google Home

    Voici exactement comment j'ai fait : Puis Attention : Comme vous pouvez le voir sur l'image et qui n'est pas clair dans mon explication c'est TxtField qui doit être inséré en appuyant sur le bouton [Add ingredient] et sélectionner [TextField] N'oubliez pas de vérifier l'URL en modifiant ce qui est nécessaire de modifier.
  23. Steven

    Support Gea

    A vu d’œil, il n'y a aucune raison. J'ai fréquemment des soucis avec les push Fibaro mais si tu me dis qu'elle reçoit les autres notifications c'est plutôt étrange. As-tu essayé d'inverser l'ordre, du style en commençant par elle puis tes 2 numéros ?
  24. Steven

    Google Home

    Piloter votre HC2 via Google Home en utilisant un applet IFTTT (Google Assistant et Webhooks) et un scénario. Bonjour, J'ai créé un applet IFTTT (un seul) pour contrôler toute ma Home Center 2 à l'aide d'un scénario. Je vous le partage ci-dessous. Démarche : 1. Créer un nouveau scénario LUA et y coller le scénario ci-joint lili.lua (mémoriser son ID) 2. Aller sur IFTTT assurer vous d'avoir connecté les services "Google Assistant" et "Webhooks" - Créer un nouvel applet utilisant Google Assistant - Dans "What do you want to say" taper "jarvis $" - Dans "What do you want to assistant say in response" taper "D'accord ! jarvis $ ." - Choisir la langue "French" - Ensuite choisir le service "Webhooks" - Dans URL : http://<login>:<password>@<adresse>/api/scenes/<id du scenario>/action/start - Dans Method : choisir POST - Dans Content : Choisir application/json - Dans Body : {"args":[{"action":" {{TextField}}"}]} - Sauver Voilà maintenant il vous suffit de dire : "OK google" "jarvis <commande>" Exemple : "jarvis allume la télévision" Comment cela fonctionne ? Vous devez préalablement avoir saisi la commande "allume la télévision" dans le paramètre "lili turn on command" de votre module pilotant la télévision. Ceci pour toute les commandes que vous souhaitez effectuer. Le scénario va recevoir la commande énoncé à votre Google Home et va recherche dans les commande lili une correspondance, s'il en trouve une il va appuyer sur On ou Off selon le type de commande saisi. Vous avez aussi la possibilité de piloter vos scénarios (commande lili) et vos modules virtuels avec la commande vocal suivante: "jarvis <nom du module> <libellé du bouton>" exemple "jarvis chauffage manuel". Il va donc presser le bouton "Manuel" du module virtuel "Chauffage". Il y a aussi en début du scénario une suite de synonymes que vous allez pouvoir gérer à votre guise en suivant les exemples fournit. Voilà, un seul applet IFTTT, un seul scénario, le reste n'est que de la configuration de vos modules. Le nom "jarvis" peut bien évidement être remplacer par un autre nom de votre choix. Perso, je l'ai testé un bon moment et j'adore. Bien que je préférerais l'intégration de Fibaro qui ne devrait tarder. lili.lua
  25. L'API Netatmo ne permet pas de savoir directement si le relai 220V est activé ou non ... du moins, je n'ai rien vu de pareil (donc pas de script possible pour ta demande). Après il est possible de jouer avec la température relevée et la température souhaitée pour estimer s'il est activé ou non mais c'est vite compliqué et pas fiable car le Thermostat n'envoi pas forcement les données aux serveurs Netatmo en temps réel (Sur leur site, ils indiquent : The Thermostat connects to Netatmo servers every hour to update its status) ... chaque heure. Je ne connais pas si le plugin Netatmo de Fibaro permet de savoir sur le relai 220V est activé ou non Une solution relativement simple que j'utilise pour mon poêle à pellets est de mettre sur ta chaudière un module de relevé de consommation. Par rapport à la consommation en cours tu peux aisément savoir si ta chaudière est en veille ou non et à partir de là, tu peux créer un script qui contrôle tout cela. Dans mon cas si mon poêle consomme plus de 5W c'est qu'il est allumé. Voici un exemple de script : --[[ %% properties 14 power --]] local id_chaudiere = 14 local id_smartphone = 84 local watt_au_repos = 5 -- Une seule instance en cours if (fibaro:countScenes() > 1) then fibaro:abort() end local nb_minutes = 0 while (tonumber(fibaro:getValue(id_chaudiere, "power")) > watt_au_repos) do if (nb_minutes == 0) then fibaro:call(id_smartphone, "sendPush", "Allumage de la chaudière à " .. os.date("%X")) end fibaro:sleep(60000) nb_minutes = nb_minutes + 1 end if (nb_minutes > 0) then fibaro:call(id_smartphone, "sendPush", "Extinction de la chaudière après " .. nb_minutes .. " minutes") end P.S. La station météo contient un thermomètre (c'est de celui-là que je parlais) :-) Source : https://dev.netatmo.com/en-US/resources/technical/reference/thermostat
×
×
  • Créer...