Aller au contenu

fredokl

Membres confirmés
  • Compteur de contenus

    1 790
  • Inscription

  • Dernière visite

  • Jours gagnés

    42

Tout ce qui a été posté par fredokl

  1. fredokl

    Domotisation De La Piscine

    @ebtjjnSalut. Bon ça ne veut pas fonctionner. J'ai copié le code plus haut, changé les paramètres et rien n'y fait. La scène se lance mais la pompe ne se déclenche pas. Les variables sont créés (1 x prédéfinie et 3 x globales) ainsi que les notifications. J'ai vérifié tous mes ID (pompe, thermomètre etc...). Je met le code pour vérification. --[[ %% autostart %% properties %% events %% globals --]] --**************************************** --*************PARAMETRAGE**************** local id_pompe = 570 local id_tel = 590 -- 13= tél JJ : téléphone sur lesquel envoyer une notif push (start et stop) local id_eau = 587 --**************************************** --**************************************** local sourceTrigger = fibaro:getSourceTrigger(); local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); function tempFunc() --fonction de filtration en ETE local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); if ( ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "10:30") ) ) then fibaro:debug("Je filtre"); fibaro:call(id_pompe, "turnOn"); fibaro:setGlobal("modefiltration", 1) fibaro:call(id_tel, "sendDefinedPushNotification", "566"); fibaro:sleep(3600*2*1000) -- au bout de 2 heures, prise de température pour gestion auto du nbe d'heures à filtrer selon temp de l'eau local temppiscine = fibaro:getValue(id_eau, "value") fibaro:setGlobal('tempref',temppiscine) -- test de la température : si > 27, filtration sur 22h30 de plus (=23h30 au total) sinon, règle BAROUDI if tonumber(temppiscine) > 27 then fibaro:debug("T° eau piscine > 27 ==> filtration continue") fibaro:setGlobal("modefiltration", 8) fibaro:call(id_tel, "sendDefinedPushNotification", "568"); local nbheuresafiltrer = 22,5 * 3600 * 1000 else fibaro:debug("T° eau piscine = " ..temppiscine .. " °C") local temppiscinearrondi = math.floor(tonumber(temppiscine)+ .5) local nbheuresafiltrerenh = ((tonumber(temppiscinearrondi)/2)-2) fibaro:debug("nb heures a filtrer = " .. nbheuresafiltrerenh) local nbheuresafiltrer = nbheuresafiltrerenh *3600 * 1000 -- on définit la variable dureefiltration = nb d'heures à filtrer fibaro:setGlobal("dureefiltration", nbheuresafiltrer) end fibaro:debug("Valeur de la variable _dureefiltration_ : "..fibaro:getGlobalValue("dureefiltration")); fibaro:sleep(tonumber(fibaro:getGlobalValue("dureefiltration"))-(3600*2*1000)); if fibaro:getGlobalValue("modefiltration") == "12" then fibaro:debug("Fin du mode auto mais CHOC déjà en cours") else fibaro:debug("Fin du timer, j\'arrête de filtrer"); fibaro:setGlobal("dureefiltration", 0) fibaro:call(id_pompe, "turnOff"); fibaro:setGlobal('tempref', 99) fibaro:setGlobal("modefiltration", 0) fibaro:call(id_tel, "sendDefinedPushNotification", "567"); end end setTimeout(tempFunc, 60*1000) end if fibaro:getGlobalValue("Saison") == "Eté" then --je filtre en mode ETE fibaro:debug("c\'est l\'été, cool !! :-)") tempFunc() else local temppiscine = fibaro:getValue(id_eau, "value") fibaro:debug("c\'est l\'hiver...!! :-(") -- test de la température : si < 2, filtration sur 24h, sinon 2h de 4h à 6h du mat if tonumber(temppiscine) < 2 then fibaro:debug("T° eau piscine < 2 ==> filtration continue") fibaro:call(id_tel, "sendDefinedPushNotification", "568"); --local nbheuresafiltrer = 23,5 * 3600 * 1000 fibaro:call(id_pompe, "turnOn"); fibaro:setGlobal('tempref', temppiscine) fibaro:debug("Je filtre en continu"); fibaro:setGlobal("modefiltration", 8) fibaro:sleep(23,5*3600*1000) fibaro:call(id_pompe, "turnOff"); fibaro:setGlobal("dureefiltration", 0) fibaro:setGlobal('tempref', 99) fibaro:debug("Fin du timer, j\'arrête de filtrer"); fibaro:call(id_tel, "sendDefinedPushNotification", "567"); fibaro:setGlobal("modefiltration", 0) --end elseif ( --à 4h du matin, j'active la filtration ( ((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "04:00") ) ) then -- s'il y a un CHOC en cours --> priorité au CHOC : je ne fais rien. Sinon, je filtre 2h. fibaro:debug("je filtre en mode HIVER") if fibaro:getGlobalValue("modefiltration") == "12" then fibaro:debug("CHOC déjà en cours : la durée de filtration est celle définie par le CHOC") elseif fibaro:getGlobalValue("EdfTempoJour") == "1" then fibaro:call(id_pompe, "turnOn"); fibaro:debug("Je filtre"); fibaro:setGlobal("modefiltration", 1) fibaro:call(id_tel, "sendDefinedPushNotification", "566"); fibaro:sleep(1.9*3600*1000) fibaro:debug("Fin du timer, j\'arrête de filtrer"); fibaro:call(id_pompe, "turnOff"); fibaro:setGlobal("modefiltration", 0) --je ne teste pas s'il ya un CHOC en cours : il faudrait l'avoir déclenché entre 4h et 6H du matin... fibaro:call(id_tel, "sendDefinedPushNotification", "567"); end end end
  2. Superbe icones@Did. Envoyé de mon iPhone en utilisant Tapatalk
  3. fredokl

    Domotisation De La Piscine

    Merci. Je test et te tiens au courant.
  4. fredokl

    Domotisation De La Piscine

    @ebtjjnSalut. Ça fait une semaine que j'ai réinstallé la scène et le Vd. Rien ne fonctionne. J'ai tout paramètré correctement et rien ne se lance. Que ce soit à 04h00 du matin, la lecture de la température à 11h30 etc... Rien ne fonctionne. Au niveau de variables, combien y-en-a-t-il à créer?
  5. De rien
  6. @phillmSalut. J'ai crée ces icônes si ça te dit.
  7. fredokl

    Domotisation De La Piscine

    J'ai trouvé mon erreur. C'est la variable global prédéfini qui posait problème. Remplacé: if (fibaro:getGlobalValue(Saison) == "Hiver") then -- si récupère la valeur de la variable Saison par: fibaro:setGlobal("Saison", "Hiver") -- si récupère la valeur de la variable Saison
  8. fredokl

    Domotisation De La Piscine

    Salut. Je me suis lancer dans une scène en lua pour m'entraîner. Je test sur ma pompe de piscine. Je veux en fonction de la température que la pompe démarre pendant 2 heures et ensuite s'arrête. Cela ne semble pas fonctionner. Voici le script: --[[ %% autostart %% properties 587 value %% events %% globals Saison --]] local tempext = fibaro:getValue(587, 'value') -- 'tempext' représente la fonction qui récupère (get) la valeur (Value) de l'intensité (value) du capteur de température 587 local timeloc = os.date("*t") --stocke la date et heure actuelle du système sous forme d'un tableau à l'intérieur de la variable "timeloc" if (fibaro:getGlobalValue(Saison) == "Hiver") then -- si récupère la valeur de la variable Saison if(timeloc['hour'] >= 14 and timeloc['hour'] < 18) then if tonumber(tempext) >= 8 then -- si la valeur récupérée (ramenée en valeur numérique grâce à tonumber) est supérieure ou égale à 8, alors if tonumber(tempext) <= 12 then -- si la valeur récupérée (ramenée en valeur numérique grâce à tonumber) est inférieur ou égale à 12, alors fibaro:call(570, 'turnOn') -- la pompe 570 s’allume. fibaro:call(590, "sendDefinedPushNotification", "566") -- Envoi Push "Démarrage Pompe" sur mon téléphone portable if fibaro:sleep(72000) then -- s'éteint au bout de 2 heures. else fibaro:call(570, 'turnOff') -- sinon la pompe 570 s’éteint. fibaro:call(590, "sendDefinedPushNotification", "567") -- Envoi Push "Arrêt Pompe" sur mon téléphone portable end -- fin de la condition end -- fin de la condition end -- fin de la condition end -- fin de la condition end -- fin de la condition Quand la scène ce lance, j'obtient cette erreur: [DEBUG] 00:41:49: line 154: Assertion failed: Expected string Le code s'arrête à la ligne 22 et je ne vois pas d'où viens cette ligne 154. Pouvez me dire ce qui ne va pas. Merci.
  9. fredokl

    My Batteries

    Merci @jojo pour ce VD. Je viens de recevoir mes Smoke Detector de Fibaro et le VD est très utile.
  10. fredokl

    Domotisation De La Piscine

    Il y a de quoi lire! Le choix pour le VD parfait est assez compliqué! Chacun a sa vision des choses et pour nous (en tout cas moi) profane du LUA, le choix est cornélien!
  11. Ou ça.
  12. @pepiteJe peux te proposer cette là si tu veux.
  13. fredokl

    Domotisation De La Piscine

    Cool. Merci de ta réponse. C'est bien ce que j'ai mis, cela me semblait plus logique. Merci pour la confirmation. Si tu penses le faire évoluer, je suis preneur car ton VD correspond bien à mon usage.
  14. @pepiteOk pour une icône moins "texte". En voici une autre, j'ai fait au plus simple. Qu'en penses-tu?
  15. fredokl

    Domotisation De La Piscine

    @ebtjjnJ'ai installé le VD. Tu confirmes qu'il faut toujours la scène en plus. Par contre j'ai une ou deux questions. désolé mais je débute en lua et je maîtrise pas vraiment. Par exemple sur le bouton Filtration+2, le code est le suivant: fibaro:setGlobal('modefiltration', 5); fibaro:call(69,'turnOn' ) ; --fibaro:call(fibaro:getSelfId(), "setProperty","ui.Running.value", CHOOOC); --fibaro:setGlobal('tempref', 999); fibaro:sleep(2 * 3600 * 1000); -- vérification que la filtration auto n'est pas en marche if (fibaro:countScenes(25) > 1) then fibaro:setGlobal('modefiltration', 1); fibaro:debug('Choc terminé mais filtration non arrêtée car la filtration automatique est déjà en marche'); else fibaro:setGlobal('modefiltration', 0); fibaro:call(71, 'turnOff' ) --fibaro:setGlobal('tempref', 99); fibaro:debug('Choc terminé et pas de filtration auto --> arrêt de la filtration'); end Le 69 correspond a ta pompe, le 25 correspond à la scène et 71 à ta lampe, alors ma question est pourquoi la lampe?
  16. fredokl

    Domotisation De La Piscine

    Salut ebtjjn, merci pour le VD. Je test et te tiens au courant.
  17. fredokl

    Température Min / Max

    cool
  18. fredokl

    Température Min / Max

    @jmg38Salut. Pour le 6 et le 8, j'ai les ai inversé pour l'ID de mon VD (68 au lieu de 86), faute de frappe. Ce qui a pour effet de ne pas afficher la date. Une fois le bon ID en place tout c'est mis à fonctionner normalement. Vérifie bien tous tes paramètres, peut-être que ton problème vient de là. Sur la dernière ligne du bouton RESET l'ID a mettre est celui du VD.
  19. fredokl

    Température Min / Max

    J'ai trouvé mon erreur. Je confond le 6 et le 8---> je retourne à l'école!
  20. fredokl

    Température Min / Max

    Merci VD très pratique. Comme @jmg38je n'ai pas la date. Et pourtant j'appuis sur reset.
  21. Jolie icone @Did. Pas mieux à proposer.
  22. fredokl

    Domotisation De La Piscine

    @ebtjjnSuper! Merci à toi.
  23. Je regarde ça ce soir. Envoyé de mon iPhone en utilisant Tapatalk
  24. Merci Envoyé de mon iPhone en utilisant Tapatalk
  25. @phillmC'est bon ça? Si oui va voir sur ma galerie.
×
×
  • Créer...