Changement d'état sur dépassement de valeur de consommation

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
manuinfo
Messages : 3
Inscription : 20 avr. 2015, 11:26

Changement d'état sur dépassement de valeur de consommation

Message par manuinfo »

Bonjour,
J'ai réalisé ce petit script lua pour mettre à jour un interrupteur de type on/off si la consommation d'une prise électrique en Watt est supérieure à une valeur donnée.

Script LUA de type script_time ci-dessous:

Code : Tout sélectionner

-- print('Surveillance du fonctionnement')

commandArray = {}

conso = tonumber(otherdevices_svalues['PC Conso'])

-- Surveillance du changement de consommation pour en déduire l'état de fonctionnement de l'équipement qui est branché :
-- <5W = équipement éteint
-- >5W = équipement en fonctionnement

if (conso > 5) then
-- print('Equipement en fonctionnement')
commandArray['Equipement'] = 'On'
else
-- print('Equipement éteint')
commandArray['Equipement'] = 'Off'
end

return commandArray
Cela fonctionnement mais le problème que je rencontre c'est que comme c'est un script time, toutes les minutes il écrit dans les logs pour dire off ou on à répétition, j'aurais aimé avoir le principe de changement d'état du type script_device mais ce n'est pas possible.

J'espère avoir été clair et j'aimerais avoir votre aide, des idées pour permettre d'avoir l'état de fonctionnement basé sur la consommation électrique de ma prise, mais uniquement qd changement de dépassement de la puissance que je teste, mais en écrivant une fois dans les logs si dépassement de la valeur donnée.

Merci par avance de votre aide.
Dernière modification par Neutrino le 15 nov. 2019, 17:03, modifié 2 fois.
Raison : Ajout balises code
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Changement d'état sur dépassement de valeur de consommation

Message par denis_brasseur »

Tout est dans le titre : CHANGEMENT D'ETAT
Pourquoi ne pas passer par un script type device, en utilisant
if devicechanged['PC - Conso']
et
otherdevices['PC - Conso'] > valeur
?
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: Changement d'état sur dépassement de valeur de consommation

Message par lmet »

Salut,
Es-tu sûr du code que tu nous proposes ?
Tu calcules "conso_insert" :

Code : Tout sélectionner

conso_insert = tonumber(otherdevices_svalues['PC Conso'])
Puis tu compares "PC - Conso" qui vaut "nil" à ce stade.

Code : Tout sélectionner

if (PC - Conso > 5) then
"PC Conso" et "PC - Conso" sont deux éléments différents.
Et c'est plutôt :

Code : Tout sélectionner

if conso_insert > 5 then ...  
Que tu devrais utiliser. N'hésites pas à remettre ton code avant de voir les problèmes de log.
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
manuinfo
Messages : 3
Inscription : 20 avr. 2015, 11:26

Re: Changement d'état sur dépassement de valeur de consommation

Message par manuinfo »

Bonjour, désolé quelques erreurs de copier/coller avec un ancien essai de script lua.

J'ai mis à jour mon premier post avec le bon script.

Merci de votre aide.
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: Changement d'état sur dépassement de valeur de consommation

Message par lmet »

Salut,
Pas testé mais tu envoies "On" ou "Off" toutes les minutes. En interrogeant le statut de l'équipement la commande n'est envoyée qu'une fois lors du passage du seuil de 5w

Code : Tout sélectionner

commandArray = {}

	conso = tonumber(otherdevices_svalues['PC Conso'])
	-- Surveillance du changement de consommation pour en déduire l'état de fonctionnement de l'équipement qui est branché :
	-- <5W = équipement éteint
	-- >5W = équipement en fonctionnement
	if (conso > 5) and (otherdevices ['Equipement'] == "Off") then
		-- print('Equipement en fonctionnement')
		commandArray['Equipement'] = 'On'
	elseif (conso < 5) and (otherdevices ['Equipement'] == "On") then
		-- print('Equipement éteint')
		commandArray['Equipement'] = 'Off'
	end

return commandArray
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
manuinfo
Messages : 3
Inscription : 20 avr. 2015, 11:26

Re: Changement d'état sur dépassement de valeur de consommation

Message par manuinfo »

Bonjour et merci cela fonctionne il me manquait cette subtilité du test sur l'état pour éviter de générer toutes les minutes un on ou off comme tu l'as compris.

Merci beaucoup.
Coyote
Messages : 1
Inscription : 30 avr. 2020, 23:31

Re: Changement d'état sur dépassement de valeur de consommation

Message par Coyote »

Bonsoir,

Je débute, je commence a comprendre certains principes, ca reste encore un peu confus
Comment pourrait on adapter ce script pour s'assurer par exemple que la conso est restée sous 5W pendant disons 15 minutes avant de passer l'état a OFF?

Bonne soirée
Répondre