Calcul rendement VMC double flux

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
gaston
Messages : 6
Enregistré le : 16 avr. 2019, 20:30

Calcul rendement VMC double flux

Message par gaston » 16 avr. 2019, 21:32

Bonjour à toutes / tous

Alors voila, je récupère les températures de ma VMC double flux sous Domoticz via un plugin Modbus dans l'onglet "Mesures" (températures: intérieur, extérieur, extraction et soufflage ).

Image
(Bon, pour le coup, les T° sont toutes égales ... ce n'est pas un bug, la maison n'étant pas chauffée, elle vient de "tomber en équilibre :p )

J'ai pour idée de calculer (par un script) et afficher (par un "virtual device") le rendement de la VMC.

Le calcul empirique est simple: R=(T°soufflage-T°ext)/(T°int-T°ext)

J'arrive à récupérer la valeur de la T° intérieur (et autres) avec la commande:

Code : Tout sélectionner

http://192.168.0.16:8080/json.htm?type=devices&rid=32
Mais c'est là que je coince... Comment faire simple...

Certe, un script qui recherche dans le (les) json ou bien il existe un truc simple à base des IDX que je connais ?

En gros, besoin d'aide pour m'orienter vers le bon chemin... Quel langage choisir pour ce genre de calcul ?

Merci d'avance,

Gaston

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


papoo
Messages : 1726
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul rendement VMC double flux

Message par papoo » 16 avr. 2019, 22:44

je suis en train de faire une chose similaire
je te propose mon script vmc.lua à placer dans le répertoire /home/pi/domoticz/scripts/dzVents/scripts/

modifie les variables
local T_soufflage =
local T_reprise =
local T_exterieure =
local rendement_vmc =

avec le nom de tes devices existants

Code : Tout sélectionner

--[[
-- Avec des températures mesurée au niveau de l'échangeur
-- - t1 : température soufflage
-- - t2 : température reprise
-- - t3 : température extérieure
-- et débit extrait = débit insufflé

-- Rendement = (t1-t3) / (t2-t3)


La formule utilisée pour le calcul du gain est la suivante :

Gain : 0.34 * rendement * Débit * (T_Insuf – T_Aspi) * Temps / 1000

0,34 : capacité thermique volumique de l'air en Wh/m3 °C

rendement théorique de l’échangeur =0.9 ou calcul du rendement réel

Débit : débit de l’air en m3/h

T_Insuf : température de l’air insufflé dans les pièces

T_Aspi : température de l’air aspiré en entrée de la VMC

Temps : exprimé en heure

/1000 : pour le calcul en KWh


--]]
local scriptName        = 'VMC'
local scriptVersion     = '1.0'
local T_soufflage       = 'Temperature soufflage Vmc' --device température de soufflage vmc
local T_reprise         = 'Temperature reprise Vmc' --device température de reprise vmc
local T_exterieure      = 'Temperature air neuf Vmc' --device température air neuf vmc
local rendement_vmc     = 'Rendement Vmc' --device température de soufflage vmc nil si inutilisé
local debit             = 90 -- débit de l’air en m3/h


return {
    active = true,
	--on = { timer =   {'at 21:52 on mon'}},
    on = { timer =   {'every minute'}},
    logging =   {  --level    =   domoticz.LOG_DEBUG,
                -- level    =   domoticz.LOG_INFO,             -- Seulement un niveau peut être actif; commenter les autres
                -- level    =   domoticz.LOG_ERROR,            -- Only one level can be active; comment others    
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,

                marker = scriptName..' v'..scriptVersion }, 
    
    
    
	execute = function(domoticz)
            local function logWrite(str,level)             -- Support function for shorthand debug log statements
                domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
            end
  
  
            T_soufflage     = domoticz.utils.round(domoticz.devices(T_soufflage).temperature,1)
            T_reprise       = domoticz.utils.round(domoticz.devices(T_reprise).temperature,1)
            T_exterieure    = domoticz.utils.round(domoticz.devices(T_exterieure).temperature,1)
            -- print('coucou')
            logWrite('T_soufflage vmc : '..T_soufflage..'°C', domoticz.LOG_DEBUG)
            logWrite('T_reprise vmc : '..T_reprise..'°C', domoticz.LOG_DEBUG)
            logWrite('T exterieure vmc : '..T_exterieure..'°C', domoticz.LOG_DEBUG)
            if T_soufflage ~=nil and T_reprise ~=nil and T_exterieure ~=nil then
                local rendement = domoticz.utils.round((tonumber(T_soufflage) - tonumber(T_exterieure)) / (tonumber(T_reprise) - tonumber(T_exterieure)),1)
                logWrite('rendement vmc : '..rendement..'%', domoticz.LOG_DEBUG)
                if rendement_vmc ~= nil and domoticz.devices(rendement_vmc).percentage ~= rendement  then 
                    domoticz.devices(rendement_vmc).updatePercentage(rendement)
                    logWrite('mise à jour rendement vmc', domoticz.LOG_DEBUG)
                end
            end


	end -- execute function
}
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

le belge
Messages : 347
Enregistré le : 12 déc. 2016, 19:02

Re: Calcul rendement VMC double flux

Message par le belge » 17 avr. 2019, 00:06

Bonjour ,
je m'incruste.....autant pour les t° une simple sonde peut faire l'affaire ,mais pour le débit , vous faites comment ?

merci à vous

papoo
Messages : 1726
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul rendement VMC double flux

Message par papoo » 17 avr. 2019, 07:11

C’est une valeur indicative donnée par le constructeur de ma VMC
Je n’ai pour l’instant pas cherché à mesurer le débit réel en continu
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


gaston
Messages : 6
Enregistré le : 16 avr. 2019, 20:30

Re: Calcul rendement VMC double flux

Message par gaston » 17 avr. 2019, 22:28

Bonsoir,

Merci Papoo pour ce script qui m'oriente plus que bien :-)
Par contre, j'ai un petit soucis ... Ça ne fonctionne pas ...

Mais je pense savoir pourquoi, mes mesures de températures n'en sont pas vraiment ... Ce sont des types "général", custom device et non pas des capteurs de température.
Donc, la commande

Code : Tout sélectionner

T_soufflage     = domoticz.utils.round(domoticz.devices(T_soufflage).temperature,1)
semble planter car un capteur "général" n'a pas de température ...

J'ai testé 2 ou 3 trucs venants de là : https://www.domoticz.com/wiki/DzVents:_ ... tom_sensor mais rien de concluant...

Donc question: Sais tu comment formuler la bonne "question" pour relever la valeur d'un capteur "general" ?
Ou bien, comment transformer mes capteurs "general" en "température" ? (le scripte fonctionne si à la place des idx de la vmc je met des idx de sondes de T° de la maison, le device rendement est bien affiché)

Les capteurs sont générés par le plugin modbus venant D'ICI, tu récupère tes température comment d'ailleurs ?

@ le belge, c'est un registre modbus qui me donne le débit qui est, je suppose, la valeur de consigne de la régulation.

papoo
Messages : 1726
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul rendement VMC double flux

Message par papoo » 17 avr. 2019, 22:40

remplace temperature par state dans le cas d'un custom sensor

Code : Tout sélectionner

T_soufflage     = domoticz.utils.round(domoticz.devices(T_soufflage).state,1)
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

gaston
Messages : 6
Enregistré le : 16 avr. 2019, 20:30

Re: Calcul rendement VMC double flux

Message par gaston » 17 avr. 2019, 23:15

Super, ça fonctionne

Image

Certe, le rendement est ... bof ... mais pas de chauffage, je n'y habite pas encore, je fais pour le moment toutes les modifs par vpn, c'est pratique :-)

Par contre, peux tu me dire ou trouver la documentation qui explique le "state" et autres car je n'ai pas vu ça sur le wiki de domoticz ...

N'hésite pas aussi à me dire quelle est ta config de VMC, pour ma part:
- VMC Domeo 210 DHU
- passerelle Modbus RTU=> Modbus TCP
- Plugin Modbus pour domoticz

* pas de pub, c'est là ou j'ai acheté / téléchargé les equipements

edit:
Le script qui fonctionne:

Code : Tout sélectionner

--[[
-- Avec des températures mesurée au niveau de l'échangeur
-- - t1 : température soufflage
-- - t2 : température reprise
-- - t3 : température extérieure
-- et débit extrait = débit insufflé

-- Rendement = (t1-t3) / (t2-t3)


La formule utilisée pour le calcul du gain est la suivante :

Gain : 0.34 * rendement * Débit * (T_Insuf – T_Aspi) * Temps / 1000

0,34 : capacité thermique volumique de l'air en Wh/m3 °C

rendement théorique de l’échangeur =0.9 ou calcul du rendement réel

Débit : débit de l’air en m3/h

T_Insuf : température de l’air insufflé dans les pièces

T_Aspi : température de l’air aspiré en entrée de la VMC

Temps : exprimé en heure

/1000 : pour le calcul en KWh


--]]
local scriptName        = 'VMC'
local scriptVersion     = '1.0'
local T_soufflage       = 35 --device température de soufflage vmc
local T_reprise         = 32 --device température de reprise vmc
local T_exterieure      = 33 --device température air neuf vmc
local rendement_vmc     = 42 --device température de soufflage vmc nil si inutilisé
local debit             = 90 -- débit de l’air en m3/h


return {
    active = true,
	--on = { timer =   {'at 21:52 on mon'}},
    on = { timer =   {'every minute'}},
    logging =   { -- level    =   domoticz.LOG_DEBUG,
                -- level    =   domoticz.LOG_INFO,             -- Seulement un niveau peut être actif; commenter les autres
                -- level    =   domoticz.LOG_ERROR,            -- Only one level can be active; comment others    
             --   level    =   domoticz.LOG_MODULE_EXEC_INFO,

                marker = scriptName..' v'..scriptVersion }, 
    
    
    
	execute = function(domoticz)
            local function logWrite(str,level)             -- Support function for shorthand debug log statements
                domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
            end
  
  
            T_soufflage     = domoticz.utils.round(domoticz.devices(T_soufflage).state,1)
            T_reprise       = domoticz.utils.round(domoticz.devices(T_reprise).state,1)
            T_exterieure    = domoticz.utils.round(domoticz.devices(T_exterieure).state,1)
            -- print('coucou')
            logWrite('T_soufflage vmc : '..T_soufflage..'°C', domoticz.LOG_DEBUG)
            logWrite('T_reprise vmc : '..T_reprise..'°C', domoticz.LOG_DEBUG)
            logWrite('T exterieure vmc : '..T_exterieure..'°C', domoticz.LOG_DEBUG)
            if T_soufflage ~=nil and T_reprise ~=nil and T_exterieure ~=nil then
                local rendement = domoticz.utils.round((tonumber(T_soufflage) - tonumber(T_exterieure)) / (tonumber(T_reprise) - tonumber(T_exterieure)),1)
                logWrite('rendement vmc : '..rendement..'%', domoticz.LOG_DEBUG)
                if rendement_vmc ~= nil and domoticz.devices(rendement_vmc).percentage ~= rendement  then 
                    domoticz.devices(rendement_vmc).updatePercentage(rendement)
                    logWrite('mise à jour rendement vmc', domoticz.LOG_DEBUG)
                end
            end


	end -- execute function
}

papoo
Messages : 1726
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul rendement VMC double flux

Message par papoo » 18 avr. 2019, 07:27

J’ai une duolix pro qui a 10ans non communicante (elle a une télécommande radio en 868mhz protocole propriétaire) je l’ai équipé de sonde de température et d’une commande pour passer en sur débit
State est dans le wiki mais bien caché au tout début dans les paramètres communs à tous les devices il me semble
Lorsque tu as un doute utilise la fonction dump() pour lister l’ensemble des données disponible de ton device
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

le belge
Messages : 347
Enregistré le : 12 déc. 2016, 19:02

Re: Calcul rendement VMC double flux

Message par le belge » 18 avr. 2019, 17:55

@papoo

j'ai aussi une duolix max , à part mettre des sondes dans la vmc , pas possible de récupérer les infos ?? dommage ...

tu n'as pas été embêtée avec les axes des servos qui cassent (sur ventil et by-pass)

papoo
Messages : 1726
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul rendement VMC double flux

Message par papoo » 18 avr. 2019, 21:19

le fabricant ne souhaite pas donner d’infos sur le protocole utilisé, c'est bien dommage
Pour l’instant je touche du bois pas d’axe cassé
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre