[LUA] Script Jour férié

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
gawel3164
Messages : 325
Inscription : 07 janv. 2016, 19:51

Re: script Jour férié

Message par gawel3164 »

Salut,
Pour ceux qui utilisent le script déposé par Fratton dans un post précédent, notez qu'une petite erreur de frappe s'est glissée. L'armistice étant fixée au 08/11. ça me paraissait bizarre qu'aujourd'hui soit férié! :)

Code : Tout sélectionner

or $aujourdhui=="08/11/".date("Y")      // Armistice de 1918 : 11 novembre
Merci fratton et fredclo pour ce script.
Domoticz 2022.1/RFlink V1.1_R48/ prises: DIO, SCS/caméras IP/station météo Auriol/sondes Oregon/PIR/ZK1PA/Relevé compteur Gaz/téléinfo EDF/Mysensors:RGB-3D,Temp.,IR/Arrosage autonome/Google home/ ESP: IR,Temp.,relai,distance,OLED/Withings Ws30
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: script Jour férié

Message par vil1driver »

Une petite correction ? :D
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
gawel3164
Messages : 325
Inscription : 07 janv. 2016, 19:51

Re: script Jour férié

Message par gawel3164 »

voila, l'ENORME correction est faite :lol: :lol:

Code : Tout sélectionner

<?php
date_default_timezone_set('Europe/Paris');

// Domoticz IP:PORT
$IPPORT="192.168.1.100:8080";
// Variable utilisateur Domoticz à mettre à jour
$VARIABLE="JOUR_FERIE";


$ferie="NON";

$aujourdhui=date("d/m/Y");
$paques  = easter_date(date("Y"));
$pD  = date("j", $paques);
$pM = date("n", $paques);
$pY = date("Y", $paques);

$lundi_de_paques=date("d/m/Y",mktime(0, 0, 0, $pM, $pD + 1,  $pY));
$ascension=date("d/m/Y",mktime(0, 0, 0, $pM, $pD + 39, $pY));
$pentecote=date("d/m/Y", mktime(0, 0, 0, $pM, $pD + 49, $pY));
$lundi_de_pencote=date("d/m/Y", mktime(0, 0, 0, $pM, $pD + 50, $pY));

if (
        $aujourdhui=="01/01/".date("Y")         // Jour de l'an : 1er janvier
        or $aujourdhui=="01/05/".date("Y")      // Fête du travail : 1er mai
        or $aujourdhui=="08/05/".date("Y")      // Victoire des alliés 1945 : 8 mai
        or $aujourdhui=="14/07/".date("Y")      // Fête nationale : 14 juillet
        or $aujourdhui=="15/08/".date("Y")      // Assomption : 15 août
        or $aujourdhui=="01/11/".date("Y")      // Toussaint : 1er novembre
        or $aujourdhui=="11/11/".date("Y")      // Armistice de 1918 : 11 novembre
        or $aujourdhui=="25/12/".date("Y")      // Noël : 25 décembre
        or $aujourdhui==$paques                 // Pâques
        or $aujourdhui==$lundi_de_paques        // Lundi de pâques : pâques + 1 jour
        or $aujourdhui==$ascension              // L'Ascension  : pâques + 39 jours
        or $aujourdhui==$pentecote              // La pentecôte : pâques + 49 jours
        or $aujourdhui==$lundi_de_pencote       // Lundi de pentecôte : pâques + 50 jours
        ) {

        $ferie="OUI";
} else {
        $ferie="NON";
};

$majdomoticz="http://".$IPPORT."/json.htm?type=command&param=updateuservariable&vname=".$VARIABLE."&vtype=2&vvalue=".$ferie;

echo file_get_contents($majdomoticz);

?>


Domoticz 2022.1/RFlink V1.1_R48/ prises: DIO, SCS/caméras IP/station météo Auriol/sondes Oregon/PIR/ZK1PA/Relevé compteur Gaz/téléinfo EDF/Mysensors:RGB-3D,Temp.,IR/Arrosage autonome/Google home/ ESP: IR,Temp.,relai,distance,OLED/Withings Ws30
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: script Jour férié

Message par vil1driver »

Merci :D
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Grincheux

Re: script Jour férié

Message par Grincheux »

Et forcément ce matin, paf les volets à 8h15... Je le savais que c'était férié, j'ai pas activé le mode vacances hier :(
Du coup , je savais qu'il y avait ce script, je me lance.
En lancant le script php, j'ai cela comme erreur (je cherche un problème encodage, je ne trouve pas ...)

Code : Tout sélectionner

: Aucun fichier ou dossier de ce type
./jours_feries.php: ligne 2: Erreur de syntaxe près du symbole inattendu « 'Europe/Paris' »
'/jours_feries.php: ligne 2: `date_default_timezone_set('Europe/Paris');
Si vous pouvez m'aider, on voit un ' devant date, je me concentre la dessus. J'ai bien fait un chmod +x.
gawel3164
Messages : 325
Inscription : 07 janv. 2016, 19:51

Re: script Jour férié

Message par gawel3164 »

le shebang?
Domoticz 2022.1/RFlink V1.1_R48/ prises: DIO, SCS/caméras IP/station météo Auriol/sondes Oregon/PIR/ZK1PA/Relevé compteur Gaz/téléinfo EDF/Mysensors:RGB-3D,Temp.,IR/Arrosage autonome/Google home/ ESP: IR,Temp.,relai,distance,OLED/Withings Ws30
Grincheux

Re: script Jour férié

Message par Grincheux »

gawel3164 a écrit :le shebang?
Je croyais a du "verlan" au début quand j'ai lu le post :shock:

Merci pour la piste, du coup j'ai lu le wiki de domoticz, les domoticz-et-scripts-les-bases de easydomoticz, j'ai installé toutes les librairies nécessaires php... pris un exemple de shebang du wiki #!/usr/bin/php et
surtout j'ai copier le script via putty en nano car il me disait des #!/usr/bin/php^M avec notepad...

Nickel, y a plus qu' rajouter la variable dans le blocky des volets et un chti Cron. ;)
gawel3164
Messages : 325
Inscription : 07 janv. 2016, 19:51

Re: script Jour férié

Message par gawel3164 »

Mal réveillé......la faute aux volets sans doute !! :lol: ;)
Domoticz 2022.1/RFlink V1.1_R48/ prises: DIO, SCS/caméras IP/station météo Auriol/sondes Oregon/PIR/ZK1PA/Relevé compteur Gaz/téléinfo EDF/Mysensors:RGB-3D,Temp.,IR/Arrosage autonome/Google home/ ESP: IR,Temp.,relai,distance,OLED/Withings Ws30
jnoel68
Messages : 17
Inscription : 26 avr. 2016, 13:29

Re: script Jour férié

Message par jnoel68 »

Merci pour le script, j'essaie de le mettre en place, mais je suis limité à 10 entrées dans le switch selector "Nom_Jour_Ferie" ... impossible d'en mettre 13.
A priori, c'est une limitation ou un bug, qu'un peut confirmer ?
Je vais être obligé de regrouper certains jours fériés sous des n° de sélecteur commun, à moins que qu'un ait une idée.
D'avance merci,

Jerome
TroisSix a écrit :Bien sûr, cf script en pj ;)

N'oubliez pas de créer les devices suivants:
- switch "Calcul_Jour_Ferie_Minuit": avec mise à "On" à minuit tous les jours
- switch "Jour_Ferie": qui se met à on si le jour est férié
- switch selector "Nom_Jour_Ferie" (cf PJ pour savoir comment le créer)
- variable "Dernier_Calcul_Jour_Ferie" qui peut servir à voir le dernier update du jour (à virer si ça ne vous intéresse pas)

Si certains ont des questions pour la création des devices, n'hésitez pas à poser des questions :ugeek:
Et si vous aimez bien, dites-le aussi :D

Edit: correction ligne 119 --> etatOff (au lieu de etatOn) ;)
TroisSix
Messages : 175
Inscription : 11 janv. 2016, 09:33

Re: script Jour férié

Message par TroisSix »

Salut jnoel68,
Je n'ai pas cette limitation sur ma version de domoticz (v3.5877) pour créer un "selector" avec toutes ces lignes, aurais-tu une version plus ancienne de domoticz? Peut-être que d'autres ont aussi eu cette limitation?
Sinon, as-tu bien coché "menu de sélection", et décoché la case "protection"? redémarré domoticz? aucune idée si ça peut aider ;)
VM Debian, Domoticz stable 2023.1, RFXtrx433E, Z-Stick Gen5
- rts: dio, sondes oregon, volets somfy
- zwave: fibaro fgs212, aeotec smart switch gen5, vision ZG8101,CO, Fumée
- IO Homecontrol: Connexoon, Velux
- harmony hub, philips hue, géoloc. Pilot
Répondre