本文整理匯總了Golang中github.com/barnybug/gohome/pubsub.Event.Target方法的典型用法代碼示例。如果您正苦於以下問題:Golang Event.Target方法的具體用法?Golang Event.Target怎麽用?Golang Event.Target使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/barnybug/gohome/pubsub.Event
的用法示例。
在下文中一共展示了Event.Target方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Event
func (self *Thermostat) Event(ev *pubsub.Event) {
now := ev.Timestamp.Local() // must use Local time, as schedule is in local
switch ev.Topic {
case "temp":
// temperature device update
device := services.Config.LookupDeviceName(ev)
if dev, ok := self.Devices[device]; ok {
temp, _ := ev.Fields["temp"].(float64)
dev.Update(temp, now)
self.Check(now)
}
case "house":
// house state update
state := ev.Fields["state"]
self.Occupied = (state != "Empty")
self.Check(now)
case "command":
if ev.Target() == "ch" {
value, ok := ev.Fields["value"].(string)
if ok {
err := self.setParty(value, ev.Timestamp)
if err == nil {
self.Check(now)
// TODO - response
} else {
// TODO - error response
}
}
}
}
}