-- Skrypt dzVents wersja domoticz 4.1 lub wyższa -- Utwórz tabele urządzeń zgodnie z ich nazwą -- Skojarz miernik energii z przełącznikeim local USAGE_DEVICES = { ['Zmywarka-WAT'] = 'Zmywarka', -- Tu kojarzymy miernik z przełącznikiem ['xxxxx-WAT'] = 'xxxxx' -- dodane przykładowe drugie urządzenie o nazwie xxxxx -- Jak dodajesz więcej urządzeń oddzielaj je przecinkiem ",". } local USAGE_SwitchTimeOutMinutes = { ['Zmywarka'] = 6, -- Czas po jakim wyłączona zostanie zmywarka ['xxxxx'] = 10, -- Ustaw czas w minutach dla swojego urządzenia według potrzeb -- Jak dodajesz więcej urządzeń oddzielaj je przecinkiem ",". } local USAGE_MaxWatt = { ['Zmywarka'] = 3, -- Moc poniżej której skrypt zacznie odliczać czas do wyłączenia ['xxxxx'] = 1 -- Jak dodajesz więcej urządzeń oddzielaj je przecinkiem ",". } local USAGE_Notify = { ['Zmywarka'] = 'Yes', -- Aktywacja powiadomień skonfigurowanych w domoticz ['xxxxx'] = 'No', -- Jak dodajesz więcej urządzeń oddzielaj je przecinkiem ",". } return { logging = { --level = domoticz.LOG_INFO, -- LOG aktywny lub nie usunięcie (--) aktywuje LOG marker = 'POW' }, on = { devices = { -- Lista wszystkich urządzeń 'Zmywarka-WAT', 'Zmywarka', 'xxxxx-WAT', 'xxxxx' }, data = { -- Lista urządzeń pomiarowych z czasem zapisu danych pomiarowych w historii ['Zmywarka-WAT'] = { history = true, maxMinutes = 6 }, ['xxxxx-WAT'] = { history = true, maxMinutes = 10 }, }, execute = function(domoticz, device) if (USAGE_DEVICES[device.name] ~= nil) then -- we have a usage sensor here local switch = domoticz.devices(USAGE_DEVICES[device.name]) local history = domoticz.data[device.name] local timeout = USAGE_SwitchTimeOutMinutes[USAGE_DEVICES[device.name]] local watt = USAGE_MaxWatt[USAGE_DEVICES[device.name]] domoticz.log("timeout = " .. timeout) domoticz.log("watt = " .. watt) history.add(device.WhActual) if (switch.active and history.avg() <= watt and switch.lastUpdate.minutesAgo >= timeout) then switch.switchOff().checkFirst() end else -- device is a switch local notify = USAGE_Notify[device.name] domoticz.log("powiadomienie = " .. notify) if (device.active and notify == "Yes") then domoticz.notify( "AKTYWNE", device.name .. " aktywne#Powiadomię gdy urządzenie " .. device.name .. " jest off", domoticz.PRIORITY_EMERGENCY, domoticz.SOUND_SIREN ) elseif (notify == "Yes") then domoticz.notify( "NIEAKTYWNE", device.name .. " jest nieaktywne", domoticz.PRIORITY_EMERGENCY, domoticz.SOUND_SIREN ) end end end }