Merge branch 'asmodeus' into feature-scenesystem
continuous-integration/drone/push Build is failing

This commit is contained in:
2021-09-26 10:51:28 +02:00
13 changed files with 240 additions and 55 deletions
+9 -1
View File
@@ -54,10 +54,18 @@ type NewDeviceState struct {
type DeviceCapability string
type SaveMode int
const (
SMState SaveMode = 1
SMProperties SaveMode = 2
SMTags SaveMode = 4
)
type DeviceRepository interface {
Find(ctx context.Context, id int) (*Device, error)
FetchByReference(ctx context.Context, kind ReferenceKind, value string) ([]Device, error)
Save(ctx context.Context, device *Device) error
Save(ctx context.Context, device *Device, mode SaveMode) error
Delete(ctx context.Context, device *Device) error
}
+21
View File
@@ -220,3 +220,24 @@ func (action *EventAction) Apply(other EventAction) {
action.FireEvent = other.FireEvent
}
}
func (c EventCondition) String() string {
str := make([]string, 0, 5)
if len(c.LT) > 0 {
str = append(str, "lt:" + c.LT)
}
if len(c.LTE) > 0 {
str = append(str, "lte:" + c.LTE)
}
if len(c.EQ) > 0 {
str = append(str, c.EQ)
}
if len(c.GTE) > 0 {
str = append(str, "gte:" + c.GTE)
}
if len(c.GT) > 0 {
str = append(str, "gte:" + c.GT)
}
return strings.Join(str, ";")
}