case event := <- events_chan:
switch event.(type) {
case r3events.MovementSensorUpdate:
- movement_window.Value = (uint32) (movement_window.Value.(uint32) + 1)
+ if movement_window.Value == nil {
+ movement_window.Value = uint32(1)
+ } else {
+ movement_window.Value = uint32(movement_window.Value.(uint32) + 1)
+ }
}
case gots := <- myticker.C:
ts := gots.Unix()
last_movement2 = ts
last_movement3 = ts
}
-
- if last_movement > 0 && ts - last_movement < 3600*6 && ts - last_movement > 3600*3 {
- last_movement = 0
- ps.Pub( r3events.SomethingReallyIsMoving{false,99,ts}, "movement")
- }
- if last_movement1 > 0 && ts - last_movement < 3600*6 && ts - last_movement1 > 120 {
- last_movement1 = 0
- ps.Pub( r3events.SomethingReallyIsMoving{false,10,ts}, "movement")
- }
- if last_movement2 > 0 && ts - last_movement < 3600*6 && ts - last_movement2 > 1800 {
- last_movement2 = 0
- ps.Pub( r3events.SomethingReallyIsMoving{false,25,ts}, "movement")
- }
- if last_movement3 > 0 && ts - last_movement < 3600*6 && ts - last_movement3 > 3600 {
- last_movement3 = 0
- ps.Pub( r3events.SomethingReallyIsMoving{false,50,ts}, "movement")
+ // this sucks.....
+ if last_movement > 0 && ts - last_movement < 3600*6 {
+ if ts - last_movement > 3600*3 {
+ last_movement = 0
+ ps.Pub( r3events.SomethingReallyIsMoving{false,99,ts}, "movement")
+ } else if ts - last_movement > 3600 && last_movement3 > 0 {
+ last_movement3 = 0
+ ps.Pub( r3events.SomethingReallyIsMoving{false,50,ts}, "movement")
+ } else if ts - last_movement > 1800 && last_movement2 > 0 {
+ last_movement2 = 0
+ ps.Pub( r3events.SomethingReallyIsMoving{false,20,ts}, "movement")
+ } else if ts - last_movement > 120 && last_movement1 > 0 {
+ last_movement1 = 0
+ ps.Pub( r3events.SomethingReallyIsMoving{false,5,ts}, "movement")
+ }
}
} }
}
\ No newline at end of file