Page 3 sur 6

Re: script Jour férié

Publié : 08 nov. 2016, 09:12
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.

Re: script Jour férié

Publié : 08 nov. 2016, 10:49
par vil1driver
Une petite correction ? :D

Re: script Jour férié

Publié : 08 nov. 2016, 11:44
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);

?>



Re: script Jour férié

Publié : 08 nov. 2016, 11:46
par vil1driver
Merci :D

Re: script Jour férié

Publié : 11 nov. 2016, 11:28
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.

Re: script Jour férié

Publié : 11 nov. 2016, 11:47
par gawel3164
le shebang?

Re: script Jour férié

Publié : 11 nov. 2016, 13:50
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. ;)

Re: script Jour férié

Publié : 11 nov. 2016, 16:18
par gawel3164
Mal réveillé......la faute aux volets sans doute !! :lol: ;)

Re: script Jour férié

Publié : 22 nov. 2016, 10:00
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) ;)

Re: script Jour férié

Publié : 22 nov. 2016, 10:39
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 ;)