X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fr3-netstatus%2Fmain.go;h=a15c4ba68457b062cc149070038cc8c090fad27e;hb=d660271629ff32c40cff4fdff4449a39fe950159;hp=66763ff7a816362320c9190f0f8ff811ef81f1a6;hpb=114821ef8e7567df37044ecd77b4d807216b0946;p=svn42.git diff --git a/go/r3-netstatus/main.go b/go/r3-netstatus/main.go index 66763ff..a15c4ba 100644 --- a/go/r3-netstatus/main.go +++ b/go/r3-netstatus/main.go @@ -111,6 +111,8 @@ func EventToXMPP(bot *r3xmppbot.XmppBot, events <- chan interface{}, xmpp_presen last_frontdoor_ajar = event case r3events.BackdoorAjarUpdate: xmpp_presence_events_chan <- r3xmppbot.XMPPMsgEvent{Msg: fmt.Sprintf("Backdoor is %s (%s)",IfThenElseStr(event.Shut,"now shut.","ajar!"),time.Unix(event.Ts,0).String()), DistributeLevel: r3xmppbot.R3OnlineOnlyInfo, RememberAsStatus: false} + case r3events.GasLeakAlert: + xmpp_presence_events_chan <- r3xmppbot.XMPPMsgEvent{Msg: fmt.Sprintf("ALERT !! GasLeak Detected !!! (%s)", time.Unix(event.Ts,0).String()), DistributeLevel: r3xmppbot.R3NeverInfo, RememberAsStatus: false} case r3events.BoreDoomButtonPressEvent: xmpp_presence_events_chan <- r3xmppbot.XMPPMsgEvent{Msg: button_msg, DistributeLevel: r3xmppbot.R3OnlineOnlyInfo} xmpp_presence_events_chan <- button_status @@ -120,7 +122,8 @@ func EventToXMPP(bot *r3xmppbot.XmppBot, events <- chan interface{}, xmpp_presen xmpp_presence_events_chan <- present_status last_buttonpress = 0 } - + // Try to XMPP Ping the server and if that fails, quit XMPPBot + if bot.PingServer(900) == false && bot.PingServer(900) == false && bot.PingServer(900) == false && bot.PingServer(900) == false{ return } case r3events.DoorProblemEvent: xmpp_presence_events_chan <- r3xmppbot.XMPPMsgEvent{Msg: fmt.Sprintf("Door Problem: %s. SeverityLevel: %d (%s)",event.Problem, event.Severity, time.Unix(event.Ts,0).String()), DistributeLevel: r3xmppbot.R3OnlineOnlyInfo, RememberAsStatus: false} } @@ -145,7 +148,7 @@ func RunXMPPBot(ps *pubsub.PubSub, zmqctx *zmq.Context) { } else { Syslog_.Printf("Error starting XMPP Bot: %s", xmpperr.Error()) } - time.Sleep(5 * time.Second) + time.Sleep(10 * time.Second) } } @@ -193,7 +196,7 @@ func main() { go RunXMPPBot(ps, zmqctx) // --- receive and distribute events --- - ticker := time.NewTicker(time.Duration(7) * time.Minute) + ticker := time.NewTicker(time.Duration(6) * time.Minute) for { select { case e := <-zmqsub.In():