After years of using Domoticz, I have decided to start with Homeassistant. I must say that I’m very enthousiastic about the possisbilities of HA. One problem: I have a couple of Dzvent-scrips that I like to use in ha. Is here somobody who can and likes to translate these scripts to usable scripts in ha ?
I know too little of programming myself to do that.
Thanks !
An example, my most precious:
----------------------------------------------------------------------------------------
-- Invoeren van de variablen
local ScriptNaam = 'Pir-schakeling-Keuken' -- Geef de naam van het script, wordt gebruikt voor debug
local Pir1 = 'pir keuken1' -- Naam van Pir 1
local Lamp1dim1 = 90 -- dimTo waarde: Naar welke waarde moet de lamp tijdelijk worden ingesteld
local Lamp1dim2 = 24 -- dimTo waarde: Naar welke waarde moet de lamp tijdelijk worden ingesteld
local Lamp1 = 'Keuken' -- Naam van lamp 1
local OnFor = 4 -- Hoe lang moeten de lampen aan, waarde is in minuten
local BeforeSunset = '20' -- Hoeveel minuten voor zonsondergang moet script reageren bij activeren van een pir
debug = false -- Debug, set false voor rustige log. Zet true voor extra log regels
-----------------------------------------------------------------------
-- Hieronder begint het script, niets wijzigen --
-----------------------------------------------------------------------
return {
on = { devices = { Pir1,
},
},
execute = function(dz, device)
if ((dz.devices(Pir1).state == 'On' ) and
dz.time.matchesRule('between ' ..BeforeSunset.. ' minutes before sunset and 00:30 ')) then
if debug then
if dz.devices(Pir1).state == 'On' then
print (''..ScriptNaam.. ', pir: '..Pir1..' heeft het script geactiveerd')
end
end
dz.devices(Lamp1).cancelQueuedCommands()
dz.devices(Lamp1).switchOn().checkFirst()
dz.devices(Lamp1).dimTo(Lamp1dim1)
dz.devices(Lamp1).dimTo(Lamp1dim2).afterMin(OnFor)
if debug then
print (ScriptNaam.. ', '..Lamp1..' wordt aangeschakeld voor '..OnFor..' minuten')
end
end
end
}
and
----------------------------------------------------------------------------------------
--Date: 20-01-2021
--Last update: Design start van het script
--Changelog: Nog niets verandert ten opzichte van vorige release
--Source: https://contactkring.nl/phpbb/viewtopic.php?f=39&t=913&sid=023c5a0f4631aeb2b3474cc2abb7138c
--Description: 3 pir sensors schakelen 2 lampen
----------------------------------------------------------------------------------------
-- Invoeren van de variablen
local ScriptNaam = 'Pir-schakeling-Piet' -- Geef de naam van het script, wordt gebruikt voor debug
local Pir1 = 'pir carport1' -- Naam van Pir 1
local Pir2 = 'pir huuske1' -- Naam van Pir 2
local Pir3 = 'pir voordeur1' -- Naam van Pir 3
local Lamp1 = 'buitenlamp voor1' -- Naam van lamp 1
local Lamp2 = 'buitenlamp knut1' -- Naam van lamp 2
local OnFor = 1 -- Hoe lang moeten de lampen aan, waarde is in minuten
local AfterSunset = '30' -- Hoeveel minuten na zonsondergang moet script reageren bij activeren van een pir
local BeforeSunrise = '59' -- Hoeveel minuten voor zonopkomst moet script reageren bij activeren van een pir
debug = false -- Debug, set false voor rustige log. Zet true voor extra log regels
-----------------------------------------------------------------------
-- Hieronder begint het script, niets wijzigen --
-----------------------------------------------------------------------
return {
on = { devices = { Pir1,
Pir2,
Pir3,
},
},
execute = function(dz, device)
if ((dz.devices(Pir1).state == 'On' or dz.devices(Pir2).state == 'On' or dz.devices(Pir3).state == 'On') and
dz.time.matchesRule('between ' ..AfterSunset.. ' minutes after sunset and ' ..BeforeSunrise.. ' minutes before sunrise')) then
if debug then
if dz.devices(Pir1).state == 'On' then
print (''..ScriptNaam.. ', pir: '..Pir1..' heeft het script geactiveerd')
elseif dz.devices(Pir2).state == 'On' then
print (''..ScriptNaam.. ', pir: '..Pir2..' heeft het script geactiveerd')
elseif dz.devices(Pir3).state == 'On' then
print (''..ScriptNaam.. ', pir: '..Pir3..' heeft het script geactiveerd')
end
end
dz.devices(Lamp1).cancelQueuedCommands()
dz.devices(Lamp2).cancelQueuedCommands()
dz.devices(Lamp1).switchOn().checkFirst()
dz.devices(Lamp2).switchOn().checkFirst()
dz.devices(Lamp1).switchOff().afterMin(OnFor)
dz.devices(Lamp2).switchOff().afterMin(OnFor)
if debug then
print (ScriptNaam.. ', '..Lamp1..' en '..Lamp2..' worden aangeschakeld voor '..OnFor..' minuten')
end
end
end
}