probleme conso virtuel
Re: probleme conso virtuel
exact tu peux l'enlever je l'avais mit dans le doute ... mais normalement il n'y en pas pas besoin
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: probleme conso virtuel
npower (conso instantanée) n'est utile que si le compteur est alimenté par plusieurs scripts..
ici je chauffe 3 pièces par domoticz et je n'utilise qu'un compteur global chauffage.
donc avant d'envoyer au compteur la puissance d'un chauffage il faut savoir si d'autre n'envoie pas déjà une valeur..
pas facile d'expliquer
ici je chauffe 3 pièces par domoticz et je n'utilise qu'un compteur global chauffage.
donc avant d'envoyer au compteur la puissance d'un chauffage il faut savoir si d'autre n'envoie pas déjà une valeur..
pas facile d'expliquer
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: probleme conso virtuel
Bonsoir,
Je débute en programmation Lua et je me casse le nez sur ce script. J'ai programmé mes radiateurs et je tente de mettre en place un suivi de la consommation en modifiant le script de départ pour un seul radiateur. Domoticz me retourne le message de défaut suivant "lua:30: attempt to perform arithmetic on a nil value".
A priori j'ai un problème avec la ligne "energy1 = tonumber(energy1) + (puissance1 / 60)".
Je débute en programmation Lua et je me casse le nez sur ce script. J'ai programmé mes radiateurs et je tente de mettre en place un suivi de la consommation en modifiant le script de départ pour un seul radiateur. Domoticz me retourne le message de défaut suivant "lua:30: attempt to perform arithmetic on a nil value".
A priori j'ai un problème avec la ligne "energy1 = tonumber(energy1) + (puissance1 / 60)".
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: probleme conso virtuel
essaye déjà un reboot si tu as tout bien fait
si ca marche pas fait un copier collé de ton script
verifie : les IDX de tes dummy conso (instant+cumul), évite les espaces dans les noms utilise plutôt _
si ca marche pas fait un copier collé de ton script
verifie : les IDX de tes dummy conso (instant+cumul), évite les espaces dans les noms utilise plutôt _
-
AlexElectro
- Messages : 55
- Inscription : 18 juil. 2015, 22:13
Re: probleme conso virtuel
Après un week-end d'essais, petit retour d'expérience: tout fonctionne grâce à vil1driver et alexbi
après avoir créé le compteur et adapté le script , faire un reboot
voici le script que j'utilise, et qui fonctionne:
a enregistrer en script_time_xxxxx.lua
après avoir créé le compteur et adapté le script , faire un reboot
voici le script que j'utilise, et qui fonctionne:
Code : Tout sélectionner
---------- test consommation virtuel -------
-- radiateur
local radiateur = 'Radiateur Evrard' -- Nom de l'interrupteur de chauffage
local puissance1 = 1000 -- puissance du chauffage en watt
local conso1 = 'Conso Evrard' -- nom du capteur virtuel de consommation électrique (type= instant + counter)
local conso_id1 = 50 -- idx du capteur virtuel de consommation électrique
commandArray = {}
if (otherdevices[radiateur] == 'On') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1) + (puissance1 / 60)
npower1 = tonumber(npower1)
commandArray[1]={['UpdateDevice'] = conso_id1 .. '|0|' .. puissance1 .. ';' .. energy1}
print('Conso radiateur envoyée:'..energy1..' kw')
end
if (otherdevices[radiateur] == 'Off') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1)
npower1 = tonumber(npower1)
commandArray[2]={['UpdateDevice'] = conso_id1 .. '|0|' .. 0 .. ';' .. energy1}
print('Conso radiateur nulle')
end
return commandArrayDomoticz sur RPi - RfxCom - Sondes oregon DIY - Bus one wire - sondes DS18B20 - BMP085 - Home confort
http://electro.bassignyinformatique.fr/
http://electro.bassignyinformatique.fr/
Re: probleme conso virtuel
content que ça fonctionne 
Re: probleme conso virtuel
je re-test ce soir et je vous tient au courant.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
Re: probleme conso virtuel
je viens de tester avec le script d'AlexElectro et j'ai toujours le problème malgré un reboot :
lua:17: attempt to perform arithmetic on a nil value
la ligne qui ne passe pas n°17: energy1 = tonumber(energy1) + (puissance1 / 60)
local radiateursalon = 'radiateur salon' -- Nom de l'interrupteur virtuel de marche du chauffage
local puissance1 = 1500 -- puissance du chauffage en watt
local conso1 = 'conso_chauffage_salon' -- nom du capteur virtuel de consommation électrique (type= instant + counter)
local conso_id1 = 129 -- idx du capteur virtuel de consommation électrique
commandArray = {}
if (otherdevices[radiateursalon] == 'On') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1) + (puissance1 / 60)
npower1 = tonumber(npower1)
commandArray[1]={['UpdateDevice'] = conso_id1 .. '|0|' .. puissance1 .. ';' .. energy1}
--print('Conso radiateur envoyée:'..energy1..' kw')
end
if (otherdevices[radiateursalon] == 'Off') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1)
npower1 = tonumber(npower1)
commandArray[2]={['UpdateDevice'] = conso_id1 .. '|0|' .. 0 .. ';' .. energy1}
--print('Conso radiateur nulle')
end
return commandArray
lua:17: attempt to perform arithmetic on a nil value
la ligne qui ne passe pas n°17: energy1 = tonumber(energy1) + (puissance1 / 60)
local radiateursalon = 'radiateur salon' -- Nom de l'interrupteur virtuel de marche du chauffage
local puissance1 = 1500 -- puissance du chauffage en watt
local conso1 = 'conso_chauffage_salon' -- nom du capteur virtuel de consommation électrique (type= instant + counter)
local conso_id1 = 129 -- idx du capteur virtuel de consommation électrique
commandArray = {}
if (otherdevices[radiateursalon] == 'On') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1) + (puissance1 / 60)
npower1 = tonumber(npower1)
commandArray[1]={['UpdateDevice'] = conso_id1 .. '|0|' .. puissance1 .. ';' .. energy1}
--print('Conso radiateur envoyée:'..energy1..' kw')
end
if (otherdevices[radiateursalon] == 'Off') then
-- envoie de la conso dans le capteur virtuel d'énergie
npower1, energy1 = string.match(otherdevices_svalues[conso1], "(%d+%.*%d*);(%d+%.*%d*)")
energy1 = tonumber(energy1)
npower1 = tonumber(npower1)
commandArray[2]={['UpdateDevice'] = conso_id1 .. '|0|' .. 0 .. ';' .. energy1}
--print('Conso radiateur nulle')
end
return commandArray
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
-
AlexElectro
- Messages : 55
- Inscription : 18 juil. 2015, 22:13
Re: probleme conso virtuel
essaye ce script:
et fais un copier/coller des lignes du log
Code : Tout sélectionner
commandArray = {}
print('conso: '..otherdevices_svalues['conso_chauffage_salon'])
print('########## string.match avec parametres')
npower1, energy1 = string.match(otherdevices_svalues['conso_chauffage_salon'], "(%d+%.*%d*);(%d+%.*%d*)")
print('energy1='..energy1)
print('npower1='..npower1)
energy1 = tonumber(energy1)
npower1 = tonumber(npower1)
print('tonumber energy1='..energy1)
print('tonumber npower1='..npower1)
return commandArrayDomoticz sur RPi - RfxCom - Sondes oregon DIY - Bus one wire - sondes DS18B20 - BMP085 - Home confort
http://electro.bassignyinformatique.fr/
http://electro.bassignyinformatique.fr/
Re: probleme conso virtuel
Nom du script ? Tu as bien mis script_time_xxxxx.lua dans le bon dossier ou via events