Bonjour,
Je n’ai jamais réussi à faire fonctionner un script Python (écrit par moi-même) dans HA.
Question 1 : comment faites-vous pour debugger dans HA un script Python (un debug type step-by-step ou simplement mettre un point d’arrêt) afin de voir les variables du script ?
Je cherche à déterminer l’heure de fin du dernier cours de mon enfant. Vu que je n’ai rien trouvé sur le net qui pourrait m’aider, j’essai le script ci-après.
Evidemment, HA a accès au calendrier nommé ici ics_Bizounours
et l’entrée input_datetime.fin_cours
a bien été créée dans HA auparavant.
Problème : rien ne se passe, pas de notification, pas d’erreur, rien ! J’ignore même si HA s’est aperçu que le script avait été exécuté. J’ai ajouté la dernière ligne avec un espoir mais je ne trouve même pas ma notification persistante !
Question 2 : ben… ce script vous parait-il correct et pourquoi je n’en vois aucun résultat ?
Merci de vos conseils.
# Service pour récupérer les données du calendrier
calendar_data = hass.states.get('calendar.ics_Bizounours').attributes.get('items')
current_date = datetime.now().date()
last_event_end_time = None
# Parcourir les événements du calendrier
for item in calendar_data:
start_time = datetime.strptime(item['start_time'], "%Y-%m-%d %H:%M:%S").date()
# Vérifier si l'événement a lieu aujourd'hui
if start_time == current_date:
event_end = datetime.strptime(item['end_time'], "%Y-%m-%d %H:%M:%S")
# Mettre à jour l'heure de fin si l'événement se termine plus tard
if last_event_end_time is None or event_end > last_event_end_time:
last_event_end_time = event_end
# Mettre à jour l'entrée de type temps
service_data = {
"entity_id": "input_datetime.fin_cours",
"time": last_event_end_time.strftime('%H:%M:%S')
}
hass.services.call("input_datetime", "set_datetime", service_data)
hass.services.call('persistent_notification', 'create', {'title': "My Python Script",'message': "Home Assistant a executé mon script"})