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. jjacques68

    variable haute

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

    variable haute

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

    variable haute

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

    variable haute

    Ensuite tu peux mettre en commentaire tous les debug qui ne te sont pas utiles...
  5. 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 ?
  6. 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
  7. 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
  8. 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
  9. 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
  10. jjacques68

    variable haute

    Tu pourrais m’afficher le contenu Json quand ça marche, donc avec une température ? Envoyé de mon iPhone en utilisant Tapatalk Pro
  11. Mouai enfin il semble quand même y avoir encore un soucis dans les mises et les notifications... Envoyé de mon iPhone en utilisant Tapatalk Pro
  12. Mais quelle mise à jour ?? J’en ai pas eu moi... Envoyé de mon iPhone en utilisant Tapatalk Pro
  13. Tu as fais qqch@krikroff ? Envoyé de mon iPhone en utilisant Tapatalk Pro
  14. Yes !! Envoyé de mon iPhone en utilisant Tapatalk Pro
  15. Ahhhhhhhhh ... Envoyé de mon iPhone en utilisant Tapatalk Pro
  16. Oh punaise oui !! Faut se déconnecter puis se reconnecter à nouveau !! Envoyé de mon iPhone en utilisant Tapatalk Pro
  17. Bonsoir à tous, Voici un rapide bout de code tout simple mais toujours utile, qui permet de connaitre le nombre de device que l'on a sur notre HC2. Version 1 : CountDeviceV1.lua Le critère de sélection est simplement la propriété "visible" du device qui doit être à "true". Il sont classés selon leurs types, sans tenir compte de leurs "parentId". C'est à dire par exemple pour 1 FGMS, il va compter donc 1 détecteur de mouvement, 1 détecteur du luminosité et 1 détecteur de température. Il ne fait pas la différence entre les version 1 et n des device. Version 2 : CountDeviceV2.lua Dans cette version il est possible de connaitre le nombre réel de device. --[[ Version 2 Scène qui compte les device. Permet de savoir combien on en a. C'est tout. --]] print("Les device listés en VERT correspondent aux device réels ou physiquement présent.\n") local Detail = true --mettre false pour ne pas avoir le détail if Detail == true then print("Les device listés en ORANGE correspondent au nombre de device du même type.") print("Il peut y avoir un décallage entre le nombre de device réels ") print("et le nombre de device du même type,") print("car un device réel peut en contenir plusieurs (exemple pour les FGMS, FGS, ...)\n") end print("Analyse en cours...\n") local Device = api.get("/devices") local DeviceFind = false local AllDevice = {} --{parentId = x, id = y} local RealDevice = {} --{TypeDevice = "", Number = x} local NbRealDevice = 0 local NbDevice = 0 --[[---------------------------------------------------------------------------- -------------------------------------------------------------------------------- ajoute le couple parentId - Id dans la table AllDevice. Si pas de parentId (cas des VD) alors on force le parentId à 0. PID | ID --------- 0 | 2 1 | 434 434 | 439 434 | 440 434 | 441 --]] for i = 1, #Device do if Device[i].parentId then table.insert(AllDevice,{parentId = Device[i].parentId, id = Device[i].id}) else --sinon ajoute le device avec comme parentId forcé à 0 (c'est en faite les VD) table.insert(AllDevice,{parentId = 0, id = Device[i].id}) --print(Device[i].id.." "..Device[i].type) end end --[[---------------------------------------------------------------------------- -------------------------------------------------------------------------------- 2 étapes pour l'ajout dans la table RealDevice : 1ère étape : ajoute/compte les device de AllDevice dont le parentId = 0 (user, mobile, VD, ...). 2ème étape : sélectionne dans AllDevice, que le premier device des chlidId pour ajouter/compter : PID | ID --------- 1 | 434 434 | 439 <---- c'est celui là qui nous intéresse 434 | 440 434 | 441 --]] for i,v in ipairs(AllDevice) do --pour tous les devices de AllDevice --ETAPE 1 : --ajoute les type de device dont le parentId = 0 (user, mobile, ...) if AllDevice[i].parentId == 0 then --on récupère les info du device Device = api.get("/devices/"..AllDevice[i].id) --pour tous les Device déjà enregistrés for j,v in ipairs(RealDevice) do --si y a déjà un type device identique dans la liste -> on incrémente juste le nombre if RealDevice[j].TypeDevice == Device.type then RealDevice[j].Number = RealDevice[j].Number + 1 DeviceFind = true break else DeviceFind = false end end --ajoute si pas present dans le tableau if DeviceFind == false then table.insert(RealDevice, {TypeDevice = Device.type, Number = 1}) end end --arrête si arrivé au dernier (sinon bug à cause du i+1) if i == #AllDevice then break end --ETAPE 2 : ajoute des autres devices --si id en cours = parentId du suivant c'est que --l'id du suivant est le premier device enfant que l'on doit garder if AllDevice[i].id == AllDevice[i+1].parentId then --on récupère les infos du premier device enfant Device = api.get("/devices/"..AllDevice[i+1].id) --si le device enfant n'est pas directement le suivant, --on prends encore le suivant, et encore et encore jusqu'à trouver le bon. k=1 while Device.visible == false do k=k+1 Device = api.get("/devices/"..AllDevice[i+k].id) end --pour tous les Device déjà enregistrés for j,v in ipairs(RealDevice) do --si y a déjà un type device identique dans la liste -> on incrémente juste le nombre if RealDevice[j].TypeDevice == Device.type then RealDevice[j].Number = RealDevice[j].Number + 1 DeviceFind = true break else DeviceFind = false end end --ajoute si pas present dans le tableau if DeviceFind == false then table.insert(RealDevice, {TypeDevice = Device.type, Number = 1}) end end end --on affiche le résultat------------------------------------------------------------ Device = api.get("/devices") for i = 1, #RealDevice do print ("<font color = 'green'>"..RealDevice[i].Number.." x "..RealDevice[i].TypeDevice.."</font>") NbRealDevice = NbRealDevice + tonumber(RealDevice[i].Number) if Detail == true then k=1 for j = 1, #Device do if Device[j].type == RealDevice[i].TypeDevice and Device[j].visible == true and Device[j].enabled == true then print("<font color = 'orange'>______ "..k.." ---> "..Device[j].name.." - "..Device[j].id.."</font>") NbDevice = NbDevice+1 k=k+1 end end end end --et les toto---------------------------------------------------------------------- print() print("<font color = magenta>Nombre Réel de device : "..NbRealDevice.."</font>") if Detail == true then print("<font color = magenta>Nombre de device : "..NbDevice.."</font>") end voilà le debug : Si vous avez des propositions d'améliorations... n'hésitez pas...
  18. jjacques68

    Fibaro HC3 ?

    La HC2 reste un très bon point de départ. Je fais parti des personnes qui se posent la même question, mais faut avouer que question stabilité (sans vouloir entrer dans les process intime de la bête), c’est très bon. Prise en main aussi. Le lua ?? On s’y fait bien(un peu de lecture et de d’essai quand même) Elle est conviviale. Certe les nouveautés viennent au compte goute. Perso j’ai un IPX dessus et une jeedom smart mais que pour le Bluetooth. La HC2 reste mettre dans l’affaire. Si c’était à refaire, je ferai pareil. Et surtout, surtout, ce forum est le plus utile, fourni, agréable et fréquenté par de vrai connaisseur en la matière qui n’hésitent pas à aider (important aussi ça, la communauté !!) Plus chère que d’autres, oui... et le prix des modules c’est kif kif. On peut lui reprocher beaucoup de chose, mais en attendant, elle fonctionne, et nous permet de faire presque tout ce qu’on veut.
  19. ça colle, le bug est apparu juste après IOS 11
  20. Par contre tout est normal avec le forum jeedom par exemple, je peux répondre, créer,...
  21. Moi Tapatalk en pro 7.0.1 et IOS en 11.0.2.
  22. Moi oui en tout cas, les autres le sais pas...
  23. C’est malin ça ... mais bien vrai APK marche pour iOS... visiblement
  24. APK ? Ai marche pour iPhone aussi ?
  25. Et comment on fait pour retrouver une ancienne version ?
×
×
  • Créer...