[Article] Gestion ZEN de sa piscine avec iopool et Home Assistant

Toujours pas le bon nom.
Il devrait avoir d’après ta configuration le nom sensor.pool_elapsed_filtration_duration et non sensor.pool_elapsed_filtration_duration

Renomme ton entité pour retirer le « sensor_ » avant le pool pour avoir au final sensor.pool_elapsed_filtration_duration :



Sinon faut changer le nom dans ta configuration AppDaemon pour qu’il corresponde a ce que tu as dans HA

1 « J'aime »

:+1:
Je pense que c’est bon, je n’ai plus 0 !

Et Appdaemon est en « idle »

Bravo, et MERCi beaucoup.

Bonne fin de journée

Cool :+1:
En effet ca devrait être bon maintenant

1 « J'aime »

Bonjour,

Pour information, je travaille actuellement sur le développement d’une intégration iopool.
Elle devrait sortir d’ici quelques semaines.

2 « J'aime »

Bonjour,
J’ai 2 petits soucis avec mon ajout du pumpmanager, a tous les coup, c’est « encore » une erreur de débutant ou/et d’inattention.

:arrow_forward: Je n’arrive pas à avoir les barres de progression dans les cartes boost et filtration ?

Les cartes : ont bien été installées. [Button-Card],[Mushroom], [Card Mod], [Vertical Stack in Card], [Mini Graph Card],[Pool Monitor Card]

:arrow_forward: Et 2eme souci, lorsque je lance un boost, celui-ci démarre bien la pompe, mais a la fin ne l’arrete pas.
Le timer.pool_boost, passe bien en idle.

2025-05-07 12:59:10.570954 INFO iopoolPumpManager: Boost selector changed from None to 1H.
2025-05-07 12:59:10.571405 DEBUG iopoolPumpManager: call_service: timer/start, {'entity_id': 'timer.pool_boost', 'duration': 3600}
2025-05-07 12:59:10.572417 DEBUG iopoolPumpManager: get state: switch.exterieur_sonoff_1, {} from iopoolPumpManager
2025-05-07 12:59:10.573624 DEBUG iopoolPumpManager: call_service: homeassistant/turn_on, {'entity_id': 'switch.exterieur_sonoff_1'}
2025-05-07 12:59:10.576513 INFO iopoolPumpManager: Pool Pump switch.exterieur_sonoff_1 turned on
2025-05-07 13:59:10.009109 INFO iopoolPumpManager: Boost timer 'timer.pool_boost' finished.
2025-05-07 13:59:10.009746 DEBUG iopoolPumpManager: get state: input_select.pool_boost_selector, {} from iopoolPumpManager
2025-05-07 13:59:10.010290 DEBUG iopoolPumpManager: get state: input_select.pool_boost_selector, {} from iopoolPumpManager
2025-05-07 13:59:10.010916 DEBUG iopoolPumpManager: call_service: input_select/select_option, {'option': 'None', 'entity_id': 'input_select.pool_boost_selector'}
2025-05-07 13:59:10.013699 INFO iopoolPumpManager: Firing event 'iopoolpumpmanager_event' with data: {'boost': '1H', 'started_at': '2025-05-07T12:59:10.009958+02:00', 'ended_at': '2025-05-07T13:59:10.011682+02:00'}
2025-05-07 13:59:10.026157 INFO iopoolPumpManager: Boost selector changed from 1H to None.
2025-05-07 13:59:10.026784 INFO iopoolPumpManager: Boost selector set to 'None'. No action will be executed.
2025-05-07 13:59:10.027343 DEBUG iopoolPumpManager: get state: timer.pool_boost, {} from iopoolPumpManager
2025-05-07 13:59:10.027696 DEBUG iopoolPumpManager: Checking timer with handle 76b988ec755c45ee88090a967ec72f2d for iopoolPumpManager
2025-05-07 13:59:10.027989 DEBUG iopoolPumpManager: Checking timer with handle c6ceea51e8984ed9a2b001021d0ace83 for iopoolPumpManager
2025-05-07 13:59:10.028277 DEBUG iopoolPumpManager: Checking timer with handle 76b988ec755c45ee88090a967ec72f2d for iopoolPumpManager
2025-05-07 13:59:10.028562 DEBUG iopoolPumpManager: Checking timer with handle c6ceea51e8984ed9a2b001021d0ace83 for iopoolPumpManager
2025-05-07 13:59:10.030290 DEBUG iopoolPumpManager: Slot 'slot1' - Start : 10:00:00 / End : 19:00:00
2025-05-07 13:59:10.031026 DEBUG iopoolPumpManager: Now is between slot1: True
2025-05-07 13:59:10.031236 DEBUG iopoolPumpManager: Checking timer with handle eb6116a3691f4f1eb72126dab142e303 for iopoolPumpManager
2025-05-07 13:59:10.031455 DEBUG iopoolPumpManager: Checking timer with handle 72b5617d57984db5ae07054d79f25e43 for iopoolPumpManager
2025-05-07 13:59:10.032592 DEBUG iopoolPumpManager: Slot 'slot2' - Start : 19:00:00 / End : 19:30:00
2025-05-07 13:59:10.033295 DEBUG iopoolPumpManager: Now is between slot2: False
2025-05-07 13:59:10.033849 INFO iopoolPumpManager: Boost ended during normal filtration slot. No action will be executed.```

Bonjour,

Là ca semble plus être un problème dans ton HA. Car le boost n’a pas non plus les bordures autour des boutons.
Il faut regarder dans l’inspecteur du navigateur si il n’y a pas un souci mais c’est pas lié à iopool-pumpmanager.

On voit dans les logs que le boost se lance à 12h59 pour 1H
A 13h59 il arrête le boost mais n’arrête pas la pompe car elle est dans sa phase de filtration normal du slot1.
C’est le comportement attendu

Bizarre, car ma pompe a bien démarré a 10h, et c’est arrêté à 11h30 pour son cycle normal (75% de 2h) et est programmé de 19h à 19h30 (25%) et quand j’ai lancé le boost elle était arretée.

Dans AppDaemon j’ai pas d’arrets du 10h (demain), normal ?

iopoolPumpManager:
  module: iopool_pump_manager
  class: iopoolPumpManager
  use_dictionary_unpacking: true
  log: iopoolPumpManager
  #log_level: DEBUG
  config:
    pump_switch: switch.exterieur_sonoff_1
    filtration_mode: input_select.pool_mode
    filtration_summer:
      recommanded_duration: sensor.recommanded_filtration_iopool_pool
      elapsed_today: sensor.pool_elapsed_filtration_duration
      min_duration: 120
      max_duration: 480
      slots:
        slot1:
          name: "Morning filtration"
          start: 10:00:00
          duration_percent: 75
        slot2:
          name: "Hot hours Filtrations"
          start: 19:00:00
          duration_percent: 25
    filtration_winter:
      name: "Winter filtration"
      duration: 01:30:00
      start: 09:00:00
    boost:
      selector: input_select.pool_boost_selector
      timer: timer.pool_boost

Sans les logs complets, difficile de t’en dire plus.
Il me faudrait les logs debug de la journée complète pour comprendre.

Oui car l’arrêt du slot1 va dépendre au moment du start du slot1, de la durée de filtration recommandée. A ce moment là il prendra 75% de la durée recommandé (ou du min/max si la durée recommandé est en dehors du min/max configuré).
Donc la tache de stop slot1 va se créé au lancement de la tache start slot1

J’ai que ça, j’avais purgé en début d’aprem

2025-05-07 10:00:00.005353 DEBUG iopoolPumpManager: get state: switch.exterieur_sonoff_1, {} from iopoolPumpManager
2025-05-07 10:00:00.005956 DEBUG iopoolPumpManager: call_service: homeassistant/turn_on, {'entity_id': 'switch.exterieur_sonoff_1'}
2025-05-07 10:00:00.008939 INFO iopoolPumpManager: Pool Pump switch.exterieur_sonoff_1 turned on
2025-05-07 10:00:00.009679 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 10:00:00.010302 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 10:00:00.010787 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 10:00:00.013097 INFO iopoolPumpManager: Calculated duration for the day : 120 min
2025-05-07 10:00:00.013680 DEBUG iopoolPumpManager: set state: sensor.pool_pump_calculated_duration, {'state': 120} from iopoolPumpManager
2025-05-07 10:00:00.020613 DEBUG iopoolPumpManager: Duration for slot 'Morning filtration' : 90 min
2025-05-07 10:00:00.021073 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 10:00:00.021371 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 10:00:00.021634 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 10:00:00.022574 INFO iopoolPumpManager: Calculated duration for the day : 120 min
2025-05-07 10:00:00.023030 DEBUG iopoolPumpManager: set state: sensor.pool_pump_calculated_duration, {'state': 120} from iopoolPumpManager
2025-05-07 10:00:00.028264 DEBUG iopoolPumpManager: Duration for slot 'Morning filtration' : 90 min
2025-05-07 10:00:00.028928 DEBUG iopoolPumpManager: End time for slot 'Morning filtration' : 11:30:00
2025-05-07 10:00:00.029477 DEBUG iopoolPumpManager: This Slot end at : 2025-05-07 11:30:00 / Next Slot start at : 2025-05-07 19:00:00
2025-05-07 10:00:00.030040 DEBUG iopoolPumpManager: Time Delta between End of this slot and start of next slot: 450.0 min
2025-05-07 10:00:00.030595 DEBUG iopoolPumpManager: This Slot Duration : 90 mn
2025-05-07 10:00:00.030850 DEBUG iopoolPumpManager: Checking timer with handle f9e5fa5bbd4c4f999fa1d36df3a0eba9 for iopoolPumpManager
2025-05-07 10:00:00.031064 DEBUG iopoolPumpManager: Canceling timer with handle f9e5fa5bbd4c4f999fa1d36df3a0eba9 for iopoolPumpManager
2025-05-07 10:00:00.031363 DEBUG iopoolPumpManager: Registering run_in in 5400 seconds for iopoolPumpManager
2025-05-07 10:00:00.032606 DEBUG iopoolPumpManager: List of handlers : {'slot1_start': '76b988ec755c45ee88090a967ec72f2d', 'slot1_end': 'c6ceea51e8984ed9a2b001021d0ace83', 'slot2_start': 'eb6116a3691f4f1eb72126dab142e303', 'slot2_end': '72b5617d57984db5ae07054d79f25e43'}
2025-05-07 11:30:00.034798 DEBUG iopoolPumpManager: get state: timer.pool_boost, {} from iopoolPumpManager
2025-05-07 11:30:00.035269 DEBUG iopoolPumpManager: get state: switch.exterieur_sonoff_1, {} from iopoolPumpManager
2025-05-07 11:30:00.035865 DEBUG iopoolPumpManager: call_service: homeassistant/turn_off, {'entity_id': 'switch.exterieur_sonoff_1'}
2025-05-07 11:30:00.038402 INFO iopoolPumpManager: Pool Pump switch.exterieur_sonoff_1 turned off
2025-05-07 12:59:10.570954 INFO iopoolPumpManager: Boost selector changed from None to 1H.
2025-05-07 12:59:10.571405 DEBUG iopoolPumpManager: call_service: timer/start, {'entity_id': 'timer.pool_boost', 'duration': 3600}
2025-05-07 12:59:10.572417 DEBUG iopoolPumpManager: get state: switch.exterieur_sonoff_1, {} from iopoolPumpManager
2025-05-07 12:59:10.573624 DEBUG iopoolPumpManager: call_service: homeassistant/turn_on, {'entity_id': 'switch.exterieur_sonoff_1'}
2025-05-07 12:59:10.576513 INFO iopoolPumpManager: Pool Pump switch.exterieur_sonoff_1 turned on
2025-05-07 13:59:10.009109 INFO iopoolPumpManager: Boost timer 'timer.pool_boost' finished.
2025-05-07 13:59:10.009746 DEBUG iopoolPumpManager: get state: input_select.pool_boost_selector, {} from iopoolPumpManager
2025-05-07 13:59:10.010290 DEBUG iopoolPumpManager: get state: input_select.pool_boost_selector, {} from iopoolPumpManager
2025-05-07 13:59:10.010916 DEBUG iopoolPumpManager: call_service: input_select/select_option, {'option': 'None', 'entity_id': 'input_select.pool_boost_selector'}
2025-05-07 13:59:10.013699 INFO iopoolPumpManager: Firing event 'iopoolpumpmanager_event' with data: {'boost': '1H', 'started_at': '2025-05-07T12:59:10.009958+02:00', 'ended_at': '2025-05-07T13:59:10.011682+02:00'}
2025-05-07 13:59:10.026157 INFO iopoolPumpManager: Boost selector changed from 1H to None.
2025-05-07 13:59:10.026784 INFO iopoolPumpManager: Boost selector set to 'None'. No action will be executed.
2025-05-07 13:59:10.027343 DEBUG iopoolPumpManager: get state: timer.pool_boost, {} from iopoolPumpManager
2025-05-07 13:59:10.027696 DEBUG iopoolPumpManager: Checking timer with handle 76b988ec755c45ee88090a967ec72f2d for iopoolPumpManager
2025-05-07 13:59:10.027989 DEBUG iopoolPumpManager: Checking timer with handle c6ceea51e8984ed9a2b001021d0ace83 for iopoolPumpManager
2025-05-07 13:59:10.028277 DEBUG iopoolPumpManager: Checking timer with handle 76b988ec755c45ee88090a967ec72f2d for iopoolPumpManager
2025-05-07 13:59:10.028562 DEBUG iopoolPumpManager: Checking timer with handle c6ceea51e8984ed9a2b001021d0ace83 for iopoolPumpManager
2025-05-07 13:59:10.030290 DEBUG iopoolPumpManager: Slot 'slot1' - Start : 10:00:00 / End : 19:00:00
2025-05-07 13:59:10.031026 DEBUG iopoolPumpManager: Now is between slot1: True
2025-05-07 13:59:10.031236 DEBUG iopoolPumpManager: Checking timer with handle eb6116a3691f4f1eb72126dab142e303 for iopoolPumpManager
2025-05-07 13:59:10.031455 DEBUG iopoolPumpManager: Checking timer with handle 72b5617d57984db5ae07054d79f25e43 for iopoolPumpManager
2025-05-07 13:59:10.032592 DEBUG iopoolPumpManager: Slot 'slot2' - Start : 19:00:00 / End : 19:30:00
2025-05-07 13:59:10.033295 DEBUG iopoolPumpManager: Now is between slot2: False
2025-05-07 13:59:10.033849 INFO iopoolPumpManager: Boost ended during normal filtration slot. No action will be executed.
2025-05-07 18:29:50.109787 DEBUG iopoolPumpManager: List all entities : {'config.pump_switch': 'switch.exterieur_sonoff_1', 'config.filtration_mode': 'input_select.pool_mode', 'config.filtration_summer.recommanded_duration': 'sensor.recommanded_filtration_iopool_pool', 'config.filtration_summer.elapsed_today': 'sensor.pool_elapsed_filtration_duration', 'config.boost.selector': 'input_select.pool_boost_selector', 'config.boost.timer': 'timer.pool_boost'}
2025-05-07 18:29:50.110768 DEBUG iopoolPumpManager: List all entities filtered (None Excluded) : {'config.pump_switch': 'switch.exterieur_sonoff_1', 'config.filtration_mode': 'input_select.pool_mode', 'config.filtration_summer.recommanded_duration': 'sensor.recommanded_filtration_iopool_pool', 'config.filtration_summer.elapsed_today': 'sensor.pool_elapsed_filtration_duration', 'config.boost.selector': 'input_select.pool_boost_selector', 'config.boost.timer': 'timer.pool_boost'}
2025-05-07 18:29:50.111553 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.111987 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.112299 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.112802 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.113295 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.113735 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.114198 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.115051 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.117051 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.117991 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.118830 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.119335 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.119829 DEBUG iopoolPumpManager: get state: sensor.pool_elapsed_filtration_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.120158 DEBUG iopoolPumpManager: get state: sensor.pool_elapsed_filtration_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.120467 DEBUG iopoolPumpManager: get state: sensor.pool_elapsed_filtration_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.120780 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.121081 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.121384 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.122224 DEBUG iopoolPumpManager: get state: input_select.pool_boost_selector, {} from iopoolPumpManager
2025-05-07 18:29:50.122834 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.123330 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.123671 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.124244 DEBUG iopoolPumpManager: get state: timer.pool_boost, {} from iopoolPumpManager
2025-05-07 18:29:50.124704 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.125394 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.125793 DEBUG iopoolPumpManager: get state: sensor.pool_pump_calculated_duration, {} from iopoolPumpManager
2025-05-07 18:29:50.126751 DEBUG iopoolPumpManager: All entities exists and are valid
2025-05-07 18:29:50.127406 DEBUG iopoolPumpManager: Configuration : {'dryrun': False, 'pump_switch': 'switch.exterieur_sonoff_1', 'pool_name': None, 'filtration_mode': 'input_select.pool_mode', 'filtration_summer': {'recommanded_duration': 'sensor.recommanded_filtration_iopool_pool', 'elapsed_today': 'sensor.pool_elapsed_filtration_duration', 'min_duration': 120, 'max_duration': 480, 'slots': {'slot1': {'name': 'Morning filtration', 'start': datetime.time(10, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 75}, 'slot2': {'name': 'Hot hours Filtrations', 'start': datetime.time(19, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 25}}}, 'filtration_winter': {'name': 'Winter filtration', 'duration': datetime.timedelta(seconds=5400), 'start': datetime.time(9, 0)}, 'boost': {'selector': 'input_select.pool_boost_selector', 'timer': 'timer.pool_boost'}}
2025-05-07 18:29:50.127730 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.128373 INFO iopoolPumpManager: INIT - Pool is in Standard mode
2025-05-07 18:29:50.128867 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.130041 INFO iopoolPumpManager: 2 Filtration Slots exists
2025-05-07 18:29:50.130777 DEBUG iopoolPumpManager: Search for the last slot from : {'slot1': {'name': 'Morning filtration', 'start': datetime.time(10, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 75}, 'slot2': {'name': 'Hot hours Filtrations', 'start': datetime.time(19, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 25}}
2025-05-07 18:29:50.131379 INFO iopoolPumpManager: Slot : 'Morning filtration' - {'name': 'Morning filtration', 'start': datetime.time(10, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 75}
2025-05-07 18:29:50.132665 DEBUG iopoolPumpManager: Registering run_every starting 2025-05-08 10:00:00+02:00 in 86400s intervals for iopoolPumpManager
2025-05-07 18:29:50.134374 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.134855 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.135183 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.136144 INFO iopoolPumpManager: Calculated duration for the day : 120 min
2025-05-07 18:29:50.136943 DEBUG iopoolPumpManager: set state: sensor.pool_pump_calculated_duration, {'state': 120} from iopoolPumpManager
2025-05-07 18:29:50.149313 DEBUG iopoolPumpManager: Duration for slot 'Morning filtration' : 90 min
2025-05-07 18:29:50.150201 DEBUG iopoolPumpManager: End time for slot 'Morning filtration' : 11:30:00
2025-05-07 18:29:50.151123 DEBUG iopoolPumpManager: Registering run_every starting 2025-05-08 11:30:00+02:00 in 86400s intervals for iopoolPumpManager
2025-05-07 18:29:50.152837 DEBUG iopoolPumpManager: Morning filtration with 75% of filtration / Start : 10:00:00 / Slot End : 11:30:00
2025-05-07 18:29:50.153444 INFO iopoolPumpManager: Slot : 'Hot hours Filtrations' - {'name': 'Hot hours Filtrations', 'start': datetime.time(19, 0, tzinfo=TzInfo(UTC)), 'duration_percent': 25}
2025-05-07 18:29:50.154144 INFO iopoolPumpManager: Slot 'Hot hours Filtrations' is the latest slot
2025-05-07 18:29:50.155513 DEBUG iopoolPumpManager: Registering run_every starting 2025-05-07 19:00:00+02:00 in 86400s intervals for iopoolPumpManager
2025-05-07 18:29:50.157323 DEBUG iopoolPumpManager: get state: input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.157730 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.158070 DEBUG iopoolPumpManager: get state: sensor.recommanded_filtration_iopool_pool, {} from iopoolPumpManager
2025-05-07 18:29:50.159052 INFO iopoolPumpManager: Calculated duration for the day : 120 min
2025-05-07 18:29:50.159863 DEBUG iopoolPumpManager: set state: sensor.pool_pump_calculated_duration, {'state': 120} from iopoolPumpManager
2025-05-07 18:29:50.166845 DEBUG iopoolPumpManager: Duration for slot 'Hot hours Filtrations' : 30 min
2025-05-07 18:29:50.167580 DEBUG iopoolPumpManager: End time for slot 'Hot hours Filtrations' : 19:30:00
2025-05-07 18:29:50.168184 DEBUG iopoolPumpManager: Registering run_every starting 2025-05-07 19:30:00+02:00 in 86400s intervals for iopoolPumpManager
2025-05-07 18:29:50.169751 DEBUG iopoolPumpManager: Hot hours Filtrations with 25% of filtration / Start : 19:00:00 / Slot End : 19:30:00
2025-05-07 18:29:50.170586 DEBUG iopoolPumpManager: Calling listen_state for input_select.pool_boost_selector, {'config': Config(dryrun=False, pump_switch='switch.exterieur_sonoff_1', pool_name=None, filtration_mode='input_select.pool_mode', filtration_summer=FiltrationSummerConfig(recommanded_duration='sensor.recommanded_filtration_iopool_pool', elapsed_today='sensor.pool_elapsed_filtration_duration', min_duration=120, max_duration=480, slots=SlotName(root={'slot1': SlotConfig(name='Morning filtration', start=datetime.time(10, 0, tzinfo=TzInfo(UTC)), duration_percent=75), 'slot2': SlotConfig(name='Hot hours Filtrations', start=datetime.time(19, 0, tzinfo=TzInfo(UTC)), duration_percent=25)})), filtration_winter=FiltrationWinterConfig(name='Winter filtration', duration=datetime.timedelta(seconds=5400), start=datetime.time(9, 0)), boost=BoostConfig(selector='input_select.pool_boost_selector', timer='timer.pool_boost'))} from iopoolPumpManager
2025-05-07 18:29:50.171858 DEBUG iopoolPumpManager: Calling listen_event for iopoolPumpManager
2025-05-07 18:29:50.173080 DEBUG iopoolPumpManager: Calling listen_state for sensor.recommanded_filtration_iopool_pool, {'config': Config(dryrun=False, pump_switch='switch.exterieur_sonoff_1', pool_name=None, filtration_mode='input_select.pool_mode', filtration_summer=FiltrationSummerConfig(recommanded_duration='sensor.recommanded_filtration_iopool_pool', elapsed_today='sensor.pool_elapsed_filtration_duration', min_duration=120, max_duration=480, slots=SlotName(root={'slot1': SlotConfig(name='Morning filtration', start=datetime.time(10, 0, tzinfo=TzInfo(UTC)), duration_percent=75), 'slot2': SlotConfig(name='Hot hours Filtrations', start=datetime.time(19, 0, tzinfo=TzInfo(UTC)), duration_percent=25)})), filtration_winter=FiltrationWinterConfig(name='Winter filtration', duration=datetime.timedelta(seconds=5400), start=datetime.time(9, 0)), boost=BoostConfig(selector='input_select.pool_boost_selector', timer='timer.pool_boost'))} from iopoolPumpManager
2025-05-07 18:29:50.174537 INFO iopoolPumpManager: Standard mode - 4 handlers created
2025-05-07 18:29:50.175296 INFO iopoolPumpManager: List of handlers : {'slot1_start': 'ce3dbc5df50649e899f519ab13c152e3', 'slot1_end': '4ad577cedd994c108cc655fe86d55ba2', 'slot2_start': '23bf75e211ca4fd28ec637189d911237', 'slot2_end': '3010b261416545dbb25449020975fcf8'}
2025-05-07 18:29:50.176290 DEBUG iopoolPumpManager: Calling listen_state for input_select.pool_mode, {} from iopoolPumpManager
2025-05-07 18:29:50.177465 INFO iopoolPumpManager: iopoolPumpManager fully Initialized !

Merci pour les logs.
En regardant bien, je confirme que c’est un bug.

Comme le boost s’arrête entre les 2 slots, il ne voit qu’un slot1_start (au lendemain) et pas de slot1_stop (ce qui est normal car le slot1 est terminé), alors il considère que le slot2_stop n’a pas était créé au lancement de slot1_start car le stop était après le slot2_start.
C’est pour cela qu’il considère que le slot1 est de 10h à 19h (19h étant le slot2_start)

Je dois réfléchir à comment je dois gérer ce bug car en l’état je ne vois pas d’autres solution que de stocker l’information si un slot est en cours dans HA pour l’utiliser comme référence plutôt que de regarder les tâches en attente.
Mais il faut que je regarde comment AppDaemon se comporte avec ces entités lors d’un changement de configuration, reboot AD, etc…

Ca va pas être très simple à corriger vu les imbrications mais je vais bosser sur le sujet.

1 « J'aime »

La dedans ? une piste a chercher ?

Non plutôt dans les erreurs de la console.
Mais j’avoue que c’est quasi impossible de te guider sur ça. C’est hyper spécifique à ton environnement

1 « J'aime »

Bonnjour, j’essaye de transferer le suivi de la sonde de mon compte jeedom vers HA, migration en cours.
J’ai suivi le déroulé de l’installation mais j’ai une erreur lors de la création du tdb.


Puis je avoir un peu d’aide pour résoudre ce point… merci d’avance

Bonjour,

Tu as bien mis les nom d’entité qui corresponde chez toi ?
Je vois un switch.pool_switch qui pourrait provoquer l’erreur si c’est pas le bon nom chez toi

J’ai changé aucun nom par rapport à ton fichier de configuration, mais je suis dans le cas d’un spa, ou puis je trouver l’info, je suis un vrai bleu sur HA

Pour l’instant mon tdb se limite à cela

SI je comprend, ce parametre sert à gerer le fonctionnement de la pompe. Je n’ai pas installé la partie de gestion des pompes car dans mon spa je n’ai pas cette possibilité, je souhaitait uniquement récuperer les valeurs de iopool. est ce possible ?

Dans ce cas le mieux c’est de prendre uniquement la dernière carte ou les deux dernières.