//~ "./brain"
pubsub "github.com/tuxychandru/pubsub"
"./r3events"
+ //~ "log"
)
type doorstate struct {
doorstatemap := make(map[int]doorstate,1)
events_chan := ps.Sub("door", "doorcmd", "buttons", "movement")
+ defer ps.Unsub(events_chan, "door", "doorcmd", "buttons", "movement")
for event := range(events_chan) {
+ //~ log.Printf("Presence: %s - %s", event, doorstatemap)
new_presence := last_presence
ts := time.Now().Unix()
switch evnt := event.(type) {
} else {
new_presence = false
}
-
+ //~ log.Printf("Presence: new: %s , last:%s", new_presence, last_presence)
if new_presence != last_presence {
last_presence = new_presence
ps.Pub(r3events.PresenceUpdate{new_presence, ts} , "presence")