X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fr3-netstatus%2Fwebstatus.go;h=3da6e7df694e14b9775bd8016d77a416a3cce74f;hb=d660271629ff32c40cff4fdff4449a39fe950159;hp=d303b13080de4230c5e51c230ba170ad6e9d4377;hpb=70bd6ea215fdd1dbd2eb9556ff4aa0a2acde24bc;p=svn42.git diff --git a/go/r3-netstatus/webstatus.go b/go/r3-netstatus/webstatus.go index d303b13..3da6e7d 100644 --- a/go/r3-netstatus/webstatus.go +++ b/go/r3-netstatus/webstatus.go @@ -1,3 +1,5 @@ +// (c) Bernhard Tittelbach, 2013 + package main import ( @@ -6,8 +8,9 @@ import ( "regexp" "net/http" "net/url" - "log" "time" + "fmt" + r3events "svn.spreadspace.org/realraum/go.svn/r3events" ) @@ -49,7 +52,7 @@ func publishStateToWeb() { updateStatusString() jsondata_b, err := spaceapidata.MakeJSON() if err != nil { - log.Println("Error:", err) + Syslog_.Println("Error:", err) return } //jsondata_b := re_querystresc_.ReplaceAllFunc(jsondata_b, func(in []byte) []byte { @@ -61,7 +64,7 @@ func publishStateToWeb() { jsondata := url.QueryEscape(string(jsondata_b)) resp, err := http.Get("http://www.realraum.at/cgi/status.cgi?pass=jako16&set=" + jsondata) if err != nil { - log.Println("Error publishing realraum info", err) + Syslog_.Println("Error publishing realraum info", err) return } resp.Body.Close() @@ -71,24 +74,42 @@ func EventToWeb(ps *pubsub.PubSub) { events := ps.Sub("presence","door","sensors","buttons","updateinterval") for eventinterface := range(events) { + //Debug_.Printf("EventToWeb: %s" , eventinterface) switch event := eventinterface.(type) { - case TimeTick: + case r3events.TimeTick: publishStateToWeb() - case PresenceUpdate: + case r3events.PresenceUpdate: statusstate.present = event.Present publishStateToWeb() - case DoorStatusUpdate: - spaceapidata.MergeInSensor(spaceapi.MakeDoorLockSensor("TorwaechterLock", "Türschloß", event.Locked)) + case r3events.BackdoorAjarUpdate: + spaceapidata.MergeInSensor(spaceapi.MakeDoorLockSensor("HintertorwaechterAjarSensor", "Hintertürkontakt", event.Shut)) + publishStateToWeb() + case r3events.DoorAjarUpdate: spaceapidata.MergeInSensor(spaceapi.MakeDoorLockSensor("TorwaechterAjarSensor", "Türkontakt", event.Shut)) publishStateToWeb() - case ButtonPressUpdate: + case r3events.DoorLockUpdate: + spaceapidata.MergeInSensor(spaceapi.MakeDoorLockSensor("TorwaechterLock", "Türschloß", event.Locked)) + publishStateToWeb() + case r3events.BoreDoomButtonPressEvent: statusstate.buttonpress_until = event.Ts + 3600 - spaceapidata.AddSpaceEvent("PanicButton", "check-in", "The button has been pressed") + spaceapidata.AddSpaceEvent("BoreDOOMButton", "check-in", "The button has been pressed") publishStateToWeb() - case TempSensorUpdate: - spaceapidata.MergeInSensor(spaceapi.MakeTempCSensor("Temp0","Decke", event.Value)) - case IlluminationSensorUpdate: - spaceapidata.MergeInSensor(spaceapi.MakeIlluminationSensor("Photodiode","Decke","1024V/5V", event.Value)) + case r3events.TempSensorUpdate: + var tempsensorlocation string + switch event.Sensorindex { + case 0: + tempsensorlocation = "LoTHR" + case 1: + tempsensorlocation = "CX" + default: + tempsensorlocation = "Sonstwo" + } + spaceapidata.MergeInSensor(spaceapi.MakeTempCSensor(fmt.Sprintf("Temp%d",event.Sensorindex),tempsensorlocation, event.Value)) + case r3events.IlluminationSensorUpdate: + spaceapidata.MergeInSensor(spaceapi.MakeIlluminationSensor("Photodiode","LoTHR","1024V/5V", event.Value)) + case r3events.GasLeakAlert: + spaceapidata.AddSpaceEvent("GasLeak", "alert", "GasLeak Alert has been triggered") + publishStateToWeb() } } }