mirror of
https://github.com/Xevion/go-ha.git
synced 2025-12-09 06:07:19 -06:00
time constraints on listener are working
This commit is contained in:
@@ -18,7 +18,7 @@ func main() {
|
|||||||
simpleListener := ga.EntityListenerBuilder().
|
simpleListener := ga.EntityListenerBuilder().
|
||||||
EntityIds("group.office_ceiling_lights").
|
EntityIds("group.office_ceiling_lights").
|
||||||
Call(listenerCB).
|
Call(listenerCB).
|
||||||
// OnlyBetween("07:00", "14:00").
|
OnlyAfter("23:03").
|
||||||
Build()
|
Build()
|
||||||
app.RegisterEntityListener(simpleListener)
|
app.RegisterEntityListener(simpleListener)
|
||||||
|
|
||||||
|
|||||||
@@ -125,6 +125,16 @@ func (b elBuilder3) OnlyBetween(start string, end string) elBuilder3 {
|
|||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b elBuilder3) OnlyAfter(start string) elBuilder3 {
|
||||||
|
b.entityListener.betweenStart = start
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b elBuilder3) OnlyBefore(end string) elBuilder3 {
|
||||||
|
b.entityListener.betweenEnd = end
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
func (b elBuilder3) FromState(s string) elBuilder3 {
|
func (b elBuilder3) FromState(s string) elBuilder3 {
|
||||||
b.entityListener.fromState = s
|
b.entityListener.fromState = s
|
||||||
return b
|
return b
|
||||||
@@ -171,12 +181,11 @@ func callEntityListeners(app *app, msgBytes []byte) {
|
|||||||
if !carbon.Now().BetweenIncludedStart(start, end) {
|
if !carbon.Now().BetweenIncludedStart(start, end) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// otherwise, just check if before/after the individual times
|
// otherwise just check individual before/after
|
||||||
if l.betweenStart != "" && i.ParseTime(l.betweenStart).IsFuture() {
|
} else if l.betweenStart != "" && i.ParseTime(l.betweenStart).IsFuture() {
|
||||||
return
|
return
|
||||||
}
|
} else if l.betweenEnd != "" && i.ParseTime(l.betweenEnd).IsPast() {
|
||||||
if l.betweenEnd != "" && i.ParseTime(l.betweenEnd).IsPast() {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user