{"id":134,"date":"2021-01-20T12:43:00","date_gmt":"2021-01-20T11:43:00","guid":{"rendered":"https:\/\/domo.rem81.com\/?p=134"},"modified":"2025-04-10T19:03:56","modified_gmt":"2025-04-10T17:03:56","slug":"home-assistant-gestion-piscine-filtration-poolpump","status":"publish","type":"post","link":"https:\/\/domo.rem81.com\/index.php\/2021\/01\/20\/home-assistant-gestion-piscine-filtration-poolpump\/","title":{"rendered":"HA-Gestion de la filtration  d&rsquo;une piscine avec \u00ab\u00a0Pool pump Manager\u00a0\u00bb"},"content":{"rendered":"\n\n\n\n<h1 class=\"wp-block-heading\">Update du 5 f\u00e9vrier 2022<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cet article est devenu dans ma configuration, obsol\u00e8te, il ne sera plus maintenu et restera dans cette version.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En effet, j&rsquo;utilise depuis f\u00e9vrier 2022, une application AppDaemon personnelle plus adapt\u00e9e \u00e0 mes besoins. Je vous invite \u00e0 la d\u00e9couvrir dans <a href=\"https:\/\/domo.rem81.com\/index.php\/2022\/02\/02\/ha-gestion-piscine-1-filtration-avec-appdaemon-2\/\">cet article.<\/a><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bien \u00e9videmment, Pool Pump manager reste fonctionnel et vous pouvez tr\u00e8s bien l&rsquo;utiliser comme d\u00e9crit dans cet article.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Heureux possesseur d&rsquo;une piscine depuis de nombreuses ann\u00e9es, je constate au quotidien que le poste d\u00e9pense consommation \u00e9lectrique prend une part importante dans le budget de fonctionnement. L&rsquo;optimisation du temps de filtration est donc primordial, et cela bien \u00e9videmment tout en respectant la qualit\u00e9 de l&rsquo;eau de baignade.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet article, je partage mon exp\u00e9rience sur la gestion du temps de pompage. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pr\u00e9 requis<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">La mise en oeuvre n\u00e9cessite un minimum de connaissances sur les fondamentaux de HA.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\"><strong>Remarque: <\/strong>Mes fichiers \u00ab\u00a0.yaml\u00a0\u00bb sont regroup\u00e9s dans un dossier \u00ab\u00a0config\/packages\u00a0\u00bb. J&rsquo;utilise la directive <a href=\"https:\/\/www.home-assistant.io\/docs\/configuration\/splitting_configuration\/\" data-type=\"URL\" data-id=\"https:\/\/www.home-assistant.io\/docs\/configuration\/splitting_configuration\/\">\u00ab\u00a0!include_dir_named<\/a> packages\u00a0\u00bb tr\u00e8s pratique pour organiser son HA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Avant la migration de mon syst\u00e8me domotique de Jeedom vers HA, je pilotais la pompe de filtration avec Jeedom et le plugin <a href=\"https:\/\/github.com\/scadinot\/pool\/blob\/master\/docs\/fr_FR\/index.md\">\u00ab\u00a0Pool\u00a0\u00bb<\/a> de scadinot.controle<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois sur HA, j&rsquo;ai cherch\u00e9 le moyen de remplacer le plugin par des fonctions similaires sur HA. Apres plusieurs tests de plugin et autres programmations sans succ\u00e8s, je me suis arr\u00eat\u00e9 sur le HACS \u00ab\u00a0Pool pump Manager\u00a0\u00bb d\u00e9velopp\u00e9 par \u00ab\u00a0<a href=\"https:\/\/github.com\/oncleben31\/ha-pool_pump\">oncleben31<\/a>\u00ab\u00a0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ce composant a \u00e9t\u00e9 d\u00e9velopp\u00e9 sur la base de celui de \u00ab\u00a0<a href=\"https:\/\/github.com\/oncleben31\/ha-pool_pump\/tree\/exxamalte\">exxamalte<\/a>\u00a0\u00bb avec quelques am\u00e9liorations dont la principale est la prise en compte de la temp\u00e9rature de l&rsquo;eau dans le calcul de la dur\u00e9e de filtration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;int\u00e9gration du module dans HA, simplifi\u00e9e par l&rsquo;utilisation de HACS, est tr\u00e8s bien d\u00e9crite dans la <a href=\"https:\/\/github.com\/oncleben31\/ha-pool_pump\">documentation<\/a>, elle se d\u00e9compose ainsi:<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Int\u00e9gration dans HACS,<\/strong><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Choisir la branche \u00ab\u00a0Dev\u00a0\u00bb du module.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>D\u00e9claration du module \u00ab\u00a0pool_pump\u00a0\u00bb<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">et des trois variables indispensables au fonctionnement du module dans configuration.yaml:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pool_pump:\n&nbsp;&nbsp;switch_entity_id:&nbsp;switch.pool_pump_switch\n&nbsp;&nbsp;pool_pump_mode_entity_id:&nbsp;input_select.pool_pump_mode\n&nbsp;&nbsp;pool_temperature_entity_id:&nbsp;sensor.pool_water_temperature<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>avec:\n<ul class=\"wp-block-list\">\n<li><strong>switch_entity_id:<\/strong> nom de l&rsquo;entit\u00e9 de pilotage de la pompe<\/li>\n\n\n\n<li><strong>pool_pump_mode_entity_id<\/strong>: nom de l&rsquo;entit\u00e9 permettant de selectionner le mode de fonctionnement de la pompe<\/li>\n\n\n\n<li><strong>pool_temperature_entity_id:<\/strong> nom de l&rsquo;entit\u00e9 de la mesure de temperature de l&rsquo;eau<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le module n\u00e9cessite la mesure de la temp\u00e9rature de l&rsquo;eau et le pilotage de la pompe de filtration, personnellement j&rsquo;utilise un automate WAGO s\u00e9rie 750 communiquant en Modbus, \u00e9quip\u00e9 d&rsquo;une carte d&rsquo;entr\u00e9es pt100, d&rsquo;une carte d&rsquo;entr\u00e9es digitales et d&rsquo;une carte de sortie relais.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bien entendu, cet automate peut \u00eatre remplac\u00e9 par n&rsquo;importe quel dispositif compatible HA, remplissant les m\u00eames fonctionnalit\u00e9s. Un ESP32 \u00e9quip\u00e9 d&rsquo;une sonde ds18b20&nbsp; et d&rsquo;un module de sortie relais sous ESPHOME peut tr\u00e8s bien convenir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En retour le module calcule deux entit\u00e9s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>pool_pump.next_run_schedule<\/strong>: L&rsquo;heure de d\u00e9but et fin de la filtration en deux fois, avant et apr\u00e8s l&rsquo;heure pivot.<\/li>\n\n\n\n<li><strong>pool_pump.total_daily_filtering_duration<\/strong>: le temps de filtration th\u00e9orique sur la journ\u00e9e.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"http:\/\/192.168.0.211\/wp-content\/uploads\/2021\/03\/Capture-decran_2021-03-20_14-57-20-1.png\" alt=\"\" class=\"wp-image-197\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"http:\/\/192.168.0.211\/wp-content\/uploads\/2021\/11\/image-35-1.png\" alt=\"\" class=\"wp-image-968\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>D\u00e9claration des entit\u00e9s<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les entit\u00e9s associ\u00e9es \u00e0 la piscine sont regroup\u00e9es dans un fichier piscine.yaml.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>input_number:\n  # utilis\u00e9 pour simuler la temp\u00e9rature de l'eau pendant les test\n  temp_piscine:\n    name: Temp Eau Simul\n    min: -2\n    max: 35\n    unit_of_measurement: \u00b0C\n    icon: mdi:thermometer\n\n# temperature de l'eau avant arret ppe\n  mem_temp_piscine:\n    name: Temp Eau avant arret\n    min: -2\n    max: 35\n    unit_of_measurement: \u00b0C\n    step: 0.1\n    icon: mdi:thermometer\n    mode: box\n\n# temperature de l'eau avant arret ppe\n  temps_cartouche_chlore:\n    name: Temps cartouche Chlore\n    min: 0\n    max: 3600\n    unit_of_measurement: h\n    step: 0.1\n    icon: mdi:clock\n    mode: box\n\n# Seuil inferieur temperature Hors gel\n  hors_gel_inf:\n    name: Temp Inf Hors-Gel\n    min: -5\n    max: 1\n    unit_of_measurement: \u00b0C\n    icon: mdi:thermometer\n# Seuil superieur temperature Hors gel\n  hors_gel_sup:\n    name: Temp Sup Hors-Gel\n    min: -2\n    max: 5\n    unit_of_measurement: \u00b0C\n    icon: mdi:thermometer\n\ninput_datetime:\n  heure_ouv_volet_pisc:\n    name: Heure Ouv Volet Auto\n    has_date: false\n    has_time: true\n\n  heure_ferm_volet_pisc:\n    name: Heure Ferm Volet Auto\n    has_date: false\n    has_time: true\n\n  heure_ma_pump_pisc_hiv:\n    name: Heure Ma Pompe Pisc Hiv\n    has_date: false\n    has_time: true\n\n  heure_at_pump_pisc_hiv:\n    name: Heure At Pompe Pisc Hiv\n    has_date: false\n    has_time: true\n\ninput_boolean:\n  # inutilis\u00e9e????????? \u00e0 verifier\n  pool_water_level_critical:\n    name: Niveau eau critique\n    initial: false\n\n  # EV appoint Piscine en mode automatique\n  ev_eau_piscine:\n    name: Ev Piscine\n    icon: mdi:water\n  \n  # Volet Piscine en mode automatique\n  volet_piscine_auto:\n    name: Volet Piscine (Auto=1)\n    icon: mdi:garage\n\n  #cde eclairage piscine\n  eclairage_piscine:\n    name: Eclairage piscine\n    icon: mdi:car-light-high\n\n  # Calcul du hors gel- M\u00e9moire de mise en hors gel\n  hors_gel:\n    name: Gel piscine (si=1)\n    icon: mdi:snowflake-alert\n    initial: false\n\n# selection du mode de fonctionnement de la filtration\ninput_select:\n  pool_pump_mode:\n    name: Pool Pump mode\n    options:\n      - \"Auto\"\n      - \"On\"\n      - \"Off\"\n      - \"Hivernage\"\n    initial: \"Auto\"\n    icon: mdi:pool\n\nsensor:\n  # Affichage du temps de fonctionnement de la pompe ce jour\n  - platform: history_stats\n    name: Pool Pump running today\n    entity_id: binary_sensor.pool_pump_running\n    state: \"on\"\n    type: time\n    start: \"{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}\"\n    end: \"{{ now() }}\"\n\n  # Affichage du temps de fonctionnement de l'\u00e9lectrovanne appoint d'eau ce jour\n  - platform: history_stats\n    name: Ev Eau tps ouverture jour\n    entity_id: switch.cde_ev_eau\n    state: \"on\"\n    type: time\n    start: \"{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}\"\n    end: \"{{ now() }}\"\n    \n  # Affichage du temps de fonctionnement de l'\u00e9lectrovanne appoint d'eau sur 7 jours\n  - platform: history_stats\n    name: Ev eau sur 7j\n    entity_id: switch.cde_ev_eau\n    state: 'on'\n    type: time\n    end: \"{{ now().replace(hour=0, minute=0, second=0) }}\"\n    duration:\n      days: 7\n    \ntemplate:\n# mesure de la temp\u00e9rature de l'eau, permet de basculer facilement en mode simulation\n# en commentant ou decommentant les lignes ci-dessous\n  sensor:\n    - name: \"pool_water_temperature\"\n      state: \"{{ states('input_number.mem_temp_piscine')|float(default=0)|round(1) }}\" # memoire temperature de l'eau avant arret pompe\n        #e_template: \"{{ states('input_number.temp_piscine_ph')|float|round(1) }}\" # Simulation avec input_numbe\n      icon: mdi:oil-temperature\n      unit_of_measurement: \"\u00baC\"\n\n        # calcul de l'heure pivot, c'est l'heure autour de laquelle le temps de fonctionnement est r\u00e9parti\n    - name: \"heure_pivot_piscine\"\n      state: '{{ as_timestamp(strptime(state_attr(\"sun.sun\", \"next_noon\"), \"\")) | timestamp_custom(\"%H:%M\") }}'\n      icon: mdi:weather-sunny\n\n\n  # Recopie pression filtre lu dans esphome dans un template\n    - name: \"pression_piscine_p\"\n      state: '{{ states(\"sensor.pression_filtre\") |float(default=0) | round(2) }}'\n      unit_of_measurement: \"Bars\"\n\n  binary_sensor:\n    # Si la puissance electrique est superieure \u00e0 500w, on considere que la pompe est en fonctionnement\n    - name: \"pool_pump_running\"\n      state: &gt;-\n        {{states.sensor.pzem_pisc_puissance.state | float(default=0) &gt; 500}}\n\n  # Calcul en fonction de la position du soleil\n  # Sun Azimtuh est calcul\u00e9 dans Meteo\n    - name: \"soleil_volet_piscine\"\n      state: &gt;-\n        {% set a=states('sensor.sun_azimuth_2')|float(default=0) %}\n        {{ (a&gt;97) and (a&lt;290) }}\n\n# Commande du volet roulant via un Cover\ncover:\n  - platform: template\n    covers:\n      volet_piscine:\n        device_class: garage\n        value_template: \"{{is_state('binary_sensor.volet_piscine_ferme', 'off')}}\"\n        open_cover:\n          service: script.volet_piscine_ouverture\n        close_cover:\n          service: script.volet_piscine_fermeture\n        icon_template: &gt;-\n          {% if is_state('binary_sensor.volet_piscine_ferme', 'on') %}\n            mdi:garage\n          {% else %} \n            {% if is_state('binary_sensor.volet_piscine_ferme', 'off') %}\n            mdi:garage-open\n          {% else %}\n            mdi:garage-alert\n          {% endif %}\n          {% endif %}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Modes de Fonctionnement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;utilise 4 modes de fonctionnement s\u00e9lectionnable par \u00ab\u00a0input_select.mode_fonctionnement_piscine\u00a0\u00bb:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ete: Temps de fonctionnement calcul\u00e9 en fonction de la temp\u00e9rature de l&rsquo;eau<\/li>\n\n\n\n<li>Hiver: Filtration en fonction d&rsquo;une de d\u00e9but et d&rsquo;une dur\u00e9e maximum de filtration<\/li>\n\n\n\n<li>Ma F: Marche forc\u00e9e de la pompe<\/li>\n\n\n\n<li>At F: Arr\u00eat forc\u00e9 de la pompe<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En fonction du mode s\u00e9lectionn\u00e9, l&rsquo;automatisation  d\u00e9clenche les actions requises (force le \u00ab\u00a0input_select.pool_pump_mode\u00a0\u00bb et d\u00e9clenche le service \u00ab\u00a0pool_pump.check\u00a0\u00bb).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Au lancement, HA ex\u00e9cute une fois le service \u00ab\u00a0pool_pump.check\u00a0\u00bb afin d&rsquo;\u00e9viter d&rsquo;avoir des valeurs inconnues dans le temps et les horaires de filtration.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Descriptif fonctionnel<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"http:\/\/192.168.0.211\/wp-content\/uploads\/2021\/11\/image-33-1.png\" alt=\"\" class=\"wp-image-960\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"http:\/\/192.168.0.153:803\/wp-content\/uploads\/2021\/11\/image-62-1024x574.png\" alt=\"\" class=\"wp-image-1065\" style=\"width:921px;height:516px\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-62-1024x574.png 1024w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-62-300x168.png 300w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-62-768x430.png 768w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-62.png 1121w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Code de l&rsquo;automatisation<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>- id: '1611515162753'\n  alias: Piscine 1-Calcul fonctionnement Pompe Ete\/Hiver\n  description: Mode Ete\/Hiver\/Ma Forc\u00e9e\/At Forc\u00e9\n  trigger:\n  - platform: state\n    entity_id: sensor.pool_water_temperature\n    id: temp\n  - platform: state\n    entity_id: input_select.mode_fonctionnement_piscine\n    id: mode\n  - platform: state\n    entity_id: input_boolean.piscine_arret_force\n    id: at_forc\u00e9\n  - platform: time_pattern\n    minutes: \/5\n    id: 5min\n  condition: &#091;]\n  action:\n  - choose:\n    - conditions:\n      - condition: and\n        conditions:\n        - condition: state\n          entity_id: input_select.mode_fonctionnement_piscine\n          state: Ete\n        - condition: or\n          conditions:\n          - condition: trigger\n            id: temp\n          - condition: trigger\n            id: at_forc\u00e9\n          - condition: state\n            entity_id: input_select.mode_fonctionnement_piscine\n            state: Ete\n      sequence:\n      - service: input_select.select_option\n        target:\n          entity_id: input_select.pool_pump_mode\n        data:\n          option: Auto\n    - conditions:\n      - condition: state\n        entity_id: input_select.mode_fonctionnement_piscine\n        state: Hiver\n      sequence:\n      - choose:\n        - conditions:\n          - condition: time\n            after: input_datetime.heure_ma_pump_pisc_hiv\n          - condition: numeric_state\n            entity_id: sensor.pool_pump_running_today\n            below: input_number.duree_filtration_max_mode_hiver\n          sequence:\n          - service: input_select.select_option\n            target:\n              entity_id: input_select.pool_pump_mode\n            data:\n              option: 'On'\n          - service: homeassistant.turn_on\n            target:\n              entity_id: switch.pool_pump_switch\n        default:\n        - service: input_select.select_option\n          target:\n            entity_id: input_select.pool_pump_mode\n          data:\n            option: 'Off'\n        - service: homeassistant.turn_off\n          target:\n            entity_id: switch.pool_pump_switch\n    - conditions:\n      - condition: state\n        entity_id: input_select.mode_fonctionnement_piscine\n        state: Ma F\n      sequence:\n      - service: input_select.select_option\n        target:\n          entity_id: input_select.pool_pump_mode\n        data:\n          option: 'On'\n      - service: homeassistant.turn_on\n        target:\n          entity_id: switch.pool_pump_switch\n    - conditions:\n      - condition: state\n        entity_id: input_select.mode_fonctionnement_piscine\n        state: At F\n      sequence:\n      - service: input_select.select_option\n        target:\n          entity_id: input_select.pool_pump_mode\n        data:\n          option: 'Off'\n      - service: homeassistant.turn_off\n        target:\n          entity_id: switch.pool_pump_switch\n    - conditions:\n      - condition: trigger\n        id: Start\n      sequence: &#091;]\n    default: &#091;]\n  - service: pool_pump.check\n  mode: single<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Calcul du temps de filtration (Mode Automatique).<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">La dur\u00e9e de filtration est r\u00e9git par la courbe bleue de AbacusFilteringDuration() \u00e9galement utilis\u00e9e par le plugin Jeedom, c&rsquo;est une des fonctionnalit\u00e9s du module Python <a href=\"https:\/\/pypi.org\/project\/pypool-pump\/\">\u00ab\u00a0PyPoolPump\u00a0\u00bb<\/a> d\u00e9velopp\u00e9 par oncleben31.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"http:\/\/192.168.0.211\/wp-content\/uploads\/2021\/03\/filtration_courbe-1.png\" alt=\"\" class=\"wp-image-145\"\/><figcaption class=\"wp-element-caption\">Voici le d\u00e9tail de la courbe de filtration, nous utilisons la courbe bleue repr\u00e9sente la valeur 100%. La courbe verte 140% et la courbe rouge 60% ne sont pas utilis\u00e9es dans notre cas, il n&rsquo;y a pas dans cette version la possibilit\u00e9 de pond\u00e9rer l&rsquo;action de la temp\u00e9rature sur la dur\u00e9e.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>L&rsquo;automatisation principale appelle le \u00ab\u00a0service: pool_pump.check\u00a0\u00bb, celui ci \u00e9value l&rsquo;heure de d\u00e9marrage et l&rsquo;heure d\u2019arr\u00eat de la pompe en fonction de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l&rsquo;heure actuelle<\/li>\n\n\n\n<li>la temp\u00e9rature de l&rsquo;eau<\/li>\n\n\n\n<li>l&rsquo;heure pivot:\n<ul class=\"wp-block-list\">\n<li>Celle ci correspond \u00e0 l&rsquo;heure du midi solaire UTC (zenith) <a href=\"https:\/\/www.home-assistant.io\/integrations\/sun\/\">voir_doc<\/a> . le temps de filtration est r\u00e9parti 1\/3 avant l&rsquo;heure pivot et 2\/3 apr\u00e8s. J&rsquo;ai d\u00e9clar\u00e9 le template \u00ab\u00a0<strong>heure_pivot_piscine:\u00a0\u00bb<\/strong> afin de le visualiser dans la carte Pool. Ce n&rsquo;est pas indispensable mais c&rsquo;est utile \u00e0 la compr\u00e9hension du fonctionnement .<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">NB: Vous pourrez constater quelques fois, qu&rsquo;\u00e0 l&rsquo;heure de d\u00e9but filtration calcul\u00e9e, la pompe d\u00e9marre puis s\u2019arr\u00eate quelques instants plus tard pour red\u00e9marrer ensuite. C&rsquo;est normal, \u00e0 chaque changement de T\u00b0 de l&rsquo;eau ou toutes les 5 minutes, la dur\u00e9e est recalcul\u00e9e. Si la temp\u00e9rature a baiss\u00e9e, le syst\u00e8me recalcule \u00e0 la baisse le temps de filtration et donc l&rsquo;heure de d\u00e9marrage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le temps de fonctionnement est recalcul\u00e9 sur:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le changement de la temp\u00e9rature de l&rsquo;eau<\/li>\n\n\n\n<li>Changement du mode de fonctionnement<\/li>\n\n\n\n<li>Arret forc\u00e9 mode auto<\/li>\n\n\n\n<li>Toutes les 5 minutes<\/li>\n\n\n\n<li>Au lancement de HA<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Mesure de la temp\u00e9rature de l&rsquo;eau<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Mise en oeuvre<\/h2>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/IMG_20211004_171956-1024x1024.jpg\" alt=\"\" class=\"wp-image-559 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">La sonde de mesure de temp\u00e9rature est situ\u00e9e dans mon sous sol. Lorsque la filtration est arr\u00eat\u00e9e, la temp\u00e9rature mesur\u00e9e \u00e9volue lentement vers celle du sous-sol qui l&rsquo;\u00e9t\u00e9, est tr\u00e8s inf\u00e9rieure \u00e0 la temp\u00e9rature de l&rsquo;eau. Le lendemain, le syst\u00e8me se base sur une temp\u00e9rature inf\u00e9rieure \u00e0 celle de l&rsquo;eau donc recalcule un temps de filtration trop faible, d\u00e9marre la pompe tard dans la matin\u00e9e, ajuste le temps de filtration qui s&rsquo;allonge au fur et \u00e0 mesure que la temp\u00e9rature mesur\u00e9e se rapproche de celle de l&rsquo;eau, pour finir avec une filtration qui se terminera tard dans la nuit.<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">La solution est simple, HA m\u00e9morise la temp\u00e9rature de l\u2019eau uniquement quand la pompe est en fonctionnement, il garde ainsi la temp\u00e9rature de l\u2019eau avant l&rsquo;arr\u00eat de la pompe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un automatisme, m\u00e9morise toutes les 15 minutes , si la pompe de filtration est en marche, la mesure de la temp\u00e9rature dans un input_number, utilis\u00e9 dans le calcul du temps de filtration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">il faut ajouter ce code d&rsquo;automatisation \u00e0 ajouter dans votre fichier .yaml<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Code de l&rsquo;automatisme<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>- id: '1623911201023'\n  alias: Piscine M\u00e9morisation Temp\u00e9rature avant arr\u00eat\n  description: 'On fait tourner la pompe 15 mn avant prise en compte de la temp\u00e9rature '\n  trigger:\n  - platform: time_pattern\n    minutes: \/1\n  condition:\n  - condition: state\n    entity_id: binary_sensor.pool_pump_running\n    state: 'on'\n    for: 00:15:00\n  action:\n  - service: input_number.set_value\n    target:\n      entity_id: input_number.mem_temp_piscine\n    data_template:\n      value: '{{ states(''sensor.temp_piscine'')|float }}'\n  mode: single<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il faut modifier le sensor.pool_water_temperature comme suit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  # mesure de la temp\u00e9rature de l'eau, permet de basculer facilement en mode simulation\n  # en commentant ou decommentant les lignes ci-dessous\n  - platform: template\n    sensors:\n      pool_water_temperature:\n        friendly_name: \"sensor.pool_water_temperature\"\n        value_template: \"{{ states('<strong>input_number.mem_temp_piscine<\/strong>')|float|round(1) }}\" # memoire temperature de l'eau avant arret pompe\n        #        value_template: \"{{ states('input_number.temp_piscine_ph')|float|round(1) }}\" # Simulation avec input_numbe\n        icon_template: mdi:oil-temperature\n        unit_of_measurement: \"\u00baC\"<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Indicateur de fonctionnement de la pompe<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">La consommation \u00e9lectrique de mon coffret piscine est monitor\u00e9e par un PZEM004 coupl\u00e9 \u00e0 un ESP8266-12F sous ESPHOME. Se reporter \u00e0 l&rsquo;article suivant <a href=\"https:\/\/domo.rem81.com\/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique\/\" data-type=\"URL\" data-id=\"https:\/\/domo.rem81.com\/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique\/\">\u00ab\u00a0home-assistant-gestion-piscine-2_mesure-de-puissance-electrique\u00a0\u00bb<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la puissance absorb\u00e9e par le coffret est sup\u00e9rieure \u00e0 500W, je consid\u00e8re que la pompe est en fonctionnement. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le test permet de calculer un binary_sensor.pool_pump_running:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">binary_sensor:\n# Si la puissance electrique est superieure \u00e0 500w, on consid\u00e8re que la pompe est en fonctionnement\n  - platform: template\n    sensors:\n      pool_pump_running:\n        value_template: \"{{ states.sensor.pzem_pisc_puissance.state | float &gt; 500 }}\"\n        friendly_name: \"Pompe Filtration en Ma\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette variable est importante car elle refl\u00e8te la r\u00e9alit\u00e9 de l&rsquo;\u00e9tat de fonctionnement de la pompe, je l&rsquo;utilise dans plusieurs automatisme comme la r\u00e9gulation de pH, calcul du temps de fonctionnement, etc..  <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Calcul du temps de fonctionnement de la pompe<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>sensor:\n  # Affichage du temps de fonctionnement de la pompe ce jour\n  - platform: history_stats\n    name: Pool Pump running today\n    entity_id: binary_sensor.pool_pump_running\n    state: \"on\"\n    type: time\n    start: \"{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}\"\n    end: \"{{ now() }}\"<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Panneaux de commande<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Je vous propose, pour information, une copie d&rsquo;\u00e9cran et les codes associ\u00e9s, de mes panneaux de contr\u00f4le, libre \u00e0 vous de les adapter. Certaines fonctionnalit\u00e9s seront d\u00e9crites ult\u00e9rieurement (pression, pH, Appoint eau, Chlore, ORP, etc..).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Carte N\u00b01<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9capitulatif des principales grandeurs num\u00e9riques et des commandes importantes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"448\" height=\"598\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-3-1.png\" alt=\"\" class=\"wp-image-546\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-3-1.png 448w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-3-1-225x300.png 225w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"299\" height=\"152\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-4-1.png\" alt=\"\" class=\"wp-image-548\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte1.yaml\">Lien vers le code source<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Carte N\u00b02<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un r\u00e9sum\u00e9 des p\u00e9riodes de fonctionnement<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"219\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-6.png\" alt=\"\" class=\"wp-image-551\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-6.png 441w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-6-300x149.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte2.yaml\" data-type=\"URL\" data-id=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte2.yaml\">Lien vers le code source<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Carte N\u00b03<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Visualisation et acc\u00e8s \u00e0 l&rsquo;ensemble des param\u00e8tres.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"440\" height=\"696\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-58-1.png\" alt=\"\" class=\"wp-image-1056\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-58-1.png 440w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-58-1-190x300.png 190w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"432\" height=\"606\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-59-1.png\" alt=\"\" class=\"wp-image-1058\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-59-1.png 432w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-59-1-214x300.png 214w\" sizes=\"auto, (max-width: 432px) 100vw, 432px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"448\" height=\"685\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-7-1.png\" alt=\"\" class=\"wp-image-554\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-7-1.png 448w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-7-1-196x300.png 196w\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"627\" height=\"590\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-16.png\" alt=\"\" class=\"wp-image-909\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-16.png 627w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/11\/image-16-300x282.png 300w\" sizes=\"auto, (max-width: 627px) 100vw, 627px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte3.yaml\" data-type=\"URL\" data-id=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte3.yaml\">lien vers le code source<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Carte N\u00b04<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"453\" src=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-11-1.png\" alt=\"\" class=\"wp-image-580\" srcset=\"https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-11-1.png 443w, https:\/\/domo.rem81.com\/wp-content\/uploads\/2021\/10\/image-11-1-293x300.png 293w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte4.yaml\" data-type=\"URL\" data-id=\"https:\/\/github.com\/remycrochon\/ha\/blob\/main\/config\/cartes\/piscine\/carte4.yaml\">Lien vers le code source<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Notifications<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Notification sur Telegram de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9but de filtration<\/li>\n\n\n\n<li>Fin de filtration<\/li>\n\n\n\n<li>R\u00e9capitulatif de fin de journ\u00e9e ave le temps de fonctionnement de la pompe, la consommation de la piscine en kW, le temps d&rsquo;utilisation des cartouches de chlore.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>- id: '1634222619535'\n  alias: Piscine Notifications filtration\n  description: Debut, Fin\n  trigger:\n  - platform: state\n    entity_id: binary_sensor.pool_pump_running\n    from: 'off'\n    to: 'on'\n    id: ma_ppe\n  - platform: state\n    entity_id: binary_sensor.pool_pump_running\n    id: at_ppe\n    from: 'on'\n    to: 'off'\n  - platform: time\n    at: '23:59'\n    id: minuit\n  condition: &#091;]\n  action:\n  - choose:\n    - conditions:\n      - condition: trigger\n        id: ma_ppe\n      sequence:\n      - service: notify.telegram\n        data:\n          message: '{{states(\"sensor.date_time\") }}'\n          title: Piscine D\u00e9but Filtration\n    - conditions:\n      - condition: trigger\n        id: at_ppe\n      sequence:\n      - service: notify.telegram\n        data:\n          message: '{{states(\"sensor.date_time\") }}}'\n          title: Piscine Fin de filtration\n    - conditions:\n      - condition: trigger\n        id: minuit\n      sequence:\n      - service: notify.telegram\n        data:\n          message: 'Temps de filtration:  {{states.sensor.pool_pump_running_today.attributes.value}}{{-\"\\n\"-}}Conso:\n            {{states(''sensor.energy_pisc_daily'')}} kWh.{{-\"\\n\"-}} Tps Utilisation\n            cart. Chlore: {{states(''input_number.temps_cartouche_chlore'')}} h {{-\"\\n\"-}}{{states(\"sensor.date_time\")\n            }}'\n          title: Piscine Rapport Fin de journ\u00e9e\n      - service: notify.log_piscine\n        data:\n          message: '{{states.sensor.pool_pump_running_today.attributes.value }},{{states(''sensor.energy_pisc_daily'')}}'\n          title: Rapport jour piscine\n    default: &#091;]\n  mode: single<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n<p>J\u2019esp\u00e8re que cet article vous sera utile. C&rsquo;est le premier d&rsquo;une s\u00e9rie d\u00e9di\u00e9e \u00e0 la gestion automatis\u00e9e d&rsquo;une piscine.<br \/>Je publierai la suite de mes r\u00e9alisations list\u00e9es en introduction lorsque leur fonctionnement aura \u00e9t\u00e9 \u00e9prouv\u00e9.<\/p>\n\n\n<ol class=\"wp-block-list\"><\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">Liste des publications en lien avec cet article:<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Filtration avec <a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/21\/ha-gestion-complete-dune-piscine-avec-esp32-et-esphome\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/21\/ha-gestion-complete-dune-piscine-avec-esp32-et-esphome\/\" target=\"_blank\" rel=\"noreferrer noopener\">ESPHome et ESP32<\/a><\/li>\n\n\n\n<li>Filtration avec \u00ab\u00a0<a href=\"https:\/\/domo.rem81.com\/index.php\/2022\/02\/02\/ha-gestion-piscine-1-filtration-avec-appdaemon-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">AppDaemon\u00a0\u00bb<\/a><\/li>\n\n\n\n<li>Filtration avec \u00ab\u00a0<a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/01\/20\/home-assistant-gestion-piscine-filtration-poolpump\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pool Pump Manager<\/a>\u00ab\u00a0<\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/02\/24\/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure de puissance \u00e9lectrique<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/04\/02\/home-assistant-gestion-piscine-1_mise-a-niveau-automatique\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mise \u00e0 niveau automatique<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/05\/11\/home-assistant-gestion-piscine-4_mesure-ph\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure du pH<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/08\/14\/ha-gestion-piscine-5_regulation-du-ph\/\" target=\"_blank\" rel=\"noreferrer noopener\">R\u00e9gulation du Ph<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2021\/11\/30\/ha-gestion-piscine-6_mode-hors-gel\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mise Hors Gel<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2022\/05\/13\/ha-gestion-piscine-7_mesure-de-pression\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure de pression<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/04\/ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/04\/ha-mesurer-la-consommation-deau-de-ma-piscine-avec-un-esp8266-et-esphome\/\" target=\"_blank\" rel=\"noreferrer noopener\">Mesure consommation d&rsquo;eau<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/11\/ha-panneau-de-commande-pour-piscine-avec-un-esp32-openhasp-et-home-assistant\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/11\/ha-panneau-de-commande-pour-piscine-avec-un-esp32-openhasp-et-home-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">Panneau de contr\u00f4le avec un ESP32<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/13\/ha-analyse-de-leau-de-piscine-avec-le-poollab-2-0-et-integration-dans-home-assistant\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/04\/13\/ha-analyse-de-leau-de-piscine-avec-le-poollab-2-0-et-integration-dans-home-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">Analyse de l&rsquo;eau avec PoolLAB2.0<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Update du 5 f\u00e9vrier 2022 Cet article est devenu dans ma configuration, obsol\u00e8te, il ne sera plus maintenu et restera dans cette version. En effet, j&rsquo;utilise depuis f\u00e9vrier 2022, une &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[33],"class_list":["post-134","post","type-post","status-publish","format-standard","hentry","category-homeassistant","tag-piscine"],"_links":{"self":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":5,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":3664,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/134\/revisions\/3664"}],"wp:attachment":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}