Page 1 sur 1

Problème de print dans les log

Publié : 10 nov. 2021, 16:08
par ker49
Bonjour à vous tous,
Je ne sais pas trop où poster mon sujet ...
Voici mon problème.
J'ai créé (avec plusieurs aides sur ce forum) un script plutôt complet qui me permet de "domotiser" mon poêle MCZ.
J'en suis très content. Le confoirt est là ... et j'économise des granulés.
Cette année, j'ai apporté une modification : j'ai fait un thermostat déroulant qui me permet de régler la température (éco, nuit, confort).
Le problème c'est que désormais je n'arrive plus à faire un print de la température de consigne !
Si quelqu'un à une idée je suis preneur car après différents essais je ne trouve aucune soultion
dans les log il est affiché : la température de consigne de thermostat est de Thermostatderoulant°C
J'aimerais pouvoir récupérer la valeur correspondante au choix (éco, nuit, confort) mais impossible
Est-ce possible ?
Voici une partie de mon script

Code : Tout sélectionner

------ Variables à éditer ------
--local consigne = 23.0  --Température de consigne
local consigne = 'Thermostatderoulant' --Nom du thermostat déroulant virtuel
local sonde = 'SondeCuisine' --Nom de la sonde de température
local thermostat = 'ThermostatCuisine' --Nom de l'interrupteur virtuel du thermostat
local radiateur = 'MCZchaud' --Nom du radiateur à allumer/éteindre ici pour le TEST un interr
local radiateur2 = 'MCZfroid' --Nom du radiateur à allumer/éteindre ici pour le TEST un interr
local allumage = 'allumageMCZ' 
-- Fin des variables à éditer --

commandArray = {}
...

Code : Tout sélectionner

        end
end

if (otherdevices[radiateur2]=='On' and (uservariables["ModePoele"]) == "0") then
    print ("Poële éteint et désormais froid")
        print('la température de consigne du thermostat est de '..consigne..'°C')
end
-- intérêt à voir car pas forcement utile

return commandArray


Re: Problème de print dans les log

Publié : 10 nov. 2021, 21:07
par Keros
Je résume encore ton script :

Code : Tout sélectionner

local consigne = 'Thermostatderoulant' --Nom du thermostat déroulant virtuel
print('la température de consigne du thermostat est de '..consigne..'°C')
C'est normal que le print t'affiche :
la température de consigne de thermostat est de Thermostatderoulant°C
La variable consigne contient le "nom du thermostat déroulant virtuel". C'est même écrit en commentaire dans le script. C'est normal que le script t'affiche Thermostatderoulant puisque c'est ça qui est enregistré dans la variable.

Re: Problème de print dans les log

Publié : 11 nov. 2021, 07:18
par denis_brasseur
ker49 a écrit : 10 nov. 2021, 16:08
Cette année, j'ai apporté une modification : j'ai fait un thermostat déroulant qui me permet de régler la température (éco, nuit, confort).
Je crois comprendre que tu a créé un selector switch avec 3 valeurs éco, nuit, confort

Pour travailler sur un selector switch nommé yourotherdevicename

Code : Tout sélectionner

otherdevices['yourotherdevicename']
te retournera la valeur du switch : éco, nuit ou confort

Code : Tout sélectionner

otherdevices_svalues['yourotherthermometer'] = string of svalues
te retournera le niveau du switch : 10, 20 ou 30.

A moins qu'il ne s'agisse d'un thermostat Setpoint, auquel cas

Code : Tout sélectionner

tonumber(string.match(otherdevices_svalues['yourotherthermometer'], "(%d+%.*%d*)"))
te retournera la valeur de cette consigne, 20,5, 21 ...