Dernier pic de t°, orientation courbe t°
Dernier pic de t°, orientation courbe t°
Bonjour à tous,
J'habite une maison BBC et je suis équipé d'un poêle à pellets palazzetti Elena New de 2011.
J'ai un système Domoticz installé sur un NAS XPenology.
J'ai connecté sur ce système un nodemcu pour permettre de gérer des plages de "non fonctionnement" du poêle via contact sec.
J'ai aussi une sonde de température DHT22 (sur un autre nodemcu).
Le contact sec sur le poêle permet deux états :
1 - le poêle capte la t° de sa propre sonde
2 - le poêle croit que la t° de consigne est atteinte.
Cela me permet de lui faire croire tous les jours à minuit que la T° de consigne est atteinte jusqu'au lendemain matin 5h00, 7h00, 9h00 suivant nos horaires de lever.
Je ne peux pas faire ça avec le programmateur du poêle, car nos horaires changent fréquemment et il faudrait que je reconfigure en permanence, je souhaite donc me baser sur un agenda ultérieurement.
Partant des constatation suivantes :
- les poêles ne doivent, de préférence, pas être démarrés plus de 6 fois/jours.
- une fois allumé il faut éviter de l'éteindre après seulement quelques minutes.
Je souhaiterais être sûr au moment où je fais croire au poêle que la consigne est atteinte (0h00 donc) vérifier que celui-ci ne vient pas juste de s'allumer...
L'idée m'est donc venue de me servir du capteur DHT22 afin de voir si la courbe de t° est croissante ou décroissante, ou bien à quand remonte le dernier pic maximum atteint, afin de savoir si le poêle est en train de chauffer ou pas...
Explication : soit T1 le moment ou le dernier pic de température a été atteint.
Si l'heure actuelle est inférieure à T1 + 90mn et que la t° interne est > 18.8 : le poêle ne chauffe probablement pas.
Si l'heure actuelle est supérieure à T1 + 120mn et que la t° interne est < 18.8 : le poêle est probablement entré dans une phase de chauffage.
Est-ce possible de faire cela avec Domoticz ? Si oui, comment ?
J'ai regardé les "events" mais je n'ai rien trouvé qui me permette de savoir à quand remonte le dernier pic de t° dans les x dernières heures...
Merci de votre aide,
Totof
PS : Évidemment, il est impossible de récupérer l'information directement du poêle, sinon, c'est ce que j'aurais fait.
J'habite une maison BBC et je suis équipé d'un poêle à pellets palazzetti Elena New de 2011.
J'ai un système Domoticz installé sur un NAS XPenology.
J'ai connecté sur ce système un nodemcu pour permettre de gérer des plages de "non fonctionnement" du poêle via contact sec.
J'ai aussi une sonde de température DHT22 (sur un autre nodemcu).
Le contact sec sur le poêle permet deux états :
1 - le poêle capte la t° de sa propre sonde
2 - le poêle croit que la t° de consigne est atteinte.
Cela me permet de lui faire croire tous les jours à minuit que la T° de consigne est atteinte jusqu'au lendemain matin 5h00, 7h00, 9h00 suivant nos horaires de lever.
Je ne peux pas faire ça avec le programmateur du poêle, car nos horaires changent fréquemment et il faudrait que je reconfigure en permanence, je souhaite donc me baser sur un agenda ultérieurement.
Partant des constatation suivantes :
- les poêles ne doivent, de préférence, pas être démarrés plus de 6 fois/jours.
- une fois allumé il faut éviter de l'éteindre après seulement quelques minutes.
Je souhaiterais être sûr au moment où je fais croire au poêle que la consigne est atteinte (0h00 donc) vérifier que celui-ci ne vient pas juste de s'allumer...
L'idée m'est donc venue de me servir du capteur DHT22 afin de voir si la courbe de t° est croissante ou décroissante, ou bien à quand remonte le dernier pic maximum atteint, afin de savoir si le poêle est en train de chauffer ou pas...
Explication : soit T1 le moment ou le dernier pic de température a été atteint.
Si l'heure actuelle est inférieure à T1 + 90mn et que la t° interne est > 18.8 : le poêle ne chauffe probablement pas.
Si l'heure actuelle est supérieure à T1 + 120mn et que la t° interne est < 18.8 : le poêle est probablement entré dans une phase de chauffage.
Est-ce possible de faire cela avec Domoticz ? Si oui, comment ?
J'ai regardé les "events" mais je n'ai rien trouvé qui me permette de savoir à quand remonte le dernier pic de t° dans les x dernières heures...
Merci de votre aide,
Totof
PS : Évidemment, il est impossible de récupérer l'information directement du poêle, sinon, c'est ce que j'aurais fait.
Re: Dernier pic de t°, orientation courbe t°
Bonjour,
Faire un détecteur de flamme ?
Juste une idée, car je n'ai pas encore mis le nez dans la programmation
Un capteur de température proche du foyer ? (la température est élevé proche du foyer)
Via la programmation essayer d'avoir un tableau des températures toute les 10 minutes (par exemple) et faire ton algo pour voir si les 'n' augmentent ou diminuent.
@+
Ericd
Faire un détecteur de flamme ?
Juste une idée, car je n'ai pas encore mis le nez dans la programmation
Un capteur de température proche du foyer ? (la température est élevé proche du foyer)
Via la programmation essayer d'avoir un tableau des températures toute les 10 minutes (par exemple) et faire ton algo pour voir si les 'n' augmentent ou diminuent.
@+
Ericd
Re: Dernier pic de t°, orientation courbe t°
Bonjour
Il n'existe rien qui corresponde à cela dans Domoticz
Si j'avais à le faire ça pourrait donner qq chose comme :
Solution 1 :
A chaque fois que tu recois une temperature tu la stocke dans une variable domoticz , tu stocke la valeur précédente dans une autre variable et tu fais la difference si la diff est positive ca chauffe, sinon ca refroidit puis tu enregistre ta valeur actuelle dans la valeur precedente en attendant le prochain cycle.
solution 2
toutes les X minutes interroger Domoticz pour ta temperature via l'api pour garder la temperature et la date de l'acquisition du point
mettre ça dans un fichier texte
par un programme php/python/lua/shell lire ton fichier texte et calculer le max et la pente de la courbe
suivant les valeurs de ces mesures faire tes différents "si "dans tes actions desirées
Solution 3*il y a des scripts de gestion de poêle sur le forum dans les tutos scripts , cherche la dedans si ce n'a pas dèja été fait
Il n'existe rien qui corresponde à cela dans Domoticz
Si j'avais à le faire ça pourrait donner qq chose comme :
Solution 1 :
A chaque fois que tu recois une temperature tu la stocke dans une variable domoticz , tu stocke la valeur précédente dans une autre variable et tu fais la difference si la diff est positive ca chauffe, sinon ca refroidit puis tu enregistre ta valeur actuelle dans la valeur precedente en attendant le prochain cycle.
solution 2
toutes les X minutes interroger Domoticz pour ta temperature via l'api pour garder la temperature et la date de l'acquisition du point
mettre ça dans un fichier texte
par un programme php/python/lua/shell lire ton fichier texte et calculer le max et la pente de la courbe
suivant les valeurs de ces mesures faire tes différents "si "dans tes actions desirées
Solution 3*il y a des scripts de gestion de poêle sur le forum dans les tutos scripts , cherche la dedans si ce n'a pas dèja été fait
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Objectif : WAF > 1
Re: Dernier pic de t°, orientation courbe t°
Bonjour à tous les deux et merci pour vos réponses,
Détecteur de flamme : j'y ai pensé, mais probablement trop compliqué et pas assez fiable. De plus, je souhaiterais éviter de rajouter un capteur.
Patrice,
Ok, c'est ce que je craignais au vue de mes recherches. Je ne connais pas les scripts domoticz (je suis tout nouveau sur cette app).
Je vais regarder de ce côté là, voir si je trouve mon bonheur...
Sinon, il faudra effectivement que j'en passe par un peu de développement. La solution 1 me parait, bien qu'un peu lourde, peut-être la plus simple à implémenter, cependant, je crains qu'entre deux relevés de t° à 5mn d'intervalle, la t° n'ait pas trop bougée.
Il faudra probablement que j'espace mes relevés.
Sinon, d'un point de vue "fonctionnel", pour vous l'idée est pertinente ?
Merci,
Totof
Détecteur de flamme : j'y ai pensé, mais probablement trop compliqué et pas assez fiable. De plus, je souhaiterais éviter de rajouter un capteur.
Patrice,
Ok, c'est ce que je craignais au vue de mes recherches. Je ne connais pas les scripts domoticz (je suis tout nouveau sur cette app).
Je vais regarder de ce côté là, voir si je trouve mon bonheur...
Sinon, il faudra effectivement que j'en passe par un peu de développement. La solution 1 me parait, bien qu'un peu lourde, peut-être la plus simple à implémenter, cependant, je crains qu'entre deux relevés de t° à 5mn d'intervalle, la t° n'ait pas trop bougée.
Il faudra probablement que j'espace mes relevés.
Sinon, d'un point de vue "fonctionnel", pour vous l'idée est pertinente ?
Merci,
Totof
Re: Dernier pic de t°, orientation courbe t°
Tu ne peux pas récupérer un on/off du poele ?
J'imagine que non sinon tu n'aurais pas posé la question
J'imagine que non sinon tu n'aurais pas posé la question
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Objectif : WAF > 1
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Dernier pic de t°, orientation courbe t°
Salut,
Un détecteur de flamme c'est simple et ultra fiable mais très cher, ça se nomme 'sonde de ionisation' c'est utilisé dans toute chaudière.
Juste pour l'info
Un détecteur de flamme c'est simple et ultra fiable mais très cher, ça se nomme 'sonde de ionisation' c'est utilisé dans toute chaudière.
Juste pour l'info
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Dernier pic de t°, orientation courbe t°
Oui, en effet, comme je l'avais précisé en PS de mon premier post, je ne peux rien récupérer du Palazzetti.
C'est complétement fermé, il y a un port RS485, mais les données ne sont à priori pas lisibles sans l’algorithme propriétaire.
Vil1driver, ok merci du renseignement, mais oui, effectivement, mon commentaire sous-entendait, "à moindre frais". J'avais dans l'idée, une détection optique, ou quelque chose comme ça en parlant de fiabilité...
Accessoirement, je me dit qu'elle doit être probablement en contact avec la flamme cette sonde, donc, non : pas simple à mettre en place, surtout dans un poêle BBC (et donc étanche).
Dernière précision, je ne possède pas la connection Box de palazzetti (vendue 200€
), sinon, je n'aurais pas ce genre de question 
Totof
C'est complétement fermé, il y a un port RS485, mais les données ne sont à priori pas lisibles sans l’algorithme propriétaire.
Vil1driver, ok merci du renseignement, mais oui, effectivement, mon commentaire sous-entendait, "à moindre frais". J'avais dans l'idée, une détection optique, ou quelque chose comme ça en parlant de fiabilité...
Dernière précision, je ne possède pas la connection Box de palazzetti (vendue 200€
Totof
Re: Dernier pic de t°, orientation courbe t°
Sur ton tubage de sortie tes températures devraient être relativement changeantetotof74 a écrit :...
Sinon, il faudra effectivement que j'en passe par un peu de développement. La solution 1 me parait, bien qu'un peu lourde, peut-être la plus simple à implémenter, cependant, je crains qu'entre deux relevés de t° à 5mn d'intervalle, la t° n'ait pas trop bougée.
Il faudra probablement que j'espace mes relevés.
Sinon, d'un point de vue "fonctionnel", pour vous l'idée est pertinente ?
Merci,
Totof
Re: Dernier pic de t°, orientation courbe t°
Bonjour,
Idée intéressante, surtout qu'il y a déjà un arduino (nodemcu en fait) à proximité pour gérer le contact on/off du poêle.
J'avais dans l'idée de ne pas ajouter un capteur supplémentaire "juste pour ça", mais compte tenu que je n'aurais pas à ajouter un nodemcu pour le gérer, c'est une proposition qui tient la route.
Je dois recevoir un nouveau DHT22 prochainement, je crois que je ferais le test.
A suivre,
Totof
Idée intéressante, surtout qu'il y a déjà un arduino (nodemcu en fait) à proximité pour gérer le contact on/off du poêle.
J'avais dans l'idée de ne pas ajouter un capteur supplémentaire "juste pour ça", mais compte tenu que je n'aurais pas à ajouter un nodemcu pour le gérer, c'est une proposition qui tient la route.
Je dois recevoir un nouveau DHT22 prochainement, je crois que je ferais le test.
A suivre,
Totof
Re: Dernier pic de t°, orientation courbe t°
Bonjour, peut-être un code qui pourrait t'aider. Il permet de prévoir une température à H+1 en fonction de la courbe de température sur les 30 dernieres minutes avec approximation du second degré. Même si ce n'est pas exactement cela qu'il te faut, tu pourras l'adapter
Code : Tout sélectionner
-- Guillaume 19/10/2016
-- Calcul de la température à H+1 avec approximation 2nd degré
-- mise dans dummy température
-- configuration des variables
-- variable debog : affiche les print si debog vaut 1
debog=1
ip='192.168.0.20:8080'
--idx temp de la pièce
idx=142
nom='Temp Salle'
-- dummy de la prévision de température
idx_temp_lin= 161
-- fin de la configuration
-- récupération de l'heure
time = os.date("*t")
heure= time.hour
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- For Linux
-- adresse du capteur
url='http://'..ip..'/json.htm?type=graph&sensor=temp&idx='..idx..'&range=day'
if (debog==1) then print("3") end
-- lecture fichier Json
local config=assert(io.popen("curl -s --max-time 5 --connect-timeout 5 '"..url.."'"))
if (debog==1) then print("4") end
local location = config:read('*all')
if (debog==1) then print("5") end
config:close()
if (debog==1) then print("6") end
local jsonLocation = json:decode(location)
-- récupération de la valeur de la batterie
if (debog==1) then
-- print(location)
print ('url :'..url)
end
if (location~='') then
-- lecture de la derniere données (i) et de 5 données (la derniere autour de 285 = 24h*60 min / 5) puis toutes les 5 minutes précédentes
i=#jsonLocation.result
if (debog==1) then print ('longueur de chaine :'..i) end
h4=jsonLocation.result[i].d
t4=jsonLocation.result[i].te
h3=jsonLocation.result[i-1].d
t3=jsonLocation.result[i-1].te
h2=jsonLocation.result[i-2].d
t2=jsonLocation.result[i-2].te
h1=jsonLocation.result[i-3].d
t1=jsonLocation.result[i-3].te
h0=jsonLocation.result[i-4].d
t0=jsonLocation.result[i-4].te
else
result = 0
end
if (debog==1) then
-- print(location)
print(h0..' '..t0)
print(h1..' '..t1)
print(h2..' '..t2)
print(h3..' '..t3)
print(h4..' '..t4)
end
-- calcul de la température avec regression lineaire sur 5 valeurs (25 minutes)
a1= 1*t0+2*t1+3*t2+4*t3+5*t4
a2 = 1+2+3+4+5
a3=t0+t1+t2+t3+t4
a4= 1*1+2*2+3*3+4*4+5*5
a5= a2*a2
A = (5*a1-a2*a3)/(5*a4-a5)
B = (a3-A*a2)/5
temp_lin=A*17+B
-- calcul de la température avec regression logarithme sur 5 valeurs
-- envoi vers idx_temp_poly
commandArray[1]={['OpenURL']=ip..'/json.htm?type=command¶m=udevice&idx='..idx_temp_lin..'&nvalue=0&svalue='..temp_lin}
-- mise à jour de la variable A
commandArray['Variable:A']=tostring(A)
if (debog==1) then
print ('A(lin) ='..A)
print ('B (lin) ='..B)
print('Prévision à 1 heure (lineaire):'..temp_lin)
print('heure : '..heure)
end
return commandArray
domoticien amateur option bidouille