Losowe oświetlenie na czas nieobecności

  • 10 Odpowiedzi
  • 3067 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline richo

  • Moderator Globalny
  • ***** 146
  • 6
    • Zobacz profil
  • Nazwa i wersja ID: Indigo 6/HC 4.037
Losowe oświetlenie na czas nieobecności
« dnia: Marzec 24, 2015, 11:42:07 pm »
Trzeba odpalić np po zapadnięciu zmroku jak nikogo nie ma w domu i nikt się nawet nie zorientuje ;-)

--[[
%% properties

%% globals
--]]

fibaro:debug('start')
fibaro:setGlobal("lastscene",'Random lights')

if (fibaro:countScenes() > 1) then fibaro:debug('abort');
  fibaro:abort();
end

fibaro:call(idr, 'sendPush', "Lights simulation started") --idr to ID iphona

local minute = 60000 --in miliseconds

local rndmaxtime = 10  --random time of light change in minutes
local runtime = 180 --how long to run simulation in minutes

local lights = {37, 100, 43, 94, 109, 4, 29, 130}  --IDs of lights to use in simulation

local nrlights = #lights --nr of light devices listed above

local start = os.time()
local endtime = start + runtime*minute/1000 -- after how many minutes exit simulation

while os.time() < endtime do

  local rndlight = tonumber(lights[math.random(nrlights)])
  local rnd = math.random(nrlights) --make it more random
  local lightstatus = fibaro:getValue(rndlight, 'value')
  fibaro:debug('light ID:'..rndlight..' status:'..lightstatus)
  -- turn on the light if off or turn off if on
  if  tonumber(lightstatus) == 0 then fibaro:call(rndlight, 'turnOn') else fibaro:call(rndlight, 'turnOff') end
 
  local sleeptime = math.random(rndmaxtime*minute)
  local sleeptimemin = math.abs(sleeptime/60000)
 
  fibaro:debug('sleeptime:'..sleeptimemin)
  fibaro:sleep(sleeptime)

end

--turn Off all lights
for i = 1, nrlights do
  rndlight = tonumber(lights[i])
  fibaro:call(rndlight, 'turnOff')
end

fibaro:call(idr, 'sendPush', "Lights simulation stopped")
fibaro:debug('END')
richo
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 408
  • 24
    • Zobacz profil
  • Nazwa i wersja ID: HC2 4.100
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #1 dnia: Marzec 24, 2015, 11:44:25 pm »
miałem kiedyś taki pomysł, żeby zrobić record (na podstawie logów) określonego czasu - jednak jak chodzisz po domu to zapalasz swiatla w okreslonej sekwencji i na okreslony czas. Ktoś kiedyś próbował takiego "odtwarzacza" zachowań ?
*

Offline sztywniak

  • ***** 601
  • 23
    • Zobacz profil
  • Nazwa i wersja ID: HC2 3.60/ 4.37, Vera 1.7.1018
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #2 dnia: Marzec 24, 2015, 11:49:32 pm »
miałem kiedyś taki pomysł, żeby zrobić record (na podstawie logów) określonego czasu - jednak jak chodzisz po domu to zapalasz swiatla w okreslonej sekwencji i na okreslony czas. Ktoś kiedyś próbował takiego "odtwarzacza" zachowań ?
tak, z historii zdarzeń , w sumie prościutkie, wrzucę to później
*

Offline marecki_0luk1

  • Administratorzy
  • ***** 408
  • 24
    • Zobacz profil
  • Nazwa i wersja ID: HC2 4.100
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #3 dnia: Marzec 24, 2015, 11:50:58 pm »
no tak tylko ja musze ze switchy wywalic te ktore nie sa swiatlem - np. bramy itp. Otwieranie bramy jako symulacja ze ide na fajke bedzie kiepska :)
Dobra oświeciło mnie ! deviceControlType :) już nie musisz wrzucać :D
« Ostatnia zmiana: Marzec 24, 2015, 11:52:44 pm wysłana przez marecki_0luk1 »
*

Offline richo

  • Moderator Globalny
  • ***** 146
  • 6
    • Zobacz profil
  • Nazwa i wersja ID: Indigo 6/HC 4.037
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #4 dnia: Marzec 25, 2015, 12:07:31 am »
Ja po prostu wrzuciłem te światła, które najczęściej są używane.
Przetestowane na znajomych, którzy wkurzali się, ze stali pod furtką i dzwonili a nikt nie otwierał, a przecież widać że chodzimy po domu ;-)
Algorytm jest prosty jak drut ale można go dopieścić.
richo
*

Offline damian

  • Moderator Globalny
  • ***** 82
  • 1
    • Zobacz profil
  • Nazwa i wersja ID: HC2
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #5 dnia: Marzec 28, 2015, 11:40:14 am »
richo, dokładnie tego samego skryptu używam. Status: pogniewani znajomi że nie otwieram, sąsiedzi nie zauważyli że nie było mnie przez tydzień. :)


Wysłane z iPhone za pomocą Tapatalk
*

Offline wt

  • * 1
  • 0
    • Zobacz profil
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #6 dnia: Styczeń 01, 2017, 08:38:01 pm »
Witam
Potrzebuję skryptu, o którym piszecie tzn. oświetlenie na czas nieobecności na podstawie historii zdarzeń z uwzględnieniem tylko i wyłącznie urządzeń sterujących światłem (w moim wypadku to switche). Czy ktoś mógłby go załączyć ww. poście. Średnio znam się na Lua? Z góry dzięki.
« Ostatnia zmiana: Styczeń 01, 2017, 08:39:35 pm wysłana przez wt »
*

Offline bsmart

  • ** 36
  • -3
    • Zobacz profil
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #7 dnia: Listopad 13, 2017, 09:25:30 pm »
Witam,
ja wpisałem wszystko i zamieniłem ID urządzeń i niestety nie działa - proszę o podpowiedź co jeszcze robię źle.

PS
obecnie pojawia się:
[DEBUG] 21:20:24: start
[DEBUG] 21:20:24: line 334: attempt to concatenate local 'deviceID' (a nil value)
*

Offline tom3sko

  • ** 92
  • 0
    • Zobacz profil
  • Nazwa i wersja ID: HC 2 4.110
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #8 dnia: Listopad 20, 2017, 09:28:14 pm »
sprawdź raz jeszcze czy wpisałeś poprawne ID.
*

Offline bsmart

  • ** 36
  • -3
    • Zobacz profil
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #9 dnia: Listopad 22, 2017, 11:33:43 pm »
A jak powinna być zapisana zmienna bo być może to źle robię?


sprawdź raz jeszcze czy wpisałeś poprawne ID.
*

Offline bsmart

  • ** 36
  • -3
    • Zobacz profil
Odp: Losowe oświetlenie na czas nieobecności
« Odpowiedź #10 dnia: Listopad 26, 2017, 05:37:44 pm »
czy mógłby ktoś mi pomóc z uruchomieniem tej sceny?
PS
zastanawiam się czy jest konieczne aby ustawić zmienną "lastscene",'Random lights'