Aller au contenu

Etalonnage automatique des volets avec module fibaro


mprinfo

Messages recommandés

Cette scène va vous permettre de voir si vos volets sont toujours bien étalonner

 

dans un premier temps elle va récupérer les id des modules est ouvrir les volets si ils ne le sont pas

 

Ensuite elle va vérifier si la valeur est a 99 (ouvert) cette action prend 30s

 

si la valeur du volet ou des volets est inférieur a 98 le volet sera etalonner

 

cette action prend 60s

 

Enfin les volets seront positionner a leurs valeurs d'origine

 

 

 

--[[
%% properties

%% globals
--]]

local ValeurCalibrage = 98
local TousLesModules = api.get("/devices/")
local IdEnd = TousLesModules[#TousLesModules].id
local calibrage = {} 
local NomVolets = "Liste(s) "
fibaro:debug("Nombres de modules : " ..#TousLesModules)
fibaro:debug("Dernier ID : "..IdEnd)
print ("-----------------------------------------------------------")
print ("------- Listes de tous les volets")
print ("-----------------------------------------------------------")

for i,v in ipairs(TousLesModules) do
    --local id = TousLesModules[i].id
    local Nom = TousLesModules[i].name
    local visible = TousLesModules[i].visible
    local modifier = TousLesModules[i].modified
    local Valeur = TousLesModules[i].properties.value
    local theType = string.sub(TousLesModules[i].type, 12,15) 

    if visible == true and (theType == 'FGRM') then
       local id = TousLesModules[i].id
       fibaro:debug("Id = "..id.." - Nom = "..Nom.." - "..Valeur.." %")
    
       if tonumber(Valeur) < ValeurCalibrage then
          local IDCalibrage = {Nom, id, Valeur}
          NomVolets = NomVolets.." - "..Nom
          table.insert(calibrage, 1, IDCalibrage)
          fibaro:call(id, "setValue", 99)
       end
    end
end
--print(json.encode(calibrage))


-----------------------------------------------------------------
-- Calibrage du volet avec la table calibrage
-----------------------------------------------------------------

print ("")
print ("-----------------------------------------------------------")
print ("------ Liste des Volets à calibrer")
print ("-----------------------------------------------------------")
print ("")
-- test si il y a des volets a calibrer
if #calibrage == 0 then
  print ("Aucun volet a calibrer")
  fibaro:abort()
else
  print (NomVolets)
  print ("")
  print (" Ouverture des volets en cours (durer 30s)...")
  print ("")
end

fibaro:sleep(10*1000)

for i = 1, #calibrage do
      local Nom = calibrage[i][1]
      local id = tonumber(calibrage[i][2])
      if fibaro:getValue(id, "value") ~= 99 then
         local DeviceAPI = api.get ("/devices/"..id)
         DeviceAPI.properties.parameters[9].value = 1 
         api.put("/devices/"..id, DeviceAPI)
      end
end

print ("---- Debut de la calibration (Durer 60s)...")

fibaro:sleep(60*1000)
--------------------------------------------------------------------
-- Re positionnement a la valeur d'origine des volets
--------------------------------------------------------------------
print ("---- Positionnement a la valeur d'origine...")
for i = 1, #calibrage do
      local Nom = calibrage[i][1]
      local id = tonumber(calibrage[i][2])
      local Valeur = tonumber(calibrage[i][3])
      if fibaro:getValue(id, "value") ~= Valeur then
         fibaro:call(id, "setValue", Valeur)
      end
end

 

Modifié par Lazer
  • Like 4
Lien vers le commentaire
Partager sur d’autres sites

C'est potentiellement intéressant
Est ce que cela fonctionne avec les rollershutter v1 ou v2 ?
Est ce que cela fonctionnerait avec un volet roulant mal calibré qui ne s'arrête jamais et que je n'arrive pas à calibrer avec un rolershutter V2 ?...

Envoyé de mon SM-A530F en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Oui avec tout les modules fgr

 

C'est très simple comme scène

 

On ouvre les volets

On regarde la valeur qui doit être 99 mais bien souvent certains modules sont à 98

 

Ceux qui sont en dessous doivent être calibré

 

Donc on passe le paramètre 29 à un pour un calibrage

 

Et pour faire bien on met les volets à leurs positions de départ

 

 

Envoyé de mon BLA-L29 en utilisant Tapatalk

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Ca ne fonctionne pas ....

Déjà il a fallut que j'ajoute un type de volet dans ta liste : j'ai des FGR221 -> "FGR2"

Et ensuite, comme mon volet ne s'arrête pas tout seul, je le stoppe à la hauteur voulue durant la calibration. Mais une fois l'opération réalisée, il ne dépasse toujours cette position...

Je crois que cela ne fonctionnera pas avec mon volet, et qu'il faut vraiment que je mette les mains dans le camboui....

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Bonjour @mprinfo

 

J'utilise le script depuis le début cela fonctionne très bien avec des FGR-222, récemment je viens d'ajouter deux FGR-223 il ne sont pas détecter par le script.

 

Est ce que quelqu’un connait le type d'un FGR-223 (ex pour le FGR-222 : theType == 'FGRM' ) ?

 

Merci par avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
×
×
  • Créer...