X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fr3-netstatus%2Fsockettoevent.go;h=7165ac6a1b05539b9cb8a164342ab325aae9237e;hb=281827cdf431aec452bd1dc942a24c766a38efcb;hp=463838ce4ea0865343e5e3310964f592ca7828dd;hpb=4f453b058059ac0964eb6ba25a79f7445bb3ef3a;p=svn42.git diff --git a/go/r3-netstatus/sockettoevent.go b/go/r3-netstatus/sockettoevent.go index 463838c..7165ac6 100644 --- a/go/r3-netstatus/sockettoevent.go +++ b/go/r3-netstatus/sockettoevent.go @@ -4,51 +4,11 @@ package main import ( pubsub "github.com/tuxychandru/pubsub" - //~ "bufio" - //~ "time" - //~ "./brain" - //~ "net" - "encoding/json" r3events "svn.spreadspace.org/realraum/go.svn/r3-eventbroker_zmq/r3events" ) -func ParseZMQr3Event(lines [][]byte, ps *pubsub.PubSub) { //, brn *brain.Brain) { - //Debug_.Printf("ParseZMQr3Event: len: %d lines: %s", len(lines), lines) - if len(lines) != 2 { - return - } - switch string(lines[0]) { - case "PresenceUpdate": - evnt := new(r3events.PresenceUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "presence")} - case "IlluminationSensorUpdate" : - evnt := new(r3events.IlluminationSensorUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "sensors")} - case "TempSensorUpdate" : - evnt := new(r3events.TempSensorUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "sensors")} - case "MovementSensorUpdate" : - evnt := new(r3events.MovementSensorUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "movement")} - case "BoreDoomButtonPressEvent" : - evnt := new(r3events.BoreDoomButtonPressEvent) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "buttons")} - case "DoorLockUpdate" : - evnt := new(r3events.DoorLockUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "door")} - case "DoorAjarUpdate" : - evnt := new(r3events.DoorAjarUpdate) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "door")} - case "DoorCommandEvent" : - evnt := new(r3events.DoorCommandEvent) - err := json.Unmarshal(lines[1],evnt) - if err == nil {ps.Pub(*evnt, "door")} - } +func ParseZMQr3Event(lines [][]byte, ps *pubsub.PubSub) { + evnt, pubsubcat, err := r3events.UnmarshalByteByte2Event(lines) + if err != nil { return } + ps.Pub(evnt, pubsubcat) }