Wellicht dat iemand voor mij ook een tip heeft.
Ik heb in dit topic gelezen dat je gebruik kunt maken van een afvalkalender welke in Domoticz aangeeft welke container er per dag of week aan de beurt is.
Na wat informatie gevraagd te hebben op het engelse domoticz forum heb ik inmiddels gevonden dat ik de naam van mijn lua-script niet script_device_container.lua moet noemen, maar script_time_container.lua.
Als ik hem device blijf noemen dat loopt dit script ook elke 10 seconden omdat om de 10 seconden mijn slimme meter wordt uitgelezen.
Met het hernoemen naar script_time loopt dit script nu elke minuut.
Dit is echter ook nog overbodig en zou hem liever elk dag 1 of 2 keer willen laten checken.
Ik gebruik de volgende code:
Lua:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| week = tonumber (os.date( "%V"))
dag = tostring(os.date("%a"));
status = tonumber(otherdevices_svalues['Afval'])
print('script bin_selector executed')
commandArray = {}
print ('Dag= '..dag)
if (dag=='Sat' or dag=='Sun' ) then
weekend = true; weekdag = false
end
if (dag=='Mon' or dag=='Tue' or dag=='Wed' or dag=='Thu' or dag=='Fri') then
weekend = false ; weekdag = true
end
--Bepalen morgen rest
if(week==39 and dag=='Sun' or week==41 and dag=='Sun' or week==43 and dag=='Sun' or week==45 and dag=='Sun' or week==47 and dag=='Sun' or week==49 and dag=='Sun' or week==51 and dag=='Sun') then
morgenrest = true; rest = false; morgengft = false; gft = false; morgenpapier = false; papier = false; plastic = false; niets = false
print ('morgen grijze container')
end
--Bepalen rest
if(week==39 and dag=='Mon' or week==41 and dag=='Mon' or week==43 and dag=='Mon' or week==45 and dag=='Mon' or week==47 and dag=='Mon' or week==49 and dag=='Mon' or week==51 and dag=='Mon') then
morgenrest = false; rest = true; morgengft = false; gft = false; morgenpapier = false; papier = false; plastic = false; niets = false
print ('vandaag grijze container')
end
--Bepalen morgen gft
if(week==40 and dag=='Sun' or week==42 and dag=='Sun' or week==44 and dag=='Sun' or week==46 and dag=='Sun' or week==48 and dag=='Sun' or week==50 and dag=='Sun' or week==51 and dag=='Fri') then
morgenrest = false; rest = false; morgengft = true; gft = false; morgenpapier = false; papier = false; plastic = false; niets = false
print ('morgen groene container')
end
--Bepalen gft
if(week==40 and dag=='Mon' or week==42 and dag=='Mon' or week==44 and dag=='Mon' or week==46 and dag=='Mon' or week==48 and dag=='Mon' or week==50 and dag=='Mon' or week==51 and dag=='Sat') then
morgenrest = false; rest = false; morgengft = false; gft = true; morgenpapier = false; papier = false; plastic = false; niets = false
print ('vandaag groene container')
end
--Bepalen geen container
if(dag=='Mon' or dag=='Tue' or dag=='Wed' or dag=='Thu' or dag=='Fri' or dag=='Sat' or dag=='Sun') then
morgenrest = false; rest = false; morgengft = false; gft = false; morgenpapier = false; papier = false; plastic = false; niets = true
print ('vandaag geen afval buiten zetten')
end
if (morgenrest and weekend and dag) then
commandArray ['UpdateDevice']= '19|1|Geen ophaaldag, Morgen Grijze container'
end
if (rest and weekdag and dag) or (rest and weekend and dag) then
commandArray ['UpdateDevice']= '19|1|Vandaag Grijze container'
end
if (morgengft and weekend and dag) then
commandArray ['UpdateDevice']= '19|1|Geen ophaaldag, Morgen Groene container'
end
if (gft and weekdag and dag) then
commandArray ['UpdateDevice']= '19|1|Vandaag Groene container'
end
if (morgenpapier and weekdag and dag) or (morgenpapier and weekend and dag) then
commandArray ['UpdateDevice']= '19|1|Geen ophaaldag, Morgen papier'
end
if (papier and weekend and dag) then
commandArray ['UpdateDevice']= '19|1|Vandaag papier'
end
if (niets and dag) then
commandArray ['UpdateDevice']= '19|1|Geen ophaaldag'
end
return commandArray |
Op het engelse forum gaf iemand mij een tip om het script in een tijd-modus te zetten
En ik kreeg de tip om de volgende code te gebruikern
Lua:
1
2
3
4
5
6
7
8
9
10
| [time = os.date("*t") -- put the time/date table in variable time
if (time.hour==7 or time.hour==19) and time.min==0 then
<your script>
end |
Kan iemand mij hiemee wellicht wat verder helpen zodat dit script maar 1 of 2 keer per dag loopt ipv elke minuut ?