change scenes to use name as primary identifier.
This commit is contained in:
+2
-2
@@ -38,8 +38,8 @@ func main() {
|
||||
}
|
||||
|
||||
bus.RunCommand(commands.ReplaceScene{
|
||||
Match: "lucifer:name:Hex*",
|
||||
SceneID: 7,
|
||||
Match: "lucifer:name:Hex*",
|
||||
SceneName: "Evening",
|
||||
})
|
||||
|
||||
bus.RunCommand(commands.AddAlias{
|
||||
|
||||
+3
-3
@@ -5,12 +5,12 @@ import (
|
||||
)
|
||||
|
||||
type ReplaceScene struct {
|
||||
Match string `json:"match"`
|
||||
SceneID int64 `json:"sceneId"`
|
||||
Match string `json:"match"`
|
||||
SceneName string `json:"sceneName"`
|
||||
}
|
||||
|
||||
func (c ReplaceScene) CommandDescription() string {
|
||||
return fmt.Sprintf("ReplaceScene(%v, %d)", c.Match, c.SceneID)
|
||||
return fmt.Sprintf("ReplaceScene(%v, %s)", c.Match, c.SceneName)
|
||||
}
|
||||
|
||||
type ClearScene struct {
|
||||
|
||||
@@ -5,5 +5,5 @@ type Resolver interface {
|
||||
}
|
||||
|
||||
type SceneMap interface {
|
||||
SceneID(id string) *int64
|
||||
SceneID(id string) *string
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
func NewSceneMap(resolver device.Resolver) *SceneMap {
|
||||
return &SceneMap{
|
||||
resolver: resolver,
|
||||
sceneMap: make(map[string]int64, 64),
|
||||
sceneMap: make(map[string]string, 64),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ type SceneMap struct {
|
||||
resolver device.Resolver
|
||||
|
||||
mu sync.Mutex
|
||||
sceneMap map[string]int64
|
||||
sceneMap map[string]string
|
||||
}
|
||||
|
||||
func (s *SceneMap) SceneID(id string) *int64 {
|
||||
func (s *SceneMap) SceneID(id string) *string {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
|
||||
@@ -48,7 +48,7 @@ func (s *SceneMap) HandleCommand(_ *lucifer3.EventBus, command lucifer3.Command)
|
||||
if len(matched) > 0 {
|
||||
s.mu.Lock()
|
||||
for _, ptr := range matched {
|
||||
s.sceneMap[ptr.ID] = command.SceneID
|
||||
s.sceneMap[ptr.ID] = command.SceneName
|
||||
}
|
||||
s.mu.Unlock()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user