X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fr3-eventbroker_zmq%2Fsockettoevent.go;h=a6c479d7765ada79ede79bfdff90243ee5e0596f;hb=53647f4ca80b7c4cdbd029ae496dc9a2c4df211d;hp=d8de48e4078eb2dcb91de8f43abe4a5504172d2a;hpb=164e7321f68ca53bdbb6f69ca10c8b99af923c46;p=svn42.git diff --git a/go/r3-eventbroker_zmq/sockettoevent.go b/go/r3-eventbroker_zmq/sockettoevent.go index d8de48e..a6c479d 100644 --- a/go/r3-eventbroker_zmq/sockettoevent.go +++ b/go/r3-eventbroker_zmq/sockettoevent.go @@ -6,6 +6,7 @@ import ( "regexp" "strconv" "time" + "bytes" //~ "./brain" pubsub "github.com/tuxychandru/pubsub" zmq "github.com/vaughan0/go-zmq" @@ -35,14 +36,14 @@ func parseSocketInputLine_State(lines [][]byte, ps *pubsub.PubSub, ts int64) { case "manual", "manual_movement": //movement ps.Pub(r3events.DoorManualMovementEvent{ts}, "door") case "error": - ps.Pub(r3events.DoorProblemEvent{100, ts}, "door") + ps.Pub(r3events.DoorProblemEvent{100, string(bytes.Join(lines,[]byte(" "))), ts}, "door") case "reset": ps.Pub(r3events.DoorLockUpdate{true, ts}, "door") case "timeout_after_open": - ps.Pub(r3events.DoorProblemEvent{10, ts}, "door") + ps.Pub(r3events.DoorProblemEvent{10, string(lines[0]), ts}, "door") ps.Pub(r3events.DoorLockUpdate{false, ts}, "door") case "timeout_after_close": - ps.Pub(r3events.DoorProblemEvent{20, ts}, "door") + ps.Pub(r3events.DoorProblemEvent{20, string(lines[0]), ts}, "door") // can't say for sure that door is locked if we ran into timeout while closing //~ ps.Pub(r3events.DoorLockUpdate{true, ts}, "door") case "opening": @@ -87,6 +88,8 @@ func ParseSocketInputLine(lines [][]byte, ps *pubsub.PubSub, keylookup_socket *z ps.Pub(r3events.DoorCommandEvent{string(lines[0]), string(lines[1]), string(lines[2]), ts},"doorcmd") case "BackdoorInfo(ajar):": ps.Pub(r3events.BackdoorAjarUpdate{string(lines[len(lines)-1]) == "shut", ts},"door") + case "GasLeakAlert": + ps.Pub(r3events.GasLeakAlert{ts},"sensors") case "temp0:","temp1:", "temp2:", "temp3:": sensorid, err := strconv.ParseInt(string(lines[0][4]), 10, 32) if err != nil {return }