Aller au contenu

Jour Chômé


HANSOLO

Messages recommandés

Salut, 

 

J'ai regarder le code sur la page que tu as indiqué HANSOLO mais pas évident. 

 

Voici le code qui m'interesse: 

 

-- Retourne true si le jour courant est un jour de vacances scolaires
function josdJourVacances()
local today=os.date("%Y-%m-%d")
local vacances=false
-- 2013-2014
if ("2013-10-19"<=today and today<"2013-11-04") then vacances=true -- Toussaint
elseif ("2013-12-21"<=today and today<"2014-01-06") then vacances=true -- Noà«l
elseif ("2014-02-15"<=today and today<"2014-03-03") then vacances=true -- Hiver Zone C
elseif ("2014-04-12"<=today and today<"2014-04-28") then vacances=true -- Printemps Zone C
elseif ("2014-07-05"<=today and today<"2014-09-01") then vacances=true -- Vacances d'été
-- 2014-2015
elseif ("2014-10-18"<=today and today<"2014-11-03") then vacances=true -- Toussaint Zones
elseif ("2014-12-20"<=today and today<"2015-01-05") then vacances=true -- Noà«l
elseif ("2015-02-14"<=today and today<"2015-03-02") then vacances=true -- Hiver Zone C
elseif ("2015-04-18"<=today and today<"2015-05-04") then vacances=true -- Printemps Zone C
elseif ("2015-07-04"<=today and today<"2015-08-31") then vacances=true -- Vacances d'été
-- 2015-2016
elseif ("2015-10-17"<=today and today<"2015-11-02") then vacances=true -- Toussaint
elseif ("2015-12-19"<=today and today<"2016-01-04") then vacances=true -- Noà«l
elseif ("2016-02-20"<=today and today<"2016-03-07") then vacances=true -- Hiver Zone C
elseif ("2016-04-23"<=today and today<"2016-05-09") then vacances=true -- Printemps Zone C
elseif ("2016-07-02"<=today and today<"2016-09-01") then vacances=true -- Vacances d'été
-- 2016-2017
elseif ("2016-10-19"<=today and today<"2016-11-03") then vacances=true -- Toussaint
elseif ("2016-12-17"<=today and today<"2017-01-03") then vacances=true -- Noà«l
elseif ("2017-02-04"<=today and today<"2017-02-20") then vacances=true -- Hiver Zone C
elseif ("2017-04-08"<=today and today<"2017-04-24") then vacances=true -- Printemps Zone C
elseif ("2017-07-06"<=today and today<"2017-09-01") then vacances=true -- Vacances d'été
end
return vacances
end

 

Si je rajoute le code direct dans votre code à  toi et Steven, pensez vous que ça pourrait marcher? Bien sà»r j'adapterais les dates à  ma convenance;) 

 

Merci d'avance 

Ludo

Lien vers le commentaire
Partager sur d’autres sites

Premièrement c'est le code de Hansolo, je n'ai fait que de le compléter pour mes besoins personnels. Rendons àCésar ce qui appartient àCésar :)

Deuxièmement, non, ce n'est pas suffisant. En ajoutant ce code tu créé une méthode supplémentaire, reste àl'appeler au bon endroit.

J'ai pas de PC sous la main. Si Hansolo est encore debout ? :)

Tu peux déjàcopier cette méthode et changer les dates pour prendre de l'avance.

Envoyé de mon GT-I9192 en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Salut, 

 

Tout d'abord tu as raison Steven de rendre à  César ce qui lui appartient;) Bien joué HANSOLO ;) 

 

Pour ceux que ça interesse voici le code pour les vacances scolaires Zone B :

 

-- Retourne true si le jour courant est un jour de vacances scolaires
function josdJourVacances()
local today=os.date("%Y-%m-%d")
local vacances=false
-- 2014-2015
elseif ("2014-10-18"<=today and today<"2014-11-03") then vacances=true -- Toussaint Zones
elseif ("2014-12-20"<=today and today<"2015-01-05") then vacances=true -- Noà«l
elseif ("2015-02-21"<=today and today<"2015-03-09") then vacances=true -- Hiver Zone B
elseif ("2015-04-25"<=today and today<"2015-05-11") then vacances=true -- Printemps Zone B
elseif ("2015-07-04"<=today and today<"2015-08-31") then vacances=true -- Vacances d'été
-- 2015-2016
elseif ("2015-10-17"<=today and today<"2015-11-02") then vacances=true -- Toussaint
elseif ("2015-12-19"<=today and today<"2016-01-04") then vacances=true -- Noà«l
elseif ("2016-02-06"<=today and today<"2016-02-22") then vacances=true -- Hiver Zone B
elseif ("2016-04-09"<=today and today<"2016-04-25") then vacances=true -- Printemps Zone B
elseif ("2016-07-02"<=today and today<"2016-09-01") then vacances=true -- Vacances d'été
-- 2016-2017
elseif ("2016-10-19"<=today and today<"2016-11-03") then vacances=true -- Toussaint
elseif ("2016-12-17"<=today and today<"2017-01-03") then vacances=true -- Noà«l
elseif ("2017-02-11"<=today and today<"2017-02-27") then vacances=true -- Hiver Zone B
elseif ("2017-04-15"<=today and today<"2017-05-02") then vacances=true -- Printemps Zone B
elseif ("2017-07-06"<=today and today<"2017-09-01") then vacances=true -- Vacances d'été
end
return vacances
end

 

J'ai essayé de regarder ou mettre l'appel de la fonction et si il  fallait déclaré qqles choses mais pas reussi :( 

 

++ 

Ludo

Lien vers le commentaire
Partager sur d’autres sites

function doCalculate(time, label, variable)
	local jour = josdGetJourSemaine(os.date("%w", time))
	josdJourChomeReturn = (jour=="samedi" or jour=="dimanche" or josdJourFerie(time) or josdJourVacances())
	if josdJourChomeReturn then
		display(jour, "OUI", label, variable, time)
	else
		display(jour, "NON", label, variable, time)
	end
end


Juste à  ajouter le " or josdJourVacances() " dans la fonction "DoCalculate" voir ci-dessus.

 

Pense à  intercaler le code pour les congés avant les deux dernières lignes. (entre deux fonctions déjà  existante ou juste avant les deux dernières lignes mais pas après)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

Une variante pour modifier les icônes selon jour travail ou repos grâce aux id d’icône avec le toolkit de krikroff

Ce qui évite de rajouter les 2 boutons



if 
 ( fibaro:getGlobalValue("JourChomeJ1") == ("OUI") )

then
	   fibaro:call(211 ,"setProperty","currentIcon",1096)
  --fibaro:call(211, "pressButton", "5");
  else
     fibaro:call(211 ,"setProperty","currentIcon",1097)
  --fibaro:call(211, "pressButton", "4");
end

post-236-0-88037600-1404549502_thumb.jpg

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Mise a jour pour les vacances de la zone C

-- JOURS DE VACANCES ET SCOLAIRE
 function josdJourVacances()
local today=os.date("%Y-%m-%d")
  local vacances=false

       -- 2014
if ("2014-07-05"<=today and today<"2014-08-31") then vacances=true -- Vacances d'été

      -- 2014-2015
elseif ("2014-10-18"<=today and today<"2014-11-03") then vacances=true -- Toussaint Zones
elseif ("2014-12-20"<=today and today<"2015-01-05") then vacances=true -- Noël
elseif ("2015-02-14"<=today and today<"2015-03-02") then vacances=true -- Hiver Zone C
elseif ("2015-04-18"<=today and today<"2015-05-04") then vacances=true -- Printemps Zone C
elseif ("2015-07-04"<=today and today<"2015-08-31") then vacances=true -- Vacances d'été

      -- 2015-2016
elseif ("2015-10-17"<=today and today<"2015-11-01") then vacances=true -- Toussaint
elseif ("2015-12-19"<=today and today<"2016-01-04") then vacances=true -- Noël
elseif ("2016-02-20"<=today and today<"2016-03-07") then vacances=true -- Hiver Zone C
elseif ("2016-04-23"<=today and today<"2016-05-09") then vacances=true -- Printemps Zone C
elseif ("2016-07-02"<=today and today<"2016-09-01") then vacances=true -- Vacances d'été

        -- 2016-2017
elseif ("2016-10-19"<=today and today<"2016-11-03") then vacances=true -- Toussaint
elseif ("2016-12-17"<=today and today<"2017-01-03") then vacances=true -- Noël
elseif ("2017-02-04"<=today and today<"2017-02-20") then vacances=true -- Hiver Zone C
elseif ("2017-04-08"<=today and today<"2017-04-24") then vacances=true -- Printemps Zone C
elseif ("2017-07-06"<=today and today<"2017-09-01") then vacances=true -- Vacances d'été

        end
return vacances
end

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 2 mois après...

Salut à  tous  :13:

 

Je rencontre un problème avec la ligne du code pour GEA elle ne fonctionne pas pour moi !

Toutefois celle du Sheduler est ok qlq1 aurait une petite idée j'ai certainement oublié quelque chose 

 

Pour info version  3.590

 

D'avance merci  ;)


 
luaDaySchedule:add("00:15","137", 3 , "pressButton",{"All"},true)
 
La même chose depuis GEA.
 
GEA.add({"Global", "", ""}, 30, "", {{"VirtualDevice", 137, 3},{"Time", "00:00", "00:01"}})
 
Lien vers le commentaire
Partager sur d’autres sites

Steven, par contre tu peux peut-être intégrer vacances_v1.0 dedans. Je l'ai fais àpartir de ton code mais c'est très certainement pas propre du tout (j'ai tout intégré dans le même VD). Je te laisse faire ça aux petits oignons. En tout cas merci moi ça marche nickel, dès que les vacances scolaires arrivent ça passera en jour chomé :)

Lien vers le commentaire
Partager sur d’autres sites

Heu, j'habite en moselle, nous sommes de heureux bénéficiaire de 2 jours fériés supplémentaire par rapport au reste de la France (avec les alsaciens). Franchement, le code est très très simple, très facile à  adapter, ça peut être très formateur de prendre du temps pour essayer de l'adapter. Je rejoins Steven, essayez, si ça ne marche pas, publiez votre truc, avec plaisir vous obtiendrez de l'aide, mais faut essayer un peu, non ? 

 

Bon, j'espère que ce n'est pas déplacé comme remarque

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

@Hansolo

BenjyNet parle d'un module virtuel qu'on a créer pour obtenir automatiquement les dates des vacances scolaires selon le département choisi.

Je te joint le VD si tu veux reprendre le code et l'intégrer (peut-être avec une option car il y a des personnes sans enfants) :)

 

Vacances_scolaires.vfib

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...