Aller au contenu

Recommended Posts

VD Triggers Journaliers

 

5ac5f02c37210_Capturedecran2018-04-05a10_54_39.thumb.png.c4df78bc8194be60ebfed2bd9f0fcced.png

 

Préambule

 

Grosse Mise à Jour de ma première tentative de VD... Ce qui signifie un départ de zéro et une nouvelle philosophie... Ce qui a mené sur un nouveau VD !

Encore une fois, un grand défi que je m'étais lancé et je suis plutôt fier d'avoir réussi à pondre cela, non sans difficultés.

J'ai passé beaucoup de temps à réfléchir à comment réaliser chacune des actions afin que ce VD soit le plus optimisé par rapport à mes quelques connaissances en LUA.

J'ai aussi essayé de réfléchir à un VD qui ne serait pas limité à une seule fonction tout en le rendant totalement paramétrable afin qu'il convienne au plus grand monde.

 

Le déphasage n'aura pas grand intérêt pour la plupart d'entre-vous et il suffit donc de mettre le Slider à 50 (lors de la programmation) pour qu'il n'impacte en rien vos déclenchements.

Pour ma part, le déphasage me permet de pouvoir programmer une scène de réveil qui doit démarrer avant l'heure en question. Cependant, lorsque je programme ce réveil, je ne souhaite pas avoir à calculer l'heure de déclenchement de ma scène (Ma scène est autonome et me réveillera au bout de 30mn), je programme donc l'heure du réveil avec le déphasage nécessaire.

Autre utilité, si l'heure de votre HC2 ne correspond pas à l'heure de vos autres appareils (téléphones/ordinateurs), cela permet de la recaler sur ceux-ci !

J'ai permis +/- 30mn de battement afin que le 0 soit facilement trouvable.

 

J'espère vraiment que ce VD pourra vous être utile. J'attends avec impatience vos éventuels retours !

Que ça soit sur des idées d'amélioration ou vos points de vue sur le VD ou même la programmation de celui-ci !

 

Installation

Créer la variable globale VD_TRIGGERS et importer le VD.

Importer les icones et modifier leurs IDs pour chaque variable. Suivez les indications de ce lien si vous ne savez pas comment récupérer les IDs des icones.

 

-- IDs Icones
local icone_ok = 1156
local icone_wait = 1158
local icone_no_trigg = 1155
local icone_triggers_off = 1157
local icone_vd_off = 1160

-- Nombre de déclenchements de l'action à l'heure H (15 maxi)
local nb_declenchements = 1

nb_declenchements correspond au nombre de tentatives que fera le script pour exécuter les commandes affectées à la journée.

Si nécessaire, pensez à n'autoriser qu'une seule instance des scènes qui seront démarrées depuis ce VD !

 

Réglage des actions

 

Cela se fait en dessous de chaque ligne de commentaire de la fonction totrigg().

Pour ma part, je souhaite que la même scène soit lancée, peu importe le jour, j'ai donc mis ma commande en dehors de la condition de jour.

Supprimez bien évidemment cette ligne (fibaro:startScene(49);) de la boucle principale de votre VD !

-- Actions à réaliser en fonction des jours
local function totrigg(day)
  -- Pour tous les jours
  fibaro:startScene(49);
  if day == 1 then -- Lundi
  elseif day == 2 then -- Mardi
  elseif day == 3 then -- Mercredi
  elseif day == 4 then -- Jeudi
  elseif day == 5 then -- Vendredi
  elseif day == 6 then -- Samedi
  elseif day == 7 then -- Dimanche
  end
end

 

Détails

 

5ac5f01e65500_DetailsVDTriggersJournaliers.thumb.png.cf0e78d9dc795d139be2c0bef5a34c17.png

 

Icones

 

trigger_wait.png.523c36b707ae62b72d95848f4fa06181.pngtrigger_ok.png.7e5e56073865b70d54e5cb0123743702.pngtrigger_off.png.bf1cfb7738ccf9cbca038b88eeb15a2b.pngtriggers_off.png.1842d6d01e5efe1afb84b8e5c58fcdfe.pngvd_off.png.9bc40cd40d613d4f58cb411eb8cda79a.png

Trigger du jour en attente - Trigger du jour passé - Pas de trigger aujourd'hui - Tous les triggers OFF - VD OFF

 

Téléchargement

Triggers_Journaliers.vfib

 

Modifié par J3R3M
  • Like 6

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour to, super travail .... cela va me faire supprimer un paquet de variable et de bout de scène, plus facile à maintenir en cas de modification.

 

Dis j'ai un soucis je ne comprends pas pourquoi il m'affiche cette tranche d'heure, on dirai que le VD n'est pas à l'heure.

J'ai mis Lundi à 7h du Mat et un test à Samedi à 11h55.

 

5ad1d17e39748_impecr.jpg.fb27637bf84f3383b77f3483a89eef7e.jpg

 

D'avance merci pour ton aide, encore merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Rem’s et merci de ton message ! :-)

 

Concernant ton problème, je ne suis pas certain de comprendre. Tu souhaites programmer l’horaire 7h sur le lundi, mais ça t’affiche 2h01 dans le recap d’infos ?

Si c’est cela, je pense que c’est parce que tu te bases sur la valeur affichée du Slider et non sur les valeurs affichées dans le Programmeur. Les valeurs affichées des 3 Sliders vont de 0 à 100 et sont ensuite retransformées sur la base de 0-23 pour les heures et 0-59 pour les minutes.

Avant de valider un horaire, vérifie bien que l’horaire affiché dans le Programmeur correspond à celui que tu veux affecter.

Par exemple, les valeurs de slider affichées de ton screenshot sont 12 pour les heures, 5 pour les minutes et 50 pour le déphasage. Ce qui donne dans le programmeur : 3h03 Phi = 0.

Reviens vers moi dès que tu as fait cette vérification afin qu’on puisse continuer à chercher si ce n’est pas ça ! ;-)

 

 

J’ai cependant remarqué un petit problème dans l’affichage du décompte lorsque le trigger a lieu le jour actuel, je me pencherai sur ce problème lundi.

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, en fait j'avais pas capté.. c'est bon j'ai fait correspondre les horaires et cela fonctionne à merveille

cela va me faire supprimer quelques variables et ce sera plus facile en terme de maintenance ...!!

 

encore merci pour travail

Partager ce message


Lien à poster
Partager sur d’autres sites

Parfait alors !

 

En effet, les Sliders des VD vont de 0 à 100, il n'est pas possible de choisir les valeurs mini et maxi.

Cela fait donc une petite gymnastique entre la valeur affichée et la valeur réelle qui sera affectée.

J'avais aussi pensé à n'utiliser que les valeurs qui m'intéressaient, mais ça aurait été bien plus complexe de programmer un horaire précis, en plus de n'utiliser qu'une petite portion du Slider.

 

Je pense que ça doit maintenant être plus simple pour toi en gardant un oeil sur le Programmeur ! :)

 

Je suis content que ce VD puisse te servir ! Bonne continuation et merci de ton retour :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici ce à quoi j'étais parfois confronté :

 

5ae3bd775365d_Capturedecran2018-04-28a01_59_40.png.5421ec558ae5e39b671d9f1b1eba1cd6.png

 

L'horaire 5h-23mn est quand même beaucoup moins compréhensible que 4h37 !

Pour régler ce problème sans avoir à réinstaller le VD, il suffit de remplacer la ligne suivante (ligne 73) de la boucle principale du VD :

fibaro:call(fibaro:getSelfId(), "setProperty", "ui.nexttrig.value", "Dans "..os.date("%H",VG[i].t) - os.date("%H").."h"..os.date("%M", VG[i].t) - os.date("%M") .."mn / φ = "..VG[i].d);

 

Par celle-ci :

 

if os.date("%M", VG[i].t) - os.date("%M") < 0 then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.nexttrig.value", "Dans "..os.date("%H",VG[i].t) - (os.date("%H")+1) .."h"..(os.date("%M", VG[i].t) - os.date("%M"))+60 .."mn / φ = "..VG[i].d); else fibaro:call(fibaro:getSelfId(), "setProperty", "ui.nexttrig.value", "Dans "..os.date("%H",VG[i].t) - os.date("%H").."h"..os.date("%M", VG[i].t) - os.date("%M") .."mn / φ = "..VG[i].d); end

 

Je mets immédiatement à jour le téléchargement du premier post :)

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

×