Condition horaire dans un script Python

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Condition horaire dans un script Python

Message par deennoo »

Salut à tous.

Pour les notifications de Domoticz, j'utilise un script Python qui m'envoie des SMS, et fait parler imperihome met mon enceinte Awox.

Le soucis est que Domoticz ce fiche un peu de l'heure ou il parle (bien souvent à minuit), un plannificateur de notification intégré aurait été top moumoute (n'hésitez pas à me demander sur le forum officiel).

Du coup je cherche comment intégrer une notion d'horaire de fonctionnement à ce script python, par exemple :

If ostime >22h and ≤ 7h then exit, comme je ne sais pas comment peut s'appeler ce style de limitation j'en appel à vous.

Merci
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Condition horaire dans un script Python

Message par vil1driver »

Salut,

je ne suis pas adèpte de python
https://www.google.fr/search?q=python+c ... e+in+range

3ème lien
https://stackoverflow.com/questions/100 ... pythons-da

Code : Tout sélectionner

#!/usr/bin/env python

from datetime import datetime, time
now = datetime.now()
if time(7,30) <= now.time() <= time(16,30):
    print "yes, within the interval"
fonctionne ici ;)
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
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Condition horaire dans un script Python

Message par papoo »

sinon on peut faire comme avec le lua des script_time et script_device en python
exemple : script_time.sunset.py à placer dans le répertoire /home/pi/domoticz/scripts/python

Code : Tout sélectionner

#!/usr/bin/python
debugging = True  

import DomoticzEvents as DE
import datetime

time = datetime.datetime.now() # http://sametmax.com/manipuler-les-dates-et-les-durees-en-python/
#if time.minute % 58 == 0: # pour les minutes en commençant par HH:01
if (time.minute-1) % 2 == 0: # pour les minutes en commençant par HH:01
#if time.hour % 1 == 0: # pour les heures

        
    if debugging == True: 
    DE.Log("<font color='#f3031d'>Python: Le if marche!</font>")
    if DE.is_daytime:
        DE.Log("<font color='#f3031d'>Python: C'est le jour!</font>")

    if DE.is_nighttime:
        DE.Log("<font color='#f3031d'>Python: C'est la nuit!</font>")
        #DE.Log("<font color='#f3031d'>Python: Sunrise in minutes: </font>" + str(DE.sunrise_in_minutes))
        #DE.Log("Python: Sunset in minutes: " + str(DE.sunset_in_minutes))
        #DE.Log("Python: Minutes since midnight: " + str(DE.minutes_since_midnight))

        # All user_variables are treated as strings, convert as necessary    
        # for key, value in DE.user_variables.items():
            # DE.Log("Python: User-variable '{0}' has value: {1}".format(key, value))

        DE.Log("<font color='#f3031d'>Python: Heure : </font>" + str(time.hour))
        DE.Log("<font color='#f3031d'>Python: Minute : </font>" + str(time.minute))
        DE.Log("<font color='#f3031d'>Python: Jour : </font>" + str(time.day))
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre