Récupération données InfluxDB sous Python pour post-traitement

Histoire de bien réguler ma commande de chaudière, j’ai besoin de post-traiter quelques mesures qui sont stockées régulièrement sur InfluxDB. Ceci peut être utile pour, par exemple, calculer l’erreur (P), la pente de l’erreur (D), et l’intégration de l’erreur (I) avec pandas pour tenter de réguler la chaudière avec un régulateur PID.

from influxdb import DataFrameClient
import pandas as pd
import plotly.plotly as py
import plotly.graph_objs as go

dbname = 'temperature'
client = DataFrameClient(host, 8086,username,password, dbname)

consigne = client.query("SELECT value FROM consigne_chaudiere")

Petit problème, mes sondes ne sont pas toutes enregistrées en même temps (quelques ms d’écart, voir minutes pour la sonde extérieure). On doit donc retravailler le tableau, resample à 1minute, et interpoler linéairement pour les trous qui apparaissent (NaN).

consigne = client.query("SELECT value FROM consigne_chaudiere")
consigne = pd.concat(consigne, axis=1)
consigne.columns = consigne.columns.droplevel()
consigne.index.name="time"
times = pd.to_datetime(consigne.index)
consigne  = (consigne.groupby(times.round('1min') )['value'].mean()).asfreq('Min')
consigne2 = consigne.resample('T')
consigne_interpolated = consigne2.interpolate(method='linear')

On fait pareil avec la mesure de température (salon), puis on peut calculer l’erreur entre les deux car les points correspondent temporellement dans les deux séries.

A moi les folles soirées de calcul et de test de régulation !

Gestion du chauffage – arduino / nodered / grafana

Avec l’arrivée de l’hiver, il devient plus que nécessaire de rebrancher la vieille chaudière et de lui redonner un petit coup de jeune. Du moins, essayer.

Je m’étais déjà attelé à placer un plancher chauffant dans la majeure partie du rez-de-chaussée, avec tout ce qui va bien pour s’adapter à une chaudière existante (régulateur combimix). Mais, comme j’ai viré le vieux thermostat de 1970 qui fonctionnait en mode « débile » (juste une consigne, pas de régulation avancée) on était obligé d’allumer la chaudière à la main tant que la domotique n’était pas passée par là … je n’avais pas envie de taper 100€ dans un thermostat qui n’allait faire que la moitié des choses que je voulais. Lire la suite

Domotique en rénovation lourde

Dans la rénovation de ma nouvelle maison « toute pourrie à refaire », j’ai voulu intégrer de la domotique. Pas pour gérer simplement les luminaires (c’est la partie « fun » et visible de l’iceberg), mais plutôt pour gérer la partie technique de la maison. Finalement, une bonne installation domotique ne se voit pas et gère tout ce qu’il faut :

  • gestion chaudière
    • eau chaude sanitaire
      • gestion de la boucle d’eau chaude sanitaire
      • gestion des cycles de chauffe (on chauffe avant l’heure des douches/bains, pas en plein milieu de la journée … sauf sur demande)
    • chauffage, avec tout ce qui est gestion température, courbe de chauffe, sonde extérieure, gestion des circulateurs, …
  • monitoring températures
    • visuels interactifs
  • VMC
    • gestion bypass (si je me décide à en prendre un)
    • gestion des débits
  • absences
    • température basse
    • simulation présence
  • portail / videophone
  • lumières
    • les WC sont allumés depuis 15minutes ? on éteins !
    • gestion des ambiances (soirée, film, diner, lecture, …)
    • lumières extérieures avec la luminosité
  • gestion serre
    • ouverture en cas de surchauffe ou humidité extrême
    • arrosage
  • et tellement plein d’autres choses. Sky is the limit !

Lire la suite