Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 346
  • Inscription

  • Dernière visite

  • Jours gagnés

    39

Tout ce qui a été posté par jjacques68

  1. Merci c'est gentil le soucis c'est que j'aime bien comprendre ce que j'utilise... Et la... le code est quand même sacrément long... pas habitué à la POO, suis plutôt procédurale... Incroyable le temps qu'on peut passer pour modifié 2 valeur dans l'API...
  2. merci @MAM78, mais trop compliqué pour ce que je veux faire...
  3. ah oui zut c'est vrai... bon je continue à creuser... merci quand même
  4. Après dans la mainloop des VD, j'ai du code qui ne fait que relevé les info des panneaux de chauffage afin de mettre à jour les icones et label des VD. Mais j'ai mis un sleep de 5 min à la fin de la mainloop... et je sais que c'est pas bien...
  5. oui ça commence à me saouler... j’ai relancer ce topic en demandant e l’aide à jojo...
  6. Je relance car toujours le même plantage aléatoire... HC2 plante complet lors du retour en mode schedule du panneau de chauffage. @jojo je me suis inspiré de ton VD, tu as une idée ? tu rencontres ce soucis également ?
  7. ah ben nan ça continue de planter mon histoire de panneau de chauffage. Et toujours en fin de période, quand le panel revient en mode « Shedule »
  8. jjacques68

    HomeMode Manager (type Geofence)

    tu trouves cette info où ?
  9. Ta réponse du GH se fait dans IFTTT, tu as du paramétrer cette réponse. Dans mon cas j'ai juste mis "oké". Recevoir une information (température ou autre valeur) dans la réponse, me semble impossible... On en avait déjà parlé qqpart dans ce topic... En tout cas si c'est possible, je sais pas comment faire, et c'est vrai que ça intéresserait aussi... Mais j'y crois pas.
  10. Je viens de modifier le code fourni ci-dessus : Ajout de ligne 102 : if action then et à la dernière ligne : end et donc plus d'erreur situ lances la scènes manuellement. En gros il se passe rien si tu lances manuellement.
  11. ah ok si tu lances la scène manuellement c'est normal, vu qu'il n'y a pas d'ordre...
  12. Pour ne pas utiliser le mot clé "jarvis" : Dans l'application google home : allé dans "Paramètres" - "Plus de paramètres" - onglet "Assistant" - "Routines" - bouton "+" : Choisir "Ajouter de commandes" et saisir la commande que tu veux. Exemple "Allume la lumière du salon". Enregistrer et "Ajouter une action" et saisir "jarvis allume la lumière du salon". puis ajouter. Maintenant quand tu donnes cet ordre, le GH va automatiquement ajouter "jarvis" sans que tu l'ai dis. Malheureusement, il faut le faire un par un pour toutes les commandes vocales que tu souhaites.
  13. Cette erreur n'est pas normal, d'après le code que je t'ai envoyé, il s'agit de la ligne 50, donc la fonction "Trim". Elle ne reçoit pas de valeur... ??? pas normal ça ! Ce qui veut dire que toutes les les fonctions qui corrigent la chaine de caractères de ton ordre semblent ne pas fonctionner ! Tu as fait un copier/coller du code ? c'est tout ?
  14. bon ok, j'oublie l'idée... dommage...
  15. Ben voilà ce que j'essayais de faire sans succès : local Socket = "" local result = "" local err = "" fibaro:debug("start") --ouvre la connexion Socket = Net.FUdpSocket("127.0.0.1",1999) while result == "" and err == "" do result, err = Socket:read() end fibaro:debug(result) fibaro:debug(err) Mais j'ai aucun message d'erreur, et rien qui ne s'affiche (à part le start). J'ai beau désactiver antivirus, firewall sur le PC d'où je lance ma trame, mais rien n'arrive... @Lazer avait plutôt l'air d'être clair sur ce point...
  16. Nannnnnnnnn [emoji22] Envoyé de mon iPhone en utilisant Tapatalk Pro
  17. Hello tous le monde : savez-vous s’il est possible de créer un script (VD ou scène) qui permet d’écouter en continue ce qu’il passe sur une socket : je sais qu’il existe Net.FTcpSocket avec la méthode read. je l’utilise déjà dans un VD pour un cas particulier. mais je souhaite pouvoir le faire en continue pour écouter la socket et interpréter ce qui arrive. le soucis est que le main loop des VD tourne toutes les 3 secondes, largement trop long !! je pourrais mettre le code dans un bouton d’un VD, et actionner ce bouton toutes les 200 ms depuis une scène, mais c’est archi bof comme solution, et je sais pas si la HC2 supporterait cela H24 7/7... si vous avez des idées ??!! je suis preneur !! ou avec Net.FUdpSocket ??
  18. Essaye cette scène, c'est celle que j'utilise, j'ai simplement supprimé mes ordres et remplacé par le tien : C'est quasi identique à celle que tu as, mais sans passer par les commandes lili... Il faut juste que tu sois sûr que le VD que tu appelles à bien l'ID 291 et que le bouton que actionnes soit bien le premier objet du VD. --[[ %% properties %% events %% globals --]] local ActionOk = false local Debug = true --tableau de toutes les actions possibles local ListAction = { ["alarme"] = function() fibaro:call(291, "pressButton", 1) end, } --fonction d'affichage Debug-------------------------------------------------------------- function AfficheDebug(msg, color, debug) if debug == true then --si debug activé if msg and color then --si y a un message et une couleur print("<font color ='"..color.."'>"..msg.."</font>") else --sinon erreur print("<font color ='orange'>Error in function AfficheDebug</font>") end end end --remplace les caractères spéciaux : à é è ê '-------------------------------------------- function ReplaceChar(s) local Char = { -- 3 caractères à détecter {" ' ", "'"}, {" â ", "'"}, -- 2 caractères à détecter {"é", "é"}, {"à©", "é"}, {"è", "è"}, {"à¨","è"}, {"î", "î"}, {"ô", "ô"}, {"û", "û"}, {"ù", "ù"}, {"ê", "ê"}, {"â","â"}, --1 caractère à détecter {"Ã", "à"}, } for i,v in pairs(Char) do s = string.gsub(s, v[1], v[2]) end return s end --???????---------------------------------------------------------------------- function Trim(s) return (s:gsub("^%s*(.-)%s*$", "%1")) end --corrige l'ortographe de "étein" (t-d-s-dre-et 1)-------------------------------------------- function CheckEtein(s) local Res = "" local Output = "" local Pattern = {"éteint", "éteindre", "et 1", "est à", "et à%s"} for k,v in pairs(Pattern) do Res = string.match(s, v) --cherche le pattern, str = pattern trouvé if Res then Output = "éteins " Output = Output..string.sub(s,string.len(Res)+2) return Output end end --sinon return l'argument return s end --corrige les espaces autour du "-"----------------------------------------------------- function DelDash(s) i, j = string.find(s, "-") if i then return string.sub(s,1,i-2).."-"..string.sub(s,i+2) else return s end end ---------------------------------------------------------------------------------------- --main ---------------------------------------------------------------------------------------- -- Lecture des arguments de la scène (voir IFTTT) local params = fibaro:args() local action = nil local number = 0 if (params) then for k,v in ipairs(params) do if (v.action) then action = v.action end --recupère l'action if (v.number) then action = action.." "..tostring(v.number) end --recupère le nombre si y a end end if action then --enchaine les fonctions de traitement de chaine action=DelDash(CheckEtein(string.lower(ReplaceChar(Trim(action))))) --recherche et execute l'action en fonction de l'argument for ordre,func in pairs(ListAction) do if action == ordre then AfficheDebug(os.date("%d/%m/%Y - %H:%M : ").."action lancée : "..action, "white", Debug) func() --execute l'action ActionOk = true end end --si action inconnue alors debug. if ActionOk == false then AfficheDebug(os.date("%d/%m/%Y - %H:%M : ").."action inconnue : "..action, "red", true) end end
  19. ah oui ok, tu veux passer par les commandes lili ? c’est indispensable ? moi je ne m’en sers pas.
  20. je pense qu’il faudrait que tu postes le code complet de la scène...
  21. tu peux créer un user spécifique à l’utilisation dans la HC2 et lui donner l’accès que à la scène qui doit exécuter les ordres. c’est pas le top mais ça réduit les risques... et c’est ce user que tu utilises dans la recettes d’IFTTT. du coup pas besoin de communiquer le super user.
  22. chez moi je fais : ["alarme"] = function() fibaro:call(147, "pressButton", 1) end ou 147 est l’ID du VD en question et 1 est le n° du bouton dans le VD (= numéro de l’objet dans le VD... les labels sont aussi des objets...)
  23. jjacques68

    HomeMode Manager (type Geofence)

    il existe un tuto là-dessus ?
  24. @speckery : perso j’ai l’impression d’être plus maître du système imagine que tu ne veuilles pas qu’un device soit accessible via le GH (exemple chez les volets ne peuvent pas s’ouvrir via une commande vocale...) Je sais pas si c’est possible avec le plugin de Fibaro dans le GH ??
×
×
  • Créer...