Page 2 sur 2

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 11:47
par balajol
Bonjour PatriceN,
J'ai beaucoup de mal à comprendre ce que tu veux faire, ou tu te complique la tache inutilement ;)
Si tu force la consigne pourquoi désactiver le timer ?
Soit la forçage est terminé et il fait le boulot normalement soit il est en cours et alors il est trop tard puisque tu as passé l'heure de passage de la consigne par le timer ?

Ceci dit, pour passer la consigne d'un thermostat Virtuel à celui d'une DANFOSS:

Code : Tout sélectionner

---- Modification de la consigne des têtes Danfoss  (Eco)

-- Variables utilisateur
--Rad_Salon_Sud="402"  - en Uilisant les idx
--Rad_Salle_Nord="927"
--Rad_Cuisine="400"
--Rad_Bureau_rdc="1063"
--Rad_Bureau_Etage="1099"
--Rad_Couloir_Rdc="1037"
local Rad_Salon_Sud = otherdevices_idx['Rad_Salon_Sud'] --en Utilisant les noms des "Thermostats", des DENFOSS LC13 dans le cas Présent
local Rad_Salle_Nord = otherdevices_idx['Rad_Salle_Nord']
local Rad_Cuisine = otherdevices_idx['Rad_Cuisine']
local Rad_Bureau_rdc = otherdevices_idx['Rad_Bureau_Rdc']
local Rad_Bureau_Etage = otherdevices_idx['Rad_Bureau-Etage']
local Rad_Couloir_Rdc = otherdevices_idx['Rad_Couloir_Rdc']

consigne= string.match(otherdevices_svalues['Consigne-Danfoss-Eco'], "(%d+%.*%d*)")--"Consigne-Danfoss-Eco" est un thermostat virtuel réglé à la consigne "ECO"  17°C

-- début du programme..

commandArray = {}


if (devicechanged['mode_Eco-Conf-(Off:Eco--On:Conf)'] == 'Off' ) then

commandArray[0] = { ['UpdateDevice'] = Rad_Salle_Nord..'|0|'..consigne }--Envoi de la Consigne Eco au radiateur "Rad_Salle_Nord" Equipé d'une DANFOSS LC13
commandArray[1] = { ['UpdateDevice'] = Rad_Cuisine..'|0|'..consigne }
commandArray[2] = { ['UpdateDevice'] = Rad_Salon_Sud..'|0|'..consigne }
commandArray[3] = { ['UpdateDevice'] = Rad_Bureau_rdc..'|0|'..consigne }
commandArray[4] = { ['UpdateDevice'] = Rad_Bureau_Etage..'|0|'..consigne }
commandArray[5] = { ['UpdateDevice'] = Rad_Couloir_Rdc..'|0|'..consigne }
end


if (otherdevices['Chambre_Rdc_Vide'] == 'On')   then
commandArray[6]= { ['UpdateDevice'] = Rad_Bureau_rdc..'|0|'..consigne }
end
return commandArray

Pour désactiver un TIMER il faut chercher son identifiant par la commande suivant dans ton navigateur:
Liste des timer ID : http://192.xxx.x.xx:8091/json.htm?type=schedules

Pour désactiver:


http://IP:PORT/json.htm?type=command&param=disabletimer&idx=ID DU PLANNING


Pour activer:

http://IP:PORT/json.htm?type=command&param=enabletimer&idx=ID DU PLANNING


Voilà , j'espère t'être utile sans comprendre ta demande, pour moi la Première réponse par JSON et le DUMMY suffit à ton besoin :?

Cdt
Bertrand

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 13:06
par PatriceN
Bonjour Bertrand,

Je vais reformuler :
Mon chauffage est contrôlé par des thermostats Popp, je leur envoie des consignes différentes dans la journée en fonction de l'occupation des pièces.
Le planning est géré par les timers de Domoticz.
Ce que je souhaite faire, c'est envoyer une consigne de forçage pendant une durée donnée (ex : 22° dans la salle de bains pendant 30 min), déclenchée par un événement.
J'arrive à passer cette consigne avec un script Lua, mais si la consigne du timer change d'état durant ces 30 min, le forçage est perdu, non?
2ème point, comment récupérer la consigne du timer lorsque mes 30 min de forçage sont terminées?

Patrice

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 15:23
par thier
"timer change d'état durant ces 30 min, le forçage est perdu" c'est facile à contourner si tu travail avec plusieurs thermostats et que c'est un script lua qui les gère. Dans le script qui gère ton timer, tu ajoutes à la condition qui met à jour ton popp "si bp marche forcée" == Off". Ceci dit cela sous entend que tu as une température marche forcée et deux autres températures pour la journée. Si tu n'as qu'une température de journée, tu n'as pas de timer qui peut venir pendant que tu es en marche forcée.
Par contre, je ne sais pas envoyé une commande a des thermosats popp. Domoticz les voit comment? Si c'est comme des thermostats, mon script devrait fonctionner.

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 15:45
par balajol
Bonjour Tous,
Il y a toujours plusieurs approches possibles,
Patrice ne nous dit pas comment il gère le TIMER ..
Pour ma part je laisserai "Tourner " le ou les Timers qui gèrent les consignes des DANFOSS ou TOPP et je mettrai dans une variable en parallèle cette valeur de consigne à chaque changement par le Timer..
A la Position Off de la Position forcée, il suffit de renvoyer cette consigne aux Vannes concernées en la récupérant dans la variable.
Pour la consigne à Envoyer aux TOPP ou DANFOSS, j'ai Mis un exemple plus haut qui fonctionne chez Moi.
Cdt
Bertrand

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 18:07
par PatriceN
Re,

Le timer est le timer par défaut de Domoticz, que l'on trouve dans l'écran ci-dessous.

Patrice
Presse-papiers-1.jpg
Presse-papiers-1.jpg (301.97 Kio) Consulté 3388 fois

Re: Créer une temporisation sur un setpoint

Publié : 01 nov. 2018, 22:50
par thier
Selon ma façon de faire ce thermostat correspond à celui que je nomme "consigne sdb qui est la marche 24/24". ça n'est pas celui qui gère directement la salle de bain. Tu as du comprendre qu'il faut un autre thermostat que j'appel "consigne_sdb (idx 875) qui est celui qui gère directement le fonctionnement du radiateur". En fait dans ton exemple comme ton thermostat est déjà associé à ta salle de bain, tu enlève ton planning et il devient consigne_sdb (idx 875) . Tu créés un premier thermostat virtuel et tu lui affecte ton planning actuel. il sera selon mon exemple "consigne sdb qui est la marche 24/24".
Dans un script device tu dis:
- que si ton premier thermostat virtuel change, il met à jour la consigne de ton thermostat actuel sauf si ton bouton marche forcée est sur On.
- que si marche forcée est à On, tu prends la consigne d'un second thermostat virtuel à créer contenant uniquement la consigne de température de chauffe en marche forcée et tu la mets dans thermostat actuel.
- quand ton bouton marche forcée passe à Off, il prend la consigne de ton premier thermostat virtuel et il la met dans ton thermostat actuel.

C'est comme ça que travaille l'exemple que je t'ai donné. l'avantage de plusieurs thermostats virtuels qui mettent à jour celui de la pièce c'est qu'il sera facile d'ajouter un mode qui te manque, le mode personne à la maison. Tu créeras un troisième virtuel ...

Pour finir tu n'as pas besoin de connaître la commande pour entrer une consigne dans tes popp puisque domoticz le fait avec ton thermostat actuel et toi tu ne feras que changer la consigne de ce thermostat ce que fait mon script. Essai le en créant les thermostats virtuels.