diff --git a/core/class/ajaxSystem.class.php b/core/class/ajaxSystem.class.php index 482056a..02727a2 100644 --- a/core/class/ajaxSystem.class.php +++ b/core/class/ajaxSystem.class.php @@ -174,8 +174,15 @@ public static function sync() { $devices = self::request('/user/{userId}/hubs/' . $hub['hubId'] . '/devices'); log::add('ajaxSystem', 'debug', json_encode($devices)); foreach ($devices as $device) { - $device_info = self::request('/user/{userId}/hubs/' . $hub['hubId'] . '/devices/' . $device['id']); + if (!isset($device['id'])) { + continue; + } $eqLogic = eqLogic::byLogicalId($device['id'], 'ajaxSystem'); + $device_info = self::request('/user/{userId}/hubs/' . $hub['hubId'] . '/devices/' . $device['id']); + usleep(200000); + if(!isset($device_info['deviceName']) || $device_info['deviceName'] == ''){ + continue; + } if (!is_object($eqLogic)) { $eqLogic = new ajaxSystem(); $eqLogic->setEqType_name('ajaxSystem'); @@ -191,12 +198,15 @@ public static function sync() { $eqLogic->setConfiguration('firmware', $device_info['firmwareVersion']); $eqLogic->setLogicalId($device['id']); $eqLogic->save(); - $eqLogic->refreshData(); + $eqLogic->refreshData($device_info); } $groups = self::request('/user/{userId}/hubs/' . $hub['hubId'] . '/groups'); log::add('ajaxSystem', 'debug', json_encode($groups)); foreach ($groups as $group) { + if($group['groupName'] == ''){ + continue; + } $eqLogic = eqLogic::byLogicalId($group['id'], 'ajaxSystem'); if (!is_object($eqLogic)) { $eqLogic = new ajaxSystem(); @@ -211,7 +221,7 @@ public static function sync() { $eqLogic->setConfiguration('device', 'group'); $eqLogic->setLogicalId($group['id']); $eqLogic->save(); - $eqLogic->refreshData(); + $eqLogic->refreshData($group); } } } @@ -277,12 +287,16 @@ public function getImage() { return false; } - public function refreshData() { - if ($this->getConfiguration('type') == 'hub') { - $datas = self::request('/user/{userId}/hubs/' . $this->getLogicalId()); - } - if ($this->getConfiguration('type') == 'device') { - $datas = self::request('/user/{userId}/hubs/' . $this->getConfiguration('hub_id') . '/devices/' . $this->getLogicalId()); + public function refreshData($_data = null) { + if($_data == null){ + if ($this->getConfiguration('type') == 'hub') { + $datas = self::request('/user/{userId}/hubs/' . $this->getLogicalId()); + } + if ($this->getConfiguration('type') == 'device') { + $datas = self::request('/user/{userId}/hubs/' . $this->getConfiguration('hub_id') . '/devices/' . $this->getLogicalId()); + } + }else{ + $datas = $_data; } if (isset($datas['firmwareVersion']) && $datas['firmwareVersion'] != $this->getConfiguration('firmware')) { $this->setConfiguration('firmware', $datas['firmwareVersion']); diff --git a/docs/de_DE/changelog.md b/docs/de_DE/changelog.md index ef54862..4c157a8 100644 --- a/docs/de_DE/changelog.md +++ b/docs/de_DE/changelog.md @@ -4,8 +4,10 @@ > >Zur Erinnerung: Wenn keine Informationen zur Aktualisierung vorliegen, liegt dies daran, dass es sich nur um die Aktualisierung von Dokumentation, Übersetzung oder Text handelt -- -- +# 25/11/2025 + +- Ajout du Fire Protect 2 +- Ajout du Fire Protect 2 plus # 02/07/2025 diff --git a/docs/de_DE/index.md b/docs/de_DE/index.md index f2fc3cd..2b57e77 100644 --- a/docs/de_DE/index.md +++ b/docs/de_DE/index.md @@ -4,7 +4,7 @@ >**WICHTIG** > ->Um ein Echtzeit-Feedback zu erhalten, ist es UNBEDINGT notwendig, dass Ihr Jeedom von außen zugänglich ist (externe Zugriffs-URL verwendet .)) +>Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide Die Konfiguration des Plugins ist sehr einfach und erfolgt in 2 Schritten : @@ -53,4 +53,4 @@ Kleine Besonderheit beim Bewegungsmelder, es geht nicht um die permanente Bewegu ### Öffnungsmelder -Für ihn keine Sorge, Sie haben Echtzeit-Status der Fenster- / Türöffnungs- / Geschlossen-Informationen. \ No newline at end of file +Für ihn keine Sorge, Sie haben Echtzeit-Status der Fenster- / Türöffnungs- / Geschlossen-Informationen. diff --git a/docs/en_US/changelog.md b/docs/en_US/changelog.md index 19ef033..09473d5 100644 --- a/docs/en_US/changelog.md +++ b/docs/en_US/changelog.md @@ -4,8 +4,10 @@ > >As a reminder, if there is no information on the update, it is because it concerns only the update of documentation, translation or text -- -- +# 25/11/2025 + +- Ajout du Fire Protect 2 +- Ajout du Fire Protect 2 plus # 02/07/2025 diff --git a/docs/en_US/index.md b/docs/en_US/index.md index b202fc1..bfcd284 100644 --- a/docs/en_US/index.md +++ b/docs/en_US/index.md @@ -4,7 +4,7 @@ >**IMPORTANT** > ->To have a real-time feedback, it is ABSOLUTELY necessary that your Jeedom be accessible from the outside (external access URL used) +>Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide The configuration of the plugin is very simple and takes place in 2 steps : @@ -53,4 +53,4 @@ Small specificity for the motion detector, it does not go up to the detection of ### Opening detector -For him no worries, you have real-time status of window / door open / closed information. \ No newline at end of file +For him no worries, you have real-time status of window / door open / closed information. diff --git a/docs/es_ES/changelog.md b/docs/es_ES/changelog.md index 43a20fb..e1ab203 100644 --- a/docs/es_ES/changelog.md +++ b/docs/es_ES/changelog.md @@ -4,8 +4,10 @@ > >Como recordatorio, si no hay información sobre la actualización es porque se trata solo de la actualización de la documentación, la traducción o el texto -- -- +# 25/11/2025 + +- Ajout du Fire Protect 2 +- Ajout du Fire Protect 2 plus # 02/07/2025 diff --git a/docs/es_ES/index.md b/docs/es_ES/index.md index 1f8b73d..b303d88 100644 --- a/docs/es_ES/index.md +++ b/docs/es_ES/index.md @@ -4,7 +4,7 @@ >**IMPORTANTE** > ->Para tener una retroalimentación en tiempo real, es ABSOLUTAMENTE necesario que su Jeedom sea accesible desde el exterior (URL de acceso externo utilizada) +>Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide La configuración del complemento es muy simple y se realiza en 2 pasos : @@ -53,4 +53,4 @@ Pequeña especificidad para el detector de movimiento, no sube a la detección d ### Detector de apertura -Para él, no se preocupe, tiene el estado en tiempo real de la información de ventana / puerta abierta / cerrada. \ No newline at end of file +Para él, no se preocupe, tiene el estado en tiempo real de la información de ventana / puerta abierta / cerrada. diff --git a/docs/fr_FR/changelog.md b/docs/fr_FR/changelog.md index 11e14d1..ad7cd6a 100644 --- a/docs/fr_FR/changelog.md +++ b/docs/fr_FR/changelog.md @@ -4,6 +4,11 @@ > >Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte +# 12/01/2026 + +- Correction de bug +- Amélioration de la synchronisation des équipements + # 25/11/2025 - Ajout du Fire Protect 2 diff --git a/docs/fr_FR/index.md b/docs/fr_FR/index.md index 0024588..46e0186 100644 --- a/docs/fr_FR/index.md +++ b/docs/fr_FR/index.md @@ -4,7 +4,7 @@ >**IMPORTANT** > ->Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) +>Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide La configuration du plugin est très simple et se deroule en 2 étapes : @@ -53,4 +53,4 @@ Petit specificité pour le detecteur de mouvement celui-ci ne remonte pas la det ### Detecteur d'ouverture -Pour lui pas de soucis, vous avez l'état en temps réel de l'information de fenêtre/porte ouverte/fermée. \ No newline at end of file +Pour lui pas de soucis, vous avez l'état en temps réel de l'information de fenêtre/porte ouverte/fermée. diff --git a/docs/i18n/de_DE.json b/docs/i18n/de_DE.json index 74a6b99..faa5f5e 100644 --- a/docs/i18n/de_DE.json +++ b/docs/i18n/de_DE.json @@ -2,8 +2,9 @@ "changelog.md": { "Changelog Ajax Systems": "Änderungsprotokoll Ajax-Systeme", "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Zur Erinnerung: Wenn keine Informationen zur Aktualisierung vorliegen, liegt dies daran, dass es sich nur um die Aktualisierung von Dokumentation, Übersetzung oder Text handelt", - "Ajout du Fire Protect 2": "", - "Ajout du Fire Protect 2 plus": "", + "25\/11\/2025": "25\/11\/2025", + "Ajout du Fire Protect 2": "Ajout du Fire Protect 2", + "Ajout du Fire Protect 2 plus": "Ajout du Fire Protect 2 plus", "02\/07\/2025": "02\/07\/2025", "Ajout du hub Superior Hub Hybrid (4G": "Ajout du hub Superior Hub Hybrid (4G", "17\/06\/2025": "17\/06\/2025", @@ -67,7 +68,7 @@ }, "index.md": { "Ajax Système": "Ajax-System", - "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée": "Um ein Echtzeit-Feedback zu erhalten, ist es UNBEDINGT notwendig, dass Ihr Jeedom von außen zugänglich ist (externe Zugriffs-URL verwendet .)", + "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide", "La configuration du plugin est très simple et se deroule en 2 étapes": "Die Konfiguration des Plugins ist sehr einfach und erfolgt in 2 Schritten", "mise en place du lien entre votre jeedom et votre alarme": "Herstellen der Verbindung zwischen Ihrer Freiheit und Ihrem Alarm", "ajout d'un partage par mail pour la remontée des événements": "Hinzufügen einer E-Mail-Freigabe zum Melden von Ereignissen", diff --git a/docs/i18n/en_US.json b/docs/i18n/en_US.json index cbf4057..de272b1 100644 --- a/docs/i18n/en_US.json +++ b/docs/i18n/en_US.json @@ -2,8 +2,9 @@ "changelog.md": { "Changelog Ajax Systems": "Changelog Ajax Systems", "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "As a reminder, if there is no information on the update, it is because it concerns only the update of documentation, translation or text", - "Ajout du Fire Protect 2": "", - "Ajout du Fire Protect 2 plus": "", + "25\/11\/2025": "25\/11\/2025", + "Ajout du Fire Protect 2": "Ajout du Fire Protect 2", + "Ajout du Fire Protect 2 plus": "Ajout du Fire Protect 2 plus", "02\/07\/2025": "02\/07\/2025", "Ajout du hub Superior Hub Hybrid (4G": "Ajout du hub Superior Hub Hybrid (4G", "17\/06\/2025": "17\/06\/2025", @@ -67,7 +68,7 @@ }, "index.md": { "Ajax Système": "Ajax System", - "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée": "To have a real-time feedback, it is ABSOLUTELY necessary that your Jeedom be accessible from the outside (external access URL used", + "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide", "La configuration du plugin est très simple et se deroule en 2 étapes": "The configuration of the plugin is very simple and takes place in 2 steps", "mise en place du lien entre votre jeedom et votre alarme": "setting up the link between your jeedom and your alarm", "ajout d'un partage par mail pour la remontée des événements": "addition of an email sharing for reporting events", diff --git a/docs/i18n/es_ES.json b/docs/i18n/es_ES.json index 3d33647..f632476 100644 --- a/docs/i18n/es_ES.json +++ b/docs/i18n/es_ES.json @@ -2,8 +2,9 @@ "changelog.md": { "Changelog Ajax Systems": "Registro de cambios de sistemas Ajax", "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Como recordatorio, si no hay información sobre la actualización es porque se trata solo de la actualización de la documentación, la traducción o el texto", - "Ajout du Fire Protect 2": "", - "Ajout du Fire Protect 2 plus": "", + "25\/11\/2025": "25\/11\/2025", + "Ajout du Fire Protect 2": "Ajout du Fire Protect 2", + "Ajout du Fire Protect 2 plus": "Ajout du Fire Protect 2 plus", "02\/07\/2025": "02\/07\/2025", "Ajout du hub Superior Hub Hybrid (4G": "Ajout du hub Superior Hub Hybrid (4G", "17\/06\/2025": "17\/06\/2025", @@ -67,7 +68,7 @@ }, "index.md": { "Ajax Système": "Sistema Ajax", - "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée": "Para tener una retroalimentación en tiempo real, es ABSOLUTAMENTE necesario que su Jeedom sea accesible desde el exterior (URL de acceso externo utilizada", + "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide", "La configuration du plugin est très simple et se deroule en 2 étapes": "La configuración del complemento es muy simple y se realiza en 2 pasos", "mise en place du lien entre votre jeedom et votre alarme": "configurando el enlace entre tu libertad y tu alarma", "ajout d'un partage par mail pour la remontée des événements": "adición de un correo electrónico para compartir para informar eventos", diff --git a/docs/i18n/fr_FR.json b/docs/i18n/fr_FR.json index f3a008d..c6e230e 100644 --- a/docs/i18n/fr_FR.json +++ b/docs/i18n/fr_FR.json @@ -3,6 +3,7 @@ "Changelog Ajax Systems": "Changelog Ajax Systems", "IMPORTANT": "IMPORTANT", "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte", + "25\/11\/2025": "25\/11\/2025", "Ajout du Fire Protect 2": "Ajout du Fire Protect 2", "Ajout du Fire Protect 2 plus": "Ajout du Fire Protect 2 plus", "02\/07\/2025": "02\/07\/2025", @@ -63,7 +64,7 @@ "Ajax Système": "Ajax Système", "Configuration": "Configuration", "IMPORTANT": "IMPORTANT", - "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée", + "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide", "La configuration du plugin est très simple et se deroule en 2 étapes": "La configuration du plugin est très simple et se deroule en 2 étapes", "mise en place du lien entre votre jeedom et votre alarme": "mise en place du lien entre votre jeedom et votre alarme", "ajout d'un partage par mail pour la remontée des événements": "ajout d'un partage par mail pour la remontée des événements", diff --git a/docs/i18n/pt_PT.json b/docs/i18n/pt_PT.json index 7004506..b8fa01e 100644 --- a/docs/i18n/pt_PT.json +++ b/docs/i18n/pt_PT.json @@ -2,8 +2,9 @@ "changelog.md": { "Changelog Ajax Systems": "Sistemas Ajax de registro de mudanças", "Pour rappel s'il n'y a pas d'information sur la mise à jour, c'est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte": "Recorde-se que, se não existe informação sobre a atualização, é porque se trata apenas de atualização de documentação, tradução ou texto", - "Ajout du Fire Protect 2": "", - "Ajout du Fire Protect 2 plus": "", + "25\/11\/2025": "25\/11\/2025", + "Ajout du Fire Protect 2": "Ajout du Fire Protect 2", + "Ajout du Fire Protect 2 plus": "Ajout du Fire Protect 2 plus", "02\/07\/2025": "02\/07\/2025", "Ajout du hub Superior Hub Hybrid (4G": "Ajout du hub Superior Hub Hybrid (4G", "17\/06\/2025": "17\/06\/2025", @@ -67,7 +68,7 @@ }, "index.md": { "Ajax Système": "Sistema Ajax", - "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée": "Para ter um feedback em tempo real, é ABSOLUTAMENTE necessário que seu Jeedom esteja acessível de fora (URL de acesso externo usado", + "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide": "Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide", "La configuration du plugin est très simple et se deroule en 2 étapes": "A configuração do plugin é muito simples e ocorre em 2 passos", "mise en place du lien entre votre jeedom et votre alarme": "Configurando o link entre seu jeedom e seu alarme", "ajout d'un partage par mail pour la remontée des événements": "adição de um compartilhamento de e-mail para relatar eventos", diff --git a/docs/pt_PT/changelog.md b/docs/pt_PT/changelog.md index f37dfc1..f9a3d27 100644 --- a/docs/pt_PT/changelog.md +++ b/docs/pt_PT/changelog.md @@ -4,8 +4,10 @@ > >Recorde-se que, se não existe informação sobre a atualização, é porque se trata apenas de atualização de documentação, tradução ou texto -- -- +# 25/11/2025 + +- Ajout du Fire Protect 2 +- Ajout du Fire Protect 2 plus # 02/07/2025 diff --git a/docs/pt_PT/index.md b/docs/pt_PT/index.md index 9f3889b..58e8f80 100644 --- a/docs/pt_PT/index.md +++ b/docs/pt_PT/index.md @@ -4,7 +4,7 @@ >**IMPORTANTE** > ->Para ter um feedback em tempo real, é ABSOLUTAMENTE necessário que seu Jeedom esteja acessível de fora (URL de acesso externo usado) +>Pour avoir une remontée en temps réel il faut ABSOLUMENT que votre Jeedom soit accessible de l'extérieure (URL d'accès externe utilisée) en HTTPS avec un certificat valide A configuração do plugin é muito simples e ocorre em 2 passos : @@ -53,4 +53,4 @@ Pequena especificidade para o detector de movimento, não vai até a detecção ### Detector de abertura -Para ele, não se preocupe, você tem o status em tempo real das informações de janela / porta aberta / fechada. \ No newline at end of file +Para ele, não se preocupe, você tem o status em tempo real das informações de janela / porta aberta / fechada.