Je n'ai plus d'erreur dans mes logs, mais je ne reçois pas de notification.
Code : Tout sélectionner
--[[
name : script_time_fete_du_jour.lua
auteur : papoo
MAJ : 26/05/2019
date : 28/05/2016
Principe : Ce script a pour but d'afficher dans un device texte l'évenement (anniversaire, jour férié ou fête) du jour et du lendemain
http://pon.fr/fete-du-jour-et-du-lendemain-en-lua/
https://easydomoticz.com/forum/viewtopic.php?f=10&t=1878
]]--
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
local debugging = false -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local fete_text_idx = 120 -- idx du capteur texte saint du jour, nil si inutilisé
local fete_demain_text_idx = 123 -- idx du capteur texte saint du lendemain, nil si inutilisé
local anniversaire_text_idx = 121 -- idx du capteur texte anniversaire du jour pour afficher les anniversaires dans un device séparé, nil si inutilisé
local anniversaire_demain_text_idx = 122 -- idx du capteur texte anniversaire du lendemain pour afficher les anniversaires dans un device séparé, nil si inutilisé
local jour_ferie_switch = "Jour Ferie" -- nom du capteur switch jour férié, nil si inutilisé
local jour_ferie_scene = "Jour Férié" -- nom du scénario jour férié entre, nil si inutilisé
local variable_jour = "Saint_Jour" -- nom de la variable jour, nil si inutilisé
local variable_lendemain = "Saint_Lendemain" -- nom de la variable lendemain, nil si inutilisé
local variable_jour_ferie = "Jour_ferie" -- nom de la variable
local Scene_Semaine_Paire = "Semaine Paire" -- nom du scénario semaine paire, nil si inutilisé
local Scene_Semaine_Impaire = "Semaine Impaire" -- nom du scénario semaine impaire, nil si inutilisé
local Scene_Week_End = "Week-End" -- nom du scénario Week-End, nil si inutilisé
local date_mariage = 1996 -- année de votre date de mariage
local jour_semaine_switch = "Jour de la semaine" -- nom du capteur switch jour de la semaine, nil si inutilisé
local ferie_vendredi_saint = false -- true si le vendredi saint est un jour férié (Moselle (57), Bas-Rhin (67) et Haut-Rhin (68), sinon false
local ferie_lendemain_noel = false -- true si le lendemain de noel est un jour férié (Moselle (57), Bas-Rhin (67) et Haut-Rhin (68), sinon false
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
local nom_script = 'Fete du jour et du lendemain'
local version = "1.70" -- version du script
local fete_jour = ''
local fete_demain = ''
local ferie = ''
local anniversaire = {}
local saint_jour = {}
local jour_ferie = {}
--------------------------------------------
---------------- Fonctions -----------------
--------------------------------------------
--[[package.path = package.path..";/home/pi/domoticz/scripts/lua/fonctions/?.lua" -- ligne à commenter en cas d'utilisation des fonctions directement dans ce script
require('fonctions_perso')--]] -- ligne à commenter en cas d'utilisation des fonctions directement dans ce script
-- ci-dessous les lignes à décommenter en cas d'utilisation des fonctions directement dans ce script( supprimer --[[ et --]])
function voir_les_logs (s, debugging) -- nécessite la variable local debugging
if (debugging) then
if s ~= nil then
print (s)
else
print ("aucune valeur affichable")
end
end
end -- usage voir_les_logs("=========== ".. nom_script .." (v".. version ..") ===========",debugging)
--------------------------------------------
function year_difference(s)
return tostring(os.date("%Y")) - tostring(s)
end
function date_en_francais(str)
if (str) then
str = string.gsub(str, "January", "Janvier");
str = string.gsub(str, "February", "Février")
str = string.gsub(str, "March", "Mars")
str = string.gsub(str, "April", "Avril")
str = string.gsub(str, "May", "Mai")
str = string.gsub(str, "June", "Juin")
str = string.gsub(str, "July", "Juillet")
str = string.gsub(str, "August", "Août")
str = string.gsub(str, "september", "Septembre")
str = string.gsub(str, "October", "Octobre")
str = string.gsub(str, "November", "Novembre")
str = string.gsub(str, "December", "Décembre")
str = string.gsub(str, "Monday", "Lundi")
str = string.gsub(str, "Tuesday", "Mardi")
str = string.gsub(str, "Wednesday", "Mercredi")
str = string.gsub(str, "Thursday", "Jeudi")
str = string.gsub(str, "Friday", "Vendredi")
str = string.gsub(str, "Saturday", "Samedi")
str = string.gsub(str, "Sunday", "Dimanche")
end
return (str)
end
--------------------------------------------
------------- Fin Fonctions ----------------
--------------------------------------------
commandArray = {}
time = os.date("*t")
-- Trigger at 00:20
--[[time = os.date("*t")]] --
--if time.hour % 2 == 0 then -- toutes les deux heures
--if (time.hour%2 == 0 and time.min == 10) then --Toutes les 2 heures et 10 minutes
if time.min % 1 == 0 then
voir_les_logs("=========== Fete du jour (v".. version ..") ===========",debugging)
local today=tostring(os.date("%d:%m"))
voir_les_logs("--- --- --- Date du jour : ".. today,debugging)
local tomorrow=tostring(os.date("%d:%m",os.time()+24*60*60))
voir_les_logs("--- --- --- Date de demain : ".. tomorrow,debugging)
local annee_mariage = tostring(os.date("%Y")) - tostring(date_mariage)
local annee_mariage = year_difference(date_mariage)
local jour = tonumber(os.date("%w"))
if (jour == 0) or (jour == 6) then
voir_les_logs("--- --- --- jour ".. jour .." c\'est le week-end ",debugging)
if Scene_Week_End ~= nil then
commandArray['Scene:'..Scene_Week_End] = 'On'
voir_les_logs("--- --- --- Mise à jour scénario ".. Scene_Week_End .." => On",debugging)
end
else
voir_les_logs("--- --- --- jour ".. jour .." c\'est la semaine",debugging)
if Scene_Week_End ~= nil then
commandArray['Scene:'..Scene_Week_End] = 'Off'
voir_les_logs("--- --- --- Mise à jour scénario ".. Scene_Week_End .." => Off",debugging)
end
end
anniversaire["05:01"]={anniv="l\'anniversaire de TEST2", alerte=true}
anniversaire["06:01"]={anniv="l\'anniversaire de TEST5", alerte=true}
anniversaire["23:01"]={anniv="l\'anniversaire de Aurélie", alerte=true}
anniversaire["28:01"]={anniv="l\'anniversaire de Audrey", alerte=true}
anniversaire["01:02"]={anniv="l\'anniversaire de Juanit", alerte=true}
anniversaire["03:03"]={anniv="l\'anniversaire de Kevin", alerte=true}
anniversaire["18:03"]={anniv="l\'anniversaire de Ethan", alerte=true}
anniversaire["27:03"]={anniv="l\'anniversaire de Julie", alerte=true}
anniversaire["14:04"]={anniv="l\'anniversaire de Raphaël", alerte=true}
anniversaire["25:04"]={anniv="l\'anniversaire de Caroline", alerte=true}
anniversaire["04:06"]={anniv="l\'anniversaire de Maxime", alerte=true}
anniversaire["08:06"]={anniv="l\'anniversaire de Papa", alerte=true}
anniversaire["01:08"]={anniv="l\'anniversaire de Domie", alerte=true}
anniversaire["18:08"]={anniv="l\'anniversaire de Maman", alerte=true}
anniversaire["20:11"]={anniv="l\'anniversaire de Clémence", alerte=true}
anniversaire["30:05"]={anniv="l\'anniversaire de Jacques", alerte=true}
anniversaire["01:06"]={anniv="nos ".. annee_mariage .." ans de mariage", alerte=true}
--===========================================================
saint_jour["01:01"]="le jour de l\'An"
saint_jour["02:01"]="les Basile"
saint_jour["03:01"]="les Geneviève"
saint_jour["04:01"]="les Odilon"
saint_jour["05:01"]="les Édouard"
saint_jour["06:01"]="les André"
saint_jour["07:01"]="les Raymond"
saint_jour["08:01"]="les Lucien"
saint_jour["09:01"]="les Alix de Ch."
saint_jour["10:01"]="les Guillaume"
saint_jour["11:01"]="les Paulin d Aquilee"
saint_jour["12:01"]="les Tatiana"
saint_jour["13:01"]="les Yvette"
saint_jour["14:01"]="les Nina"
saint_jour["15:01"]="les Rémi"
saint_jour["16:01"]="les Marcel"
saint_jour["17:01"]="les Roseline"
saint_jour["18:01"]="les Prisca"
saint_jour["19:01"]="les Marius"
saint_jour["20:01"]="les Sébastien"
saint_jour["21:01"]="les Agnès"
saint_jour["22:01"]="les Vincent"
saint_jour["23:01"]="les Barnard"
saint_jour["24:01"]="les François"
saint_jour["25:01"]="la Conversion de Paul"
saint_jour["26:01"]="les Paule"
saint_jour["27:01"]="les Angèle"
saint_jour["28:01"]="les Thomas"
saint_jour["29:01"]="les Gildas"
saint_jour["30:01"]="les Martine"
saint_jour["31:01"]="les Marcelle"
saint_jour["01:02"]="les Ella"
saint_jour["02:02"]="les Theophane"
saint_jour["03:02"]="les Blaise"
saint_jour["04:02"]="les Véronique"
saint_jour["05:02"]="les Agathe"
saint_jour["06:02"]="les Gaston"
saint_jour["07:02"]="les Eugénie"
saint_jour["08:02"]="les Jacqueline"
saint_jour["09:02"]="les Apolline"
saint_jour["10:02"]="les Arnaud"
saint_jour["11:02"]="les Severin"
saint_jour["12:02"]="les Felix"
saint_jour["13:02"]="les Beatrice"
saint_jour["14:02"]="les Valentin"
saint_jour["15:02"]="les Claude"
saint_jour["16:02"]="les Julienne"
saint_jour["17:02"]="les Alexis"
saint_jour["18:02"]="les Bernadette"
saint_jour["19:02"]="les Gabin"
saint_jour["20:02"]="les Aimee"
saint_jour["21:02"]="les Damien"
saint_jour["22:02"]="les Isabelle"
saint_jour["23:02"]="les Lazare"
saint_jour["24:02"]="les Modeste"
saint_jour["25:02"]="les Romeo"
saint_jour["26:02"]="les Nestor"
saint_jour["27:02"]="les Honorine"
saint_jour["28:02"]="les Romain"
saint_jour["29:02"]="les Augula"
saint_jour["01:03"]="les Aubin"
saint_jour["02:03"]="les Charles"
saint_jour["03:03"]="les Gwenole"
saint_jour["04:03"]="les Casimir"
saint_jour["05:03"]="les Olive"
saint_jour["06:03"]="les Colette"
saint_jour["07:03"]="les Félicité"
saint_jour["08:03"]="les Jean"
saint_jour["09:03"]="les Françoise"
saint_jour["10:03"]="les Vivien"
saint_jour["11:03"]="les Rosine"
saint_jour["12:03"]="les Justine"
saint_jour["13:03"]="les Rodrigue"
saint_jour["14:03"]="les Maud"
saint_jour["15:03"]="les Louise"
saint_jour["16:03"]="les Benedicte"
saint_jour["17:03"]="les Patrick"
saint_jour["18:03"]="les Cyrille"
saint_jour["19:03"]="les Joseph"
saint_jour["20:03"]="les Herbert"
saint_jour["21:03"]="les Clemence"
saint_jour["22:03"]="les Lea"
saint_jour["23:03"]="les Victorien"
saint_jour["24:03"]="les Catherine"
saint_jour["25:03"]="les Humbert"
saint_jour["26:03"]="les Larissa"
saint_jour["27:03"]="les Habib"
saint_jour["28:03"]="les Gontran"
saint_jour["29:03"]="les Gwladys"
saint_jour["30:03"]="les Amedee"
saint_jour["31:03"]="les Benjamin"
saint_jour["01:04"]="les Hugues"
saint_jour["02:04"]="les Sandrine"
saint_jour["03:04"]="les Richard"
saint_jour["04:04"]="les Isidore"
saint_jour["05:04"]="les Irene"
saint_jour["06:04"]="les Marcellin"
saint_jour["07:04"]="les Jean-Baptiste"
saint_jour["08:04"]="les Julie"
saint_jour["09:04"]="les Gautier"
saint_jour["10:04"]="les Fulbert"
saint_jour["11:04"]="les Stanislas"
saint_jour["12:04"]="les Jules 1er"
saint_jour["13:04"]="les Ida"
saint_jour["14:04"]="les Maxime"
saint_jour["15:04"]="les Paterne"
saint_jour["16:04"]="les Benoît"
saint_jour["17:04"]="les Étienne"
saint_jour["18:04"]="les Parfait"
saint_jour["19:04"]="les Emma"
saint_jour["20:04"]="les Odette"
saint_jour["21:04"]="les Anselme"
saint_jour["22:04"]="les Alexandre"
saint_jour["23:04"]="les Georges"
saint_jour["24:04"]="les Fidèle"
saint_jour["25:04"]="les Marc"
saint_jour["26:04"]="les Alida"
saint_jour["27:04"]="les Zita"
saint_jour["28:04"]="les Valérie"
saint_jour["29:04"]="les Catherine"
saint_jour["30:04"]="les Robert"
saint_jour["01:05"]="les Joseph"
saint_jour["02:05"]="les Boris"
saint_jour["03:05"]="les Philippe"
saint_jour["04:05"]="les Sylvain"
saint_jour["05:05"]="les Judith"
saint_jour["06:05"]="les Prudence"
saint_jour["07:05"]="les Gisèle"
saint_jour["08:05"]="les Desire"
saint_jour["09:05"]="les Pacôme"
saint_jour["10:05"]="les Solange"
saint_jour["11:05"]="les Estelle \xE2\x9D\x84"
saint_jour["12:05"]="les Achille \xE2\x9D\x84"
saint_jour["13:05"]="les Rolande \xE2\x9D\x84"
saint_jour["14:05"]="les Matthias \xE2\x9D\x84"
saint_jour["15:05"]="les Denise \xE2\x9D\x84"
saint_jour["16:05"]="les Honore"
saint_jour["17:05"]="les Pascal"
saint_jour["18:05"]="les Éric"
saint_jour["19:05"]="les Yves"
saint_jour["20:05"]="les Bernardin"
saint_jour["21:05"]="les Constantin"
saint_jour["22:05"]="les Émile"
saint_jour["23:05"]="les Didier"
saint_jour["24:05"]="les Donatien"
saint_jour["25:05"]="les Sophie"
saint_jour["26:05"]="les Bérenger"
saint_jour["27:05"]="les Augula"
saint_jour["28:05"]="les Germain"
saint_jour["29:05"]="les Aymard"
saint_jour["30:05"]="les Ferdinand"
saint_jour["31:05"]="les Perrine"
saint_jour["01:06"]="les Justin"
saint_jour["02:06"]="les Blandine"
saint_jour["03:06"]="les Charles"
saint_jour["04:06"]="les Clotilde"
saint_jour["05:06"]="les Igor"
saint_jour["06:06"]="les Norbert"
saint_jour["07:06"]="les Gilbert"
saint_jour["08:06"]="les Médard"
saint_jour["09:06"]="les Diane"
saint_jour["10:06"]="les Landry"
saint_jour["11:06"]="les Barnabé"
saint_jour["12:06"]="les Guy"
saint_jour["13:06"]="les Antoine"
saint_jour["14:06"]="les Élisée"
saint_jour["15:06"]="les Germaine"
saint_jour["16:06"]="les Jean-François"
saint_jour["17:06"]="les Hervé"
saint_jour["18:06"]="les Leonce"
saint_jour["19:06"]="les Romuald"
saint_jour["20:06"]="les Silvère"
saint_jour["21:06"]="les Rodolphe"
saint_jour["22:06"]="les Alban"
saint_jour["23:06"]="les Audrey"
saint_jour["24:06"]="les Jean-Baptiste"
saint_jour["25:06"]="les Prosper"
saint_jour["26:06"]="les Anthelme"
saint_jour["27:06"]="les Fernand"
saint_jour["28:06"]="les Irénée"
saint_jour["29:06"]="les Pierre et Paul"
saint_jour["30:06"]="les Martial"
saint_jour["01:07"]="les Thierry"
saint_jour["02:07"]="les Martinien"
saint_jour["03:07"]="les Thomas"
saint_jour["04:07"]="les Florent"
saint_jour["05:07"]="les Antoine"
saint_jour["06:07"]="les Mariette"
saint_jour["07:07"]="les Raoul"
saint_jour["08:07"]="les Thibaud"
saint_jour["09:07"]="les Amandine"
saint_jour["10:07"]="les Ulric"
saint_jour["11:07"]="les Benoit"
saint_jour["12:07"]="les Olivier"
saint_jour["13:07"]="les Joëlle"
saint_jour["14:07"]="les Camille"
saint_jour["15:07"]="les Donald"
saint_jour["16:07"]="les Elvire"
saint_jour["17:07"]="les Charlotte"
saint_jour["18:07"]="les Frédéric"
saint_jour["19:07"]="les Arsène"
saint_jour["20:07"]="les Marina"
saint_jour["21:07"]="les Victor"
saint_jour["22:07"]="les Marie-Madeleine"
saint_jour["23:07"]="les Brigitte"
saint_jour["24:07"]="les Christine"
saint_jour["25:07"]="les Jacques"
saint_jour["26:07"]="les Anne"
saint_jour["27:07"]="les Nathalie"
saint_jour["28:07"]="les Samson"
saint_jour["29:07"]="les Marthe"
saint_jour["30:07"]="les Juliette"
saint_jour["31:07"]="les Ignace"
saint_jour["01:08"]="les Alphonse"
saint_jour["02:08"]="les Julien"
saint_jour["03:08"]="les Lydie"
saint_jour["04:08"]="les Jean-Marie"
saint_jour["05:08"]="les Abel"
saint_jour["06:08"]="les Octavien"
saint_jour["07:08"]="les Gaetan"
saint_jour["08:08"]="les Dominique"
saint_jour["09:08"]="les Amour"
saint_jour["10:08"]="les Laurent"
saint_jour["11:08"]="les Claire"
saint_jour["12:08"]="les Clarisse"
saint_jour["13:08"]="les Hippolyte"
saint_jour["14:08"]="les Evrard"
saint_jour["15:08"]="les Marie"
saint_jour["16:08"]="les Armel"
saint_jour["17:08"]="les Hyacinthe"
saint_jour["18:08"]="les Hélène"
saint_jour["19:08"]="les Eudes"
saint_jour["20:08"]="les Bernard"
saint_jour["21:08"]="les Christophe"
saint_jour["22:08"]="les Fabrice"
saint_jour["23:08"]="les Rose"
saint_jour["24:08"]="les Barthélemy"
saint_jour["25:08"]="les Louis"
saint_jour["26:08"]="les Natacha"
saint_jour["27:08"]="les Monique"
saint_jour["28:08"]="les Augustin"
saint_jour["29:08"]="les Sabine"
saint_jour["30:08"]="les Fiacre"
saint_jour["31:08"]="les Aristide"
saint_jour["01:09"]="les Gilles"
saint_jour["02:09"]="les Ingrid"
saint_jour["03:09"]="les Grégoire"
saint_jour["04:09"]="les Rosalie"
saint_jour["05:09"]="les Raïssa"
saint_jour["06:09"]="les Bertrand"
saint_jour["07:09"]="les Reine"
saint_jour["08:09"]="les Adrien"
saint_jour["09:09"]="les Alain"
saint_jour["10:09"]="les Inès"
saint_jour["11:09"]="les Adelphe"
saint_jour["12:09"]="les Apollinaire"
saint_jour["13:09"]="les Aime"
saint_jour["14:09"]="les Lubin"
saint_jour["15:09"]="les Roland"
saint_jour["16:09"]="les Édith"
saint_jour["17:09"]="les Renaud"
saint_jour["18:09"]="les Nadège"
saint_jour["19:09"]="les Émilie"
saint_jour["20:09"]="les Davy"
saint_jour["21:09"]="les Matthieu"
saint_jour["22:09"]="les Maurice"
saint_jour["23:09"]="les Constant"
saint_jour["24:09"]="les Thecle"
saint_jour["25:09"]="les Hermann"
saint_jour["26:09"]="les Damien"
saint_jour["27:09"]="les Vincent"
saint_jour["28:09"]="les Venceslas"
saint_jour["29:09"]="les Michel"
saint_jour["30:09"]="les Jérôme"
saint_jour["01:10"]="les Thérèse"
saint_jour["02:10"]="les Léger"
saint_jour["03:10"]="les Gérard"
saint_jour["04:10"]="les François"
saint_jour["05:10"]="les Fleur"
saint_jour["06:10"]="les Bruno"
saint_jour["07:10"]="les Serge"
saint_jour["08:10"]="les Pélagie"
saint_jour["09:10"]="les Denis"
saint_jour["10:10"]="les Ghislain"
saint_jour["11:10"]="les Firmin"
saint_jour["12:10"]="les Wilfrid"
saint_jour["13:10"]="les Géraud"
saint_jour["14:10"]="les Juste"
saint_jour["15:10"]="les Thérèse"
saint_jour["16:10"]="les Edwige"
saint_jour["17:10"]="les Baudouin"
saint_jour["18:10"]="les Luc"
saint_jour["19:10"]="les René Goupil"
saint_jour["20:10"]="les Lina"
saint_jour["21:10"]="les Céline"
saint_jour["22:10"]="les Elodie"
saint_jour["23:10"]="les Jean"
saint_jour["24:10"]="les Florentin"
saint_jour["25:10"]="les Crépin"
saint_jour["26:10"]="les Dimitri"
saint_jour["27:10"]="les Émeline"
saint_jour["28:10"]="les Simon"
saint_jour["29:10"]="les Narcisse"
saint_jour["30:10"]="les Bienvenue"
saint_jour["31:10"]="les Quentin"
saint_jour["01:11"]="la Toussaint"
saint_jour["02:11"]="les defunts"
saint_jour["03:11"]="les Hubert"
saint_jour["04:11"]="les Charles"
saint_jour["05:11"]="les Sylvie"
saint_jour["06:11"]="les Bertille"
saint_jour["07:11"]="les Carine"
saint_jour["08:11"]="les Geoffroy"
saint_jour["09:11"]="les Theodore"
saint_jour["10:11"]="les Leon"
saint_jour["11:11"]="les Martin"
saint_jour["12:11"]="les Christian"
saint_jour["13:11"]="les Brice"
saint_jour["14:11"]="les Sidoine"
saint_jour["15:11"]="les Albert"
saint_jour["16:11"]="les Marguerite"
saint_jour["17:11"]="les Élisabeth"
saint_jour["18:11"]="les Aude"
saint_jour["19:11"]="les Tanguy"
saint_jour["20:11"]="les Edmond"
saint_jour["21:11"]="les Albert"
saint_jour["22:11"]="les Cécile"
saint_jour["23:11"]="les Clement"
saint_jour["24:11"]="les Flora"
saint_jour["25:11"]="les Catherine"
saint_jour["26:11"]="les Delphine"
saint_jour["27:11"]="les Severin"
saint_jour["28:11"]="les Jacques"
saint_jour["29:11"]="les Saturnin"
saint_jour["30:11"]="les Andre"
saint_jour["01:12"]="les Florence"
saint_jour["02:12"]="les Viviane"
saint_jour["03:12"]="les Xavier"
saint_jour["04:12"]="les Barbara"
saint_jour["05:12"]="les Gerald"
saint_jour["06:12"]="les Nicolas"
saint_jour["07:12"]="les Ambroise"
saint_jour["08:12"]="les Elfie"
saint_jour["09:12"]="les Pierre"
saint_jour["10:12"]="les Romaric"
saint_jour["11:12"]="les Daniel"
saint_jour["12:12"]="les Chantal"
saint_jour["13:12"]="les Lucie"
saint_jour["14:12"]="les Odile"
saint_jour["15:12"]="les Ninon"
saint_jour["16:12"]="les Alice"
saint_jour["17:12"]="les Gael"
saint_jour["18:12"]="les Gatien"
saint_jour["19:12"]="les Urbain"
saint_jour["20:12"]="les Theophile"
saint_jour["21:12"]="les Pierre"
saint_jour["22:12"]="les Xaviere"
saint_jour["23:12"]="les Armand"
saint_jour["24:12"]="les Adele"
saint_jour["25:12"]="Noel"
saint_jour["26:12"]="les Etienne"
saint_jour["27:12"]="les Jean"
saint_jour["28:12"]="les Innocents"
saint_jour["29:12"]="les David"
saint_jour["30:12"]="les Roger"
saint_jour["31:12"]="les Sylvestre"
--===========================================================
jour_ferie["01:01"] = "Le 1er janvier"
jour_ferie["01:05"] = "La Fête du travail"
jour_ferie["08:05"] = "La Victoire des alliés"
jour_ferie["14:07"] = "La Fête nationale"
jour_ferie["15:08"] = "L'Assomption"
jour_ferie["01:11"] = "La Toussaint"
jour_ferie["11:11"] = "L'Armistice"
jour_ferie["25:12"] = "Noël"
if ferie_lendemain_noel == true then jour_ferie["25:12"] = "Lendemain de Noël" end
--[[
calcule du jour de la fête de mères
la fête des mères est fixée au dernier dimanche de mai sauf si cette date coïncide avec celle de la Pentecôte
auquel cas elle a lieu le premier dimanche de juin.
la fête des pères est fixée au 3e dimanche de juin.
Pentecôte = Pâques + 49 jours
--]]
function getJourPaques(annee)
local a=math.floor(annee/100)
local b=math.fmod(annee,100)
local c=math.floor((3*(a+25))/4)
local d=math.fmod((3*(a+25)),4)
local e=math.floor((8*(a+11))/25)
local f=math.fmod((5*a+b),19)
local g=math.fmod((19*f+c-e),30)
local h=math.floor((f+11*g)/319)
local j=math.floor((60*(5-d)+b)/4)
local k=math.fmod((60*(5-d)+b),4)
local m=math.fmod((2*j-k-g+h),7)
local n=math.floor((g-h+m+114)/31)
local p=math.fmod((g-h+m+114),31)
local jour=p+1
local mois=n
getJourPaquesEpochPaque=os.time{year=annee,month=mois,day=jour,hour=12,min=0}
return getJourPaquesEpochPaque
end
function deuxDigits(nombre)
nombre = string.format("%02d",nombre)
return nombre
end
function LeapYear(year)
if ((((year % 4 ==0) and (year % 100~=0)) or (year % 400==0)))then
joursFevrier = 29
else
joursFevrier = 28
end
return joursFevrier
end
local annee = os.date("%Y")
--local annee = "2017"
voir_les_logs("--- --- --- nombre de jours en février : ".. LeapYear(annee),debugging)
local derJourDecembre = deuxDigits(tonumber(os.date("%w",os.time{year=(annee-1),month=12,day=31}))) -- dernier jour de Décembre annee-1
voir_les_logs("--- --- --- Dernier Jour de Décembre : ".. derJourDecembre,debugging)
local premDimJanvier = deuxDigits(7-derJourDecembre)
voir_les_logs("--- --- --- premier Dimanche de Janvier : ".. premDimJanvier,debugging)
if premDimJanvier == 01 then epiphanie = "08:01" else epiphanie = premDimJanvier..":01" end
local derJourFevrier = tonumber(os.date("%w",os.time{year=annee,month=2,day=LeapYear(annee)})) -- dernier jour de Mars
local premDimMars = deuxDigits(7-derJourFevrier)..":03"
voir_les_logs("--- --- --- premDimMars : ".. premDimMars,debugging)
local epochPaques=getJourPaques(annee)
local paques = os.date("%d:%m",epochPaques)
voir_les_logs("--- --- --- Pâques : ".. paques,debugging)
local vendredi_saint = os.date("%d:%m",epochPaques-(24*60*60*2)) -- vendredi saint = Pâques - 2 jours
voir_les_logs("--- --- --- vendredi saint : ".. vendredi_saint,debugging)
local lundi_paques = os.date("%d:%m",epochPaques+24*60*60) -- Lundi de Pâques = Pâques + 1 jour
voir_les_logs("--- --- --- Lundi de Pâques : ".. lundi_paques,debugging)
local ascension = os.date("%d:%m",epochPaques+24*60*60*39) -- Ascension = Pâques + 39 jours
voir_les_logs("--- --- --- Ascension : ".. ascension,debugging)
local pentecote = os.date("%d:%m",epochPaques+24*60*60*49) -- Pentecôte = Pâques + 49 jours
voir_les_logs("--- --- --- Pentecôte : ".. pentecote,debugging)
local lundi_pentecote = os.date("%d:%m",epochPaques+24*60*60*50) -- Lundi Pentecôte = Pâques + 50 jours
voir_les_logs("--- --- --- Lundi de Pentecôte : ".. lundi_pentecote,debugging)
local derJourMai = tonumber(os.date("%w",os.time{year=annee,month=5,day=31})) -- dernier jour de Mai
local derDimMai = 31-derJourMai..":05"
voir_les_logs("--- --- --- derDimMai : ".. derDimMai,debugging)
local premDimJuin = deuxDigits(7-derJourMai)..":06"
voir_les_logs("--- --- --- premier Dimanche de Juin : ".. premDimJuin,debugging)
local troisDimJuin = 21-derJourMai..":06"
voir_les_logs("--- --- --- troisième Dimanche de Juin : ".. troisDimJuin,debugging)
if derDimMai == pentecote then
meres = premDimJuin
else
meres = derDimMai
end
voir_les_logs("--- --- --- fête des mères : ".. meres,debugging)
voir_les_logs("--- --- --- fête des pères : ".. troisDimJuin,debugging)
local derJourSeptembre = tonumber(os.date("%w",os.time{year=annee,month=9,day=30})) -- dernier jour de Mars
local premDimOctobre = deuxDigits(7-derJourSeptembre)..":10"
voir_les_logs("--- --- --- premDimOctobre : ".. premDimOctobre,debugging)
--===========================================================
if jour_ferie[today] ~= nil then ferie = true end --passage de la variable à true si jour ferié
if epiphanie == today then
fete_jour = "Epiphanie"
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif premDimMars == today then
fete_jour = "les Grand-Mères"
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif meres == today then
fete_jour = "la Fête des Mères"
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif troisDimJuin == today then
fete_jour = "les pères"
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif ferie_vendredi_saint == true and vendredi_saint == today then
fete_jour = "vendredi saint"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif paques == today then
fete_jour = "Pâques"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif lundi_paques == today then
fete_jour = "Lundi de Pâques"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif ascension == today then
fete_jour = "Ascension"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif pentecote == today then
fete_jour = "la Pentecôte"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif lundi_pentecote == today then
fete_jour = "Lundi de Pentecôte"
ferie = true
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif jour_ferie[today] ~= nil then
fete_jour = jour_ferie[today]
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
elseif premDimOctobre == today then
fete_jour = "la Fête des Grand-Pères"
voir_les_logs("--- --- --- Aujourd'hui : ".. fete_jour,debugging)
else fete_jour = saint_jour[today]
voir_les_logs("--- --- --- Fête du jour : ".. saint_jour[today],debugging)
end
if anniversaire[today] ~= nil then -- on priorise l'affichage des anniversaires sur les jours fériés sur les saints du jour
if anniversaire_text_idx ~= nil then -- on affiche les anniversaires dans un device séparé si un idx a été défini
anniversaire_jour = anniversaire[today].anniv
else
fete_jour = anniversaire[today].anniv
end
voir_les_logs("--- --- --- Anniversaire du jour : ".. anniversaire[today].anniv,debugging)
end
if epiphanie == tomorrow then
fete_demain = "Epiphanie"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif meres == tomorrow then
fete_demain = "la Fête des Mères"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif premDimMars == tomorrow then
fete_demain = "la Fête des Grand-Mères"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif troisDimJuin == tomorrow then
fete_demain = "la Fête des pères"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif ferie_vendredi_saint == true and vendredi_saint == tomorrow then
fete_demain = "vendredi saint"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif paques == tomorrow then
fete_demain = "Pâques"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif pentecote == tomorrow then
fete_demain = "la Pentecôte"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif lundi_pentecote == tomorrow then
fete_demain = "Lundi de Pentecôte"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
elseif premDimOctobre == tomorrow then
fete_demain = "la Fête des Grand-Pères"
voir_les_logs("--- --- --- Demain : ".. fete_demain,debugging)
else fete_demain = saint_jour[tomorrow]
voir_les_logs("--- --- --- Fête de demain : ".. saint_jour[tomorrow],debugging)
end
if anniversaire[tomorrow].alerte == true then
if anniversaire_demain_text_idx ~= nil then -- on affiche les anniversaires dans un device séparé si un idx a été défini
anniversaire_demain = anniversaire[tomorrow].anniv
commandArray['SendNotification']='Anniversaire de demain#'..anniversaire[tomorrow].anniv..'#0###FCM' end
else
fete_demain = anniversaire[tomorrow].anniv
end
voir_les_logs("--- --- --- Anniversaire de demain : ".. anniversaire[tomorrow].anniv,debugging)
if anniversaire_text_idx ~= nil then -- on affiche les anniversaires dans un device séparé si un idx a été défini
if anniversaire[today] == nil then anniversaire_jour = "aucun anniversaire" end
commandArray[#commandArray+1] = {['UpdateDevice'] = anniversaire_text_idx .. '|0|Aujourd'hui nous fêtons ' .. anniversaire_jour}
voir_les_logs("--- --- --- Mise à jour device texte".. anniversaire_text_idx .." ".. anniversaire_jour,debugging)
end
if anniversaire_demain_text_idx ~= nil then -- on affiche les anniversaires dans un device séparé si un idx a été défini
if anniversaire[tomorrow].anniv == nil then anniversaire_demain = "aucun anniversaire" end
commandArray[#commandArray+1] = {['UpdateDevice'] = anniversaire_demain_text_idx .. '|0|Demain nous fêterons ' .. anniversaire_demain}
voir_les_logs("--- --- --- Mise à jour device texte".. anniversaire_demain_text_idx .." ".. anniversaire_demain,debugging)
end
if fete_text_idx ~= nil then
commandArray[#commandArray+1] = {['UpdateDevice'] = fete_text_idx .. '|0|Aujourd'hui nous fêtons ' .. fete_jour}
voir_les_logs("--- --- --- Mise à jour device texte".. fete_text_idx .." ".. fete_jour,debugging)
end
if fete_demain_text_idx ~= nil then
commandArray[#commandArray+1] = {['UpdateDevice'] = fete_demain_text_idx .. '|0|Demain nous fêterons ' .. fete_demain}
voir_les_logs("--- --- --- Mise à jour device texte ".. fete_demain_text_idx .." ".. fete_demain,debugging)
end
if jour_ferie_switch ~= nil then
if ferie == true then
commandArray[jour_ferie_switch] = 'On'
voir_les_logs("--- --- --- Mise à jour device "..jour_ferie_switch .." => On",debugging)
else
commandArray[jour_ferie_switch] = 'Off'
voir_les_logs("--- --- --- Mise à jour device "..jour_ferie_switch .. " => Off",debugging)
end
end
if jour_ferie_scene ~= nil then
if ferie == true then
commandArray['Scene:'..jour_ferie_scene] = 'On'
voir_les_logs("--- --- --- Mise à jour scénario "..jour_ferie_scene .." => On",debugging)
else
commandArray['Scene:'..jour_ferie_scene] = 'Off'
voir_les_logs("--- --- --- Mise à jour scénario "..jour_ferie_scene .. " => Off",debugging)
end
end
if variable_jour ~= nil then
commandArray[#commandArray+1] = {['Variable:'.. variable_jour] = tostring('Aujourd'hui nous fêtons ' .. fete_jour)} -- écriture variable Saint du Jour
voir_les_logs("--- --- --- Mise à jour variable ".. variable_jour .." ".. fete_jour,debugging)
end
if variable_lendemain ~= nil then
commandArray[#commandArray+1] = {['Variable:'.. variable_lendemain] = tostring('Demain nous fêterons ' .. fete_demain)} -- écriture variable Saint du lendemain
voir_les_logs("--- --- --- Mise à jour variable ".. variable_lendemain .." ".. fete_demain,debugging)
end
if variable_jour_ferie ~= nil then
if ferie == true then
commandArray[#commandArray+1] = {['Variable:'.. variable_jour_ferie] = tostring('oui')} -- écriture variable jour férié
voir_les_logs("--- --- --- Mise à jour variable ".. variable_jour_ferie .." => oui",debugging)
else
commandArray[#commandArray+1] = {['Variable:'.. variable_jour_ferie] = tostring('non')} -- écriture variable jour férié
voir_les_logs("--- --- --- Mise à jour variable ".. variable_jour_ferie .." => non",debugging)
end
end
if os.date("%W")%2 == 0 then -- semaine paire et impaire
voir_les_logs("--- --- --- semaine paire",debugging)
if Scene_Semaine_Paire ~= nil and Scene_Semaine_Impaire ~= nil then
commandArray['Scene:'..Scene_Semaine_Paire] = 'On'
commandArray['Scene:'..Scene_Semaine_Impaire] = 'Off'
voir_les_logs("--- --- --- Mise à jour scénario "..Scene_Semaine_Paire .." => On",debugging)
voir_les_logs("--- --- --- Mise à jour scénario "..Scene_Semaine_Impaire .." => Off",debugging)
end
else
voir_les_logs("--- --- --- semaine impaire",debugging)
if Scene_Semaine_Paire ~= nil and Scene_Semaine_Impaire ~= nil then
commandArray['Scene:'..Scene_Semaine_Paire] = 'Off'
commandArray['Scene:'..Scene_Semaine_Impaire] = 'On'
voir_les_logs("--- --- --- Mise à jour scénario "..Scene_Semaine_Paire .." => Off",debugging)
voir_les_logs("--- --- --- Mise à jour scénario "..Scene_Semaine_Impaire .." => On",debugging)
end
end
voir_les_logs("--- --- --- jour de la semaine : ".. date_en_francais(os.date("%A")),debugging)
voir_les_logs("--- --- --- jour de la semaine (nb) : ".. os.date("*t").wday,debugging)
if jour_semaine_switch ~= nil then
local select_day = os.date("*t").wday.."0"
commandArray[jour_semaine_switch] = 'Set Level: '.. select_day
voir_les_logs("--- --- --- Mise à jour device ".. jour_semaine_switch .." => "..select_day,debugging)
end
voir_les_logs("=========== Fin Fete du jour (v".. version ..") =========",debugging)
end
return commandArray