A method of controlling a theft detection device coupled to a product, the theft detection device including a light sensor, a motion sensor, and an emitter, the method comprising: determining whether to control the emitter to emit an alarm signal including: determining whether the theft detection device is in motion matching a predetermined motion profile; and determining whether the light sensor detects a light level below a predetermined light level; when it is determined to control the emitter to emit the alarm signal, causing the emitter to emit the alarm signal; characterized in that the step of determining whether to control the emitter to emit an alarm signal further includes: determining whether the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; increasing a first counter while the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; when the first counter is non-zero and the motion sensor is not in motion or the light sensor detects a light level that is not below the predetermined light level, increasing a second counter; when the first counter is greater than a first predetermined value, determining to control the emitter to emit an alarm signal; and when the second counter is greater than a second predetermined value, resetting the first and second counters (174, 176). determining whether to control the emitter to emit an alarm signal including: determining whether the theft detection device is in motion matching a predetermined motion profile; and determining whether the light sensor detects a light level below a predetermined light level; determining whether the theft detection device is in motion matching a predetermined motion profile; and determining whether the light sensor detects a light level below a predetermined light level; when it is determined to control the emitter to emit the alarm signal, causing the emitter to emit the alarm signal; characterized in that the step of determining whether to control the emitter to emit an alarm signal further includes: determining whether the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; increasing a first counter while the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; when the first counter is non-zero and the motion sensor is not in motion or the light sensor detects a light level that is not below the predetermined light level, increasing a second counter; when the first counter is greater than a first predetermined value, determining to control the emitter to emit an alarm signal; and when the second counter is greater than a second predetermined value, resetting the first and second counters (174, 176). determining whether the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; increasing a first counter while the motion sensor is in motion and the light sensor detects a light level below the predetermined light level; when the first counter is non-zero and the motion sensor is not in motion or the light sensor detects a light level that is not below the predetermined light level, increasing a second counter; when the first counter is greater than a first predetermined value, determining to control the emitter to emit an alarm signal; and when the second counter is greater than a second predetermined value, resetting the first and second counters (174, 176).