[2026-05-24 19:03:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:03:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:03:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:03:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:03:04][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:03:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:03:14][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pools',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : > GET /v1/pools HTTP/2
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < content-length: 426
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:03:14 GMT
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a132f52-39c44624508917af6cb0a63f;Parent=34cf09790299bce1;Sampled=0;Lineage=1:c12a94e3:0
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amzn-requestid: f11c13c3-6696-4c18-8a2a-c67a81d6b4a1
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4RU5GrBjoEEirw=
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < via: 1.1 6d3f0112369c770bd0b96a2c6ccd04b4.cloudfront.net (CloudFront)
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-cf-id: A_UO8KXM_u0_N5l2ebfQYeBNILPKEN2P5L0g0d7kPhs1QfDS9nGo0g==
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : <
[2026-05-24 19:03:14][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:03:14][DEBUG] │ getPools Contenu de la réponse: array (
0 =>
array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.890989309280144,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T16:58:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
),
)
[2026-05-24 19:03:14][INFO] synchronize::Pool sonde EcO Okinawa (c3142810-b038-495a-8fb1-1ac89b5fecb9) mise à jour
[2026-05-24 19:03:14][INFO] ┌────────── Sauvegarde de l\'équipement Okinawa
[2026-05-24 19:03:14][DEBUG] │ preUpdate::Contenu des champs de filtration array (
'enabled' => '1',
'status' => '#7345#',
'start' => '#7343#',
'stop' => '#7344#',
'tempo' => '',
'retryCmd' => '',
'delayRetryCmd' => '',
'percentPlage1' => '50',
'percentPlage2' => '50',
'timeStartPlage1' => '00:01',
'timeStartPlage2' => '12:30',
'minDuration' => '',
'maxDuration' => '720',
'ActiveWinterFilteringDuration' => '120',
)
[2026-05-24 19:03:14][DEBUG] │ loadConfigFile::/var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json
[2026-05-24 19:03:14][DEBUG] │ Contenu du fichier /var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json: array (
'commands' =>
array (
0 =>
array (
'name' => 'Rafraichir',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'refresh',
'isDashboard' => 1,
'display' =>
array (
'icon' => '',
),
),
1 =>
array (
'name' => 'Mode de la sonde',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'mode',
'isDashboard' => 1,
),
2 =>
array (
'name' => 'Etat général',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'flagState',
'isDashboard' => 1,
),
3 =>
array (
'name' => 'Action requise',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'hasAnActionRequired',
'isDashboard' => 1,
),
4 =>
array (
'name' => 'Temps de filtration recommandé',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'H',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 24,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'advice__filtrationDuration',
'isHistorized' => 1,
'isDashboard' => 1,
),
5 =>
array (
'name' => 'Dernière mesure - Température',
'type' => 'info',
'subtype' => 'numeric',
'unite' => '##tempUnit##',
'isVisible' => 1,
'logicalId' => 'latestMeasure__temperature',
'configuration' =>
array (
'historizeMode' => 'none',
),
'display' =>
array (
'generic_type' => 'TEMPERATURE',
),
'isHistorized' => 1,
'isDashboard' => 1,
),
6 =>
array (
'name' => 'Dernière mesure - pH',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'pH',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 14,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__ph',
'isHistorized' => 1,
'isDashboard' => 1,
),
7 =>
array (
'name' => 'Dernière mesure - orp',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'mV',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 1500,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__orp',
'isHistorized' => 1,
'isDashboard' => 1,
),
8 =>
array (
'name' => 'Dernière mesure - mode de réception',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'latestMeasure__mode',
'isDashboard' => 1,
),
9 =>
array (
'name' => 'Statut Boost - 1H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_1H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
10 =>
array (
'name' => 'Start Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_1H',
),
11 =>
array (
'name' => 'Stop Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_1H',
),
12 =>
array (
'name' => 'Statut Boost - 4H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_4H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
13 =>
array (
'name' => 'Start Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_4H',
),
14 =>
array (
'name' => 'Stop Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_4H',
),
15 =>
array (
'name' => 'Statut Boost - 8H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_8H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
16 =>
array (
'name' => 'Start Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_8H',
),
17 =>
array (
'name' => 'Stop Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_8H',
),
18 =>
array (
'name' => 'Statut Boost - 24H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_24H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
19 =>
array (
'name' => 'Start Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_24H',
),
20 =>
array (
'name' => 'Stop Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_24H',
),
),
)
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande refresh ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande mode ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande flagState ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande hasAnActionRequired ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande advice__filtrationDuration ()
[2026-05-24 19:03:14][INFO] │ createCmd::Modify Mise à jour de l\'unité de la température (a partir de la configuration du plugin) sur la commande latestMeasure__temperature (Dernière mesure - Température) avec la valeur °C
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__temperature ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__ph ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__orp ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__mode ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_1H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_1H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_1H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_4H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_4H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_4H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_8H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_8H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_8H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_24H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_24H ()
[2026-05-24 19:03:14][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_24H ()
[2026-05-24 19:03:14][INFO] │ postSave::Mise à jour suite à une sauvegarde de l\'équipement Okinawa
[2026-05-24 19:03:14][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:03:14 GMT
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a132f52-02660bf6018adc372addc86b;Parent=0a0eafca6fe85e02;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amzn-requestid: 9900cc02-2ce8-453f-a828-ade8e459ab83
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4RU8G_9joEEGMQ=
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < via: 1.1 7ba87569e48de4463762ac665c3e9452.cloudfront.net (CloudFront)
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : < x-amz-cf-id: v_3UKvdS7ijfWKFjDNFPfLr0RObLa8fhupQrzlf0uW8MO5IDxPy4IQ==
[2026-05-24 19:03:14][DEBUG] │ request::DEBUG : <
[2026-05-24 19:03:14][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:03:14][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.890989309280144,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T16:58:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.89098930928 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:14][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:03:14
[2026-05-24 19:03:14][INFO] └────────────────────────────────────
[2026-05-24 19:03:34][DEBUG] ┌────────── Rafraîchissement des informations sur le cloud IOPOOL
[2026-05-24 19:03:34][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:03:34 GMT
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a132f66-140b34b217e30f6705b7cdf7;Parent=1a981fb61d668aaa;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-amzn-requestid: a307676b-88d4-4765-9a21-70aa466aa7b3
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4RYFF0BDoEEYOA=
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < via: 1.1 1083faa0812cd95a7f5f70a626253198.cloudfront.net (CloudFront)
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : < x-amz-cf-id: 9lSIjm2VCPesTdZewLYj4S76O_iooe6Y-7fjU5c9QmQ6AMIX5wqbOw==
[2026-05-24 19:03:34][DEBUG] │ request::DEBUG : <
[2026-05-24 19:03:34][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:03:34][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.890989309280144,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T16:58:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.89098930928 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 18:58:00
[2026-05-24 19:03:34][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:03:34
[2026-05-24 19:03:34][DEBUG] └────────────────────────────────────
[2026-05-24 19:03:34][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:03:34][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:03:35][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:04:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:04:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:04:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:04:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:04:05][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:04:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:05:06][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:05:06][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:05:06][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:05:06][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:05:06][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:05:06][DEBUG] └────────────────────────────────────
[2026-05-24 19:05:06][DEBUG] ┌────────── Lancement CRON5
[2026-05-24 19:05:06][DEBUG] │ CRON5 - Ajout d\'un délai d\'attente aléatoire de: 2 secondes
[2026-05-24 19:05:08][DEBUG] └────────────────────────────────────
[2026-05-24 19:06:44][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:06:44][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:06:44][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:06:44][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:06:44][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:06:44][DEBUG] └────────────────────────────────────
[2026-05-24 19:07:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:07:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:07:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:07:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:07:04][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:07:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:08:06][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:08:06][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:08:06][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:08:06][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:08:06][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:08:06][DEBUG] └────────────────────────────────────
[2026-05-24 19:09:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:09:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:09:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:09:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:09:04][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:09:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:09:10][WARNING] iopool_EcO\DiagDebug::addJeedomLog - File plugin don't exist in Jeedom. We are not able to store this file
[2026-05-24 19:09:10][WARNING] iopool_EcO\DiagDebug::addJeedomLog - File jeedom don't exist in Jeedom. We are not able to store this file
[2026-05-24 19:10:08][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:10:08][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:10:08][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:10:08][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:10:08][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:10:08][DEBUG] └────────────────────────────────────
[2026-05-24 19:10:08][DEBUG] ┌────────── Lancement CRON5
[2026-05-24 19:10:08][DEBUG] │ CRON5 - Ajout d\'un délai d\'attente aléatoire de: 10 secondes
[2026-05-24 19:10:18][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:10:18][DEBUG] │ pull::Récuperation des Flags de l\'équipement Okinawa pour analyse des notifications à émettre
[2026-05-24 19:10:18][DEBUG] │ pull::Démarrage de mise à jour pour la sonde Okinawa
[2026-05-24 19:10:18][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:10:18 GMT
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a1330fa-4af691d5414129767eb02501;Parent=440d9122f34a1845;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-amzn-requestid: dae50c0d-d50a-4e7a-9542-5a3f43b8c3f0
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4SXOHpRDoEEcWw=
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < via: 1.1 c67338b86b87ed23be45de4b04e2e544.cloudfront.net (CloudFront)
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : < x-amz-cf-id: 2_jhCvKldudfmqfSntTiFhx8f--v7asUqNu5U1rIzmOvQjfLxuR-1w==
[2026-05-24 19:10:18][DEBUG] │ request::DEBUG : <
[2026-05-24 19:10:18][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:10:18][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.890989309280144,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T16:58:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.89098930928 collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 18:58:00
[2026-05-24 19:10:18][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:10:18
[2026-05-24 19:10:18][DEBUG] │ Le lancement de la filtration de la période 1 est dans plus de 15 minutes ou déjà passé. Pas de génération du cache de filtration
[2026-05-24 19:10:18][DEBUG] └────────────────────────────────────
[2026-05-24 19:10:20][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:10:33][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:11:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:11:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:11:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:11:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:11:05][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:11:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:11:55][DEBUG] ┌────────── Rafraîchissement des informations sur le cloud IOPOOL
[2026-05-24 19:11:55][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:11:55 GMT
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a13315b-2b5f76415eddf0fa1415585d;Parent=280e0d588e89c2d0;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-amzn-requestid: 273c76c2-902c-4f5b-be7b-6459c3a56c16
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4SmaFZUjoEEHdA=
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < via: 1.1 f14ee79735082bb115454d7286ebe2e4.cloudfront.net (CloudFront)
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : < x-amz-cf-id: t2jBADfLX9YX7cs5Q9b2gPswRMWrRyoF-iTLwj_xoezhT5KsGg4Nwg==
[2026-05-24 19:11:55][DEBUG] │ request::DEBUG : <
[2026-05-24 19:11:55][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:11:55][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.890989309280144,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T16:58:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:11:55][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:55][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:55][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:56][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.89098930928 collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:56][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:56][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:56][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 18:58:00
[2026-05-24 19:11:56][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:11:55
[2026-05-24 19:11:56][DEBUG] └────────────────────────────────────
[2026-05-24 19:11:57][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:12:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:12:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:12:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:12:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:12:04][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:12:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:13:03][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:13:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:13:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:13:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:13:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:13:05][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:13:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:13:09][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:13:18][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pools',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : > GET /v1/pools HTTP/2
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < content-length: 426
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:13:18 GMT
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a1331ae-0b83cfa208f81b633b16d833;Parent=45b9bac9ec3305ad;Sampled=0;Lineage=1:c12a94e3:0
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amzn-requestid: 80f612f9-1f87-4a8e-9a2a-3c6832238b2a
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4SzVH6njoEEq0g=
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < via: 1.1 aecb61e81be7d1c62d34291f5ea931e6.cloudfront.net (CloudFront)
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-cf-id: F581rGACQEPDjreBV40LVZo7H2aqflQHYzvktTvzXI0Pt0cixXD5_g==
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : <
[2026-05-24 19:13:18][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:13:18][DEBUG] │ getPools Contenu de la réponse: array (
0 =>
array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
),
)
[2026-05-24 19:13:18][INFO] synchronize::Pool sonde EcO Okinawa (c3142810-b038-495a-8fb1-1ac89b5fecb9) mise à jour
[2026-05-24 19:13:18][INFO] ┌────────── Sauvegarde de l\'équipement Okinawa
[2026-05-24 19:13:18][DEBUG] │ preUpdate::Contenu des champs de filtration array (
'enabled' => '1',
'status' => '#7345#',
'start' => '#7343#',
'stop' => '#7344#',
'tempo' => '',
'retryCmd' => '',
'delayRetryCmd' => '',
'percentPlage1' => '50',
'percentPlage2' => '50',
'timeStartPlage1' => '00:01',
'timeStartPlage2' => '12:30',
'minDuration' => '',
'maxDuration' => '720',
'ActiveWinterFilteringDuration' => '120',
)
[2026-05-24 19:13:18][DEBUG] │ loadConfigFile::/var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json
[2026-05-24 19:13:18][DEBUG] │ Contenu du fichier /var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json: array (
'commands' =>
array (
0 =>
array (
'name' => 'Rafraichir',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'refresh',
'isDashboard' => 1,
'display' =>
array (
'icon' => '',
),
),
1 =>
array (
'name' => 'Mode de la sonde',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'mode',
'isDashboard' => 1,
),
2 =>
array (
'name' => 'Etat général',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'flagState',
'isDashboard' => 1,
),
3 =>
array (
'name' => 'Action requise',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'hasAnActionRequired',
'isDashboard' => 1,
),
4 =>
array (
'name' => 'Temps de filtration recommandé',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'H',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 24,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'advice__filtrationDuration',
'isHistorized' => 1,
'isDashboard' => 1,
),
5 =>
array (
'name' => 'Dernière mesure - Température',
'type' => 'info',
'subtype' => 'numeric',
'unite' => '##tempUnit##',
'isVisible' => 1,
'logicalId' => 'latestMeasure__temperature',
'configuration' =>
array (
'historizeMode' => 'none',
),
'display' =>
array (
'generic_type' => 'TEMPERATURE',
),
'isHistorized' => 1,
'isDashboard' => 1,
),
6 =>
array (
'name' => 'Dernière mesure - pH',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'pH',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 14,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__ph',
'isHistorized' => 1,
'isDashboard' => 1,
),
7 =>
array (
'name' => 'Dernière mesure - orp',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'mV',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 1500,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__orp',
'isHistorized' => 1,
'isDashboard' => 1,
),
8 =>
array (
'name' => 'Dernière mesure - mode de réception',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'latestMeasure__mode',
'isDashboard' => 1,
),
9 =>
array (
'name' => 'Statut Boost - 1H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_1H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
10 =>
array (
'name' => 'Start Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_1H',
),
11 =>
array (
'name' => 'Stop Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_1H',
),
12 =>
array (
'name' => 'Statut Boost - 4H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_4H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
13 =>
array (
'name' => 'Start Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_4H',
),
14 =>
array (
'name' => 'Stop Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_4H',
),
15 =>
array (
'name' => 'Statut Boost - 8H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_8H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
16 =>
array (
'name' => 'Start Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_8H',
),
17 =>
array (
'name' => 'Stop Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_8H',
),
18 =>
array (
'name' => 'Statut Boost - 24H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_24H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
19 =>
array (
'name' => 'Start Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_24H',
),
20 =>
array (
'name' => 'Stop Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_24H',
),
),
)
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande refresh ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande mode ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande flagState ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande hasAnActionRequired ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande advice__filtrationDuration ()
[2026-05-24 19:13:18][INFO] │ createCmd::Modify Mise à jour de l\'unité de la température (a partir de la configuration du plugin) sur la commande latestMeasure__temperature (Dernière mesure - Température) avec la valeur °C
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__temperature ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__ph ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__orp ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__mode ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_1H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_1H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_1H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_4H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_4H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_4H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_8H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_8H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_8H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_24H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_24H ()
[2026-05-24 19:13:18][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_24H ()
[2026-05-24 19:13:18][INFO] │ postSave::Mise à jour suite à une sauvegarde de l\'équipement Okinawa
[2026-05-24 19:13:18][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:13:18 GMT
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a1331ae-20ce37f512fb505275ec873f;Parent=7422c3cb68b503d0;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amzn-requestid: 245b8a74-db6b-42a1-8fa7-ecc44b0518c5
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4SzYEfuDoEEFWQ=
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < via: 1.1 1083faa0812cd95a7f5f70a626253198.cloudfront.net (CloudFront)
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : < x-amz-cf-id: qVFoslhd4ISmoXb0DpescZvMar0ohfbHCKOCJba0dWuSqfGUrxkEoQ==
[2026-05-24 19:13:18][DEBUG] │ request::DEBUG : <
[2026-05-24 19:13:18][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:13:18][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:13:18][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:18][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:18][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:18][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:19][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:19][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:13:19][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:13:18
[2026-05-24 19:13:19][INFO] └────────────────────────────────────
[2026-05-24 19:14:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:14:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:14:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:14:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:14:05][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:14:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:15:09][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:15:09][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:15:09][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:15:09][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-22 00:00:23',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:15:09][DEBUG] │ Le fichier cache de filtration est obsolète car il n\'est pas pour cette journée. Il est possible qu\'il ne soit pas encore généré pour aujourd\'hui car il se génère 15 minutes avant le démarrage de la période 1.
[2026-05-24 19:15:09][DEBUG] └────────────────────────────────────
[2026-05-24 19:15:09][DEBUG] ┌────────── Lancement CRON5
[2026-05-24 19:15:09][DEBUG] │ CRON5 - Ajout d\'un délai d\'attente aléatoire de: 7 secondes
[2026-05-24 19:15:16][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:15:16][DEBUG] │ pull::Récuperation des Flags de l\'équipement Okinawa pour analyse des notifications à émettre
[2026-05-24 19:15:16][DEBUG] │ pull::Démarrage de mise à jour pour la sonde Okinawa
[2026-05-24 19:15:16][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:15:16 GMT
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a133224-61b0f4682ae1f1e83887b3df;Parent=3bea68b0ffb70f58;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-amzn-requestid: badb27cf-252b-49ef-a464-aaf1f26d9793
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4TFzGhQjoEEDnA=
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < via: 1.1 d7a8bd846c3e686ff79f82a3da68840c.cloudfront.net (CloudFront)
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : < x-amz-cf-id: 4MW6W4ar96KAyWb0NVWRtt6lrtVyMjavI9jvkcCZ9RKqlvzU46y_DQ==
[2026-05-24 19:15:16][DEBUG] │ request::DEBUG : <
[2026-05-24 19:15:16][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:15:16][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:16][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:15:16
[2026-05-24 19:15:16][DEBUG] │ Le lancement de la filtration de la période 1 est dans plus de 15 minutes ou déjà passé. Pas de génération du cache de filtration
[2026-05-24 19:15:16][DEBUG] └────────────────────────────────────
[2026-05-24 19:15:17][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:17][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:38][INFO] ┌────────── Sauvegarde de l\'équipement Okinawa
[2026-05-24 19:15:38][DEBUG] │ preUpdate::Contenu des champs de filtration array (
'enabled' => '1',
'status' => '#7345#',
'start' => '#7343#',
'stop' => '#7344#',
'tempo' => '',
'retryCmd' => '',
'delayRetryCmd' => '',
'percentPlage1' => '50',
'percentPlage2' => '50',
'timeStartPlage1' => '00:01',
'timeStartPlage2' => '12:30',
'minDuration' => '',
'maxDuration' => '720',
'ActiveWinterFilteringDuration' => '120',
)
[2026-05-24 19:15:38][DEBUG] │ loadConfigFile::/var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json
[2026-05-24 19:15:38][DEBUG] │ Contenu du fichier /var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json: array (
'commands' =>
array (
0 =>
array (
'name' => 'Rafraichir',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'refresh',
'isDashboard' => 1,
'display' =>
array (
'icon' => '',
),
),
1 =>
array (
'name' => 'Mode de la sonde',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'mode',
'isDashboard' => 1,
),
2 =>
array (
'name' => 'Etat général',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'flagState',
'isDashboard' => 1,
),
3 =>
array (
'name' => 'Action requise',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'hasAnActionRequired',
'isDashboard' => 1,
),
4 =>
array (
'name' => 'Temps de filtration recommandé',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'H',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 24,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'advice__filtrationDuration',
'isHistorized' => 1,
'isDashboard' => 1,
),
5 =>
array (
'name' => 'Dernière mesure - Température',
'type' => 'info',
'subtype' => 'numeric',
'unite' => '##tempUnit##',
'isVisible' => 1,
'logicalId' => 'latestMeasure__temperature',
'configuration' =>
array (
'historizeMode' => 'none',
),
'display' =>
array (
'generic_type' => 'TEMPERATURE',
),
'isHistorized' => 1,
'isDashboard' => 1,
),
6 =>
array (
'name' => 'Dernière mesure - pH',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'pH',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 14,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__ph',
'isHistorized' => 1,
'isDashboard' => 1,
),
7 =>
array (
'name' => 'Dernière mesure - orp',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'mV',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 1500,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__orp',
'isHistorized' => 1,
'isDashboard' => 1,
),
8 =>
array (
'name' => 'Dernière mesure - mode de réception',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'latestMeasure__mode',
'isDashboard' => 1,
),
9 =>
array (
'name' => 'Statut Boost - 1H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_1H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
10 =>
array (
'name' => 'Start Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_1H',
),
11 =>
array (
'name' => 'Stop Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_1H',
),
12 =>
array (
'name' => 'Statut Boost - 4H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_4H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
13 =>
array (
'name' => 'Start Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_4H',
),
14 =>
array (
'name' => 'Stop Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_4H',
),
15 =>
array (
'name' => 'Statut Boost - 8H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_8H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
16 =>
array (
'name' => 'Start Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_8H',
),
17 =>
array (
'name' => 'Stop Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_8H',
),
18 =>
array (
'name' => 'Statut Boost - 24H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_24H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
19 =>
array (
'name' => 'Start Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_24H',
),
20 =>
array (
'name' => 'Stop Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_24H',
),
),
)
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande refresh ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande mode ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande flagState ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande hasAnActionRequired ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande advice__filtrationDuration ()
[2026-05-24 19:15:38][INFO] │ createCmd::Modify Mise à jour de l\'unité de la température (a partir de la configuration du plugin) sur la commande latestMeasure__temperature (Dernière mesure - Température) avec la valeur °C
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__temperature ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__ph ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__orp ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__mode ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_1H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_1H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_1H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_4H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_4H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_4H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_8H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_8H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_8H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_24H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_24H ()
[2026-05-24 19:15:38][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_24H ()
[2026-05-24 19:15:38][INFO] │ postSave::Mise à jour suite à une sauvegarde de l\'équipement Okinawa
[2026-05-24 19:15:38][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:15:38 GMT
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a13323a-7db9382421550204421ee2fc;Parent=4f51f71c543ed924;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-amzn-requestid: a5b826e2-cffe-460b-a1c2-8bcccd3a324b
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4TJREqDDoEEd3g=
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < via: 1.1 f14ee79735082bb115454d7286ebe2e4.cloudfront.net (CloudFront)
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : < x-amz-cf-id: hMJmcdqerJQsizkzygJl6j_O10sI264udWOOZkV_JRSCajGY3C4J9g==
[2026-05-24 19:15:39][DEBUG] │ request::DEBUG : <
[2026-05-24 19:15:39][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:15:39][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:39][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:15:39
[2026-05-24 19:15:39][INFO] └────────────────────────────────────
[2026-05-24 19:15:45][INFO] ┌────────── Sauvegarde de l\'équipement Okinawa
[2026-05-24 19:15:45][DEBUG] │ preUpdate::Contenu des champs de filtration array (
'enabled' => '1',
'status' => '#7345#',
'start' => '#7343#',
'stop' => '#7344#',
'tempo' => '',
'retryCmd' => '',
'delayRetryCmd' => '',
'percentPlage1' => '50',
'percentPlage2' => '50',
'timeStartPlage1' => '00:01',
'timeStartPlage2' => '12:30',
'minDuration' => '',
'maxDuration' => '720',
'ActiveWinterFilteringDuration' => '120',
)
[2026-05-24 19:15:45][DEBUG] │ loadConfigFile::/var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json
[2026-05-24 19:15:45][DEBUG] │ Contenu du fichier /var/www/html/plugins/iopool_EcO/core/class/../config/EcO.json: array (
'commands' =>
array (
0 =>
array (
'name' => 'Rafraichir',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'refresh',
'isDashboard' => 1,
'display' =>
array (
'icon' => '',
),
),
1 =>
array (
'name' => 'Mode de la sonde',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'mode',
'isDashboard' => 1,
),
2 =>
array (
'name' => 'Etat général',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'flagState',
'isDashboard' => 1,
),
3 =>
array (
'name' => 'Action requise',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'hasAnActionRequired',
'isDashboard' => 1,
),
4 =>
array (
'name' => 'Temps de filtration recommandé',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'H',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 24,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'advice__filtrationDuration',
'isHistorized' => 1,
'isDashboard' => 1,
),
5 =>
array (
'name' => 'Dernière mesure - Température',
'type' => 'info',
'subtype' => 'numeric',
'unite' => '##tempUnit##',
'isVisible' => 1,
'logicalId' => 'latestMeasure__temperature',
'configuration' =>
array (
'historizeMode' => 'none',
),
'display' =>
array (
'generic_type' => 'TEMPERATURE',
),
'isHistorized' => 1,
'isDashboard' => 1,
),
6 =>
array (
'name' => 'Dernière mesure - pH',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'pH',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 14,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__ph',
'isHistorized' => 1,
'isDashboard' => 1,
),
7 =>
array (
'name' => 'Dernière mesure - orp',
'type' => 'info',
'subtype' => 'numeric',
'unite' => 'mV',
'configuration' =>
array (
'minValue' => 0,
'maxValue' => 1500,
'historizeMode' => 'none',
),
'isVisible' => 1,
'logicalId' => 'latestMeasure__orp',
'isHistorized' => 1,
'isDashboard' => 1,
),
8 =>
array (
'name' => 'Dernière mesure - mode de réception',
'type' => 'info',
'subtype' => 'string',
'isVisible' => 1,
'logicalId' => 'latestMeasure__mode',
'isDashboard' => 1,
),
9 =>
array (
'name' => 'Statut Boost - 1H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_1H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
10 =>
array (
'name' => 'Start Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_1H',
),
11 =>
array (
'name' => 'Stop Boost - 1H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_1H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_1H',
),
12 =>
array (
'name' => 'Statut Boost - 4H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_4H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
13 =>
array (
'name' => 'Start Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_4H',
),
14 =>
array (
'name' => 'Stop Boost - 4H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_4H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_4H',
),
15 =>
array (
'name' => 'Statut Boost - 8H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_8H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
16 =>
array (
'name' => 'Start Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_8H',
),
17 =>
array (
'name' => 'Stop Boost - 8H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_8H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_8H',
),
18 =>
array (
'name' => 'Statut Boost - 24H',
'type' => 'info',
'subtype' => 'binary',
'isVisible' => 1,
'logicalId' => 'boost_status_24H',
'isDashboard' => 1,
'configuration' =>
array (
'repeatEventManagement' => 'always',
),
'display' =>
array (
'generic_type' => 'SWITCH_STATE',
),
),
19 =>
array (
'name' => 'Start Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_start_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_ON',
),
'value' => 'boost_status_24H',
),
20 =>
array (
'name' => 'Stop Boost - 24H',
'type' => 'action',
'subtype' => 'other',
'isVisible' => 1,
'logicalId' => 'boost_stop_24H',
'isDashboard' => 1,
'display' =>
array (
'generic_type' => 'SWITCH_OFF',
),
'value' => 'boost_status_24H',
),
),
)
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande refresh ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande mode ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande flagState ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande hasAnActionRequired ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande advice__filtrationDuration ()
[2026-05-24 19:15:45][INFO] │ createCmd::Modify Mise à jour de l\'unité de la température (a partir de la configuration du plugin) sur la commande latestMeasure__temperature (Dernière mesure - Température) avec la valeur °C
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__temperature ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__ph ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__orp ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande latestMeasure__mode ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_1H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_1H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_1H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_4H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_4H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_4H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_8H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_8H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_8H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_status_24H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_start_24H ()
[2026-05-24 19:15:45][INFO] │ createCmd::UpdateCmd Mise à jour de la commande boost_stop_24H ()
[2026-05-24 19:15:45][INFO] │ postSave::Mise à jour suite à une sauvegarde de l\'équipement Okinawa
[2026-05-24 19:15:45][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:15:45 GMT
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a133241-43674bd2188b765277111572;Parent=2064b31398e1c95d;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-amzn-requestid: 9e24bc26-6e29-4776-8f58-d3cb5c88936b
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4TKUEWFjoEETaw=
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < via: 1.1 caf6336eaf07f9740378cad250c0289e.cloudfront.net (CloudFront)
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : < x-amz-cf-id: OFihZgN3L4a2tZEbxnvJjQYqsRSBhSSNGcG_y214QZhNsyCqIcGH_Q==
[2026-05-24 19:15:45][DEBUG] │ request::DEBUG : <
[2026-05-24 19:15:45][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:15:45][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:15:45][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:15:45
[2026-05-24 19:15:45][INFO] └────────────────────────────────────
[2026-05-24 19:15:46][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:46][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:46][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:46][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:15:46][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:16:00][INFO] ┌────────── Génération du cache de filtration
[2026-05-24 19:16:00][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:16:00][INFO] │ ┌────────── Paramètres de filtration - Okinawa
[2026-05-24 19:16:00][INFO] │ │ Durée de filtration recommandée par IOPOOL (en minutes) : 1440
[2026-05-24 19:16:00][INFO] │ │ Durée de filtration appliquée d\'après la configuration du plugin (en minutes) : 720
[2026-05-24 19:16:00][INFO] │ │ Heure de démarrage de la filtration - Plage 1 : 00:01
[2026-05-24 19:16:00][INFO] │ │ Heure d\'arrêt de la filtration - Plage 1 : 06:01
[2026-05-24 19:16:00][INFO] │ │ Heure de démarrage de la filtration - Plage 2 : 12:30
[2026-05-24 19:16:00][INFO] │ │ Heure d\'arrêt de la filtration - Plage 2 : 18:30
[2026-05-24 19:16:00][INFO] │ └────────────────────────────────────
[2026-05-24 19:16:00][DEBUG] │ Lancement de l\'écriture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:16:00][INFO] │ Ecriture du cache de filtration effectuée avec success (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:16:00][INFO] └────────────────────────────────────
[2026-05-24 19:16:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:16:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:16:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:16:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:16:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:16:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:16:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:17:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:17:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:17:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:17:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:17:04][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:17:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:18:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:18:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:18:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:18:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:18:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:18:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:19:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:19:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:19:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:19:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:19:04][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:19:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:20:08][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:20:08][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:20:08][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:20:08][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:20:08][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:20:08][DEBUG] └────────────────────────────────────
[2026-05-24 19:20:08][DEBUG] ┌────────── Lancement CRON5
[2026-05-24 19:20:08][DEBUG] │ CRON5 - Ajout d\'un délai d\'attente aléatoire de: 9 secondes
[2026-05-24 19:20:17][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:20:17][DEBUG] │ pull::Récuperation des Flags de l\'équipement Okinawa pour analyse des notifications à émettre
[2026-05-24 19:20:17][DEBUG] │ pull::Démarrage de mise à jour pour la sonde Okinawa
[2026-05-24 19:20:17][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:20:17 GMT
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a133351-50945a762b9cb150147bfa01;Parent=10e138edeab1648e;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-amzn-requestid: f44a99c1-d4c0-47d3-b08b-cead225f15cc
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4T00GHFjoEEklQ=
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < via: 1.1 0dd974bda3e9bd0d10856519ef087072.cloudfront.net (CloudFront)
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : < x-amz-cf-id: wvE5nVQs7uHwFtFUONBAhOBFNnfbcn4vSpuat5d_A3iti0y-kecm3Q==
[2026-05-24 19:20:17][DEBUG] │ request::DEBUG : <
[2026-05-24 19:20:17][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:20:17][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:20:17][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:20:17
[2026-05-24 19:20:17][DEBUG] │ Le lancement de la filtration de la période 1 est dans plus de 15 minutes ou déjà passé. Pas de génération du cache de filtration
[2026-05-24 19:20:17][DEBUG] └────────────────────────────────────
[2026-05-24 19:20:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:20:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:20:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:20:19][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:20:19][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:21:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:21:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:21:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:21:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:21:04][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:21:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:22:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:22:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:22:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:22:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:22:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:22:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:23:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:23:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:23:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:23:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:23:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:23:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:24:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:24:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:24:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:24:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:24:04][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:24:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:24:06][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:24:53][WARNING] iopool_EcO\DiagDebug::addJeedomLog - File plugin don't exist in Jeedom. We are not able to store this file
[2026-05-24 19:24:53][WARNING] iopool_EcO\DiagDebug::addJeedomLog - File jeedom don't exist in Jeedom. We are not able to store this file
[2026-05-24 19:25:07][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:25:07][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:25:07][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:25:07][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:25:07][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:25:07][DEBUG] └────────────────────────────────────
[2026-05-24 19:25:08][DEBUG] ┌────────── Lancement CRON5
[2026-05-24 19:25:08][DEBUG] │ CRON5 - Ajout d\'un délai d\'attente aléatoire de: 9 secondes
[2026-05-24 19:25:17][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:25:17][DEBUG] │ pull::Récuperation des Flags de l\'équipement Okinawa pour analyse des notifications à émettre
[2026-05-24 19:25:17][DEBUG] │ pull::Démarrage de mise à jour pour la sonde Okinawa
[2026-05-24 19:25:17][DEBUG] │ getPools Paramètres de la requête: array (
'method' => 'GET',
'base_uri' => 'https://api.iopool.com/v1/',
'path' => 'pool/c3142810-b038-495a-8fb1-1ac89b5fecb9',
'options' =>
array (
'headers' =>
array (
'x-api-key' => 'o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH',
),
),
)
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : CApath: /etc/ssl/certs
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : > GET /v1/pool/c3142810-b038-495a-8fb1-1ac89b5fecb9 HTTP/2
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : Host: api.iopool.com
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : Accept: */*
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : x-api-key: o2V50iFLkT1bg0BJ0p2648gLZ9excMNo3qUEpKUH
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < HTTP/2 200
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < content-type: application/json
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < content-length: 424
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < date: Sun, 24 May 2026 17:25:17 GMT
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-amzn-trace-id: Root=1-6a13347d-2474b45146d675691547e0fa;Parent=09fc6314284b334f;Sampled=0;Lineage=1:cedc2abe:0
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-amzn-requestid: c6649fe2-a4f2-408f-8d39-cb087bb53c5e
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-amz-apigw-id: d4UjrECxDoEEcgQ=
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-cache: Miss from cloudfront
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < via: 1.1 6be0cf45dd769e0a2f4c285fa867f216.cloudfront.net (CloudFront)
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-amz-cf-pop: MRS53-P3
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : < x-amz-cf-id: K5mmOnMU8ogoNEytqusluPxO3bYs6lOzI5Ufr5g4lSIC5gXoqqjqKQ==
[2026-05-24 19:25:17][DEBUG] │ request::DEBUG : <
[2026-05-24 19:25:17][DEBUG] │ getPools La réponse correspond à un code HTTP 200
[2026-05-24 19:25:17][DEBUG] │ getPools Contenu de la réponse: array (
'id' => 'c3142810-b038-495a-8fb1-1ac89b5fecb9',
'title' => 'Okinawa',
'latestMeasure' =>
array (
'temperature' => 28.943105652388567,
'ph' => 6.281887042992936,
'orp' => 707,
'mode' => 'gateway',
'isValid' => true,
'ecoId' => 'zEWl3Wgl',
'gatewayCode' => 'I30-4cc3828fc8ec',
'measuredAt' => '2026-05-24T17:13:00.000Z',
),
'mode' => 'STANDARD',
'hasAnActionRequired' => true,
'advice' =>
array (
'filtrationDuration' => 24,
),
'salt' =>
array (
'concentration' => 6000,
'lastUpdatedAt' => '2026-05-06T18:28:40.429Z',
),
)
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande mode avec la valeur STANDARD collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande hasAnActionRequired avec la valeur 1 collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande advice__filtrationDuration avec la valeur 24 collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__temperature avec la valeur 28.943105652389 collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__ph avec la valeur 6.2818870429929 collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__orp avec la valeur 707 collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande latestMeasure__mode avec la valeur gateway collectée à 2026-05-24 19:13:00
[2026-05-24 19:25:17][DEBUG] │ getInfos::Mise à jour de la commande flagState avec la valeur array (
'flag_global' => 'RED',
'flag_temperature' => 'GREEN',
'flag_ph' => 'RED',
'flag_orp' => 'GREEN',
) collectée à 2026-05-24 19:25:17
[2026-05-24 19:25:17][DEBUG] │ Le lancement de la filtration de la période 1 est dans plus de 15 minutes ou déjà passé. Pas de génération du cache de filtration
[2026-05-24 19:25:17][DEBUG] └────────────────────────────────────
[2026-05-24 19:25:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:25:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:25:18][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:25:19][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:25:19][WARNING] │ La durée de filtration maximum configurée est inférieur à la recommandation IOPOOL
[2026-05-24 19:26:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:26:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:26:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:26:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:26:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:26:05][DEBUG] └────────────────────────────────────
[2026-05-24 19:27:04][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:27:04][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:27:04][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:27:04][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:27:04][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:27:04][DEBUG] └────────────────────────────────────
[2026-05-24 19:28:05][DEBUG] ┌────────── Lancement des analyses des actions de filtration
[2026-05-24 19:28:05][DEBUG] │ ******* Equipement Okinawa
[2026-05-24 19:28:05][DEBUG] │ Lancement de la lecture du cache de filtration (/var/www/html/plugins/iopool_EcO/data/filtrationCache674.json)
[2026-05-24 19:28:05][DEBUG] │ Contenu du cache de filtration : array (
'date' => '2026-05-24 19:16:00',
'device' => 'Okinawa',
'duration' => 720,
'period1' =>
array (
'start' => '00:01',
'stop' => '06:01',
),
'period2' =>
array (
'start' => '12:30',
'stop' => '18:30',
),
)
[2026-05-24 19:28:05][DEBUG] │ L\'heure actuelle ne nécessite aucune execution d\'action
[2026-05-24 19:28:05][DEBUG] └────────────────────────────────────