Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 364
  • Inscription

  • Dernière visite

  • Jours gagnés

    39

Tout ce qui a été posté par jjacques68

  1. nan c’est toujours la misère. la j’arrive plus a me connecter sur le fofo. et quand j’y arrive, je ne reçois pas les notifications...
  2. ah bien vu @Berale24, ça marche pas en effet. suis allé trop vite... Le %%killOtherInstances c'est ok, mais il faut tester en le passage à un 1 du détecteur. J'ai vérifié, et chez moi je procède en faite différemment, j'utilise une boucle : while fibaro:getValue(xx, "value") == 1 do end et la durée est gérée grâce au paramètre 6 du détecteur. Donc quand le détecteur passe à 0, il sort de la boucle et exécute le code qui suivra. Je teste bien le passage à 1 du détecteur au préalable.
  3. ouuuuh mais c'est bon ça !! je prends, mercii
  4. ??? Ah faut que je vérifie, parce que j’en ai du même genre chez moi...
  5. alors voilà un premier essai : (j’ai pas testé, y a certainement des erreurs...) - il faut remplacer les XX par l’ID du détecteur de ta chambre (ou autre pièce). - créer la Varaible Globale (VG) Dodo. - ensuite créer une scène en lua et copier ce code. - et tester... --[[ %% killOtherInstances %% properties XX value %% events %% globals --]] --déclaration de variables locales local IdDevice = XX local Delai = 5 --délai (en minute) avant mise à 1 de la VG --ne pas traiter le passage à 0 du détecteur (quand il détecte plus rien) if tonumber(fibaro:getValue(IdDevice, "value") == 0 then fibaro:abort() end print("Mouvement détecté") print("Début du délai de "..Delai.." minutes") --début du code qui sera executé en différé (après le délai)--------------------- setTimeout(function() print("Délai terminé") print("Mise à 1 de la variable Dodo") fibaro:setGlobal("Dodo", 1) --mise à jour de la variable globale end, Delai * 60 * 1000) -- *60*1000 car ce temps est millisecondes --fin du code qui sera executé après le délai------------------------------------- --ce code est exécuté avant le bloc précédent car pas de settimeout. print("Valeur par defaut de la Variable Globale (0)") fibaro:setGlobal("Dodo", 0) --mise à 0 (valeur par défaut) de la variable globale normalement, lors d’iune détection, la scène se lance (les print dans le debug) te le confirmeront. Si plus de détection pendant 5 minutes, la VG passe à 1. Si nouvelle détection pendant les 5 minutes, on recommence tout le cycle. Ainsi de suite. Attention à ce que le paramètre du détecteur (le 6 de mémoire), ne soit pas supérieure au délai dans le script !
  6. AH voilà, j’ai retrouvé la « fonction » permettant de supprimer les instances en cours pour ne garder que seulement la nouvelle instance ! il faut ajouter dans l’entête de la scène : %%killOtherInstances Et oui du coup en effet ça peut être utile dans ce cas... - mais jamais testé ! Par contre ça me donne des idées
  7. ah oui donc tu autorise do,c plusieurs instances de scènes ? y a pas une fonction qui permet de démarrer une nouvelle instance de scène en tuant les précédente ? je crois qu’on en a parlé y a pas si longtemps que ça ... mais je me souviens plus...
  8. j’y avais pensé, mais je vois pas comment l’exploiter. il faudrait faire un sleep ou un timeout de 15 min !? et après ? et que faire en cas de nouveau déclenchement ?
  9. à froid comme ça, tu crées une scène qui analyse en boucle (toutes les minutes) le dateTime de la dernière modification de tes détecteurs. Si la différence entre l’heure système (donc l’heure actualisée toutes les minutes) et le dateTime est > 15 min tu fais telle ou telle action. http://www.fibarouk.co.uk/support/lua/library/fibarogetmodificationtime/ Ensuite tes variables globales DODO ou DEHORS sont de toute façon de type string, donc que tu mettes 0, 1, YES, NO, ne changera rien. Mais la logique voudrait mettre 0 ou 1.
  10. Envoyé de mon iPhone en utilisant Tapatalk Pro
  11. on semble tous avoir le même soucis sur iPhone, donc à part attendre une nouvelle update...
  12. et voilà, la version 2 est faite avec le nombre réel de device présent. Chez moi ça colle pil poil
  13. ah !! ok
  14. intéressant en effet... En tout cas chez moi ça colle, et je viens de rajouter un FGS, et il me la bien compter (en double biensûr à cause des 2 relais) Si j'ai le temps ce weekend, j'essaye de faire un script qui permette de lister les device physique réel... Il faut pour ça que je joue avec les parentId, et je sens que je vais y passer du temps...
  15. tu en as combien physiquement des FGS ? 22 ?
  16. ?? alors là ?? ben normalement il compte un FGS en double !
  17. jjacques68

    variable haute

    D’accord Et bien bonne continuation et suite au prochain épisode !
  18. jjacques68

    variable haute

    Ah ok !! et tu as déjà atteint les 85 °C ???
  19. jjacques68

    variable haute

    Oui un lien sur un site pour trouver des infos ! Elle est fiable question température mesurée ?
  20. jjacques68

    variable haute

    Ensuite tu peux mettre en commentaire tous les debug qui ne te sont pas utiles...
  21. jjacques68

    variable haute

    Juste pour propre dans les commentaires, j’ai oublié de préciser dans le dernier code complet, dans la ligne : --update label VD (le "°C" est dans value) il faut maintenant mettre : --update label VD (le "°C" N’EST PAS dans value !!) tu as un lien sur cette sonde de température ?
  22. jjacques68

    variable haute

    Ok alors maintenant sans perdre ton code actuel (au cas où ), essaye ce code complet là : local selfId = fibaro:getSelfId() --ID du VD de type integer local WEB = Net.FHttp("192.168.1.24",80) -- IP to your espeasy local VgHc2 = tonumber(fibaro:getGlobalValue("TempHc2")) --valeur mémorisée de type number local tempMax = 38 --de type number local tempMin = 32 --de type number local tempNan = 10 --de type number local response ,status, err = WEB:GET("/json?tasknr=1") -- task id on espeasy if (tonumber(status) == 200 and tonumber(err)==0) then -- si réponse ok local jsonTable = json.decode(response) --recupère la table des valeurs de retour local value = jsonTable.Temperature -- sélectionne que la température --force value à tempNan si réponse = nan if string.match(value, "[0-9.]+") == nil then value = tempNan end --debug fibaro:debug("Valeur mesurée = "..value) --update label VD (le "°C" est dans value) fibaro:call(selfId, "setProperty", "ui.lbl1.value", value.." °C") --Comparaison entre la Temperature mémorisée et la température mesurée fibaro:debug("Comparaison pour stockage dans variable : ") fibaro:debug("Valeur mémorisée actuelle = "..VgHc2) if value > VgHc2 then fibaro:debug("température mesurée supérieure -> Mise à jour de la VG") fibaro:setGlobal("TempHc2", value) else fibaro:debug("température mesurée inférieure ou égal -> pas de mémorisation") end --si temperature = 85 alors appui sur Btn 5 du device 747 fibaro:debug("Comparaison avec 85 °C :") if tonumber(fibaro:getGlobalValue("VgHc2")) == 85 then fibaro:call(747, "pressButton", "5"); fibaro:debug("= 85 °C -> eraz variable") else fibaro:debug("<> 85 °C -> rien à faire") end --allumage ou pas du ventilo fibaro:debug("Comparaison pour allumage du ventilo :") fibaro:debug("tempMax = "..tempMax) fibaro:debug("tempMin = "..tempMin) if value > tempMax then fibaro:call(747, "pressButton", "2"); fibaro:debug("allumage ventilo") elseif value < tempMin then fibaro:call(747, "pressButton", "3"); fibaro:debug("extinction ventilo") end fibaro:sleep(10*1000) -- en option : petite tempo pour calmer le code dans le VD end
  23. jjacques68

    variable haute

    On pourrait nettement le simplifier, car les températures renvoyées sont de type entier, il n’y a pas de « °c » après... Mais le nan me pose problème... Je sais pas ce que c’est... Mais peut être que... avec ceci qui remplacecompletement la ligne pour forcer value ?? if string.match(value, "[0-9.]+") == nil then value = tempNan end
  24. jjacques68

    variable haute

    Essayes voir en replaçant “nan *C” par “nan” dans le paragraphe force value à tempNan... If value == “nan”... Envoyé de mon iPhone en utilisant Tapatalk Pro
  25. jjacques68

    variable haute

    Alors la faut que je fasse des essais, car le nan dans le json n’est pas de type string, il a pas de guillemet ! Envoyé de mon iPhone en utilisant Tapatalk Pro
×
×
  • Créer...