-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Obsolescence programmée de l'historisation des données 2026-01-01 #3034
Comments
Bonjour, Ce problème concernant surtout les rpi1 je viens de supprimer toute cette partie |
On pourrait éventuellement faire appel a un serveur ntp juste avant pour connaitre la date réelle. Si c'est toujours nécessaire bien entendu. Je met ici un bout code généré par une ia au besoin (testé et fonctionnel, nécessite juste de gérer la timezone correctement car le serveur renvoi de l’UTC) function getNTPTime($ntpServer = 'pool.ntp.org') {
try {
// Création du socket UDP
$socket = @fsockopen('udp://' . $ntpServer, 123, $errNo, $errStr, 5);
if (!$socket) {
throw new Exception("Impossible de se connecter au serveur NTP: $errStr ($errNo)");
}
// Construction du paquet NTP (48 octets)
$packet = "\x1b" . str_repeat("\0", 47);
// Envoi de la requête
fwrite($socket, $packet);
// Lecture de la réponse
$response = fread($socket, 48);
fclose($socket);
if (strlen($response) < 48) {
throw new Exception("Réponse NTP invalide");
}
// Extraction du timestamp (secondes depuis 1900-01-01)
$ntpTimestamp = unpack('N12', $response);
$timestamp = $ntpTimestamp[11]; // secondes depuis 1900
// Conversion en timestamp Unix (secondes depuis 1970-01-01)
$unixTimestamp = $timestamp - 2208988800; // Soustraction de l'offset NTP
// Création de l'objet DateTime
$dateTime = new DateTime();
$dateTime->setTimestamp($unixTimestamp);
return $dateTime;
} catch (Exception $e) {
// En cas d'erreur, retourner la date/heure système
error_log("Erreur NTP: " . $e->getMessage());
return new DateTime();
}
}
// Exemple d'utilisation
try {
$currentDateTime = getNTPTime();
echo $currentDateTime->format('Y-m-d H:i:s');
} catch (Exception $e) {
echo "Erreur: " . $e->getMessage();
} |
Dans la version actuelle 4.4.19 et 4.5, l'historisation des données s'arrêtera le 1er janvier 2026.
core/core/class/history.class.php
Line 229 in 538a550
date('Y-m-d 00:00:00', strtotime('next year'));
Ca éviterait les posts que l'on a chaque début d'année sur Community.
The text was updated successfully, but these errors were encountered: