Ive been working on a script for when my chromecast is playing videos, but i find the state can update from video to video every now and then when it switches between shows and ad breaks
im trying to combat this with the persistent value of last state, but i cant get the laststate variable to work because i need a does not equal in my dzvents script which throws and error
can anyone advise on the correct format for does not equal?
i thought it would be != or !== as in most other coding languages but im getting i missed something
Code: Select all
return {
on = {
devices = { 'lounge TV Status' }
},
data = {
LastState = { initial = "Screensaver" }
},
execute = function(dz, item)
local fanlights = dz.devices('Fan Lights')
local delay = .20
local dimLevel = item.level
if item.state == 'Video' and data.LastState !== 'Video' then
repeat
delay = delay
dimLevel = dimLevel - 1
fanlights.dimTo(dimLevel).afterSec(delay)
until dimLevel <= 0
elseif item.state == 'Screensaver' and data.LastState == 'Video' then
repeat
delay = delay
dimLevel = dimLevel + 1
fanlights.dimTo(dimLevel).afterSec(delay)
until dimLevel = 100
elseif item.state == 'Sleeping' and data.LastState == 'Video' then
repeat
delay = delay
dimLevel = dimLevel + 1
fanlights.dimTo(dimLevel).afterSec(delay)
until dimLevel = 100
end
end
}