Page 1 sur 2

Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 19:56
par Gaz
Dummy qui ne change pas d’état en fonction d’une consommation électrique

Bonsoir.
J’ai fait l’acquisition d'un module Fibaro wall Plug pour mon lave linge et j’ai crée un dummy « Lave Linge », j’aimerais que se dernier change d’état en fonction de la consommation électrique du lave linge.
Si lave linge consomme plus de 10w alors le dummy lave linge passe en ON.
Du coup j’ai fait simple, direction domoticz est le script blockly, mais voilà cela ne fonctionne pas meme apres rebbot de DZ.
Es ce que quelqu’un a une solution avec blockly ou bien avec un script LUA ?
Merci d’avance.

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 20:27
par vil1driver
Salut,

Kwh ?

Cette unité dépend du temps, pour connaître ta conso à la journée par exemple...

Tu n'as pas un truc en kw simplement ?

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 20:41
par Gaz
Si si, j'ai un power meter qui me remonte la consommation en "instantané" mais le résultat est le même !

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 21:48
par deennoo
Il faut le faire en LUA et regarder la conso actuelle en watt

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 21:58
par Gaz
Merci deennoo, aurais tu un script plug and play ?

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 22:42
par deennoo
Il est pas de moi, il faut cree 2 variables utilisateur et un dummy switch.

Cerise sur le gateau il envoie une notification pour te dire que le cycle est fini.

Tu le trouves ici : https://bitbucket.org/frankiepankie/dom ... ?at=master

La discution a lire avant : https://www.domoticz.com/forum/viewtopic.php?f=23&t=253

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 22:46
par Gaz
Merci beaucoup.
La langue de Shakespeare et pas non plus mon fort mais je vais essayer ! :lol:

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 23:02
par deennoo
Avant de personnaliser les noms utilise ceux du script.

Comme pour papoo est ce que tu as les cycles de ta machines en memoire, car en inversion de rotation, ou remplissage la machine consomme tres peu

Bizarrement la mienne a une conso mini de 14w a l'arret : porte ouverte, bouton d'alim "eteind" donc ma valeur mini de fin de cyclen est de 15w et la valeur d'allumage est de 20w

Pour le seche linge, il y a un system "infroissable" qui fait tourner le tambour toutes des 2 minutes en fin de cycle tant que la porte est ouverte donc le idle time est reglé a 1.

Prevoit d'etre sympa avec l'utilisateur du fer a repasser, qui va trouver bizzare que tu mettes des machines en route spontamnement.

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 23:08
par Gaz
J'ai aussi une conso en veille entre 1 et 10w, effectivement j'ai des variations de puissance lors de certaines phases.
Du coup je copie les script, refait mes variable avec les noms du script et test.

Re: Dummy qui ne change pas d’état en fonction d’une consommation électrique

Publié : 01 oct. 2016, 23:20
par Gaz
HELP Je comprend pas trop l'histoire des variables users ?
Capture d’écran 2016-10-01 à 23.22.28.png
Capture d’écran 2016-10-01 à 23.22.28.png (396.79 Kio) Consulté 5996 fois
Voici mon script :

Code : Tout sélectionner

--script_time_washingmachine.lua
--This script monitors the current consumption indicated by a Z-Wave plug, placed between the washingmachine and the mains outlet
--It will count the amount of time that the power usage is below the triggervalue to be configured below. This indicates us that the washer has finished.
--When the script thinks the washingmachine is done, it will send you a pushnotification (line #38)

--Change the values below to reflect to your own setup
local switch_washingmachine   = 'virt_wasmachine'         --Name of virtual switch that will show the state of the washingmachine (on/off)
local washer_status_uservar   = 'washingmachine_status'
local energy_consumption      = 'Wasmachine'         --Name of Z-Wave plug that contains actual consumption of washingmachine (in Watts)
local washer_counter_uservar  = 'washingmachine_counter'   --Name of the uservariable that will contain the counter that is needed
local idle_minutes            = 5                      --The amount of minutes the consumption has to stay below the 'consumption_lower' value
local consumption_upper       = 15                       --If usage is higher than this value (Watts), the washingmachine has started
local consumption_lower       = 11                       --If usage is lower than this value (Watts), the washingmachine is idle for a moment/done washing
sWatt, sTotalkWh              = otherdevices_svalues[energy_consumption]:match("([^;]+);([^;]+)")
washer_usage                  = tonumber(sWatt)

commandArray = {}

--Virtual switch is off, but consumption is higher than configured level, so washing has started
if (washer_usage > consumption_upper) and uservariables[washer_status_uservar] == 0 then
  --commandArray[switch_washingmachine]='On'
  commandArray['Variable:' .. washer_status_uservar]='1'
  print('Current power usage (' ..washer_usage.. 'W) is above upper boundary (' ..consumption_upper.. 'W), so washing has started!')
  commandArray['Variable:' .. washer_counter_uservar]=tostring(idle_minutes)
end      

if (washer_usage < consumption_lower) and uservariables[washer_status_uservar] == 1 then --Washing machine is not using a lot of energy, subtract the counter
  commandArray['Variable:' .. washer_counter_uservar]=tostring(math.max(tonumber(uservariables[washer_counter_uservar]) - 1, 0))
  print('Current power usage (' ..washer_usage.. 'W) is below lower boundary (' ..consumption_lower.. 'W), washer is idle or almost ready')
  print('Subtracting counter with 1, new value: ' ..uservariables[washer_counter_uservar].. ' minutes') 
end

--Washingmachine is done
if ((uservariables[washer_status_uservar] == 1) and uservariables[washer_counter_uservar] == 0) then
  print('Washingmachine is DONE')
  print('Current power usage washingmachine ' ..washer_usage.. 'W')
  print('Washingmachine is done, please go empty it!')
  commandArray['SendNotification']='Washingmachine#Washingmachine is done, please go empty it!#0' --Use Domoticz to send a notification, replace line for your own command if needed.
  --commandArray[switch_washingmachine]='Off'
  commandArray['Variable:' .. washer_status_uservar]='0'
end   

return commandArray