X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fr3-eventbroker_zmq%2Fpresence.go;fp=go%2Fr3-eventbroker_zmq%2Fpresence.go;h=be7b12f518d29758ee75ecac3346068755518139;hp=aac99f51348d57ddfdd8b5ca83415ea151d4c4df;hb=ff98cdc53bc87b9d4f3215df248c188a84cb2fb1;hpb=2416b163f05370fcffb2f62bea000265d10aac42 diff --git a/go/r3-eventbroker_zmq/presence.go b/go/r3-eventbroker_zmq/presence.go index aac99f5..be7b12f 100644 --- a/go/r3-eventbroker_zmq/presence.go +++ b/go/r3-eventbroker_zmq/presence.go @@ -7,6 +7,7 @@ import ( //~ "./brain" pubsub "github.com/tuxychandru/pubsub" "./r3events" + //~ "log" ) type doorstate struct { @@ -21,8 +22,10 @@ func MetaEventRoutine_Presence(ps *pubsub.PubSub) { 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) { @@ -59,7 +62,7 @@ func MetaEventRoutine_Presence(ps *pubsub.PubSub) { } 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")