Comparaison de temperature pour chauffage
Comparaison de temperature pour chauffage
Bonjour à tous,
Je possède une sonde qui m'envoie la température et l'humidité de ma pièce.
J'aimerai utiliser cette sonde pour réguler mon chauffage mais je ne sais pas comment aller chercher uniquement la valeur de la température en lua. Quelqu'un pourrait-il m'aider ?
Je veux juste enclencher un relais si la temperature est plus basse que 21 degrés et couper le relais si la temperature est supérieure ou égale à 21 degrés.
Merci pour votre aide
Je possède une sonde qui m'envoie la température et l'humidité de ma pièce.
J'aimerai utiliser cette sonde pour réguler mon chauffage mais je ne sais pas comment aller chercher uniquement la valeur de la température en lua. Quelqu'un pourrait-il m'aider ?
Je veux juste enclencher un relais si la temperature est plus basse que 21 degrés et couper le relais si la temperature est supérieure ou égale à 21 degrés.
Merci pour votre aide
koody
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
Re: Comparaison de temperature pour chauffage
Bonsoir,
Le script de vil1driver ma servi de base pour réaliser le mien
J' utilise principalement des sondes Oregon T+ H% . Tu devrais y retrouver les commandes de base.
Cdt
Bertrand
Le script de vil1driver ma servi de base pour réaliser le mien
J' utilise principalement des sondes Oregon T+ H% . Tu devrais y retrouver les commandes de base.
Code : Tout sélectionner
-- Ce script permet de maintenir la température------ http://easydomoticz.com/forum/viewtopic.php?f=10&t=233-----Scipt_time_Thermostat_14_Sans_EASY--Fonctionnel
--------------------------------
------ Variables à éditer ------
--------------------------------
local consigne_conf_semaine = tonumber(string.match(otherdevices_svalues['Consigne-Danfoss-Confort'], "(%d+%.*%d*)"))-- 20 --'Consigne-Danfoss-Confort' -- Température de consigne confort en semaine
local consigne_conf_plus = tonumber(string.match(otherdevices_svalues['Consigne-Danfoss-Confort-Plus'], "(%d+%.*%d*)"))--21 -- Température de consigne confort plus le weekend
local consigne_eco = tonumber(string.match(otherdevices_svalues['Consigne-Danfoss-Eco'], "(%d+%.*%d*)"))--17 --'Consigne-Danfoss-Eco' -- Température de consigne économique
local consigne_abs = tonumber(string.match(otherdevices_svalues['Consigne-Danfoss-Hors-Gel'], "(%d+%.*%d*)"))--10 --'Consigne-Danfoss-Hors-Gel' -- Température de consigne lors d'abscence prolongée
local moyenne_sondes= 'Moyenne_T_Cuisine_Salon' -- Capteur virtuel, calculé par Lua, moyenne des Temp cuisine et salon
local sonde_Salon = 'Oregon_Salle_4' -- Nom de la sonde de température Salon
local sonde_cuisine = 'Oregon_Cuisine_3' -- Nom de la sonde de température Cuisine
local Temperature_TOPP_Bureau_Rdc_ = "Temperature_TOPP_Bureau_Rdc"
local Oregon_Bureau_C2_ = "Oregon_Bureau_C2"
local mode = 'mode_Eco-Conf-(Off:Eco--On:Conf)' -- Nom de l'interrupteur virtuel de sélection de mode Off=eco On=confort
local Presence = 'Presence_Partielle(On)_Hors_Gel(Off)' -- Nom de l'interrupteur virtuel de thermostat (Off=abscence prolongée)
local Easymatic_Domoticz= 'Mode-Chaudière' --Selecteur pour passer de la commande déportée filaire de la chaudière à Domoticz, connecteur à enficher sur la carte de la chaudiere poue revenir
--à l' Easymatic + cavalier sur entree thermostat
HeureFinConfort=uservariables["Heure-Fin_Confort"]---Variables utilisateur renseignées par sélecteur et blocky
HeureDebutConfort=uservariables["Heure-Debut_Confort"]-- " " "
--------------------------------
-- Fin des variables à éditer --
--------------------------------
time = os.date("*t")
commandArray = {}
if ( time.min%4 == 0 ) then--Lancement Script toutes les 4 minutes
if (otherdevices['Choix_sonde_chauf'] == 'Sonde_Cuisine') then
sonde = sonde_cuisine
elseif (otherdevices['Choix_sonde_chauf'] == 'Sonde_Salon') then
sonde = sonde_Salon
elseif (otherdevices['Choix_sonde_chauf'] == 'Moyenne_sondes') then
sonde = moyenne_sondes
elseif (otherdevices['Choix_sonde_chauf'] == 'Sonde_Ch_Rdc') then
sonde = Temperature_TOPP_Bureau_Rdc_
elseif (otherdevices['Choix_sonde_chauf'] == 'Sonde_Bureau') then
sonde = Oregon_Bureau_C2_
end
if (otherdevices['Presence_Partielle(On)_Hors_Gel(Off)'] == 'Off') then
sonde = moyenne_sondes
end
local temperature = math.floor(10*tonumber(otherdevices_temperature[sonde]))/10
local today = os.date("%A")
if (otherdevices['Presence_Jour_Vacances'] == 'Off') and ((today == "Saturday" or (today == "Sunday" and time.hour < 1)) or
(otherdevices['Jour_Ferie'] == 'On' and time.hour < 1 ) or (otherdevices['ToucheB-Telec2-Mode_Presence_Jour'] == 'On')) then
--Si WE ou Jour_Ferie = "On" ou Forcage Manuel par telecommande 2 Touche B: Presence_Jour_Vacances= "On" . Après 23 h, Mise à Off par Planning..
--Si presence Lundi, Mettre à On après 23 H.
--sans cela impossible de mettre à Off avant Minuit, on ne pourrait le faire que Manuellement le Matin ou automatiquement à 18 H le Lundi par Planning.
--Laisse la possibilité Lundi Presence_Jour programmé la veille après 23 H
commandArray['Presence_Jour_Vacances'] = 'On'
end
if (otherdevices['Presence_Jour_Vacances'] == 'On') then--Le WE, Ferie ou Mode-confort-plus Application Consigne thermostat "Consigne-Danfoss-Confort-Plus"
consigne_conf = consigne_conf_plus
else
consigne_conf = consigne_conf_semaine-- Sinon Application "Consigne-Danfoss-Confort"
end
-- si le swicth " Presence(On)_Hors-Gel(Off)" est actif (On:Presence)
if (otherdevices[Presence] == 'On') then
--Si on est en Mode confort entre "Heure_depart_confort" et "Heure_Arret_Confort", journée de présence totale type "vacances à la Maison" et plage Journée totale
--OU Mode confort, Journée Fractionnée (travail) consigne = Confort
if ((otherdevices[mode] == 'On') and (otherdevices['Presence_Jour_Vacances'] == 'On') and (time.hour >= HeureDebutConfort and time.hour < HeureFinConfort)) or
((otherdevices[mode] == 'On') and (otherdevices['Presence_Jour_Vacances'] == 'Off') and ((time.hour >= 6 and time.hour < 7) or (time.hour >= 17 and time.hour < 23))) then
consigne = consigne_conf
else
consigne = consigne_eco
end
else
consigne = consigne_abs -- Si " Presence(On)_Hors-Gel(Off)" = Off, Consigne "hors Gel"
end
--Chaudiere en Marche (Chauffe) si:"Mode-Chaudière" sur "Cde-Domoticz" et Sortie thermostat à On (Contact thermostat sur carte chaudiere fermé) ou demande ECS et
--tempEcsChaudiere < Consigne Seuil_Bas T° ECS
if ((otherdevices['Mode-Chaudière'] == 'Cde-Domoticz') and (temperature < consigne) and (otherdevices['Autorisation-chauffe-ECS-Chaud'] == 'Off')) then-- Passage retour chauffage par ballon solaire
commandArray['Soutient_Solaire_Chauffage'] = 'On'
else
commandArray['Soutient_Solaire_Chauffage'] = 'Off'
end
if (otherdevices['Mode-Chaudière'] == 'Cde-Domoticz') and ((temperature < consigne) or (otherdevices['Autorisation-chauffe-ECS-Chaud'] == 'On')) then
commandArray['Marche_Chaudiere'] = 'On'
print('Marche Chaudiere -. Marche .-')
else
-- Chaudiere arrêtée si: "Marche_Chaudiere" sur Off (Position DOMOTICZ) et interupteur autorisation ECS à Off (Bruleur arreté et circulateur quelques minutes apres)
if (otherdevices['Mode-Chaudière'] == 'Cde-Domoticz') and (otherdevices['Autorisation-chauffe-ECS-Chaud'] == 'Off' ) then
commandArray['Marche_Chaudiere'] = 'Off'
print('Chaudiere -. Stop .-')
end
end
print('il fait '..temperature..'°C pour '..consigne..'°C souhaité par thermostat Domoticz')--Imprime dans les Logs T° mesurée actuelle et consigne thermostat
-- commandArray['Variable:consigne_thermostat']= tostring(consigne)--Renseignement Variable utilisateur de la consigne utilisée par le thermostat
--Plus utilisé, Nécessaire pour "scipt_time_val_consigne.."
commandArray['OpenURL'] = 'http://Adresse DOMOTICZ:Port/json.htm?type=command¶m=udevice&idx=IDXduDEVICE&nvalue=0&svalue='..consigne..''--renseigne directement le thermostat virtuel " Val_Cons_Actu" qui permet
--d' afficher dans un dummy thermostat la valeur de consigne
end
return commandArray
Cdt
Bertrand
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..
Re: Comparaison de temperature pour chauffage
Merci pour les conseils.
Si j'ai bien compris, tout se passe dans cette ligne de commande pour aller stocker la valeur de la température dans une variable:
Corrigez-moi si je me trompe
Si j'ai bien compris, tout se passe dans cette ligne de commande pour aller stocker la valeur de la température dans une variable:
Code : Tout sélectionner
local temperature = math.floor(10*tonumber(otherdevices_temperature[sonde]))/10koody
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Comparaison de temperature pour chauffage
Pour etre clair tu stock bien une valeur dans une variable, mais il s'agit d'une variable interne au script au moment de son execution.
--Indication de la creation d'une variable propre a l'execution du script:
...Nom de la variable:
--Ouverture d'une methode mathematique:
...d'arrondi inferieur du parametre entre parenthese:
...ou le paramètre etant un calcul simple avec un device: otherdevices_temperature[sonde]
--Indication de la creation d'une variable propre a l'execution du script:
Code : Tout sélectionner
localCode : Tout sélectionner
temperature = Code : Tout sélectionner
math.Code : Tout sélectionner
floorCode : Tout sélectionner
(10*tonumber(otherdevices_temperature[sonde]))/10Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Re: Comparaison de temperature pour chauffage
Merci pour le décorticage 
Grace à votre aide, j'ai pu isoler la valeur de l'humidité avec:
Par contre, pour comparer simplement la valeur de ma sonde de température avec un thermostat virtuel dans domoticz, c'est plutôt galère!
pourtant le thermostat ne possède qu'une valeur en réel, non?
Jérôme
Grace à votre aide, j'ai pu isoler la valeur de l'humidité avec:
Code : Tout sélectionner
local humidity = tonumber(otherdevices_humidity[sonde])pourtant le thermostat ne possède qu'une valeur en réel, non?
Jérôme
koody
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
-
landaisbenj
- Messages : 695
- Inscription : 12 mars 2017, 19:24
Re: Comparaison de temperature pour chauffage
Il faut que tu découvre tout ce qui se cache derrière otherdevice...etc
Créer un bouton virtuel test. Et créer un script device pour se bouton.
Tu mets juste un print dedans avec otherdevice[sonde] ex:
Et à la place de otherdevice_temperature tu en essai plein. Tu verra tout ce qui t'affiche.
Créer un bouton virtuel test. Et créer un script device pour se bouton.
Tu mets juste un print dedans avec otherdevice[sonde] ex:
Code : Tout sélectionner
commandArray{}
If devicechanged['test'] then
print(otherdevice_temperature['sonde'])
End
Return commandArray
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway
Re: Comparaison de temperature pour chauffage
J'ai compris le principe.landaisbenj a écrit :Il faut que tu découvre tout ce qui se cache derrière otherdevice...etc
Créer un bouton virtuel test. Et créer un script device pour se bouton.
Tu mets juste un print dedans avec otherdevice[sonde] ex:
Et à la place de otherdevice_temperature tu en essai plein. Tu verra tout ce qui t'affiche.Code : Tout sélectionner
commandArray{} If devicechanged['test'] then print(otherdevice_temperature['sonde']) End Return commandArray
Merci pour les conseils
koody
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI
Raspberry PI2 + DOMOTICZ + RFXcom + Mi LIGHT + KODI