delestage
Publié : 19 janv. 2023, 14:43
Bonjour,
J'ai décidé de mettre en place un délestage pour mon installation. Etant plus que débutant en Lua je me suis inspiré de ce post:https://easydomoticz.com/forum/viewtopic.php?f=17&t=644. le script "device" ne pose pas de problème après ajustement à mes besoins,mais le script "time" me retourne une erreur dans les logs de domoticz.
Le script modifié par moi et le script original me renvoient tout les deux la même erreur.
Le script modifié:
Je ne vois pas où se trouve l'erreur. Si quelqu'un peut me guider ce sera parfait.
Merci
Michel
J'ai décidé de mettre en place un délestage pour mon installation. Etant plus que débutant en Lua je me suis inspiré de ce post:https://easydomoticz.com/forum/viewtopic.php?f=17&t=644. le script "device" ne pose pas de problème après ajustement à mes besoins,mais le script "time" me retourne une erreur dans les logs de domoticz.
Code : Tout sélectionner
2023-01-19 11:01:00.031 Error: EventSystem: in /home/pi/domoticz/scripts/lua/-- script_time_delestage2_rev1.lua: .../domoticz/scripts/lua/-- script_time_delestage2_rev1.lua:22: bad argument #1 to 'sub' (string expected, got nil)Le script modifié:
Code : Tout sélectionner
-- script_time_delestage2.lua
-- Utilisé pour rearmer les délestages
local delestage_1 = 'Delestage_pac' -- pac contact 1 relais orvibo
local delestage_2 = 'lave_vaisselle' -- pc lave-vaisselle
local delestage_3 = 'lave_linge' -- pc lave-linge
local delestage_4 = 'Delestage_2' -- four contact 2 relais orvibo
local fin_delestage = 1800 -- temporisation du delestage 30 minutes
time = os.date("*t")
-- fontion calcul difference de temps
function timedifference(d)
s = otherdevices_lastupdate[d]
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = os.difftime (t1, t2)
return difference
end
-- calcul depuis combien de temps le premier delestage est en fonction
local on_delest1 = timedifference(delestage_1)
commandArray = {}
-- si on est deleste plus de 30 minutes sur Delestage1 on arrete pour verifier la puissance
if ( on_delest1 > fin_delestage ) then
commandArray[delestage_1]= 'Off'
commandArray[delestage_2]= 'On'
commandArray[delestage_3]= 'On'
commandArray[delestage_4]= 'Off
end
return commandArray
Merci
Michel