Traduit de English par IA ·
Megan a raison. Voici ce que je ferais :1. Continuez à envoyer co2, temperature et motion sous forme de nombres (motion en 0/1, et non true/false, afin qu’il y ait un historique).2. Extrayez les données brutes avec l’API d’historique, un jour par appel est confortable :
curl -s -H "Authorization: Bearer $KEY" "https://$HOST/tenant/$TENANT/api/telemetry/series?kind=iot_device&entityId=$ROOM&keys=co2,temperature,motion&from=$FROM&to=$TO&bucket=raw"
Si une clé renvoie 10 000 points, redemandez à partir du dernier ts + 1.3. Joignez-les à l’export de l’accueil sur un ordinateur portable, entraînez une régression logistique ou un réseau à 3 entrées et 8 neurones en Python. C’est largement suffisant pour la pente du CO2 + le nombre de mouvements.4. Quantifiez les poids en int8, collez-les sous forme de tableau const int8_t w[] PROGMEM, et l’Uno n’exécute que la passe avant. Envoyez le résultat sous la forme occupied_p (0-100) avec les autres clés.Honnêtement, pour l’occupation, la hausse du CO2 sur 20 minutes plus « tout mouvement au cours des 30 dernières minutes » vous mène déjà loin, avant même un réseau de neurones. Commencez par cela comme référence afin de savoir si le modèle en vaut la peine. Côté API, voici la documentation : L’API d’historique.
Megan’s right. What I’d do:
1. Keep sending co2, temperature and motion as numbers (motion as 0/1, not true/false, so it has a history).
2. Pull the raw data out with the history API, one day per call is comfortable:
curl -s -H "Authorization: Bearer $KEY" "https://$HOST/tenant/$TENANT/api/telemetry/series?kind=iot_device&entityId=$ROOM&keys=co2,temperature,motion&from=$FROM&to=$TO&bucket=raw"
If a key comes back with 10,000 points, ask again from the last ts + 1.
3. Join it with the front desk export on a laptop, train a logistic regression or a 3-input, 8-neuron net in Python. That is plenty for CO2 slope + motion count.
4. Quantise the weights to int8, paste them as a const int8_t w[] PROGMEM array, and the Uno only runs the forward pass. Send the result as occupied_p (0-100) alongside the other keys.
Honestly, for occupancy the CO2 rise over 20 minutes plus « any motion in the last 30 min » gets you most of the way before any neural net. Start with that as a baseline so you know if the model is worth it. API side is here: The history API.

