本文整理汇总了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
}
}
}
}
}