Erreur calcul de la Température ressentie

Bonjour,

J’essaie de comprendre comment fonctionne la commande Message numérique pour le calcul de la température ressentie car je n’ai jamais la valeur -2 (Faible risque de gelures).

La configuration de l’équipement :

L’historique de la température ressentie en bleu et le message numérique en orange.

Je pense avoir trouvé le bout de code correspondant (voir-ci dessous) mais ce n’est pas très clair pour moi.

Extrait du code
if ($temperature < 10) {
            if (0 < $windchill) {
                $td = (__('Pas de risque de gelures ni d’hypothermie (pour une exposition normale', __FILE__));
                $td_num = -1;
            } else if (-10 < $windchill && 0 <= $windchill) {
                $td = (__('Faible risque de gelures', __FILE__));
                $td_num = -2;
            } else if (-28 < $windchill && -10 <= $windchill) {
                $td = (__('Faible risque de gelures et d’hypothermie', __FILE__));
                $td_num = -3;
            } else if (-40 < $windchill && -28 <= $windchill) {
                $td = (__('Risque modéré de gelures en 10 à 30 minutes de la peau exposée et d’hypothermie', __FILE__));
                $td_num = -4;
            } else if (-48 < $windchill && -40 <= $windchill) {
                $td = (__('Risque élevé de gelures en 5 à 10 minutes (voir note) de la peau exposée et d’hypothermie', __FILE__));
                $td_num = -5;
            } else if (-55 < $windchill && -48 <= $windchill) {
                $td = (__('Risque très élevé de gelures en 2 à 5 minutes (voir note) sans protection intégrale ni activité', __FILE__));
                $td_num = -6;
            } else if ($windchill <= -55) {
                $td = (__('Danger ! Risque extrêmement élevé de gelures en moins de 2 minutes (voir note) et d\'hypothermie. Rester à l\'abri', __FILE__));
                $td_num = -7;
            }

Moi, je comprends que pour avoir la commande Message numérique à -2, il faut la variable $windchill (qui correspond à la commande température ressentie ) à 0.

Est-ce que j’ai bien compris le fonctionnement ou pas du tout ?
Est-ce que c’est le fonctionnement normal ?

Merci d’avance.


Informations Jeedom

Core : 4.4.19 (master)
DNS Jeedom : oui

Plugin : Rosée - Givre - Tendance
Version : 2024-12-30 09:40:12 (stable)

Bonjour,

Il me semble que j’ai expliqué des choses dans la doc

il est calculé car il tient compte du vent

Résumé
if ($temperature > 10.0) {
            $windchill = $temperature;
        } else {
            if ($wind >= 4.8) {
                $Rc1 = 13.12 + 0.6215 * $temperature;
                $Rc2 = 0.3965 * $temperature - 11.37;
                $Rc3 = pow($wind, 0.16);
                $windchill = $Rc1 + ($Rc2 * $Rc3);
            } else {
                $Rc2 = 0.1345 * $temperature - 1.59;
                $Rc3 = 0.2 * $Rc2;
                $windchill = $temperature + $Rc3 * $wind;
            }
}

On le voit même dans les logs en mode debug

Résumé
0000|[2025-01-14 18:57:54] DEBUG  ┌── Mise à jour : Température ressentie ([Aucun][Température ressentie]) ──
0001|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Méthode de calcul : temperature
0002|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Température : 1.9 °C
0003|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Température avec Offset : 1.9 °C - Offset Température : 0 °C
0004|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Vent : 3.71 km/h
0005|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Aucun Seuil Pré-Alerte Humidex de saisie, valeur par défaut : 30 °C
0006|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Aucun Seuil Alerte Humidex de saisie, valeur par défaut : 40 °C
0007|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Humidité Relative : 73 %
0008|[2025-01-14 18:57:54] DEBUG  └──
0009|[2025-01-14 18:57:54] DEBUG  ┌── Calcul de la température ressentie : Température ressentie ──
0010|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Température ressentie (Windchill) : 0.9098381°C
0011|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Temperature Kelvin : 275.05 K
0012|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Indice de Chaleur (Humidex) < Température : 1.9
0013|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Seuil Pré-alerte Humidex : 0 / Seuil Alerte Haute Humidex : 0
0014|[2025-01-14 18:57:54] DEBUG  └──
0015|[2025-01-14 18:57:54] DEBUG  ┌── Mise à jour : Température ressentie ──
0016|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Pré Alerte Humidex : 0
0017|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Alerte Humidex : 0
0018|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Température ressentie : 0.9098381
0019|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Indice de Chaleur (Humidex) : 1.9
0020|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Message : Pas de risque de gelures ni d’hypothermie (pour une exposition normale
0021|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Message numérique : -1
0022|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Température : 1.9 °C
0023|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Humidité Relative : 73 %
0024|[2025-01-14 18:57:54] DEBUG  | ───▶︎ Vitesse du Vent : 3.71  km/h
0025|[2025-01-14 18:57:54] DEBUG  └──
0026|[2025-01-14 18:57:54] DEBUG  ================ FIN CRON OU SAUVEGARDE =================

A ce jour, c’est le fonctionnement voulu
j’espere avoir répondu aux questions

Merci pour vos réponses.

J’ai édité mon précédent message car j’avais fait une erreur (ce n’est pas message numérique mais température ressentie).

Dernière question, pour ma compréhension de ce bout de code.

if (0 < $windchill) {
                $td = (__('Pas de risque de gelures ni d’hypothermie (pour une exposition normale', __FILE__));
                $td_num = -1;
            } else if (-10 < $windchill && 0 <= $windchill) {
                $td = (__('Faible risque de gelures', __FILE__));
                $td_num = -2;
            } else if (-28 < $windchill && -10 <= $windchill) {
                $td = (__('Faible risque de gelures et d’hypothermie', __FILE__));
                $td_num = -3;
            }

Si j’ai bien compris, le calcul de $windchill doit renvoyer 0 pour voir le message numérique -2 et le texte Faible risque de gelures s’afficher ?

Il doit être compris entre -10 et 0
Regardes les logs en mode debug du plugin cela doit aider

C’est ce que j’avais compris mais avec mon faible niveau en code quand je le lis, moi je comprends qu’il doit être supérieur à -10 et supérieur ou égal à 0.

EDIT : Les logs en debug :

[2025-01-14 20:06:03] DEBUG  : ================= CRON 5 ==================
[2025-01-14 20:06:03] DEBUG  : ┌── Mise à jour : Température ressentie (Rosée - Givre) ([xxxxx][Température ressentie (Rosée - Givre)]) ──
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Méthode de calcul : temperature
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Température : 0.6 °C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Température avec Offset : 0.6 °C - Offset Température : 0 °C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Vent : 4 km/h
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Aucun Seuil Pré-Alerte Humidex de saisie, valeur par défaut : 30 °C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Aucun Seuil Alerte Humidex de saisie, valeur par défaut : 40 °C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Humidité Relative : 86 %
[2025-01-14 20:06:03] DEBUG  : └──
[2025-01-14 20:06:03] DEBUG  : ┌── Calcul de la température ressentie : Température ressentie (Rosée - Givre) ──
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Température ressentie (Windchill) : -0.60744°C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Temperature Kelvin : 273.75 K
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Indice de Chaleur (Humidex) < Température : 0.6
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Seuil Pré-alerte Humidex : 0 / Seuil Alerte Haute Humidex : 0
[2025-01-14 20:06:03] DEBUG  : └──
[2025-01-14 20:06:03] DEBUG  : ┌── Mise à jour : Température ressentie (Rosée - Givre) ──
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Pré Alerte Humidex : 0
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Température ressentie : -0.60744
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Alerte Humidex : 0
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Indice de Chaleur (Humidex) : 0.6
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Message : Faible risque de gelures et d’hypothermie
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Message numérique : -3
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Température : 0.6 °C
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Humidité Relative : 86 %
[2025-01-14 20:06:03] DEBUG  : | ───▶︎ Vitesse du Vent : 4 km/h
[2025-01-14 20:06:03] DEBUG  : └──
[2025-01-14 20:06:03] DEBUG  : ================ FIN CRON OU SAUVEGARDE =================

C’est inférieur et non supérieur

J’ai rajouté le log en debug dans mon précédent message quand tu répondais …

J’ai une Température ressentie (Windchill) : -0.60744°C et un message à Message numérique : -3 alors qui devrait avoir -2.

Merci pour les logs

A tester avec la mise à jour du plugin

1346|[2025-01-14 21:17:05] DEBUG  ┌── Mise à jour : TEST TEMPE ([Autres TEST][TEST TEMPE]) ──
1347|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Méthode de calcul : temperature
1348|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Température : 0.6 °C
1349|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Température avec Offset : 0.6 °C - Offset Température : 0 °C
1350|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Vent : 4
1351|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Aucun Seuil Pré-Alerte Humidex de saisie, valeur par défaut : 30 °C
1352|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Aucun Seuil Alerte Humidex de saisie, valeur par défaut : 40 °C
1353|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Humidité Relative : 86 %
1354|[2025-01-14 21:17:05] DEBUG  └──
1355|[2025-01-14 21:17:05] DEBUG  ┌── Calcul de la température ressentie : TEST TEMPE ──
1356|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Température ressentie (Windchill) : -0.60744°C
1357|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Temperature Kelvin : 273.75 K
1358|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Indice de Chaleur (Humidex) < Température : 0.6
1359|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Seuil Pré-alerte Humidex : 0 / Seuil Alerte Haute Humidex : 0
1360|[2025-01-14 21:17:05] DEBUG  └──
1361|[2025-01-14 21:17:05] DEBUG  ┌── Mise à jour : TEST TEMPE ──
1362|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Pré Alerte Humidex : 0
1363|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Alerte Humidex : 0
1364|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Température ressentie : -0.60744 °C
1365|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Indice de Chaleur (Humidex) : 0.6
1366|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Message : Faible risque de gelures
1367|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Message numérique : -2
1368|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Température : 0.6 °C
1369|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Humidité Relative : 86 %
1370|[2025-01-14 21:17:05] DEBUG  | ───▶︎ Vitesse du Vent : 4
1371|[2025-01-14 21:17:05] DEBUG  └──
1372|[2025-01-14 21:17:05] DEBUG  ================ FIN CRON OU SAUVEGARDE =================
1 « J'aime »

Merci tout fonctionne.

1 « J'aime »

Merci du retour,

Je vais pousser une petite amélioration afin de contrôler si le champs « Vitesse du vent » a bien l’unité de renseigné. (cela peut éviter des erreurs dans le calcul)

1 « J'aime »

N’hésite pas si tu veux que je fasse des tests en particulier.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.