probleme conso virtuel

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: probleme conso virtuel

Message par alexbi »

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

Message par vil1driver »

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 :D
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
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: probleme conso virtuel

Message par thier »

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)".
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.
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: probleme conso virtuel

Message par alexbi »

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 _
AlexElectro
Messages : 55
Inscription : 18 juil. 2015, 22:13

Re: probleme conso virtuel

Message par AlexElectro »

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:

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 commandArray
a enregistrer en script_time_xxxxx.lua
Domoticz sur RPi - RfxCom - Sondes oregon DIY - Bus one wire - sondes DS18B20 - BMP085 - Home confort
http://electro.bassignyinformatique.fr/
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: probleme conso virtuel

Message par alexbi »

content que ça fonctionne :P
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: probleme conso virtuel

Message par thier »

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.
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: probleme conso virtuel

Message par thier »

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
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

Message par AlexElectro »

essaye ce script:

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 commandArray
et fais un copier/coller des lignes du log
Domoticz sur RPi - RfxCom - Sondes oregon DIY - Bus one wire - sondes DS18B20 - BMP085 - Home confort
http://electro.bassignyinformatique.fr/
alexbi
Messages : 123
Inscription : 29 nov. 2015, 16:36

Re: probleme conso virtuel

Message par alexbi »

Nom du script ? Tu as bien mis script_time_xxxxx.lua dans le bon dossier ou via events
Répondre