Bonjour à tous,
je reviens vers vous car je n'arrive pas à résoudre mon problème de données horaires reçues via une liaison Thingspeak (channel)
pour mémoire, j'envoie des données de température et d'humidité extérieures via une liaison MQTT
puis je renvoie ces données sur un afficheur en local (pourquoi ? tout simplement parce qu'il me parait plus facile de stocker ces données sur Thingspeak qu'en local)
Channel 1 => Thingspeak => Channel 2 => Affichage local
Si je reçois correctement les valeurs en local sous cette forme :
Vous remarquerez que le champ "Created_at" créé par Thingspeak est lui formaté en heure UTC alors que tout le profil declaré est bien nommé "Europe/Paris"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 15:13:46.348 -> ----------------------- 15:13:46.348 -> Message arrivé du topic: channels/2499901/subscribe 15:13:46.348 -> Message:{"channel_id":2499901,"created_at":"2024-10-19T13:13:42Z","entry_id":49124,"field1":"23.10","field2":"52.60","field3":"94","field4":"25.19","field5":null,"field6":null,"field7":null,"field8":null,"latitude":null,"longitude":null,"elevation":null,"status":null} 15:13:46.393 -> T° piscine = 25.19 15:13:46.394 -> PLUS CHAUD 15:13:46.394 -> T° Exterieur = 23 15:13:46.394 -> Humidité Exterieure = 52 15:13:46.394 -> Batterie = 94 15:13:46.394 -> Mise à jour le 2024-10-19T13:13:42Z <===================== 15:13:46.394 -> -----------------------
si j'effectue un export instantané des données via le fichier json , on remarque que les données sont bien émises sous format local et non UTC
Tout ceci ne sera pas grave , si en plus de cela , l'émission des données ne s'arrêtait pas chaque jour à minuit (?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 99 created_at "2024-10-19T15:13:42+02:00" <================= entry_id 49124 field1 "23.10" field2 "52.60" field3 "94" field4 "25.19"
Il semblerait donc que le broker utilisé ici : mqtt3.thingspeak.com modifie la requête "subscribe" sans que je puisse en trouver la raison
j'ai recherché sur le net toutes les solutions possibles mais je n'ai rien trouvé de concluant
je sais que m'éloigne un peu du concept Arduino mais comme je n'arrive pas changer l'heure UTC , je me disais qu'il serait peut-être plus simple de "reformater"
le champ "created_at" en heure locale
c'est la raison pour laquelle je demande votre aide et vos conseils
merci mille fois de m'avoir lu
pascal
Partager