Requete compteur / Stats

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
beting
Messages : 28
Enregistré le : 20 sept. 2014, 12:12

Requete compteur / Stats

Message par beting »

Bonjour

J'envoi une requête curl en automatique pour transmettre la valeur heure creuse de mon compteur. Cette requête est récupérée dans un virtual device de type compteur. Le soucis c'est que le graphique généré prend la valeur du comptage journalier ( chiffre en haut à droite ) qui n'est pas celui envoyé ( au milieu dans status).

Comment changer le chiffre ou les stats? Je souhaite avoir un historique de ma valeur Heure creuse.

Code : Tout sélectionner

curl "http://192.168.1.2:8080/json.htm?type=command&param=udevice&idx=114&svalue=$var1"

jackslayter
Messages : 955
Enregistré le : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Requete compteur / Stats

Message par jackslayter »

je suis en plein dedans pour calculer les HC et HP, si j'y arrive je posterai un tuto ou autre
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte

beting
Messages : 28
Enregistré le : 20 sept. 2014, 12:12

Re: Requete compteur / Stats

Message par beting »

Cool j'attends de tes nouvelles

jackslayter
Messages : 955
Enregistré le : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Requete compteur / Stats

Message par jackslayter »

bon ça marche pas, j'ai essayé en envoyant chaque valeurs au compteur ou le total à la fin de journée et ça fait des graphs tout pourri
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte

chandler45
Messages : 49
Enregistré le : 09 mars 2015, 15:05

Re: Requete compteur / Stats

Message par chandler45 »

Salut,

Je me suis mis à Domoticz depuis peu, mais j'ai réussi à faire quelque chose pour avoir les stats HC / HP de mon compteur... Est ce que c'est quelque chose de ce genre que vous voulez ?
Cpt.JPG
Cpt.JPG (48.77 Kio) Vu 7862 fois
Je précise, j'ai un capteur CM180 sur mon compteur qui ne m'envoie que que la conso globale (à droite sur la capture).
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500

manuloup
Messages : 530
Enregistré le : 18 févr. 2015, 13:05

Re: Requete compteur / Stats

Message par manuloup »

C'est top ! Moi j'ai un NorthQ NQ-9021 et je suis très frustré d'avoir un 0 en permanence sur le Dashboard.
domoticz nq9021.png
domoticz nq9021.png (11.46 Kio) Vu 7846 fois
Peux-tu me montrer ton script que je vois ce que tu fais ?

Merci en tout cas.
Rapberry PI 2 (RaspBian), RFplayer, Aeon Labs Z-Stick Gen5, Everspring ST814 Temperature Sensor, Everspring SF812 Smoke Detector, 4x Fibaro Wallplug, Aeon Zwave Miniremote , Teleinfo USB

chandler45
Messages : 49
Enregistré le : 09 mars 2015, 15:05

Re: Requete compteur / Stats

Message par chandler45 »

Pas de soucis.. Alors j'ai commencé par créé 2 switchs : Heures Creuses / Heures Pleines. Je pilote les changements des 2 switchs par un blocky :
blocky.JPG
blocky.JPG (54.55 Kio) Vu 7845 fois
Ensuite j'ai créé 2 capteurs virtuels de type "Electrique (Instant+Compteur)". J'ai pris ces capteurs vu qu'ils correspondent à celui qui est branché à mon compteur.

ET voici le scipt que j'ai derrière :

Code : Tout sélectionner

--script /domoticz/scripts/lua/script_device_compteurHC-HP.lua
local capteurGlobal = uservariables['CapteurGlobal']
local capteurCptHP = uservariables['CapteurCptHP']
local capteurCptHC = uservariables['CapteurCptHC']
local idxCptHP = uservariables['IdxCptHP']
local idxCptHC = uservariables['IdxCptHC']
local flagHC = uservariables['FlagHC']
local flagHP = uservariables['FlagHP']
local lastValueCptElecGlobal = uservariables['LastValueCptElecGlobal']
local debug = uservariables['debug']

function update(device, id, power, energy, index)
	
	commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
	return
end  

commandArray = {}

-- On prend en compte  a chaque changement de valeur du compteur global
if (devicechanged[capteurGlobal]) then
	if (debug == 'OUI') then
		print('-- Calcul Compteurs HC / HP --')
		print('CapteurGlobal = '..capteurGlobal)
		print('CapteurCptHP = '..capteurCptHP)
		print('CapteurCptHC = '..capteurCptHC)
		print('idxCptHP = '..tostring(idxCptHP))
		print('idxCptHC = '..tostring(idxCptHC)) 
		print('flagHP = '..tostring(flagHP))
		print('flagHC = '..tostring(flagHC))
		print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))
	end

	-- Recuperation des valeurs du compteur global
	local consoCumule
	local consoInstant
	consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);([^;]+)")
	consoInstant = tonumber(consoInstant)
	consoCumule = tonumber(consoCumule)

	if (debug == 'OUI') then
		print('Conso Instant = '..tostring(consoInstant)..' / Conso Cumule = '..tostring(consoCumule)..' ')
	end

	-- Calcul de l'ecart avec le dernier envoi de donnees
	lastValueCptElecGlobal = tonumber(lastValueCptElecGlobal)
	local consoDelta = consoCumule - lastValueCptElecGlobal

	if (debug == 'OUI') then
		print('Delta conso = '..tostring(consoDelta))
	end

       	local consoCumuleCible
	local consoInstantCible

	if (otherdevices[flagHC] == 'On') then
		-- Periode heures creuse
		-- Recuperation des valeurs du compteur global
        	consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
        	-- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
		consoCumuleCible = tonumber(consoCumuleCible)

		if (debug == 'OUI') then
			print('Compteur cible = HC')
			print('Valeur precedente = '..tostring(consoCumuleCible))
			print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
		end

		consoCumuleCible = consoCumuleCible + consoDelta
		-- Mise à jour du compteur
		update(capteurCptHC, idxCptHC, consoInstant, consoCumuleCible, 1)
	else
		-- Periode heures pleines
                -- Recuperation des valeurs du compteur global
                consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
                -- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
                consoCumuleCible = tonumber(consoCumuleCible)

                if (debug == 'OUI') then
                        print('Compteur cible = HP')
                        print('Valeur precedente = '..tostring(consoCumuleCible))
                        print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
                end

                consoCumuleCible = consoCumuleCible + consoDelta
                -- Mise à jour du compteur
                update(capteurCptHP, idxCptHP, consoInstant, consoCumuleCible, 3)
	end

	-- Sauvegarde de la valeur du compteur global pour prochain calcul
	commandArray['Variable:LastValueCptElecGlobal'] = tostring(consoCumule)

	if (debug == 'OUI') then
		print('-- Fin Calcul Compteur HC / HP --')
	end 
end

return commandArray
Pour les variables :
  • CapteurGlobal : Nom du capteur physique
  • CapteurCptHP : nom du capteur virtuelle HP
  • CapteurCptHC : nom du capteur virtuelle HC
  • idxCptHP : IDX du capteur virtuelle HP
  • idxCptHC : IDX du capteur virtuelle HC
  • flagHP : Nom du switch HP
  • flagHC : Nom du switch HC
  • LastValueCptElecGlobal : valeur du compteur cumulé pour calculer l'écart par rapport au dernier relevé
J'ai essayé de commenter un minimum mon code en le faisant...
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500

chandler45
Messages : 49
Enregistré le : 09 mars 2015, 15:05

Re: Requete compteur / Stats

Message par chandler45 »

manuloup, ta capture, c'est ton capteur "réel" ou un capteur virtuel ? Parce que le zéro c'est la consommation instantanée... Si c'est ton capteur physique, est ce que tu es sûr que ton capteur renvoi cette information là ? Parce qu'il a l'air de fonctionner sinon... Et si c'est un capteur virtuel, il faut lui envoyer les 2 informations (cumulé + instantané) lors de la mise à jour, comme tu pourras le voir dans le script...
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500

manuloup
Messages : 530
Enregistré le : 18 févr. 2015, 13:05

Re: Requete compteur / Stats

Message par manuloup »

Bonjour Chandler45,

C'est le capteur qui apparait sur le dashboard et dans l'onglet Utility. J'imagine que c'est un capteur virtuel créé automatiquement par Domoticz à partir du device.
2015-03-10_095208.jpg
2015-03-10_095208.jpg (183.03 Kio) Vu 7825 fois
Par contre, si je regarde dans les logs du device, dans la page Devices, je vois bien les chiffres corrects dans les logs. En gros j'aimerais avoir la dernière valeur en watts (ici 922) à la place du 0 sur le Dashboard.
2015-03-10_092141.jpg
2015-03-10_092141.jpg (133.71 Kio) Vu 7828 fois
2015-03-10_092308b.jpg
2015-03-10_092308b.jpg (61.36 Kio) Vu 7828 fois
Rapberry PI 2 (RaspBian), RFplayer, Aeon Labs Z-Stick Gen5, Everspring ST814 Temperature Sensor, Everspring SF812 Smoke Detector, 4x Fibaro Wallplug, Aeon Zwave Miniremote , Teleinfo USB

chandler45
Messages : 49
Enregistré le : 09 mars 2015, 15:05

Re: Requete compteur / Stats

Message par chandler45 »

Alors, le capteur qui apparait sur ton dashboard est bien ton capteur "physique", c'est à dire celui qui correspond réellement à ton matériel... donc celui qui doit fonctionner tout seul... J'ai regardé un peu, et je pense que c'est Domoticz qui ne gère pas l'information de consommation instantanée envoyée par ton capteur.

Je connais pas vraiment les capteurs ZWave... mais tu n'es pas le seul à te poser la question, j'ai trouvé ce post sur le forum de Domoticz : http://www.domoticz.com/forum/viewtopic.php?f=6&t=4226
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500

Répondre