Re: [DzVents] Renault Zoé
Publié : 24 févr. 2021, 19:48
Je crois avoir trouvé !
Reprenez le contrôle de votre domotique
https://easydomoticz.com/forum/
Code : Tout sélectionner
local scriptName = 'SmartChargeZoé'
local scriptVersion = '1.2'
local puissance = 4500 --Puissance max pour déclancher la charge. Au dessus, le BEC chauffe, on ne force pas la charge.
local chargeMax = 98 --charge max
return {
active = true,
logging = {
level = domoticz.LOG_INFO, -- Uncomment to override the dzVents global logging setting
marker = scriptName..' '..scriptVersion
},
on = {
--timer = {'every 1 minutes'}, -- A modifier selon votre consommation et période HC/HP
--timer = {'at 22:30-6:29 every 1 minutes'},
timer = {'every 1 minutes'},
devices = {'Heures Creuses'},
},
execute = function(domoticz, item)
domoticz.log("Puissance : "..domoticz.devices("TeleInfo").usage, domoticz.LOG_INFO)
domoticz.log("Charge Programmée : "..domoticz.devices("Charge Programmée").state, domoticz.LOG_INFO)
domoticz.log("Zoé Branchée : "..domoticz.devices("Zoé Branchée").state, domoticz.LOG_INFO)
domoticz.log("Batterie Zoé : "..domoticz.devices("Batterie Zoé").state, domoticz.LOG_INFO)
domoticz.log("Lancer la Charge : "..domoticz.devices("Lancer la Charge").state, domoticz.LOG_INFO)
domoticz.log("Heures Creuses : "..domoticz.devices("Heures Creuses").state, domoticz.LOG_INFO)
if (domoticz.devices("TeleInfo").usage < puissance -- Puissance max requise
and domoticz.devices("Zoé Gestion Charge").state == "Personnalisée" -- Charge Programmée activée
and domoticz.devices("Lancer la Charge").active == false -- Charge pas encore lancée
and domoticz.devices("Batterie Zoé").percentage < chargeMax - 1 -- Batterie pas assez chargée
and domoticz.devices("Zoé Branchée").active == true -- Zoé branchée
and domoticz.devices("Charge Zoé").state ~= "En Charge" -- Zoé pas en charge
and domoticz.devices("Heures Creuses").active -- toujours en HC
and item.isTimer ) then -- dans la plage horaire de lancement
--désactive la charge programmée
domoticz.devices("Zoé Gestion Charge").switchSelector("Instantanée")
--lance la charge 2 minutes plus tard puis 5 fois toutes les minutes
domoticz.devices("Lancer la Charge").switchOn().afterMin(2).repeatAfterMin(1, 5)
domoticz.log("Démarrage forcé de la charge", domoticz.LOG_INFO)
domoticz.notify("Domobox","Démarrage anticipé de la charge de Zoé.",domoticz.PRIORITY_NORMAL)
elseif (domoticz.devices("Charge Zoé").state == "En Charge") -- Zoé est en charge
and (domoticz.devices("Zoé Gestion Charge").state ~= "Désactivée" ) -- Charge pas encore désactivée
and (domoticz.devices("Batterie Zoé").percentage >= chargeMax -- Batterie assez chargée (consigne atteinte)
and domoticz.devices("Heures Creuses").state -- toujours en HC
and item.isTimer )then -- dans la plage horaire de lancement
-- force l'arrêt de la charge
domoticz.devices("Zoé Gestion Charge").switchSelector("Désactivée")
domoticz.notify("Domobox","Arrêt forcé de la charge de Zoé.",domoticz.PRIORITY_NORMAL)
elseif (--(domoticz.devices("Zoé Gestion Charge").state == "Désactivée") and -- Charge programmée désactivée
domoticz.devices("Heures Creuses").active == false -- heure pleine
and item.isTimer == false )then -- lancé au passage en heures pleines
-- réactive la charge
-- remet le planning original
domoticz.devices("Zoé Gestion Charge").switchSelector("Personnalisée").repeatAfterMin(1, 5)
--domoticz.devices("Charge Programmée").switchOn()
-- remet le bouton de lacement de charge à l'état off
domoticz.devices("Lancer la Charge").switchOff().checkFirst()
end
end
}
Code : Tout sélectionner
elseif(item.name == LancementCharge and item.bState == true)then
domoticz.log("Lancement de la charge",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython.."' '"..credentials.."' 'start' &")
elseif(item.name == lanceAC and item.bState == true)then
domoticz.log("Lancement de la clim",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython.."' '"..credentials.."' 'ACstart' &")
elseif(item.name == lanceAC and item.bState == false)then
domoticz.log("Arrêt de la clim",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython.."' '"..credentials.."' 'ACstop' &")
elseif(item.name == chargeMode and item.bState == true)then
domoticz.log("Planning de charge activé",domoticz.LOG_DEBUG)
os.execute("python3 "..scriptPython..' '..credentials..' chargeSchedule '..planningActive..' &')
elseif(item.name == chargeMode and item.bState == false)then
domoticz.log("Planning de charge désactivé",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython..' '..credentials..' "chargeSchedule" "'..planningDesactive..'" &')
elseif(item.name == chargeDisable and item.bState == true)then
domoticz.log("Charge désactivée",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython..' '..credentials..' "chargeSchedule" "'..planningChargeDesactive..'" &')
elseif(item.name == chargeDisable and item.bState == false)then
domoticz.log("Planning de charge activé",domoticz.LOG_DEBUG)
os.execute("python3 '"..scriptPython..' '..credentials..' "chargeSchedule" "'..planningActive..'" &')